diff --git a/demo/accordion.html b/demo/accordion.html deleted file mode 100644 index cb594ffb1..000000000 --- a/demo/accordion.html +++ /dev/null @@ -1,668 +0,0 @@ - - - - - - - - Accordion - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- - - -
-
-
-
-
-
-

- -

-
-
- This is the first item's accordion body. It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It's also worth noting that just about any HTML can go within the .accordion-body, though the transition does limit overflow. -
-
-
-
-

- -

-
-
- This is the second item's accordion body. It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It's also worth noting that just about any HTML can go within the .accordion-body, though the transition does limit overflow. -
-
-
-
-

- -

-
-
- This is the third item's accordion body. It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It's also worth noting that just about any HTML can go within the .accordion-body, though the transition does limit overflow. -
-
-
-
-

- -

-
-
- This is the fourth item's accordion body. It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It's also worth noting that just about any HTML can go within the .accordion-body, though the transition does limit overflow. -
-
-
-
-
-
-
-
- -
-
- - - - - - \ No newline at end of file diff --git a/demo/activity.html b/demo/activity.html deleted file mode 100644 index 1d42bb5ea..000000000 --- a/demo/activity.html +++ /dev/null @@ -1,870 +0,0 @@ - - - - - - - - Activity - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- - - -
-
-
-
-
-
-
-
-
-
- JL -
-
-
- Jeffie Lewzey commented on your "I'm not a witch." post. -
-
yesterday
-
-
-
-
-
-
-
-
-
- -
-
-
- It's Mallory Hulme's birthday. Wish him well! -
-
2 days ago
-
-
-
-
-
-
-
-
-
- -
-
-
- Dunn Slane posted "Well, what do you want?". -
-
today
-
-
-
-
-
-
-
-
-
- -
-
-
- Emmy Levet created a new project Morning alarm clock. -
-
4 days ago
-
-
-
-
-
-
-
-
-
- -
-
-
- Maryjo Lebarree liked your photo. -
-
2 days ago
-
-
-
-
-
-
- EP -
-
-
- Egan Poetz registered new client as Trilia. -
-
yesterday
-
-
-
-
-
-
- -
-
-
- Kellie Skingley closed a new deal on project Pen Pineapple Apple Pen. -
-
2 days ago
-
-
-
-
-
-
- -
-
-
- Christabel Charlwood created a new project for Wikibox. -
-
4 days ago
-
-
-
-
-
-
- HS -
-
-
- Haskel Shelper change status of Tabler Icons from open to closed. -
-
today
-
-
-
-
-
-
- -
-
-
- Lorry Mion liked Tabler UI Kit. -
-
yesterday
-
-
-
-
-
-
- -
-
-
- Leesa Beaty posted new video. -
-
2 days ago
-
-
-
-
-
-
- -
-
-
- Perren Keemar and 3 others followed you. -
-
2 days ago
-
-
-
-
-
-
- SA -
-
-
- Sunny Airey upload 3 new photos to category Inspirations. -
-
2 days ago
-
-
-
-
-
-
- -
-
-
- Geoffry Flaunders made a $10 donation. -
-
2 days ago
-
-
-
-
-
-
- -
-
-
- Thatcher Keel created a profile. -
-
3 days ago
-
-
-
-
-
-
- -
-
-
- Dyann Escala hosted the event Tabler UI Birthday. -
-
4 days ago
-
-
-
-
-
-
- -
-
-
- Avivah Mugleston mentioned you on Best of 2020. -
-
2 days ago
-
-
-
-
-
-
- AA -
-
-
- Arlie Armstead sent a Review Request to Amanda Blake. -
-
2 days ago
-
-
-
-
-
-
-
-
-
-
- -
-
- - - - - - \ No newline at end of file diff --git a/demo/auth-lock.html b/demo/auth-lock.html deleted file mode 100644 index d1551d0d9..000000000 --- a/demo/auth-lock.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - Forgot password - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
-
-
- -
-
-
-
-

Account Locked

-

Please enter your password to unlock your account

-
-
- -

Paweł Kuna

-
-
- -
-
- - - - Unlock - -
-
-
-
-
- - - - - - \ No newline at end of file diff --git a/demo/blank.html b/demo/blank.html deleted file mode 100644 index 3e5db6b9d..000000000 --- a/demo/blank.html +++ /dev/null @@ -1,617 +0,0 @@ - - - - - - - - Blank page - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- -
-
-
-
-
-

No results found

-

- Try adjusting your search or filter to find what you're looking for. -

- -
-
-
- -
-
- - - - - - \ No newline at end of file diff --git a/demo/buttons.html b/demo/buttons.html deleted file mode 100644 index 50cc7a5b6..000000000 --- a/demo/buttons.html +++ /dev/null @@ -1,1417 +0,0 @@ - - - - - - - - Buttons - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- - - -
-
-
-
-
-
-

Standard Buttons

-
- -
-
-
-
-
-

Outline Buttons

-
-
-

Use .btn-outline-* class for outline buttons. -

- - - -
-
-
-
-
-
-

Ghost Buttons

-
-
-

Use .btn-ghost-* class for ghost buttons. -

- - - -
-
-
-
-
-
-

Square Buttons

-
-
-

Use .btn-square class for square buttons. -

- -
-
-
-
-
-
-

Pill Buttons

-
-
-

Use .btn-pill class for pill buttons. -

- -
-
-
-
-
-
-

Extra colors

-
- -
-
-
-
-
-

Icon buttons

-
-
-
- - - - - - - - - - - - - - -
-
-
-
- -
-
-
- -
-
- - - - - - \ No newline at end of file diff --git a/demo/card-actions.html b/demo/card-actions.html deleted file mode 100644 index a7adf6219..000000000 --- a/demo/card-actions.html +++ /dev/null @@ -1,816 +0,0 @@ - - - - - - - - Card actions - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- - - -
-
-
-
-
-
-

Sample card

-
-
- - - - -
-
-
-
-
-
-

Card with action

- -
-
- - - - -
-
-
-
-
-
-

Cart title

- -
-
- - - - -
-
-
-
-
-
-
-
-
- -
-
-
Paweł Kuna
-
UI Designer
-
-
-
- -
-
- - - - -
-
-
-
-
-
-
-

- With description -

-

- Lorem ipsum dolor sit amet consectetur adipisicing. -

-
-
-
- - - - -
-
-
-
-
-
-
-

- With description and action -

-

- Lorem ipsum dolor sit amet consectetur adipisicing. -

-
- -
-
- - - - -
-
-
-
-
-
-
-
-
- -
-
-
Dunn Slane
-
Research Nurse
-
-
-
- -
-
- - - - -
-
-
-
-
-
-

Card actions

- -
-
- - - - -
-
-
-
-
-
- -
-
- - - - - - \ No newline at end of file diff --git a/demo/cards-masonry.html b/demo/cards-masonry.html deleted file mode 100644 index f8abf9d47..000000000 --- a/demo/cards-masonry.html +++ /dev/null @@ -1,757 +0,0 @@ - - - - - - - - Cards Masonry - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- - - - -
-
-
-
-
-
- -
-
- - - - - - - \ No newline at end of file diff --git a/demo/cards.html b/demo/cards.html deleted file mode 100644 index 9d7f63701..000000000 --- a/demo/cards.html +++ /dev/null @@ -1,1328 +0,0 @@ - - - - - - - - Cards - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- - - -
-
-
-
-
-
-

Card title

-
-
Simple card
-
-
-
-
-
-

Card title

-
-
Card with header background
-
-
-
-
-
-

Card title

-
Card without border
-
-
-
-
-
-
-

Card title Subtitle

-
-
Card with title and subtitle
-
-
- - - -
-
-
-
-
Card rotate right
-
-
-
-
-
Card rotate left
-
-
-
-
-
-

This is a card with active state.

-
-
-
-
-
-
-

This is some text inactive state.

-
-
-
-
-
-
-
- - -
-
-
-

Card with icon bg

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto at consectetur culpa ducimus eum fuga fugiat, ipsa iusto, modi nostrum recusandae reiciendis saepe.

-
-
-
-
-
-
-

Card with primary light background

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto at consectetur culpa ducimus eum fuga fugiat, ipsa iusto, modi nostrum recusandae reiciendis saepe.

-
-
-
-
-
-
-
- - -
-
-
-

Card with background and icon

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto at consectetur culpa ducimus eum fuga fugiat, ipsa iusto, modi nostrum recusandae reiciendis saepe.

-
-
-
-
-
-
-
-

Card with top status

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
-
-
-
-
-
-
-

Card with bottom status

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
-
-
-
-
-
-
-

Card with side status

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
-
-
-
-
-
- -
-
-

Card with top ribbon

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto at consectetur culpa ducimus eum fuga fugiat, ipsa iusto, modi nostrum recusandae reiciendis saepe.

-
-
-
-
-
-
NEW
-
-

Card with text ribbon

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto at consectetur culpa ducimus eum fuga fugiat, ipsa iusto, modi nostrum recusandae reiciendis saepe.

-
-
-
-
-
-
-

Card with progress bar

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
-
-
- 38% Complete -
-
-
-
-
-
-
-

Stacked card

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
-
-
-
-
-
-
- Card side image -
-
-
-

Card with left side image

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
-
-
-
-
-
-
-
-
- Card side image -
-
-
-

Card with right side image

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
-
-
-
-
-
-
-
-
-

Card with top image

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
-
-
-
-
-
-

Card with bottom image

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
-
-
-
-
-
-
-

Card with footer

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
- -
-
-
-
-
-

Card with transparent footer

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
- -
-
-
-
-
-

Card with footer button

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
- - -
-
-
-
-
-

Card with footer buttons

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
- - -
-
-
-
-
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
- - -
-
-
-
-
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
- - -
-
-
-
- -
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
-
-
-
-
- -
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam deleniti fugit incidunt, iste, itaque minima - neque pariatur perferendis sed suscipit velit vitae voluptatem.

-
-
-
-
- -
- - -
- -
-
-
Content of tab #1
-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit. -

-
-
- -
-
-
Content of tab #2
-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit. -

-
-
- -
-
-
Content of tab #3
-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit. -

-
-
- -
-
-
Content of tab #4
-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit. -

-
-
-
-
-
-
- -
-
- -
-
-
Content of tab #1
-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit. -

-
-
- -
-
-
Content of tab #2
-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit. -

-
-
- -
-
-
Content of tab #3
-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit. -

-
-
- -
-
-
Content of tab #4
-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci, alias aliquid distinctio dolorem expedita, fugiat hic magni molestiae molestias odit. -

-
-
-
- - -
-
-
-
-
-

Cards inside card

-
-
-
-
-
-
-
-

First card

-
-
- - - - -
-
-
-
-
-
-
-

Second card

-
-
- - - - -
-
-
-
-
-
-
-

Third card

-
-
- - - - -
-
-
-
-
-
-
-
-
-
-
-

First card

-
-
- - - - -
-
-
-
-

Second card

-
-
- - - - -
-
-
-
-

Third card

-
-
- - - - -
-
-
-
-
-
-
-
-
-

Card title

-
-
This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.
- -
-
-
-
-
-

Card title

-
-
This card has supporting text below as a natural lead-in to additional content.
- -
-
-
-
-
-

Card with very long content

-
-
This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.
- -
-
-
-
-
-
-
-
-
-

No results found

-

- Try adjusting your search or filter to find what you're looking for. -

- -
-
-
-
-
-
-
-
Card number
- -
-
-
Card name
- -
-
-
-
- -
-
- -
-
- -
-
-
-
-
-
-
CVV
- -
-
-
- -
-
-
-
-
-
- -
-
- - - - - - \ No newline at end of file diff --git a/demo/carousel.html b/demo/carousel.html deleted file mode 100644 index e14a194f1..000000000 --- a/demo/carousel.html +++ /dev/null @@ -1,916 +0,0 @@ - - - - - - - - Carousel - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- - - -
-
-
-
-
-
-

Carousel

-
-
- -
-
-
-
-
-
-

Carousel with indicators

-
-
- -
-
-
-
-
-
-

Carousel with controls

-
-
- -
-
-
-
-
-
-

Carousel with captions

-
-
- -
-
-
-
-
-
-

Carousel with dot indicators

-
-
- -
-
-
-
-
-
-

Carousel with thumbnail indicators

-
-
- -
-
-
-
-
-
-

Carousel with vertical dot indicators

-
-
- -
-
-
-
-
-
-

Carousel with thumbnail indicators

-
-
- -
-
-
-
-
-
- -
-
- - - - - - \ No newline at end of file diff --git a/demo/changelog.html b/demo/changelog.html deleted file mode 100644 index 740d2d4b4..000000000 --- a/demo/changelog.html +++ /dev/null @@ -1,1222 +0,0 @@ - - - - - - - - Changelog - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- - - -
-
-
- -
-
-
-
-
-
-

Changelog

-
-
-
-

- 1.0.0-beta14 – - October 21, 2022 -

-
    -
  • fix active items in dark mode
  • -
  • update Jekyll to newest version
  • -
-
-
-

- 1.0.0-beta13 – - October 18, 2022 -

-
    -
  • update Bootstrap to 5.2.1, update dependencies
  • -
  • new tracking component
  • -
  • new radio button version of form-imagecheck
  • -
  • update icons to v1.105.0
  • -
  • dark mode improvements
  • -
  • corrects the spelling of New Zealand (#1318)
  • -
  • remove $border-color-dark
  • -
  • fix #1301 - code snippets in docs look bad in dark mode
  • -
  • fix #1305 - different default link color for dark mode
  • -
  • fix popover background in dark mode
  • -
  • fix button default border color
  • -
  • fix form-imagecheck bg in dark mode
  • -
  • navbar logo fix
  • -
  • move card ribbons config to variables
  • -
  • navbar border fix
  • -
  • dark mode active fix
  • -
  • using globalThis instead of window (#1315)
  • -
  • fix #1210 - lastmod not generated for pages in sitemap.xml
  • -
  • fix card border in dark mode
  • -
  • fix #895 - background color overwrites background image
  • -
  • fix #1302 - wrong card header in dark mode
  • -
  • fix #1303 - wrong color when hovering over selectgroup in dark mode
  • -
  • fix #1308 - bad coloring in table in dark mode
  • -
  • fix #1273 - datepicker background color broken
  • -
  • fix $prefix hard coded layout/_dark.scss
  • -
  • fix #1275 remove last border-right on progress bar
  • -
  • fix #1261: broken offcanvas bg
  • -
-
-
-

- 1.0.0-beta12 – - September 19, 2022 -

-
    -
  • new “Job listing” page
  • -
  • new “Sign in with cover” page
  • -
  • new “Logs” page
  • -
  • new progressbg component
  • -
  • add a lot of CSS variables
  • -
  • add Dockerfile with alpine base
  • -
  • add icon pulse/tada/rotate animations
  • -
  • use :host in selectors to support Web Components
  • -
  • use dark table variant colors in dark mode (#1200)
  • -
  • update Tabler Icons to v1.96
  • -
  • change space-y component
  • -
  • headings, shadows and borders unify
  • -
  • toggle TinyMCE dark mode and skin based on the set Tabler theme
  • -
  • fix card-footer background
  • -
  • fix headers weight
  • -
  • fix transparent hover background in pagination
  • -
  • fix dark mode card text color
  • -
  • fix --#{$prefix}card-bg is undefined
  • -
  • fix global variable for .card and .btn
  • -
  • fix code sample in the customize tabler docs
  • -
  • fix form elements demo page radio buttons
  • -
  • replace gulp-minify with gulp-terser
  • -
-
-
-

- 1.0.0-beta11 – - July 05, 2022 -

-
    -
  • new Dropzone component
  • -
  • new Lightbox component
  • -
  • new TinyMCS component
  • -
  • new Inline Player component
  • -
  • new Pricing table component
  • -
  • new Datagrid component
  • -
  • new optgroup form examples
  • -
  • new settings page
  • -
  • update Tabler Icons to v1.78
  • -
  • added popover docs page
  • -
  • fix: #1125 incorrect chart display in the mobile version
  • -
  • update Bootstrap to 5.2.0
  • -
-
-
-

- 1.0.0-beta10 – - April 29, 2022 -

-
    -
  • new datatable component
  • -
  • update Tabler Icons to v1.67
  • -
  • fix: #1024 - fix Tom-select in dark mode
  • -
  • new carousel indicators: dots, vertical, thumbs (#1101)
  • -
  • replace !important modifier with more specific selectors (#1100)
  • -
  • new FAQ page
  • -
-
-
-

- 1.0.0-beta9 – - February 26, 2022 -

-
    -
  • fix: #1061 - list group item colors in light and dark modes
  • -
  • new tasks dashboard
  • -
  • fix: #1059 - upload button in form element in dark view has problem
  • -
  • fix: #1052 - card background icon is practically invisible
  • -
  • remove Inter font and use default font system stack
  • -
  • fix: #1018 - vector map not working
  • -
  • fix: #1035 - wrong background color of hovered list group items in dark mode
  • -
  • dependencies update
  • -
  • add font-display: swap; to improve font loading
  • -
  • new Boxed layout
  • -
-
-
-

- 1.0.0-beta8 – - February 05, 2022 -

-
    -
  • update dependencies
  • -
  • new vector maps demos
  • -
  • fixes update map on resize
  • -
  • docs improvement
  • -
  • replace badge with status-dot in navbar-notifications.html
  • -
  • map tooltip fixes
  • -
-
-
-

- 1.0.0-beta7 – - February 05, 2022 -

-
    -
  • fix: #1019 - project-overview.html link not working
  • -
  • fix: #1010 - card with bottom tabs has incorrect border radius
  • -
  • uptime monitor mobile fixes
  • -
  • navbar dark button fix
  • -
  • tabler-icons link
  • -
  • autoloading webfonts
  • -
  • cards fixes, new cards demos
  • -
  • ruby dependencies update
  • -
  • RTL stylesheet fixes
  • -
  • new card action demos
  • -
-
-
-

- 1.0.0-beta6 – - January 18, 2022 -

-
    -
  • pricing cards fix
  • -
  • fix bug fw-..., .fs-... is missed (#987)
  • -
  • avatar class fix
  • -
  • fix bug #903 litepicker with date range not having correct border
  • -
  • page wrapper fix
  • -
  • fix #900 is-invalid-lite class is not working under was-validated form class
  • -
  • update @tabler/icons to version 1.48
  • -
  • fix #960 - Badges not honoring font sizes
  • -
  • fix #959 - node-sass does not properly compile nested media queries
  • -
  • update package dependencies to newest version
  • -
-
-
-

- 1.0.0-beta5 – - December 07, 2021 -

-

Tabler has finally lived to see dark mode! 🌝🌚

-
    -
  • Dark mode enabled!
  • -
  • add more cursors (#947)
  • -
  • fix #892 - media queries need to be nested when negating
  • -
  • update @tabler/icons to newest version
  • -
  • move optional dependencies to peerDependencies (#924)
  • -
  • move deployment to Github Actions (#934)
  • -
  • table border fixes
  • -
  • antialiased fix
  • -
  • update @tabler/icons to version 1.42
  • -
  • change default font to ‘Inter’
  • -
  • colors unify
  • -
  • add tom-select and remove choices.js
  • -
-
-
-

- 1.0.0-beta4 – - October 24, 2021 -

-
    -
  • upgrade required node.js version to 14
  • -
  • upgrade Bootstrap to 5.1
  • -
  • upgrade dependencies
  • -
  • fix #775 - litepicker not initializing
  • -
  • fix nouislider import in dev
  • -
-
-
-

- 1.0.0-beta3 – - May 08, 2021 -

-
    -
  • upgrade Bootstrap to 5.0
  • -
  • upgrade dependencies
  • -
  • change $border-radius-pill variable
  • -
  • badge vertical align fix
  • -
-
-
-

- 1.0.0-beta2 – - March 29, 2021 -

-
    -
  • update dependencies
  • -
  • li marker fix
  • -
  • page wrapper, nav fixes
  • -
  • scripts optimize, remove capture_once
  • -
  • page-body fixes
  • -
  • layout navbar fix
  • -
  • typography fix
  • -
  • ribbon fix
  • -
  • charts label fixes
  • -
  • charts docs
  • -
-
-
-

- 1.0.0-beta – - February 17, 2021 -

-

Initial beta release of Tabler v1.0! Lots more coming soon though 😁

-
    -
  • update Bootstrap to 5.0.0-beta2
  • -
  • update other dependencies.
  • -
-
-
-
-
-
-
-
-
- -
-
- - - - - - \ No newline at end of file diff --git a/demo/charts.html b/demo/charts.html deleted file mode 100644 index 861c6c0b0..000000000 --- a/demo/charts.html +++ /dev/null @@ -1,2580 +0,0 @@ - - - - - - - - Charts - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- - - -
-
-
-
-
-
-
-

Active users

- -
-
-
-
-
-
-
-
-
- Mobile -
-
11,425
-
-
-
- Desktop -
-
6,458
-
-
-
- Tablet -
-
3,985
-
-
-
-
-
-
-
-
-
-
-
-
-
-

Social referrals

- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/demo/colors.html b/demo/colors.html deleted file mode 100644 index 59d5ac3f8..000000000 --- a/demo/colors.html +++ /dev/null @@ -1,914 +0,0 @@ - - - - - - - - Colors - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- - - -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
bl -
-
-
az -
-
-
in -
-
-
pu -
-
-
pi -
-
-
re -
-
-
or -
-
-
ye -
-
-
li -
-
-
gr -
-
-
te -
-
-
cy -
-
-
da -
-
-
mu -
-
-
bl
-
-
az
-
-
in
-
-
pu
-
-
pi
-
-
re
-
-
or
-
-
ye
-
-
li
-
-
gr
-
-
te
-
-
cy
-
-
da
-
-
mu
-
-
bl
-
-
az
-
-
in
-
-
pu
-
-
pi
-
-
re
-
-
or
-
-
ye
-
-
li
-
-
gr
-
-
te
-
-
cy
-
-
da
-
-
mu
-
-
bl
-
-
az
-
-
in
-
-
pu
-
-
pi
-
-
re
-
-
or
-
-
ye
-
-
li
-
-
gr
-
-
te
-
-
cy
-
-
da
-
-
mu
-
-
bl
-
-
az
-
-
in
-
-
pu
-
-
pi
-
-
re
-
-
or
-
-
ye
-
-
li
-
-
gr
-
-
te
-
-
cy
-
-
wh
-
-
mu
-
-
bl
-
-
-
az
-
-
-
in
-
-
-
pu
-
-
-
pi
-
-
-
re
-
-
-
or
-
-
-
ye
-
-
-
li
-
-
-
gr
-
-
-
te
-
-
-
cy
-
-
-
wh
-
-
-
mu
-
-
-
-
-
-
-
- -
-
- - - - - - \ No newline at end of file diff --git a/demo/datagrid.html b/demo/datagrid.html deleted file mode 100644 index 8084bfc0a..000000000 --- a/demo/datagrid.html +++ /dev/null @@ -1,702 +0,0 @@ - - - - - - - - Data grid - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- - - -
-
-
-
-

Base info

-
-
-
-
-
Registrar
-
Third Party
-
-
-
Nameservers
-
Third Party
-
-
-
Port number
-
3306
-
-
-
Expiration date
-
-
-
-
Creator
-
-
- - Paweł Kuna -
-
-
-
-
Age
-
15 days
-
-
-
Edge network
-
- - Active - -
-
-
-
Avatars list
-
-
- - JL - - - - +3 -
-
-
-
-
Checkbox
-
- -
-
-
-
Icon
-
- - - Checked -
-
-
-
Form control
-
- -
-
-
-
Longer description
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. -
-
-
-
-
-
-
- -
-
- - - - - - \ No newline at end of file diff --git a/demo/datatables.html b/demo/datatables.html deleted file mode 100644 index 011d0eaaa..000000000 --- a/demo/datatables.html +++ /dev/null @@ -1,949 +0,0 @@ - - - - - - - - Datatables - Tabler - Premium and Open Source dashboard template with responsive and high quality UI. - - - - - - - - - - -
- - - -
- - - -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Steel VengeanceCedar Point, United StatesRMC Hybrid100,0%August 04, 202174 -
-
30%
-
-
-
- 30% Complete -
-
-
-
-
Fury 325Carowinds, United StatesB&M Giga, Hyper, Steel99,3%January 03, 201949 -
-
48%
-
-
-
- 48% Complete -
-
-
-
-
WildfireKolmården SwedenRMC Twister, Wooden, Terrain99,3%December 28, 20188 -
-
9%
-
-
-
- 9% Complete -
-
-
-
-
Lightning RodDollywood, United StatesRMC Wooden99,1%November 07, 2020104 -
-
98%
-
-
-
- 98% Complete -
-
-
-
-
MaverickCedar Point, United StatesIntamin Rocket, Steel99,1%November 23, 202186 -
-
46%
-
-
-
- 46% Complete -
-
-
-
-
El ToroSix Flags Great Adventure, United StatesIntamin Twister, Wooden99,0%January 14, 2021130 -
-
29%
-
-
-
- 29% Complete -
-
-
-
-
Twisted ColossusSix Flags Magic Mountain, United StatesRMC Hybrid98,9%September 25, 201930 -
-
57%
-
-
-
- 57% Complete -
-
-
-
-
Eejanaika newFuji-Q Highland, JapanS&S Power 4th Dimension, Steel98,6%January 16, 2021162 -
-
91%
-
-
-
- 91% Complete -
-
-
-
-
Wicked CycloneSix Flags New England, United StatesRMC Hybrid98,2%September 18, 2019174 -
-
3%
-
-
-
- 3% Complete -
-
-
-
-
ShambhalaPort Aventura, SpainB&M Hyper, Steel98,2%September 29, 2018111 -
-
24%
-
-
-
- 24% Complete -
-
-
-
-
TaronPhantasialand, GermanyIntamin Sit Down, Steel98,2%June 22, 2020130 -
-
48%
-
-
-
- 48% Complete -
-
-
-
-
Expedition Ge ForceHoliday Park, GermanyIntamin Megacoaster, Steel98,2%August 06, 2019157 -
-
57%
-
-
-
- 57% Complete -
-
-
-
-
Storm ChaserKentucky Kingdom, United StatesRMC Steel97,9%August 03, 201943 -
-
42%
-
-
-
- 42% Complete -
-
-
-
-
HelixLiseberg, SwedenMack Looper, Steel, Terrain97,9%October 06, 2021151 -
-
54%
-
-
-
- 54% Complete -
-
-
-
-
Outlaw RunSilver Dollar City, United StatesRMC Hybrid96,6%January 10, 2019131 -
-
64%
-
-
-
- 64% Complete -
-
-
-
-
-
-
-
-
-
- -
-
- - - - - - - - \ No newline at end of file diff --git a/demo/dist/css/demo.css b/demo/dist/css/demo.css deleted file mode 100644 index 02f7cedec..000000000 --- a/demo/dist/css/demo.css +++ /dev/null @@ -1,301 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -pre.highlight, -.highlight pre { - max-height: 30rem; - margin: 1.5rem 0; - overflow: auto; - border-radius: var(--tblr-border-radius); -} -pre.highlight::-webkit-scrollbar, -.highlight pre::-webkit-scrollbar { - width: 0.5rem; - height: 0.5rem; - -webkit-transition: background 0.3s; - transition: background 0.3s; -} -@media (prefers-reduced-motion: reduce) { - pre.highlight::-webkit-scrollbar, -.highlight pre::-webkit-scrollbar { - -webkit-transition: none; - transition: none; - } -} -pre.highlight::-webkit-scrollbar-thumb, -.highlight pre::-webkit-scrollbar-thumb { - border-radius: 5px; - background: rgba(var(--tblr-light-rgb), 0.16); -} -pre.highlight::-webkit-scrollbar-track, -.highlight pre::-webkit-scrollbar-track { - background: rgba(var(--tblr-light-rgb), 0.06); -} -pre.highlight:hover::-webkit-scrollbar-thumb, -.highlight pre:hover::-webkit-scrollbar-thumb { - background: rgba(var(--tblr-light-rgb), 0.32); -} -pre.highlight::-webkit-scrollbar-corner, -.highlight pre::-webkit-scrollbar-corner { - background: transparent; -} - -.highlight { - margin: 0; -} -.highlight code > * { - margin: 0 !important; - padding: 0 !important; -} -.highlight .c, .highlight .c1 { - color: #a0aec0; -} -.highlight .nt, .highlight .nc, .highlight .nx { - color: #ff8383; -} -.highlight .na, .highlight .p { - color: #ffe484; -} -.highlight .s, .highlight .dl, .highlight .s2 { - color: #b5f4a5; -} -.highlight .k { - color: #93ddfd; -} -.highlight .s1, .highlight .mi { - color: #d9a9ff; -} - -.example { - padding: 2rem; - margin: 1rem 0 2rem; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: 3px 3px 0 0; - position: relative; - min-height: 12rem; - display: flex; - align-items: center; - overflow-x: auto; -} - -.example-centered { - justify-content: center; -} -.example-centered .example-content { - flex: 0 auto; -} - -.example-content { - font-size: 0.875rem; - line-height: 1.4285714286; - color: #1d273b; - flex: 1; - max-width: 100%; -} -.example-content .page-header { - margin-bottom: 0; -} - -.example-bg { - background: #f1f5f9; -} - -.example-code { - margin: 2rem 0; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-top: none; -} -.example-code pre { - margin: 0; - border: 0; - border-radius: 0 0 3px 3px; -} -.example + .example-code { - margin-top: -2rem; -} - -.example-column { - margin: 0 auto; -} -.example-column > .card:last-of-type { - margin-bottom: 0; -} - -.example-column-1 { - max-width: 26rem; -} - -.example-column-2 { - max-width: 52rem; -} - -.example-modal-backdrop { - background: #1d273b; - opacity: 0.24; - position: absolute; - width: 100%; - left: 0; - top: 0; - height: 100%; - border-radius: 2px 2px 0 0; -} - -@media not print { - .theme-dark .example { - background-color: #1a2234; - border-color: #243049; - } - .theme-dark .example-content { - color: #f8fafc; - } - .theme-dark .example-code { - border-color: #243049; - border-top: none; - } -} -@media not print { - @media (prefers-color-scheme: dark) { - .theme-dark-auto .example { - background-color: #1a2234; - border-color: #243049; - } - .theme-dark-auto .example-content { - color: #f8fafc; - } - .theme-dark-auto .example-code { - border-color: #243049; - border-top: none; - } - } -} -.card-sponsor { - background: #dbe7f6 no-repeat center/100% 100%; - border-color: #548ed2; - min-height: 316px; -} - -body.no-transitions * { - transition: none !important; -} - -.dropdown-menu-demo { - display: inline-block; - width: 100%; - position: relative; - top: 0; - margin-bottom: 1rem !important; -} - -.demo-icon-preview { - position: -webkit-sticky; - position: sticky; - top: 0; -} -.demo-icon-preview svg, -.demo-icon-preview i { - width: 15rem; - height: 15rem; - font-size: 15rem; - stroke-width: 1.5; - margin: 0 auto; - display: block; -} -@media (max-width: 575.98px) { - .demo-icon-preview svg, -.demo-icon-preview i { - width: 10rem; - height: 10rem; - font-size: 10rem; - } -} - -.demo-icon-preview-icon pre { - margin: 0; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; -} - -.demo-dividers > p { - opacity: 0.2; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.demo-icons-list { - display: flex; - flex-wrap: wrap; - padding: 0; - margin: 0 -2px -1px 0; - list-style: none; -} -.demo-icons-list > * { - flex: 1 0 4rem; -} - -.demo-icons-list-wrap { - overflow: hidden; -} - -.demo-icons-list-item { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - aspect-ratio: 1; - text-align: center; - padding: 0.5rem; - border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - color: inherit; - cursor: pointer; -} -.demo-icons-list-item .icon { - width: 1.5rem; - height: 1.5rem; - font-size: 1.5rem; -} -.demo-icons-list-item:hover { - text-decoration: none; -} - -.settings-btn { - position: fixed; - right: -1px; - top: 10rem; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - box-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; -} - -.settings-scheme { - display: inline-block; - border-radius: 50%; - height: 3rem; - width: 3rem; - position: relative; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - box-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; -} -.settings-scheme-light { - background: linear-gradient(135deg, #ffffff 50%, #f8fafc 50%); -} -.settings-scheme-mixed { - background-image: linear-gradient(135deg, #1d273b 50%, #fff 50%); -} -.settings-scheme-transparent { - background: #f8fafc; -} -.settings-scheme-dark { - background: #1d273b; -} -.settings-scheme-colored { - background-image: linear-gradient(135deg, var(--tblr-primary) 50%, #f8fafc 50%); -} \ No newline at end of file diff --git a/demo/dist/css/demo.min.css b/demo/dist/css/demo.min.css deleted file mode 100644 index 947eba763..000000000 --- a/demo/dist/css/demo.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -.highlight pre,pre.highlight{max-height:30rem;margin:1.5rem 0;overflow:auto;border-radius:var(--tblr-border-radius)}.highlight pre::-webkit-scrollbar,pre.highlight::-webkit-scrollbar{width:.5rem;height:.5rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.highlight pre::-webkit-scrollbar,pre.highlight::-webkit-scrollbar{-webkit-transition:none;transition:none}}.highlight pre::-webkit-scrollbar-thumb,pre.highlight::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(var(--tblr-light-rgb),.16)}.highlight pre::-webkit-scrollbar-track,pre.highlight::-webkit-scrollbar-track{background:rgba(var(--tblr-light-rgb),.06)}.highlight pre:hover::-webkit-scrollbar-thumb,pre.highlight:hover::-webkit-scrollbar-thumb{background:rgba(var(--tblr-light-rgb),.32)}.highlight pre::-webkit-scrollbar-corner,pre.highlight::-webkit-scrollbar-corner{background:0 0}.highlight{margin:0}.highlight code>*{margin:0!important;padding:0!important}.highlight .c,.highlight .c1{color:#a0aec0}.highlight .nc,.highlight .nt,.highlight .nx{color:#ff8383}.highlight .na,.highlight .p{color:#ffe484}.highlight .dl,.highlight .s,.highlight .s2{color:#b5f4a5}.highlight .k{color:#93ddfd}.highlight .mi,.highlight .s1{color:#d9a9ff}.example{padding:2rem;margin:1rem 0 2rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px 3px 0 0;position:relative;min-height:12rem;display:flex;align-items:center;overflow-x:auto}.example-centered{justify-content:center}.example-centered .example-content{flex:0 auto}.example-content{font-size:.875rem;line-height:1.4285714286;color:#1d273b;flex:1;max-width:100%}.example-content .page-header{margin-bottom:0}.example-bg{background:#f1f5f9}.example-code{margin:2rem 0;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-top:none}.example-code pre{margin:0;border:0;border-radius:0 0 3px 3px}.example+.example-code{margin-top:-2rem}.example-column{margin:0 auto}.example-column>.card:last-of-type{margin-bottom:0}.example-column-1{max-width:26rem}.example-column-2{max-width:52rem}.example-modal-backdrop{background:#1d273b;opacity:.24;position:absolute;width:100%;left:0;top:0;height:100%;border-radius:2px 2px 0 0}@media not print{.theme-dark .example{background-color:#1a2234;border-color:#243049}.theme-dark .example-content{color:#f8fafc}.theme-dark .example-code{border-color:#243049;border-top:none}}@media not print{@media (prefers-color-scheme:dark){.theme-dark-auto .example{background-color:#1a2234;border-color:#243049}.theme-dark-auto .example-content{color:#f8fafc}.theme-dark-auto .example-code{border-color:#243049;border-top:none}}}.card-sponsor{background:#dbe7f6 no-repeat center/100% 100%;border-color:#548ed2;min-height:316px}body.no-transitions *{transition:none!important}.dropdown-menu-demo{display:inline-block;width:100%;position:relative;top:0;margin-bottom:1rem!important}.demo-icon-preview{position:-webkit-sticky;position:sticky;top:0}.demo-icon-preview i,.demo-icon-preview svg{width:15rem;height:15rem;font-size:15rem;stroke-width:1.5;margin:0 auto;display:block}@media (max-width:575.98px){.demo-icon-preview i,.demo-icon-preview svg{width:10rem;height:10rem;font-size:10rem}}.demo-icon-preview-icon pre{margin:0;-webkit-user-select:all;-moz-user-select:all;user-select:all}.demo-dividers>p{opacity:.2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.demo-icons-list{display:flex;flex-wrap:wrap;padding:0;margin:0 -2px -1px 0;list-style:none}.demo-icons-list>*{flex:1 0 4rem}.demo-icons-list-wrap{overflow:hidden}.demo-icons-list-item{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;text-align:center;padding:.5rem;border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);color:inherit;cursor:pointer}.demo-icons-list-item .icon{width:1.5rem;height:1.5rem;font-size:1.5rem}.demo-icons-list-item:hover{text-decoration:none}.settings-btn{position:fixed;right:-1px;top:10rem;border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px 0}.settings-scheme{display:inline-block;border-radius:50%;height:3rem;width:3rem;position:relative;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px 0}.settings-scheme-light{background:linear-gradient(135deg,#fff 50%,#f8fafc 50%)}.settings-scheme-mixed{background-image:linear-gradient(135deg,#1d273b 50%,#fff 50%)}.settings-scheme-transparent{background:#f8fafc}.settings-scheme-dark{background:#1d273b}.settings-scheme-colored{background-image:linear-gradient(135deg,var(--tblr-primary) 50%,#f8fafc 50%)} \ No newline at end of file diff --git a/demo/dist/css/demo.rtl.css b/demo/dist/css/demo.rtl.css deleted file mode 100644 index 11b96e20e..000000000 --- a/demo/dist/css/demo.rtl.css +++ /dev/null @@ -1,301 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -pre.highlight, -.highlight pre { - max-height: 30rem; - margin: 1.5rem 0; - overflow: auto; - border-radius: var(--tblr-border-radius); -} -pre.highlight::-webkit-scrollbar, -.highlight pre::-webkit-scrollbar { - width: 0.5rem; - height: 0.5rem; - -webkit-transition: background 0.3s; - transition: background 0.3s; -} -@media (prefers-reduced-motion: reduce) { - pre.highlight::-webkit-scrollbar, -.highlight pre::-webkit-scrollbar { - -webkit-transition: none; - transition: none; - } -} -pre.highlight::-webkit-scrollbar-thumb, -.highlight pre::-webkit-scrollbar-thumb { - border-radius: 5px; - background: rgba(var(--tblr-light-rgb), 0.16); -} -pre.highlight::-webkit-scrollbar-track, -.highlight pre::-webkit-scrollbar-track { - background: rgba(var(--tblr-light-rgb), 0.06); -} -pre.highlight:hover::-webkit-scrollbar-thumb, -.highlight pre:hover::-webkit-scrollbar-thumb { - background: rgba(var(--tblr-light-rgb), 0.32); -} -pre.highlight::-webkit-scrollbar-corner, -.highlight pre::-webkit-scrollbar-corner { - background: transparent; -} - -.highlight { - margin: 0; -} -.highlight code > * { - margin: 0 !important; - padding: 0 !important; -} -.highlight .c, .highlight .c1 { - color: #a0aec0; -} -.highlight .nt, .highlight .nc, .highlight .nx { - color: #ff8383; -} -.highlight .na, .highlight .p { - color: #ffe484; -} -.highlight .s, .highlight .dl, .highlight .s2 { - color: #b5f4a5; -} -.highlight .k { - color: #93ddfd; -} -.highlight .s1, .highlight .mi { - color: #d9a9ff; -} - -.example { - padding: 2rem; - margin: 1rem 0 2rem; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: 3px 3px 0 0; - position: relative; - min-height: 12rem; - display: flex; - align-items: center; - overflow-x: auto; -} - -.example-centered { - justify-content: center; -} -.example-centered .example-content { - flex: 0 auto; -} - -.example-content { - font-size: 0.875rem; - line-height: 1.4285714286; - color: #1d273b; - flex: 1; - max-width: 100%; -} -.example-content .page-header { - margin-bottom: 0; -} - -.example-bg { - background: #f1f5f9; -} - -.example-code { - margin: 2rem 0; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-top: none; -} -.example-code pre { - margin: 0; - border: 0; - border-radius: 0 0 3px 3px; -} -.example + .example-code { - margin-top: -2rem; -} - -.example-column { - margin: 0 auto; -} -.example-column > .card:last-of-type { - margin-bottom: 0; -} - -.example-column-1 { - max-width: 26rem; -} - -.example-column-2 { - max-width: 52rem; -} - -.example-modal-backdrop { - background: #1d273b; - opacity: 0.24; - position: absolute; - width: 100%; - right: 0; - top: 0; - height: 100%; - border-radius: 2px 2px 0 0; -} - -@media not print { - .theme-dark .example { - background-color: #1a2234; - border-color: #243049; - } - .theme-dark .example-content { - color: #f8fafc; - } - .theme-dark .example-code { - border-color: #243049; - border-top: none; - } -} -@media not print { - @media (prefers-color-scheme: dark) { - .theme-dark-auto .example { - background-color: #1a2234; - border-color: #243049; - } - .theme-dark-auto .example-content { - color: #f8fafc; - } - .theme-dark-auto .example-code { - border-color: #243049; - border-top: none; - } - } -} -.card-sponsor { - background: #dbe7f6 no-repeat center/100% 100%; - border-color: #548ed2; - min-height: 316px; -} - -body.no-transitions * { - transition: none !important; -} - -.dropdown-menu-demo { - display: inline-block; - width: 100%; - position: relative; - top: 0; - margin-bottom: 1rem !important; -} - -.demo-icon-preview { - position: -webkit-sticky; - position: sticky; - top: 0; -} -.demo-icon-preview svg, -.demo-icon-preview i { - width: 15rem; - height: 15rem; - font-size: 15rem; - stroke-width: 1.5; - margin: 0 auto; - display: block; -} -@media (max-width: 575.98px) { - .demo-icon-preview svg, -.demo-icon-preview i { - width: 10rem; - height: 10rem; - font-size: 10rem; - } -} - -.demo-icon-preview-icon pre { - margin: 0; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; -} - -.demo-dividers > p { - opacity: 0.2; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.demo-icons-list { - display: flex; - flex-wrap: wrap; - padding: 0; - margin: 0 0 -1px -2px; - list-style: none; -} -.demo-icons-list > * { - flex: 1 0 4rem; -} - -.demo-icons-list-wrap { - overflow: hidden; -} - -.demo-icons-list-item { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - aspect-ratio: 1; - text-align: center; - padding: 0.5rem; - border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - color: inherit; - cursor: pointer; -} -.demo-icons-list-item .icon { - width: 1.5rem; - height: 1.5rem; - font-size: 1.5rem; -} -.demo-icons-list-item:hover { - text-decoration: none; -} - -.settings-btn { - position: fixed; - left: -1px; - top: 10rem; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - box-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; -} - -.settings-scheme { - display: inline-block; - border-radius: 50%; - height: 3rem; - width: 3rem; - position: relative; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - box-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; -} -.settings-scheme-light { - background: linear-gradient(-135deg, #ffffff 50%, #f8fafc 50%); -} -.settings-scheme-mixed { - background-image: linear-gradient(-135deg, #1d273b 50%, #fff 50%); -} -.settings-scheme-transparent { - background: #f8fafc; -} -.settings-scheme-dark { - background: #1d273b; -} -.settings-scheme-colored { - background-image: linear-gradient(-135deg, var(--tblr-primary) 50%, #f8fafc 50%); -} \ No newline at end of file diff --git a/demo/dist/css/demo.rtl.min.css b/demo/dist/css/demo.rtl.min.css deleted file mode 100644 index 792b557a3..000000000 --- a/demo/dist/css/demo.rtl.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -.highlight pre,pre.highlight{max-height:30rem;margin:1.5rem 0;overflow:auto;border-radius:var(--tblr-border-radius)}.highlight pre::-webkit-scrollbar,pre.highlight::-webkit-scrollbar{width:.5rem;height:.5rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.highlight pre::-webkit-scrollbar,pre.highlight::-webkit-scrollbar{-webkit-transition:none;transition:none}}.highlight pre::-webkit-scrollbar-thumb,pre.highlight::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(var(--tblr-light-rgb),.16)}.highlight pre::-webkit-scrollbar-track,pre.highlight::-webkit-scrollbar-track{background:rgba(var(--tblr-light-rgb),.06)}.highlight pre:hover::-webkit-scrollbar-thumb,pre.highlight:hover::-webkit-scrollbar-thumb{background:rgba(var(--tblr-light-rgb),.32)}.highlight pre::-webkit-scrollbar-corner,pre.highlight::-webkit-scrollbar-corner{background:0 0}.highlight{margin:0}.highlight code>*{margin:0!important;padding:0!important}.highlight .c,.highlight .c1{color:#a0aec0}.highlight .nc,.highlight .nt,.highlight .nx{color:#ff8383}.highlight .na,.highlight .p{color:#ffe484}.highlight .dl,.highlight .s,.highlight .s2{color:#b5f4a5}.highlight .k{color:#93ddfd}.highlight .mi,.highlight .s1{color:#d9a9ff}.example{padding:2rem;margin:1rem 0 2rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px 3px 0 0;position:relative;min-height:12rem;display:flex;align-items:center;overflow-x:auto}.example-centered{justify-content:center}.example-centered .example-content{flex:0 auto}.example-content{font-size:.875rem;line-height:1.4285714286;color:#1d273b;flex:1;max-width:100%}.example-content .page-header{margin-bottom:0}.example-bg{background:#f1f5f9}.example-code{margin:2rem 0;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-top:none}.example-code pre{margin:0;border:0;border-radius:0 0 3px 3px}.example+.example-code{margin-top:-2rem}.example-column{margin:0 auto}.example-column>.card:last-of-type{margin-bottom:0}.example-column-1{max-width:26rem}.example-column-2{max-width:52rem}.example-modal-backdrop{background:#1d273b;opacity:.24;position:absolute;width:100%;right:0;top:0;height:100%;border-radius:2px 2px 0 0}@media not print{.theme-dark .example{background-color:#1a2234;border-color:#243049}.theme-dark .example-content{color:#f8fafc}.theme-dark .example-code{border-color:#243049;border-top:none}}@media not print{@media (prefers-color-scheme:dark){.theme-dark-auto .example{background-color:#1a2234;border-color:#243049}.theme-dark-auto .example-content{color:#f8fafc}.theme-dark-auto .example-code{border-color:#243049;border-top:none}}}.card-sponsor{background:#dbe7f6 no-repeat center/100% 100%;border-color:#548ed2;min-height:316px}body.no-transitions *{transition:none!important}.dropdown-menu-demo{display:inline-block;width:100%;position:relative;top:0;margin-bottom:1rem!important}.demo-icon-preview{position:-webkit-sticky;position:sticky;top:0}.demo-icon-preview i,.demo-icon-preview svg{width:15rem;height:15rem;font-size:15rem;stroke-width:1.5;margin:0 auto;display:block}@media (max-width:575.98px){.demo-icon-preview i,.demo-icon-preview svg{width:10rem;height:10rem;font-size:10rem}}.demo-icon-preview-icon pre{margin:0;-webkit-user-select:all;-moz-user-select:all;user-select:all}.demo-dividers>p{opacity:.2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.demo-icons-list{display:flex;flex-wrap:wrap;padding:0;margin:0 0 -1px -2px;list-style:none}.demo-icons-list>*{flex:1 0 4rem}.demo-icons-list-wrap{overflow:hidden}.demo-icons-list-item{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;text-align:center;padding:.5rem;border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);color:inherit;cursor:pointer}.demo-icons-list-item .icon{width:1.5rem;height:1.5rem;font-size:1.5rem}.demo-icons-list-item:hover{text-decoration:none}.settings-btn{position:fixed;left:-1px;top:10rem;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px 0}.settings-scheme{display:inline-block;border-radius:50%;height:3rem;width:3rem;position:relative;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px 0}.settings-scheme-light{background:linear-gradient(-135deg,#fff 50%,#f8fafc 50%)}.settings-scheme-mixed{background-image:linear-gradient(-135deg,#1d273b 50%,#fff 50%)}.settings-scheme-transparent{background:#f8fafc}.settings-scheme-dark{background:#1d273b}.settings-scheme-colored{background-image:linear-gradient(-135deg,var(--tblr-primary) 50%,#f8fafc 50%)} \ No newline at end of file diff --git a/demo/dist/css/tabler-flags.css b/demo/dist/css/tabler-flags.css deleted file mode 100644 index 1cd1b29d9..000000000 --- a/demo/dist/css/tabler-flags.css +++ /dev/null @@ -1,1074 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -.flag { - position: relative; - display: inline-block; - width: 1.33333em; - height: 1em; - vertical-align: -3px; - background-repeat: no-repeat; - background-position: center; - background-size: cover; - border: var(--tblr-border-size) var(--tblr-border-style) var(--tblr-border-color); - border-radius: var(--tblr-border-radius); -} - -.flag-country-ad { - background-image: url("../img/flags/ad.svg"); -} - -.flag-country-ae { - background-image: url("../img/flags/ae.svg"); -} - -.flag-country-af { - background-image: url("../img/flags/af.svg"); -} - -.flag-country-ag { - background-image: url("../img/flags/ag.svg"); -} - -.flag-country-ai { - background-image: url("../img/flags/ai.svg"); -} - -.flag-country-al { - background-image: url("../img/flags/al.svg"); -} - -.flag-country-am { - background-image: url("../img/flags/am.svg"); -} - -.flag-country-ao { - background-image: url("../img/flags/ao.svg"); -} - -.flag-country-aq { - background-image: url("../img/flags/aq.svg"); -} - -.flag-country-ar { - background-image: url("../img/flags/ar.svg"); -} - -.flag-country-as { - background-image: url("../img/flags/as.svg"); -} - -.flag-country-at { - background-image: url("../img/flags/at.svg"); -} - -.flag-country-au { - background-image: url("../img/flags/au.svg"); -} - -.flag-country-aw { - background-image: url("../img/flags/aw.svg"); -} - -.flag-country-ax { - background-image: url("../img/flags/ax.svg"); -} - -.flag-country-az { - background-image: url("../img/flags/az.svg"); -} - -.flag-country-ba { - background-image: url("../img/flags/ba.svg"); -} - -.flag-country-bb { - background-image: url("../img/flags/bb.svg"); -} - -.flag-country-bd { - background-image: url("../img/flags/bd.svg"); -} - -.flag-country-be { - background-image: url("../img/flags/be.svg"); -} - -.flag-country-bf { - background-image: url("../img/flags/bf.svg"); -} - -.flag-country-bg { - background-image: url("../img/flags/bg.svg"); -} - -.flag-country-bh { - background-image: url("../img/flags/bh.svg"); -} - -.flag-country-bi { - background-image: url("../img/flags/bi.svg"); -} - -.flag-country-bj { - background-image: url("../img/flags/bj.svg"); -} - -.flag-country-bl { - background-image: url("../img/flags/bl.svg"); -} - -.flag-country-bm { - background-image: url("../img/flags/bm.svg"); -} - -.flag-country-bn { - background-image: url("../img/flags/bn.svg"); -} - -.flag-country-bo { - background-image: url("../img/flags/bo.svg"); -} - -.flag-country-bq { - background-image: url("../img/flags/bq.svg"); -} - -.flag-country-br { - background-image: url("../img/flags/br.svg"); -} - -.flag-country-bs { - background-image: url("../img/flags/bs.svg"); -} - -.flag-country-bt { - background-image: url("../img/flags/bt.svg"); -} - -.flag-country-bv { - background-image: url("../img/flags/bv.svg"); -} - -.flag-country-bw { - background-image: url("../img/flags/bw.svg"); -} - -.flag-country-by { - background-image: url("../img/flags/by.svg"); -} - -.flag-country-bz { - background-image: url("../img/flags/bz.svg"); -} - -.flag-country-ca { - background-image: url("../img/flags/ca.svg"); -} - -.flag-country-cc { - background-image: url("../img/flags/cc.svg"); -} - -.flag-country-cd { - background-image: url("../img/flags/cd.svg"); -} - -.flag-country-cf { - background-image: url("../img/flags/cf.svg"); -} - -.flag-country-cg { - background-image: url("../img/flags/cg.svg"); -} - -.flag-country-ch { - background-image: url("../img/flags/ch.svg"); -} - -.flag-country-ci { - background-image: url("../img/flags/ci.svg"); -} - -.flag-country-ck { - background-image: url("../img/flags/ck.svg"); -} - -.flag-country-cl { - background-image: url("../img/flags/cl.svg"); -} - -.flag-country-cm { - background-image: url("../img/flags/cm.svg"); -} - -.flag-country-cn { - background-image: url("../img/flags/cn.svg"); -} - -.flag-country-co { - background-image: url("../img/flags/co.svg"); -} - -.flag-country-cr { - background-image: url("../img/flags/cr.svg"); -} - -.flag-country-cu { - background-image: url("../img/flags/cu.svg"); -} - -.flag-country-cv { - background-image: url("../img/flags/cv.svg"); -} - -.flag-country-cw { - background-image: url("../img/flags/cw.svg"); -} - -.flag-country-cx { - background-image: url("../img/flags/cx.svg"); -} - -.flag-country-cy { - background-image: url("../img/flags/cy.svg"); -} - -.flag-country-cz { - background-image: url("../img/flags/cz.svg"); -} - -.flag-country-de { - background-image: url("../img/flags/de.svg"); -} - -.flag-country-dj { - background-image: url("../img/flags/dj.svg"); -} - -.flag-country-dk { - background-image: url("../img/flags/dk.svg"); -} - -.flag-country-dm { - background-image: url("../img/flags/dm.svg"); -} - -.flag-country-do { - background-image: url("../img/flags/do.svg"); -} - -.flag-country-dz { - background-image: url("../img/flags/dz.svg"); -} - -.flag-country-ec { - background-image: url("../img/flags/ec.svg"); -} - -.flag-country-ee { - background-image: url("../img/flags/ee.svg"); -} - -.flag-country-eg { - background-image: url("../img/flags/eg.svg"); -} - -.flag-country-eh { - background-image: url("../img/flags/eh.svg"); -} - -.flag-country-er { - background-image: url("../img/flags/er.svg"); -} - -.flag-country-es { - background-image: url("../img/flags/es.svg"); -} - -.flag-country-et { - background-image: url("../img/flags/et.svg"); -} - -.flag-country-fi { - background-image: url("../img/flags/fi.svg"); -} - -.flag-country-fj { - background-image: url("../img/flags/fj.svg"); -} - -.flag-country-fk { - background-image: url("../img/flags/fk.svg"); -} - -.flag-country-fm { - background-image: url("../img/flags/fm.svg"); -} - -.flag-country-fo { - background-image: url("../img/flags/fo.svg"); -} - -.flag-country-fr { - background-image: url("../img/flags/fr.svg"); -} - -.flag-country-ga { - background-image: url("../img/flags/ga.svg"); -} - -.flag-country-gb { - background-image: url("../img/flags/gb.svg"); -} - -.flag-country-gd { - background-image: url("../img/flags/gd.svg"); -} - -.flag-country-ge { - background-image: url("../img/flags/ge.svg"); -} - -.flag-country-gf { - background-image: url("../img/flags/gf.svg"); -} - -.flag-country-gg { - background-image: url("../img/flags/gg.svg"); -} - -.flag-country-gh { - background-image: url("../img/flags/gh.svg"); -} - -.flag-country-gi { - background-image: url("../img/flags/gi.svg"); -} - -.flag-country-gl { - background-image: url("../img/flags/gl.svg"); -} - -.flag-country-gm { - background-image: url("../img/flags/gm.svg"); -} - -.flag-country-gn { - background-image: url("../img/flags/gn.svg"); -} - -.flag-country-gp { - background-image: url("../img/flags/gp.svg"); -} - -.flag-country-gq { - background-image: url("../img/flags/gq.svg"); -} - -.flag-country-gr { - background-image: url("../img/flags/gr.svg"); -} - -.flag-country-gs { - background-image: url("../img/flags/gs.svg"); -} - -.flag-country-gt { - background-image: url("../img/flags/gt.svg"); -} - -.flag-country-gu { - background-image: url("../img/flags/gu.svg"); -} - -.flag-country-gw { - background-image: url("../img/flags/gw.svg"); -} - -.flag-country-gy { - background-image: url("../img/flags/gy.svg"); -} - -.flag-country-hk { - background-image: url("../img/flags/hk.svg"); -} - -.flag-country-hm { - background-image: url("../img/flags/hm.svg"); -} - -.flag-country-hn { - background-image: url("../img/flags/hn.svg"); -} - -.flag-country-hr { - background-image: url("../img/flags/hr.svg"); -} - -.flag-country-ht { - background-image: url("../img/flags/ht.svg"); -} - -.flag-country-hu { - background-image: url("../img/flags/hu.svg"); -} - -.flag-country-id { - background-image: url("../img/flags/id.svg"); -} - -.flag-country-ie { - background-image: url("../img/flags/ie.svg"); -} - -.flag-country-il { - background-image: url("../img/flags/il.svg"); -} - -.flag-country-im { - background-image: url("../img/flags/im.svg"); -} - -.flag-country-in { - background-image: url("../img/flags/in.svg"); -} - -.flag-country-io { - background-image: url("../img/flags/io.svg"); -} - -.flag-country-iq { - background-image: url("../img/flags/iq.svg"); -} - -.flag-country-ir { - background-image: url("../img/flags/ir.svg"); -} - -.flag-country-is { - background-image: url("../img/flags/is.svg"); -} - -.flag-country-it { - background-image: url("../img/flags/it.svg"); -} - -.flag-country-je { - background-image: url("../img/flags/je.svg"); -} - -.flag-country-jm { - background-image: url("../img/flags/jm.svg"); -} - -.flag-country-jo { - background-image: url("../img/flags/jo.svg"); -} - -.flag-country-jp { - background-image: url("../img/flags/jp.svg"); -} - -.flag-country-ke { - background-image: url("../img/flags/ke.svg"); -} - -.flag-country-kg { - background-image: url("../img/flags/kg.svg"); -} - -.flag-country-kh { - background-image: url("../img/flags/kh.svg"); -} - -.flag-country-ki { - background-image: url("../img/flags/ki.svg"); -} - -.flag-country-km { - background-image: url("../img/flags/km.svg"); -} - -.flag-country-kn { - background-image: url("../img/flags/kn.svg"); -} - -.flag-country-kp { - background-image: url("../img/flags/kp.svg"); -} - -.flag-country-kr { - background-image: url("../img/flags/kr.svg"); -} - -.flag-country-kw { - background-image: url("../img/flags/kw.svg"); -} - -.flag-country-ky { - background-image: url("../img/flags/ky.svg"); -} - -.flag-country-kz { - background-image: url("../img/flags/kz.svg"); -} - -.flag-country-la { - background-image: url("../img/flags/la.svg"); -} - -.flag-country-lb { - background-image: url("../img/flags/lb.svg"); -} - -.flag-country-lc { - background-image: url("../img/flags/lc.svg"); -} - -.flag-country-li { - background-image: url("../img/flags/li.svg"); -} - -.flag-country-lk { - background-image: url("../img/flags/lk.svg"); -} - -.flag-country-lr { - background-image: url("../img/flags/lr.svg"); -} - -.flag-country-ls { - background-image: url("../img/flags/ls.svg"); -} - -.flag-country-lt { - background-image: url("../img/flags/lt.svg"); -} - -.flag-country-lu { - background-image: url("../img/flags/lu.svg"); -} - -.flag-country-lv { - background-image: url("../img/flags/lv.svg"); -} - -.flag-country-ly { - background-image: url("../img/flags/ly.svg"); -} - -.flag-country-ma { - background-image: url("../img/flags/ma.svg"); -} - -.flag-country-mc { - background-image: url("../img/flags/mc.svg"); -} - -.flag-country-md { - background-image: url("../img/flags/md.svg"); -} - -.flag-country-me { - background-image: url("../img/flags/me.svg"); -} - -.flag-country-mf { - background-image: url("../img/flags/mf.svg"); -} - -.flag-country-mg { - background-image: url("../img/flags/mg.svg"); -} - -.flag-country-mh { - background-image: url("../img/flags/mh.svg"); -} - -.flag-country-mk { - background-image: url("../img/flags/mk.svg"); -} - -.flag-country-ml { - background-image: url("../img/flags/ml.svg"); -} - -.flag-country-mm { - background-image: url("../img/flags/mm.svg"); -} - -.flag-country-mn { - background-image: url("../img/flags/mn.svg"); -} - -.flag-country-mo { - background-image: url("../img/flags/mo.svg"); -} - -.flag-country-mp { - background-image: url("../img/flags/mp.svg"); -} - -.flag-country-mq { - background-image: url("../img/flags/mq.svg"); -} - -.flag-country-mr { - background-image: url("../img/flags/mr.svg"); -} - -.flag-country-ms { - background-image: url("../img/flags/ms.svg"); -} - -.flag-country-mt { - background-image: url("../img/flags/mt.svg"); -} - -.flag-country-mu { - background-image: url("../img/flags/mu.svg"); -} - -.flag-country-mv { - background-image: url("../img/flags/mv.svg"); -} - -.flag-country-mw { - background-image: url("../img/flags/mw.svg"); -} - -.flag-country-mx { - background-image: url("../img/flags/mx.svg"); -} - -.flag-country-my { - background-image: url("../img/flags/my.svg"); -} - -.flag-country-mz { - background-image: url("../img/flags/mz.svg"); -} - -.flag-country-na { - background-image: url("../img/flags/na.svg"); -} - -.flag-country-nc { - background-image: url("../img/flags/nc.svg"); -} - -.flag-country-ne { - background-image: url("../img/flags/ne.svg"); -} - -.flag-country-nf { - background-image: url("../img/flags/nf.svg"); -} - -.flag-country-ng { - background-image: url("../img/flags/ng.svg"); -} - -.flag-country-ni { - background-image: url("../img/flags/ni.svg"); -} - -.flag-country-nl { - background-image: url("../img/flags/nl.svg"); -} - -.flag-country-no { - background-image: url("../img/flags/no.svg"); -} - -.flag-country-np { - background-image: url("../img/flags/np.svg"); -} - -.flag-country-nr { - background-image: url("../img/flags/nr.svg"); -} - -.flag-country-nu { - background-image: url("../img/flags/nu.svg"); -} - -.flag-country-nz { - background-image: url("../img/flags/nz.svg"); -} - -.flag-country-om { - background-image: url("../img/flags/om.svg"); -} - -.flag-country-pa { - background-image: url("../img/flags/pa.svg"); -} - -.flag-country-pe { - background-image: url("../img/flags/pe.svg"); -} - -.flag-country-pf { - background-image: url("../img/flags/pf.svg"); -} - -.flag-country-pg { - background-image: url("../img/flags/pg.svg"); -} - -.flag-country-ph { - background-image: url("../img/flags/ph.svg"); -} - -.flag-country-pk { - background-image: url("../img/flags/pk.svg"); -} - -.flag-country-pl { - background-image: url("../img/flags/pl.svg"); -} - -.flag-country-pm { - background-image: url("../img/flags/pm.svg"); -} - -.flag-country-pn { - background-image: url("../img/flags/pn.svg"); -} - -.flag-country-pr { - background-image: url("../img/flags/pr.svg"); -} - -.flag-country-ps { - background-image: url("../img/flags/ps.svg"); -} - -.flag-country-pt { - background-image: url("../img/flags/pt.svg"); -} - -.flag-country-pw { - background-image: url("../img/flags/pw.svg"); -} - -.flag-country-py { - background-image: url("../img/flags/py.svg"); -} - -.flag-country-qa { - background-image: url("../img/flags/qa.svg"); -} - -.flag-country-re { - background-image: url("../img/flags/re.svg"); -} - -.flag-country-ro { - background-image: url("../img/flags/ro.svg"); -} - -.flag-country-rs { - background-image: url("../img/flags/rs.svg"); -} - -.flag-country-ru { - background-image: url("../img/flags/ru.svg"); -} - -.flag-country-rw { - background-image: url("../img/flags/rw.svg"); -} - -.flag-country-sa { - background-image: url("../img/flags/sa.svg"); -} - -.flag-country-sb { - background-image: url("../img/flags/sb.svg"); -} - -.flag-country-sc { - background-image: url("../img/flags/sc.svg"); -} - -.flag-country-sd { - background-image: url("../img/flags/sd.svg"); -} - -.flag-country-se { - background-image: url("../img/flags/se.svg"); -} - -.flag-country-sg { - background-image: url("../img/flags/sg.svg"); -} - -.flag-country-sh { - background-image: url("../img/flags/sh.svg"); -} - -.flag-country-si { - background-image: url("../img/flags/si.svg"); -} - -.flag-country-sj { - background-image: url("../img/flags/sj.svg"); -} - -.flag-country-sk { - background-image: url("../img/flags/sk.svg"); -} - -.flag-country-sl { - background-image: url("../img/flags/sl.svg"); -} - -.flag-country-sm { - background-image: url("../img/flags/sm.svg"); -} - -.flag-country-sn { - background-image: url("../img/flags/sn.svg"); -} - -.flag-country-so { - background-image: url("../img/flags/so.svg"); -} - -.flag-country-sr { - background-image: url("../img/flags/sr.svg"); -} - -.flag-country-ss { - background-image: url("../img/flags/ss.svg"); -} - -.flag-country-st { - background-image: url("../img/flags/st.svg"); -} - -.flag-country-sv { - background-image: url("../img/flags/sv.svg"); -} - -.flag-country-sx { - background-image: url("../img/flags/sx.svg"); -} - -.flag-country-sy { - background-image: url("../img/flags/sy.svg"); -} - -.flag-country-sz { - background-image: url("../img/flags/sz.svg"); -} - -.flag-country-tc { - background-image: url("../img/flags/tc.svg"); -} - -.flag-country-td { - background-image: url("../img/flags/td.svg"); -} - -.flag-country-tf { - background-image: url("../img/flags/tf.svg"); -} - -.flag-country-tg { - background-image: url("../img/flags/tg.svg"); -} - -.flag-country-th { - background-image: url("../img/flags/th.svg"); -} - -.flag-country-tj { - background-image: url("../img/flags/tj.svg"); -} - -.flag-country-tk { - background-image: url("../img/flags/tk.svg"); -} - -.flag-country-tl { - background-image: url("../img/flags/tl.svg"); -} - -.flag-country-tm { - background-image: url("../img/flags/tm.svg"); -} - -.flag-country-tn { - background-image: url("../img/flags/tn.svg"); -} - -.flag-country-to { - background-image: url("../img/flags/to.svg"); -} - -.flag-country-tr { - background-image: url("../img/flags/tr.svg"); -} - -.flag-country-tt { - background-image: url("../img/flags/tt.svg"); -} - -.flag-country-tv { - background-image: url("../img/flags/tv.svg"); -} - -.flag-country-tw { - background-image: url("../img/flags/tw.svg"); -} - -.flag-country-tz { - background-image: url("../img/flags/tz.svg"); -} - -.flag-country-ua { - background-image: url("../img/flags/ua.svg"); -} - -.flag-country-ug { - background-image: url("../img/flags/ug.svg"); -} - -.flag-country-um { - background-image: url("../img/flags/um.svg"); -} - -.flag-country-us { - background-image: url("../img/flags/us.svg"); -} - -.flag-country-uy { - background-image: url("../img/flags/uy.svg"); -} - -.flag-country-uz { - background-image: url("../img/flags/uz.svg"); -} - -.flag-country-va { - background-image: url("../img/flags/va.svg"); -} - -.flag-country-vc { - background-image: url("../img/flags/vc.svg"); -} - -.flag-country-ve { - background-image: url("../img/flags/ve.svg"); -} - -.flag-country-vg { - background-image: url("../img/flags/vg.svg"); -} - -.flag-country-vi { - background-image: url("../img/flags/vi.svg"); -} - -.flag-country-vn { - background-image: url("../img/flags/vn.svg"); -} - -.flag-country-vu { - background-image: url("../img/flags/vu.svg"); -} - -.flag-country-wf { - background-image: url("../img/flags/wf.svg"); -} - -.flag-country-ws { - background-image: url("../img/flags/ws.svg"); -} - -.flag-country-ye { - background-image: url("../img/flags/ye.svg"); -} - -.flag-country-yt { - background-image: url("../img/flags/yt.svg"); -} - -.flag-country-za { - background-image: url("../img/flags/za.svg"); -} - -.flag-country-zm { - background-image: url("../img/flags/zm.svg"); -} - -.flag-country-zw { - background-image: url("../img/flags/zw.svg"); -} - -.flag-country-es-ct { - background-image: url("../img/flags/es-ct.svg"); -} - -.flag-country-eu { - background-image: url("../img/flags/eu.svg"); -} - -.flag-country-gb-eng { - background-image: url("../img/flags/gb-eng.svg"); -} - -.flag-country-gb-nir { - background-image: url("../img/flags/gb-nir.svg"); -} - -.flag-country-gb-sct { - background-image: url("../img/flags/gb-sct.svg"); -} - -.flag-country-gb-wls { - background-image: url("../img/flags/gb-wls.svg"); -} - -.flag-country-un { - background-image: url("../img/flags/un.svg"); -} - -.flag-xs { - width: 1.5rem; - height: 1.125rem; -} - -.flag-sm { - width: 2rem; - height: 1.5rem; -} - -.flag-md { - width: 3.75rem; - height: 2.8125rem; -} - -.flag-lg { - width: 5rem; - height: 3.75rem; -} - -.flag-xl { - width: 7rem; - height: 5.25rem; -} - -.flag-2xl { - width: 11rem; - height: 8.25rem; -} \ No newline at end of file diff --git a/demo/dist/css/tabler-flags.min.css b/demo/dist/css/tabler-flags.min.css deleted file mode 100644 index 2950452e5..000000000 --- a/demo/dist/css/tabler-flags.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -.flag{position:relative;display:inline-block;width:1.33333em;height:1em;vertical-align:-3px;background-repeat:no-repeat;background-position:center;background-size:cover;border:var(--tblr-border-size) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.flag-country-ad{background-image:url(../img/flags/ad.svg)}.flag-country-ae{background-image:url(../img/flags/ae.svg)}.flag-country-af{background-image:url(../img/flags/af.svg)}.flag-country-ag{background-image:url(../img/flags/ag.svg)}.flag-country-ai{background-image:url(../img/flags/ai.svg)}.flag-country-al{background-image:url(../img/flags/al.svg)}.flag-country-am{background-image:url(../img/flags/am.svg)}.flag-country-ao{background-image:url(../img/flags/ao.svg)}.flag-country-aq{background-image:url(../img/flags/aq.svg)}.flag-country-ar{background-image:url(../img/flags/ar.svg)}.flag-country-as{background-image:url(../img/flags/as.svg)}.flag-country-at{background-image:url(../img/flags/at.svg)}.flag-country-au{background-image:url(../img/flags/au.svg)}.flag-country-aw{background-image:url(../img/flags/aw.svg)}.flag-country-ax{background-image:url(../img/flags/ax.svg)}.flag-country-az{background-image:url(../img/flags/az.svg)}.flag-country-ba{background-image:url(../img/flags/ba.svg)}.flag-country-bb{background-image:url(../img/flags/bb.svg)}.flag-country-bd{background-image:url(../img/flags/bd.svg)}.flag-country-be{background-image:url(../img/flags/be.svg)}.flag-country-bf{background-image:url(../img/flags/bf.svg)}.flag-country-bg{background-image:url(../img/flags/bg.svg)}.flag-country-bh{background-image:url(../img/flags/bh.svg)}.flag-country-bi{background-image:url(../img/flags/bi.svg)}.flag-country-bj{background-image:url(../img/flags/bj.svg)}.flag-country-bl{background-image:url(../img/flags/bl.svg)}.flag-country-bm{background-image:url(../img/flags/bm.svg)}.flag-country-bn{background-image:url(../img/flags/bn.svg)}.flag-country-bo{background-image:url(../img/flags/bo.svg)}.flag-country-bq{background-image:url(../img/flags/bq.svg)}.flag-country-br{background-image:url(../img/flags/br.svg)}.flag-country-bs{background-image:url(../img/flags/bs.svg)}.flag-country-bt{background-image:url(../img/flags/bt.svg)}.flag-country-bv{background-image:url(../img/flags/bv.svg)}.flag-country-bw{background-image:url(../img/flags/bw.svg)}.flag-country-by{background-image:url(../img/flags/by.svg)}.flag-country-bz{background-image:url(../img/flags/bz.svg)}.flag-country-ca{background-image:url(../img/flags/ca.svg)}.flag-country-cc{background-image:url(../img/flags/cc.svg)}.flag-country-cd{background-image:url(../img/flags/cd.svg)}.flag-country-cf{background-image:url(../img/flags/cf.svg)}.flag-country-cg{background-image:url(../img/flags/cg.svg)}.flag-country-ch{background-image:url(../img/flags/ch.svg)}.flag-country-ci{background-image:url(../img/flags/ci.svg)}.flag-country-ck{background-image:url(../img/flags/ck.svg)}.flag-country-cl{background-image:url(../img/flags/cl.svg)}.flag-country-cm{background-image:url(../img/flags/cm.svg)}.flag-country-cn{background-image:url(../img/flags/cn.svg)}.flag-country-co{background-image:url(../img/flags/co.svg)}.flag-country-cr{background-image:url(../img/flags/cr.svg)}.flag-country-cu{background-image:url(../img/flags/cu.svg)}.flag-country-cv{background-image:url(../img/flags/cv.svg)}.flag-country-cw{background-image:url(../img/flags/cw.svg)}.flag-country-cx{background-image:url(../img/flags/cx.svg)}.flag-country-cy{background-image:url(../img/flags/cy.svg)}.flag-country-cz{background-image:url(../img/flags/cz.svg)}.flag-country-de{background-image:url(../img/flags/de.svg)}.flag-country-dj{background-image:url(../img/flags/dj.svg)}.flag-country-dk{background-image:url(../img/flags/dk.svg)}.flag-country-dm{background-image:url(../img/flags/dm.svg)}.flag-country-do{background-image:url(../img/flags/do.svg)}.flag-country-dz{background-image:url(../img/flags/dz.svg)}.flag-country-ec{background-image:url(../img/flags/ec.svg)}.flag-country-ee{background-image:url(../img/flags/ee.svg)}.flag-country-eg{background-image:url(../img/flags/eg.svg)}.flag-country-eh{background-image:url(../img/flags/eh.svg)}.flag-country-er{background-image:url(../img/flags/er.svg)}.flag-country-es{background-image:url(../img/flags/es.svg)}.flag-country-et{background-image:url(../img/flags/et.svg)}.flag-country-fi{background-image:url(../img/flags/fi.svg)}.flag-country-fj{background-image:url(../img/flags/fj.svg)}.flag-country-fk{background-image:url(../img/flags/fk.svg)}.flag-country-fm{background-image:url(../img/flags/fm.svg)}.flag-country-fo{background-image:url(../img/flags/fo.svg)}.flag-country-fr{background-image:url(../img/flags/fr.svg)}.flag-country-ga{background-image:url(../img/flags/ga.svg)}.flag-country-gb{background-image:url(../img/flags/gb.svg)}.flag-country-gd{background-image:url(../img/flags/gd.svg)}.flag-country-ge{background-image:url(../img/flags/ge.svg)}.flag-country-gf{background-image:url(../img/flags/gf.svg)}.flag-country-gg{background-image:url(../img/flags/gg.svg)}.flag-country-gh{background-image:url(../img/flags/gh.svg)}.flag-country-gi{background-image:url(../img/flags/gi.svg)}.flag-country-gl{background-image:url(../img/flags/gl.svg)}.flag-country-gm{background-image:url(../img/flags/gm.svg)}.flag-country-gn{background-image:url(../img/flags/gn.svg)}.flag-country-gp{background-image:url(../img/flags/gp.svg)}.flag-country-gq{background-image:url(../img/flags/gq.svg)}.flag-country-gr{background-image:url(../img/flags/gr.svg)}.flag-country-gs{background-image:url(../img/flags/gs.svg)}.flag-country-gt{background-image:url(../img/flags/gt.svg)}.flag-country-gu{background-image:url(../img/flags/gu.svg)}.flag-country-gw{background-image:url(../img/flags/gw.svg)}.flag-country-gy{background-image:url(../img/flags/gy.svg)}.flag-country-hk{background-image:url(../img/flags/hk.svg)}.flag-country-hm{background-image:url(../img/flags/hm.svg)}.flag-country-hn{background-image:url(../img/flags/hn.svg)}.flag-country-hr{background-image:url(../img/flags/hr.svg)}.flag-country-ht{background-image:url(../img/flags/ht.svg)}.flag-country-hu{background-image:url(../img/flags/hu.svg)}.flag-country-id{background-image:url(../img/flags/id.svg)}.flag-country-ie{background-image:url(../img/flags/ie.svg)}.flag-country-il{background-image:url(../img/flags/il.svg)}.flag-country-im{background-image:url(../img/flags/im.svg)}.flag-country-in{background-image:url(../img/flags/in.svg)}.flag-country-io{background-image:url(../img/flags/io.svg)}.flag-country-iq{background-image:url(../img/flags/iq.svg)}.flag-country-ir{background-image:url(../img/flags/ir.svg)}.flag-country-is{background-image:url(../img/flags/is.svg)}.flag-country-it{background-image:url(../img/flags/it.svg)}.flag-country-je{background-image:url(../img/flags/je.svg)}.flag-country-jm{background-image:url(../img/flags/jm.svg)}.flag-country-jo{background-image:url(../img/flags/jo.svg)}.flag-country-jp{background-image:url(../img/flags/jp.svg)}.flag-country-ke{background-image:url(../img/flags/ke.svg)}.flag-country-kg{background-image:url(../img/flags/kg.svg)}.flag-country-kh{background-image:url(../img/flags/kh.svg)}.flag-country-ki{background-image:url(../img/flags/ki.svg)}.flag-country-km{background-image:url(../img/flags/km.svg)}.flag-country-kn{background-image:url(../img/flags/kn.svg)}.flag-country-kp{background-image:url(../img/flags/kp.svg)}.flag-country-kr{background-image:url(../img/flags/kr.svg)}.flag-country-kw{background-image:url(../img/flags/kw.svg)}.flag-country-ky{background-image:url(../img/flags/ky.svg)}.flag-country-kz{background-image:url(../img/flags/kz.svg)}.flag-country-la{background-image:url(../img/flags/la.svg)}.flag-country-lb{background-image:url(../img/flags/lb.svg)}.flag-country-lc{background-image:url(../img/flags/lc.svg)}.flag-country-li{background-image:url(../img/flags/li.svg)}.flag-country-lk{background-image:url(../img/flags/lk.svg)}.flag-country-lr{background-image:url(../img/flags/lr.svg)}.flag-country-ls{background-image:url(../img/flags/ls.svg)}.flag-country-lt{background-image:url(../img/flags/lt.svg)}.flag-country-lu{background-image:url(../img/flags/lu.svg)}.flag-country-lv{background-image:url(../img/flags/lv.svg)}.flag-country-ly{background-image:url(../img/flags/ly.svg)}.flag-country-ma{background-image:url(../img/flags/ma.svg)}.flag-country-mc{background-image:url(../img/flags/mc.svg)}.flag-country-md{background-image:url(../img/flags/md.svg)}.flag-country-me{background-image:url(../img/flags/me.svg)}.flag-country-mf{background-image:url(../img/flags/mf.svg)}.flag-country-mg{background-image:url(../img/flags/mg.svg)}.flag-country-mh{background-image:url(../img/flags/mh.svg)}.flag-country-mk{background-image:url(../img/flags/mk.svg)}.flag-country-ml{background-image:url(../img/flags/ml.svg)}.flag-country-mm{background-image:url(../img/flags/mm.svg)}.flag-country-mn{background-image:url(../img/flags/mn.svg)}.flag-country-mo{background-image:url(../img/flags/mo.svg)}.flag-country-mp{background-image:url(../img/flags/mp.svg)}.flag-country-mq{background-image:url(../img/flags/mq.svg)}.flag-country-mr{background-image:url(../img/flags/mr.svg)}.flag-country-ms{background-image:url(../img/flags/ms.svg)}.flag-country-mt{background-image:url(../img/flags/mt.svg)}.flag-country-mu{background-image:url(../img/flags/mu.svg)}.flag-country-mv{background-image:url(../img/flags/mv.svg)}.flag-country-mw{background-image:url(../img/flags/mw.svg)}.flag-country-mx{background-image:url(../img/flags/mx.svg)}.flag-country-my{background-image:url(../img/flags/my.svg)}.flag-country-mz{background-image:url(../img/flags/mz.svg)}.flag-country-na{background-image:url(../img/flags/na.svg)}.flag-country-nc{background-image:url(../img/flags/nc.svg)}.flag-country-ne{background-image:url(../img/flags/ne.svg)}.flag-country-nf{background-image:url(../img/flags/nf.svg)}.flag-country-ng{background-image:url(../img/flags/ng.svg)}.flag-country-ni{background-image:url(../img/flags/ni.svg)}.flag-country-nl{background-image:url(../img/flags/nl.svg)}.flag-country-no{background-image:url(../img/flags/no.svg)}.flag-country-np{background-image:url(../img/flags/np.svg)}.flag-country-nr{background-image:url(../img/flags/nr.svg)}.flag-country-nu{background-image:url(../img/flags/nu.svg)}.flag-country-nz{background-image:url(../img/flags/nz.svg)}.flag-country-om{background-image:url(../img/flags/om.svg)}.flag-country-pa{background-image:url(../img/flags/pa.svg)}.flag-country-pe{background-image:url(../img/flags/pe.svg)}.flag-country-pf{background-image:url(../img/flags/pf.svg)}.flag-country-pg{background-image:url(../img/flags/pg.svg)}.flag-country-ph{background-image:url(../img/flags/ph.svg)}.flag-country-pk{background-image:url(../img/flags/pk.svg)}.flag-country-pl{background-image:url(../img/flags/pl.svg)}.flag-country-pm{background-image:url(../img/flags/pm.svg)}.flag-country-pn{background-image:url(../img/flags/pn.svg)}.flag-country-pr{background-image:url(../img/flags/pr.svg)}.flag-country-ps{background-image:url(../img/flags/ps.svg)}.flag-country-pt{background-image:url(../img/flags/pt.svg)}.flag-country-pw{background-image:url(../img/flags/pw.svg)}.flag-country-py{background-image:url(../img/flags/py.svg)}.flag-country-qa{background-image:url(../img/flags/qa.svg)}.flag-country-re{background-image:url(../img/flags/re.svg)}.flag-country-ro{background-image:url(../img/flags/ro.svg)}.flag-country-rs{background-image:url(../img/flags/rs.svg)}.flag-country-ru{background-image:url(../img/flags/ru.svg)}.flag-country-rw{background-image:url(../img/flags/rw.svg)}.flag-country-sa{background-image:url(../img/flags/sa.svg)}.flag-country-sb{background-image:url(../img/flags/sb.svg)}.flag-country-sc{background-image:url(../img/flags/sc.svg)}.flag-country-sd{background-image:url(../img/flags/sd.svg)}.flag-country-se{background-image:url(../img/flags/se.svg)}.flag-country-sg{background-image:url(../img/flags/sg.svg)}.flag-country-sh{background-image:url(../img/flags/sh.svg)}.flag-country-si{background-image:url(../img/flags/si.svg)}.flag-country-sj{background-image:url(../img/flags/sj.svg)}.flag-country-sk{background-image:url(../img/flags/sk.svg)}.flag-country-sl{background-image:url(../img/flags/sl.svg)}.flag-country-sm{background-image:url(../img/flags/sm.svg)}.flag-country-sn{background-image:url(../img/flags/sn.svg)}.flag-country-so{background-image:url(../img/flags/so.svg)}.flag-country-sr{background-image:url(../img/flags/sr.svg)}.flag-country-ss{background-image:url(../img/flags/ss.svg)}.flag-country-st{background-image:url(../img/flags/st.svg)}.flag-country-sv{background-image:url(../img/flags/sv.svg)}.flag-country-sx{background-image:url(../img/flags/sx.svg)}.flag-country-sy{background-image:url(../img/flags/sy.svg)}.flag-country-sz{background-image:url(../img/flags/sz.svg)}.flag-country-tc{background-image:url(../img/flags/tc.svg)}.flag-country-td{background-image:url(../img/flags/td.svg)}.flag-country-tf{background-image:url(../img/flags/tf.svg)}.flag-country-tg{background-image:url(../img/flags/tg.svg)}.flag-country-th{background-image:url(../img/flags/th.svg)}.flag-country-tj{background-image:url(../img/flags/tj.svg)}.flag-country-tk{background-image:url(../img/flags/tk.svg)}.flag-country-tl{background-image:url(../img/flags/tl.svg)}.flag-country-tm{background-image:url(../img/flags/tm.svg)}.flag-country-tn{background-image:url(../img/flags/tn.svg)}.flag-country-to{background-image:url(../img/flags/to.svg)}.flag-country-tr{background-image:url(../img/flags/tr.svg)}.flag-country-tt{background-image:url(../img/flags/tt.svg)}.flag-country-tv{background-image:url(../img/flags/tv.svg)}.flag-country-tw{background-image:url(../img/flags/tw.svg)}.flag-country-tz{background-image:url(../img/flags/tz.svg)}.flag-country-ua{background-image:url(../img/flags/ua.svg)}.flag-country-ug{background-image:url(../img/flags/ug.svg)}.flag-country-um{background-image:url(../img/flags/um.svg)}.flag-country-us{background-image:url(../img/flags/us.svg)}.flag-country-uy{background-image:url(../img/flags/uy.svg)}.flag-country-uz{background-image:url(../img/flags/uz.svg)}.flag-country-va{background-image:url(../img/flags/va.svg)}.flag-country-vc{background-image:url(../img/flags/vc.svg)}.flag-country-ve{background-image:url(../img/flags/ve.svg)}.flag-country-vg{background-image:url(../img/flags/vg.svg)}.flag-country-vi{background-image:url(../img/flags/vi.svg)}.flag-country-vn{background-image:url(../img/flags/vn.svg)}.flag-country-vu{background-image:url(../img/flags/vu.svg)}.flag-country-wf{background-image:url(../img/flags/wf.svg)}.flag-country-ws{background-image:url(../img/flags/ws.svg)}.flag-country-ye{background-image:url(../img/flags/ye.svg)}.flag-country-yt{background-image:url(../img/flags/yt.svg)}.flag-country-za{background-image:url(../img/flags/za.svg)}.flag-country-zm{background-image:url(../img/flags/zm.svg)}.flag-country-zw{background-image:url(../img/flags/zw.svg)}.flag-country-es-ct{background-image:url(../img/flags/es-ct.svg)}.flag-country-eu{background-image:url(../img/flags/eu.svg)}.flag-country-gb-eng{background-image:url(../img/flags/gb-eng.svg)}.flag-country-gb-nir{background-image:url(../img/flags/gb-nir.svg)}.flag-country-gb-sct{background-image:url(../img/flags/gb-sct.svg)}.flag-country-gb-wls{background-image:url(../img/flags/gb-wls.svg)}.flag-country-un{background-image:url(../img/flags/un.svg)}.flag-xs{width:1.5rem;height:1.125rem}.flag-sm{width:2rem;height:1.5rem}.flag-md{width:3.75rem;height:2.8125rem}.flag-lg{width:5rem;height:3.75rem}.flag-xl{width:7rem;height:5.25rem}.flag-2xl{width:11rem;height:8.25rem} \ No newline at end of file diff --git a/demo/dist/css/tabler-flags.rtl.css b/demo/dist/css/tabler-flags.rtl.css deleted file mode 100644 index 1cd1b29d9..000000000 --- a/demo/dist/css/tabler-flags.rtl.css +++ /dev/null @@ -1,1074 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -.flag { - position: relative; - display: inline-block; - width: 1.33333em; - height: 1em; - vertical-align: -3px; - background-repeat: no-repeat; - background-position: center; - background-size: cover; - border: var(--tblr-border-size) var(--tblr-border-style) var(--tblr-border-color); - border-radius: var(--tblr-border-radius); -} - -.flag-country-ad { - background-image: url("../img/flags/ad.svg"); -} - -.flag-country-ae { - background-image: url("../img/flags/ae.svg"); -} - -.flag-country-af { - background-image: url("../img/flags/af.svg"); -} - -.flag-country-ag { - background-image: url("../img/flags/ag.svg"); -} - -.flag-country-ai { - background-image: url("../img/flags/ai.svg"); -} - -.flag-country-al { - background-image: url("../img/flags/al.svg"); -} - -.flag-country-am { - background-image: url("../img/flags/am.svg"); -} - -.flag-country-ao { - background-image: url("../img/flags/ao.svg"); -} - -.flag-country-aq { - background-image: url("../img/flags/aq.svg"); -} - -.flag-country-ar { - background-image: url("../img/flags/ar.svg"); -} - -.flag-country-as { - background-image: url("../img/flags/as.svg"); -} - -.flag-country-at { - background-image: url("../img/flags/at.svg"); -} - -.flag-country-au { - background-image: url("../img/flags/au.svg"); -} - -.flag-country-aw { - background-image: url("../img/flags/aw.svg"); -} - -.flag-country-ax { - background-image: url("../img/flags/ax.svg"); -} - -.flag-country-az { - background-image: url("../img/flags/az.svg"); -} - -.flag-country-ba { - background-image: url("../img/flags/ba.svg"); -} - -.flag-country-bb { - background-image: url("../img/flags/bb.svg"); -} - -.flag-country-bd { - background-image: url("../img/flags/bd.svg"); -} - -.flag-country-be { - background-image: url("../img/flags/be.svg"); -} - -.flag-country-bf { - background-image: url("../img/flags/bf.svg"); -} - -.flag-country-bg { - background-image: url("../img/flags/bg.svg"); -} - -.flag-country-bh { - background-image: url("../img/flags/bh.svg"); -} - -.flag-country-bi { - background-image: url("../img/flags/bi.svg"); -} - -.flag-country-bj { - background-image: url("../img/flags/bj.svg"); -} - -.flag-country-bl { - background-image: url("../img/flags/bl.svg"); -} - -.flag-country-bm { - background-image: url("../img/flags/bm.svg"); -} - -.flag-country-bn { - background-image: url("../img/flags/bn.svg"); -} - -.flag-country-bo { - background-image: url("../img/flags/bo.svg"); -} - -.flag-country-bq { - background-image: url("../img/flags/bq.svg"); -} - -.flag-country-br { - background-image: url("../img/flags/br.svg"); -} - -.flag-country-bs { - background-image: url("../img/flags/bs.svg"); -} - -.flag-country-bt { - background-image: url("../img/flags/bt.svg"); -} - -.flag-country-bv { - background-image: url("../img/flags/bv.svg"); -} - -.flag-country-bw { - background-image: url("../img/flags/bw.svg"); -} - -.flag-country-by { - background-image: url("../img/flags/by.svg"); -} - -.flag-country-bz { - background-image: url("../img/flags/bz.svg"); -} - -.flag-country-ca { - background-image: url("../img/flags/ca.svg"); -} - -.flag-country-cc { - background-image: url("../img/flags/cc.svg"); -} - -.flag-country-cd { - background-image: url("../img/flags/cd.svg"); -} - -.flag-country-cf { - background-image: url("../img/flags/cf.svg"); -} - -.flag-country-cg { - background-image: url("../img/flags/cg.svg"); -} - -.flag-country-ch { - background-image: url("../img/flags/ch.svg"); -} - -.flag-country-ci { - background-image: url("../img/flags/ci.svg"); -} - -.flag-country-ck { - background-image: url("../img/flags/ck.svg"); -} - -.flag-country-cl { - background-image: url("../img/flags/cl.svg"); -} - -.flag-country-cm { - background-image: url("../img/flags/cm.svg"); -} - -.flag-country-cn { - background-image: url("../img/flags/cn.svg"); -} - -.flag-country-co { - background-image: url("../img/flags/co.svg"); -} - -.flag-country-cr { - background-image: url("../img/flags/cr.svg"); -} - -.flag-country-cu { - background-image: url("../img/flags/cu.svg"); -} - -.flag-country-cv { - background-image: url("../img/flags/cv.svg"); -} - -.flag-country-cw { - background-image: url("../img/flags/cw.svg"); -} - -.flag-country-cx { - background-image: url("../img/flags/cx.svg"); -} - -.flag-country-cy { - background-image: url("../img/flags/cy.svg"); -} - -.flag-country-cz { - background-image: url("../img/flags/cz.svg"); -} - -.flag-country-de { - background-image: url("../img/flags/de.svg"); -} - -.flag-country-dj { - background-image: url("../img/flags/dj.svg"); -} - -.flag-country-dk { - background-image: url("../img/flags/dk.svg"); -} - -.flag-country-dm { - background-image: url("../img/flags/dm.svg"); -} - -.flag-country-do { - background-image: url("../img/flags/do.svg"); -} - -.flag-country-dz { - background-image: url("../img/flags/dz.svg"); -} - -.flag-country-ec { - background-image: url("../img/flags/ec.svg"); -} - -.flag-country-ee { - background-image: url("../img/flags/ee.svg"); -} - -.flag-country-eg { - background-image: url("../img/flags/eg.svg"); -} - -.flag-country-eh { - background-image: url("../img/flags/eh.svg"); -} - -.flag-country-er { - background-image: url("../img/flags/er.svg"); -} - -.flag-country-es { - background-image: url("../img/flags/es.svg"); -} - -.flag-country-et { - background-image: url("../img/flags/et.svg"); -} - -.flag-country-fi { - background-image: url("../img/flags/fi.svg"); -} - -.flag-country-fj { - background-image: url("../img/flags/fj.svg"); -} - -.flag-country-fk { - background-image: url("../img/flags/fk.svg"); -} - -.flag-country-fm { - background-image: url("../img/flags/fm.svg"); -} - -.flag-country-fo { - background-image: url("../img/flags/fo.svg"); -} - -.flag-country-fr { - background-image: url("../img/flags/fr.svg"); -} - -.flag-country-ga { - background-image: url("../img/flags/ga.svg"); -} - -.flag-country-gb { - background-image: url("../img/flags/gb.svg"); -} - -.flag-country-gd { - background-image: url("../img/flags/gd.svg"); -} - -.flag-country-ge { - background-image: url("../img/flags/ge.svg"); -} - -.flag-country-gf { - background-image: url("../img/flags/gf.svg"); -} - -.flag-country-gg { - background-image: url("../img/flags/gg.svg"); -} - -.flag-country-gh { - background-image: url("../img/flags/gh.svg"); -} - -.flag-country-gi { - background-image: url("../img/flags/gi.svg"); -} - -.flag-country-gl { - background-image: url("../img/flags/gl.svg"); -} - -.flag-country-gm { - background-image: url("../img/flags/gm.svg"); -} - -.flag-country-gn { - background-image: url("../img/flags/gn.svg"); -} - -.flag-country-gp { - background-image: url("../img/flags/gp.svg"); -} - -.flag-country-gq { - background-image: url("../img/flags/gq.svg"); -} - -.flag-country-gr { - background-image: url("../img/flags/gr.svg"); -} - -.flag-country-gs { - background-image: url("../img/flags/gs.svg"); -} - -.flag-country-gt { - background-image: url("../img/flags/gt.svg"); -} - -.flag-country-gu { - background-image: url("../img/flags/gu.svg"); -} - -.flag-country-gw { - background-image: url("../img/flags/gw.svg"); -} - -.flag-country-gy { - background-image: url("../img/flags/gy.svg"); -} - -.flag-country-hk { - background-image: url("../img/flags/hk.svg"); -} - -.flag-country-hm { - background-image: url("../img/flags/hm.svg"); -} - -.flag-country-hn { - background-image: url("../img/flags/hn.svg"); -} - -.flag-country-hr { - background-image: url("../img/flags/hr.svg"); -} - -.flag-country-ht { - background-image: url("../img/flags/ht.svg"); -} - -.flag-country-hu { - background-image: url("../img/flags/hu.svg"); -} - -.flag-country-id { - background-image: url("../img/flags/id.svg"); -} - -.flag-country-ie { - background-image: url("../img/flags/ie.svg"); -} - -.flag-country-il { - background-image: url("../img/flags/il.svg"); -} - -.flag-country-im { - background-image: url("../img/flags/im.svg"); -} - -.flag-country-in { - background-image: url("../img/flags/in.svg"); -} - -.flag-country-io { - background-image: url("../img/flags/io.svg"); -} - -.flag-country-iq { - background-image: url("../img/flags/iq.svg"); -} - -.flag-country-ir { - background-image: url("../img/flags/ir.svg"); -} - -.flag-country-is { - background-image: url("../img/flags/is.svg"); -} - -.flag-country-it { - background-image: url("../img/flags/it.svg"); -} - -.flag-country-je { - background-image: url("../img/flags/je.svg"); -} - -.flag-country-jm { - background-image: url("../img/flags/jm.svg"); -} - -.flag-country-jo { - background-image: url("../img/flags/jo.svg"); -} - -.flag-country-jp { - background-image: url("../img/flags/jp.svg"); -} - -.flag-country-ke { - background-image: url("../img/flags/ke.svg"); -} - -.flag-country-kg { - background-image: url("../img/flags/kg.svg"); -} - -.flag-country-kh { - background-image: url("../img/flags/kh.svg"); -} - -.flag-country-ki { - background-image: url("../img/flags/ki.svg"); -} - -.flag-country-km { - background-image: url("../img/flags/km.svg"); -} - -.flag-country-kn { - background-image: url("../img/flags/kn.svg"); -} - -.flag-country-kp { - background-image: url("../img/flags/kp.svg"); -} - -.flag-country-kr { - background-image: url("../img/flags/kr.svg"); -} - -.flag-country-kw { - background-image: url("../img/flags/kw.svg"); -} - -.flag-country-ky { - background-image: url("../img/flags/ky.svg"); -} - -.flag-country-kz { - background-image: url("../img/flags/kz.svg"); -} - -.flag-country-la { - background-image: url("../img/flags/la.svg"); -} - -.flag-country-lb { - background-image: url("../img/flags/lb.svg"); -} - -.flag-country-lc { - background-image: url("../img/flags/lc.svg"); -} - -.flag-country-li { - background-image: url("../img/flags/li.svg"); -} - -.flag-country-lk { - background-image: url("../img/flags/lk.svg"); -} - -.flag-country-lr { - background-image: url("../img/flags/lr.svg"); -} - -.flag-country-ls { - background-image: url("../img/flags/ls.svg"); -} - -.flag-country-lt { - background-image: url("../img/flags/lt.svg"); -} - -.flag-country-lu { - background-image: url("../img/flags/lu.svg"); -} - -.flag-country-lv { - background-image: url("../img/flags/lv.svg"); -} - -.flag-country-ly { - background-image: url("../img/flags/ly.svg"); -} - -.flag-country-ma { - background-image: url("../img/flags/ma.svg"); -} - -.flag-country-mc { - background-image: url("../img/flags/mc.svg"); -} - -.flag-country-md { - background-image: url("../img/flags/md.svg"); -} - -.flag-country-me { - background-image: url("../img/flags/me.svg"); -} - -.flag-country-mf { - background-image: url("../img/flags/mf.svg"); -} - -.flag-country-mg { - background-image: url("../img/flags/mg.svg"); -} - -.flag-country-mh { - background-image: url("../img/flags/mh.svg"); -} - -.flag-country-mk { - background-image: url("../img/flags/mk.svg"); -} - -.flag-country-ml { - background-image: url("../img/flags/ml.svg"); -} - -.flag-country-mm { - background-image: url("../img/flags/mm.svg"); -} - -.flag-country-mn { - background-image: url("../img/flags/mn.svg"); -} - -.flag-country-mo { - background-image: url("../img/flags/mo.svg"); -} - -.flag-country-mp { - background-image: url("../img/flags/mp.svg"); -} - -.flag-country-mq { - background-image: url("../img/flags/mq.svg"); -} - -.flag-country-mr { - background-image: url("../img/flags/mr.svg"); -} - -.flag-country-ms { - background-image: url("../img/flags/ms.svg"); -} - -.flag-country-mt { - background-image: url("../img/flags/mt.svg"); -} - -.flag-country-mu { - background-image: url("../img/flags/mu.svg"); -} - -.flag-country-mv { - background-image: url("../img/flags/mv.svg"); -} - -.flag-country-mw { - background-image: url("../img/flags/mw.svg"); -} - -.flag-country-mx { - background-image: url("../img/flags/mx.svg"); -} - -.flag-country-my { - background-image: url("../img/flags/my.svg"); -} - -.flag-country-mz { - background-image: url("../img/flags/mz.svg"); -} - -.flag-country-na { - background-image: url("../img/flags/na.svg"); -} - -.flag-country-nc { - background-image: url("../img/flags/nc.svg"); -} - -.flag-country-ne { - background-image: url("../img/flags/ne.svg"); -} - -.flag-country-nf { - background-image: url("../img/flags/nf.svg"); -} - -.flag-country-ng { - background-image: url("../img/flags/ng.svg"); -} - -.flag-country-ni { - background-image: url("../img/flags/ni.svg"); -} - -.flag-country-nl { - background-image: url("../img/flags/nl.svg"); -} - -.flag-country-no { - background-image: url("../img/flags/no.svg"); -} - -.flag-country-np { - background-image: url("../img/flags/np.svg"); -} - -.flag-country-nr { - background-image: url("../img/flags/nr.svg"); -} - -.flag-country-nu { - background-image: url("../img/flags/nu.svg"); -} - -.flag-country-nz { - background-image: url("../img/flags/nz.svg"); -} - -.flag-country-om { - background-image: url("../img/flags/om.svg"); -} - -.flag-country-pa { - background-image: url("../img/flags/pa.svg"); -} - -.flag-country-pe { - background-image: url("../img/flags/pe.svg"); -} - -.flag-country-pf { - background-image: url("../img/flags/pf.svg"); -} - -.flag-country-pg { - background-image: url("../img/flags/pg.svg"); -} - -.flag-country-ph { - background-image: url("../img/flags/ph.svg"); -} - -.flag-country-pk { - background-image: url("../img/flags/pk.svg"); -} - -.flag-country-pl { - background-image: url("../img/flags/pl.svg"); -} - -.flag-country-pm { - background-image: url("../img/flags/pm.svg"); -} - -.flag-country-pn { - background-image: url("../img/flags/pn.svg"); -} - -.flag-country-pr { - background-image: url("../img/flags/pr.svg"); -} - -.flag-country-ps { - background-image: url("../img/flags/ps.svg"); -} - -.flag-country-pt { - background-image: url("../img/flags/pt.svg"); -} - -.flag-country-pw { - background-image: url("../img/flags/pw.svg"); -} - -.flag-country-py { - background-image: url("../img/flags/py.svg"); -} - -.flag-country-qa { - background-image: url("../img/flags/qa.svg"); -} - -.flag-country-re { - background-image: url("../img/flags/re.svg"); -} - -.flag-country-ro { - background-image: url("../img/flags/ro.svg"); -} - -.flag-country-rs { - background-image: url("../img/flags/rs.svg"); -} - -.flag-country-ru { - background-image: url("../img/flags/ru.svg"); -} - -.flag-country-rw { - background-image: url("../img/flags/rw.svg"); -} - -.flag-country-sa { - background-image: url("../img/flags/sa.svg"); -} - -.flag-country-sb { - background-image: url("../img/flags/sb.svg"); -} - -.flag-country-sc { - background-image: url("../img/flags/sc.svg"); -} - -.flag-country-sd { - background-image: url("../img/flags/sd.svg"); -} - -.flag-country-se { - background-image: url("../img/flags/se.svg"); -} - -.flag-country-sg { - background-image: url("../img/flags/sg.svg"); -} - -.flag-country-sh { - background-image: url("../img/flags/sh.svg"); -} - -.flag-country-si { - background-image: url("../img/flags/si.svg"); -} - -.flag-country-sj { - background-image: url("../img/flags/sj.svg"); -} - -.flag-country-sk { - background-image: url("../img/flags/sk.svg"); -} - -.flag-country-sl { - background-image: url("../img/flags/sl.svg"); -} - -.flag-country-sm { - background-image: url("../img/flags/sm.svg"); -} - -.flag-country-sn { - background-image: url("../img/flags/sn.svg"); -} - -.flag-country-so { - background-image: url("../img/flags/so.svg"); -} - -.flag-country-sr { - background-image: url("../img/flags/sr.svg"); -} - -.flag-country-ss { - background-image: url("../img/flags/ss.svg"); -} - -.flag-country-st { - background-image: url("../img/flags/st.svg"); -} - -.flag-country-sv { - background-image: url("../img/flags/sv.svg"); -} - -.flag-country-sx { - background-image: url("../img/flags/sx.svg"); -} - -.flag-country-sy { - background-image: url("../img/flags/sy.svg"); -} - -.flag-country-sz { - background-image: url("../img/flags/sz.svg"); -} - -.flag-country-tc { - background-image: url("../img/flags/tc.svg"); -} - -.flag-country-td { - background-image: url("../img/flags/td.svg"); -} - -.flag-country-tf { - background-image: url("../img/flags/tf.svg"); -} - -.flag-country-tg { - background-image: url("../img/flags/tg.svg"); -} - -.flag-country-th { - background-image: url("../img/flags/th.svg"); -} - -.flag-country-tj { - background-image: url("../img/flags/tj.svg"); -} - -.flag-country-tk { - background-image: url("../img/flags/tk.svg"); -} - -.flag-country-tl { - background-image: url("../img/flags/tl.svg"); -} - -.flag-country-tm { - background-image: url("../img/flags/tm.svg"); -} - -.flag-country-tn { - background-image: url("../img/flags/tn.svg"); -} - -.flag-country-to { - background-image: url("../img/flags/to.svg"); -} - -.flag-country-tr { - background-image: url("../img/flags/tr.svg"); -} - -.flag-country-tt { - background-image: url("../img/flags/tt.svg"); -} - -.flag-country-tv { - background-image: url("../img/flags/tv.svg"); -} - -.flag-country-tw { - background-image: url("../img/flags/tw.svg"); -} - -.flag-country-tz { - background-image: url("../img/flags/tz.svg"); -} - -.flag-country-ua { - background-image: url("../img/flags/ua.svg"); -} - -.flag-country-ug { - background-image: url("../img/flags/ug.svg"); -} - -.flag-country-um { - background-image: url("../img/flags/um.svg"); -} - -.flag-country-us { - background-image: url("../img/flags/us.svg"); -} - -.flag-country-uy { - background-image: url("../img/flags/uy.svg"); -} - -.flag-country-uz { - background-image: url("../img/flags/uz.svg"); -} - -.flag-country-va { - background-image: url("../img/flags/va.svg"); -} - -.flag-country-vc { - background-image: url("../img/flags/vc.svg"); -} - -.flag-country-ve { - background-image: url("../img/flags/ve.svg"); -} - -.flag-country-vg { - background-image: url("../img/flags/vg.svg"); -} - -.flag-country-vi { - background-image: url("../img/flags/vi.svg"); -} - -.flag-country-vn { - background-image: url("../img/flags/vn.svg"); -} - -.flag-country-vu { - background-image: url("../img/flags/vu.svg"); -} - -.flag-country-wf { - background-image: url("../img/flags/wf.svg"); -} - -.flag-country-ws { - background-image: url("../img/flags/ws.svg"); -} - -.flag-country-ye { - background-image: url("../img/flags/ye.svg"); -} - -.flag-country-yt { - background-image: url("../img/flags/yt.svg"); -} - -.flag-country-za { - background-image: url("../img/flags/za.svg"); -} - -.flag-country-zm { - background-image: url("../img/flags/zm.svg"); -} - -.flag-country-zw { - background-image: url("../img/flags/zw.svg"); -} - -.flag-country-es-ct { - background-image: url("../img/flags/es-ct.svg"); -} - -.flag-country-eu { - background-image: url("../img/flags/eu.svg"); -} - -.flag-country-gb-eng { - background-image: url("../img/flags/gb-eng.svg"); -} - -.flag-country-gb-nir { - background-image: url("../img/flags/gb-nir.svg"); -} - -.flag-country-gb-sct { - background-image: url("../img/flags/gb-sct.svg"); -} - -.flag-country-gb-wls { - background-image: url("../img/flags/gb-wls.svg"); -} - -.flag-country-un { - background-image: url("../img/flags/un.svg"); -} - -.flag-xs { - width: 1.5rem; - height: 1.125rem; -} - -.flag-sm { - width: 2rem; - height: 1.5rem; -} - -.flag-md { - width: 3.75rem; - height: 2.8125rem; -} - -.flag-lg { - width: 5rem; - height: 3.75rem; -} - -.flag-xl { - width: 7rem; - height: 5.25rem; -} - -.flag-2xl { - width: 11rem; - height: 8.25rem; -} \ No newline at end of file diff --git a/demo/dist/css/tabler-flags.rtl.min.css b/demo/dist/css/tabler-flags.rtl.min.css deleted file mode 100644 index 2950452e5..000000000 --- a/demo/dist/css/tabler-flags.rtl.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -.flag{position:relative;display:inline-block;width:1.33333em;height:1em;vertical-align:-3px;background-repeat:no-repeat;background-position:center;background-size:cover;border:var(--tblr-border-size) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.flag-country-ad{background-image:url(../img/flags/ad.svg)}.flag-country-ae{background-image:url(../img/flags/ae.svg)}.flag-country-af{background-image:url(../img/flags/af.svg)}.flag-country-ag{background-image:url(../img/flags/ag.svg)}.flag-country-ai{background-image:url(../img/flags/ai.svg)}.flag-country-al{background-image:url(../img/flags/al.svg)}.flag-country-am{background-image:url(../img/flags/am.svg)}.flag-country-ao{background-image:url(../img/flags/ao.svg)}.flag-country-aq{background-image:url(../img/flags/aq.svg)}.flag-country-ar{background-image:url(../img/flags/ar.svg)}.flag-country-as{background-image:url(../img/flags/as.svg)}.flag-country-at{background-image:url(../img/flags/at.svg)}.flag-country-au{background-image:url(../img/flags/au.svg)}.flag-country-aw{background-image:url(../img/flags/aw.svg)}.flag-country-ax{background-image:url(../img/flags/ax.svg)}.flag-country-az{background-image:url(../img/flags/az.svg)}.flag-country-ba{background-image:url(../img/flags/ba.svg)}.flag-country-bb{background-image:url(../img/flags/bb.svg)}.flag-country-bd{background-image:url(../img/flags/bd.svg)}.flag-country-be{background-image:url(../img/flags/be.svg)}.flag-country-bf{background-image:url(../img/flags/bf.svg)}.flag-country-bg{background-image:url(../img/flags/bg.svg)}.flag-country-bh{background-image:url(../img/flags/bh.svg)}.flag-country-bi{background-image:url(../img/flags/bi.svg)}.flag-country-bj{background-image:url(../img/flags/bj.svg)}.flag-country-bl{background-image:url(../img/flags/bl.svg)}.flag-country-bm{background-image:url(../img/flags/bm.svg)}.flag-country-bn{background-image:url(../img/flags/bn.svg)}.flag-country-bo{background-image:url(../img/flags/bo.svg)}.flag-country-bq{background-image:url(../img/flags/bq.svg)}.flag-country-br{background-image:url(../img/flags/br.svg)}.flag-country-bs{background-image:url(../img/flags/bs.svg)}.flag-country-bt{background-image:url(../img/flags/bt.svg)}.flag-country-bv{background-image:url(../img/flags/bv.svg)}.flag-country-bw{background-image:url(../img/flags/bw.svg)}.flag-country-by{background-image:url(../img/flags/by.svg)}.flag-country-bz{background-image:url(../img/flags/bz.svg)}.flag-country-ca{background-image:url(../img/flags/ca.svg)}.flag-country-cc{background-image:url(../img/flags/cc.svg)}.flag-country-cd{background-image:url(../img/flags/cd.svg)}.flag-country-cf{background-image:url(../img/flags/cf.svg)}.flag-country-cg{background-image:url(../img/flags/cg.svg)}.flag-country-ch{background-image:url(../img/flags/ch.svg)}.flag-country-ci{background-image:url(../img/flags/ci.svg)}.flag-country-ck{background-image:url(../img/flags/ck.svg)}.flag-country-cl{background-image:url(../img/flags/cl.svg)}.flag-country-cm{background-image:url(../img/flags/cm.svg)}.flag-country-cn{background-image:url(../img/flags/cn.svg)}.flag-country-co{background-image:url(../img/flags/co.svg)}.flag-country-cr{background-image:url(../img/flags/cr.svg)}.flag-country-cu{background-image:url(../img/flags/cu.svg)}.flag-country-cv{background-image:url(../img/flags/cv.svg)}.flag-country-cw{background-image:url(../img/flags/cw.svg)}.flag-country-cx{background-image:url(../img/flags/cx.svg)}.flag-country-cy{background-image:url(../img/flags/cy.svg)}.flag-country-cz{background-image:url(../img/flags/cz.svg)}.flag-country-de{background-image:url(../img/flags/de.svg)}.flag-country-dj{background-image:url(../img/flags/dj.svg)}.flag-country-dk{background-image:url(../img/flags/dk.svg)}.flag-country-dm{background-image:url(../img/flags/dm.svg)}.flag-country-do{background-image:url(../img/flags/do.svg)}.flag-country-dz{background-image:url(../img/flags/dz.svg)}.flag-country-ec{background-image:url(../img/flags/ec.svg)}.flag-country-ee{background-image:url(../img/flags/ee.svg)}.flag-country-eg{background-image:url(../img/flags/eg.svg)}.flag-country-eh{background-image:url(../img/flags/eh.svg)}.flag-country-er{background-image:url(../img/flags/er.svg)}.flag-country-es{background-image:url(../img/flags/es.svg)}.flag-country-et{background-image:url(../img/flags/et.svg)}.flag-country-fi{background-image:url(../img/flags/fi.svg)}.flag-country-fj{background-image:url(../img/flags/fj.svg)}.flag-country-fk{background-image:url(../img/flags/fk.svg)}.flag-country-fm{background-image:url(../img/flags/fm.svg)}.flag-country-fo{background-image:url(../img/flags/fo.svg)}.flag-country-fr{background-image:url(../img/flags/fr.svg)}.flag-country-ga{background-image:url(../img/flags/ga.svg)}.flag-country-gb{background-image:url(../img/flags/gb.svg)}.flag-country-gd{background-image:url(../img/flags/gd.svg)}.flag-country-ge{background-image:url(../img/flags/ge.svg)}.flag-country-gf{background-image:url(../img/flags/gf.svg)}.flag-country-gg{background-image:url(../img/flags/gg.svg)}.flag-country-gh{background-image:url(../img/flags/gh.svg)}.flag-country-gi{background-image:url(../img/flags/gi.svg)}.flag-country-gl{background-image:url(../img/flags/gl.svg)}.flag-country-gm{background-image:url(../img/flags/gm.svg)}.flag-country-gn{background-image:url(../img/flags/gn.svg)}.flag-country-gp{background-image:url(../img/flags/gp.svg)}.flag-country-gq{background-image:url(../img/flags/gq.svg)}.flag-country-gr{background-image:url(../img/flags/gr.svg)}.flag-country-gs{background-image:url(../img/flags/gs.svg)}.flag-country-gt{background-image:url(../img/flags/gt.svg)}.flag-country-gu{background-image:url(../img/flags/gu.svg)}.flag-country-gw{background-image:url(../img/flags/gw.svg)}.flag-country-gy{background-image:url(../img/flags/gy.svg)}.flag-country-hk{background-image:url(../img/flags/hk.svg)}.flag-country-hm{background-image:url(../img/flags/hm.svg)}.flag-country-hn{background-image:url(../img/flags/hn.svg)}.flag-country-hr{background-image:url(../img/flags/hr.svg)}.flag-country-ht{background-image:url(../img/flags/ht.svg)}.flag-country-hu{background-image:url(../img/flags/hu.svg)}.flag-country-id{background-image:url(../img/flags/id.svg)}.flag-country-ie{background-image:url(../img/flags/ie.svg)}.flag-country-il{background-image:url(../img/flags/il.svg)}.flag-country-im{background-image:url(../img/flags/im.svg)}.flag-country-in{background-image:url(../img/flags/in.svg)}.flag-country-io{background-image:url(../img/flags/io.svg)}.flag-country-iq{background-image:url(../img/flags/iq.svg)}.flag-country-ir{background-image:url(../img/flags/ir.svg)}.flag-country-is{background-image:url(../img/flags/is.svg)}.flag-country-it{background-image:url(../img/flags/it.svg)}.flag-country-je{background-image:url(../img/flags/je.svg)}.flag-country-jm{background-image:url(../img/flags/jm.svg)}.flag-country-jo{background-image:url(../img/flags/jo.svg)}.flag-country-jp{background-image:url(../img/flags/jp.svg)}.flag-country-ke{background-image:url(../img/flags/ke.svg)}.flag-country-kg{background-image:url(../img/flags/kg.svg)}.flag-country-kh{background-image:url(../img/flags/kh.svg)}.flag-country-ki{background-image:url(../img/flags/ki.svg)}.flag-country-km{background-image:url(../img/flags/km.svg)}.flag-country-kn{background-image:url(../img/flags/kn.svg)}.flag-country-kp{background-image:url(../img/flags/kp.svg)}.flag-country-kr{background-image:url(../img/flags/kr.svg)}.flag-country-kw{background-image:url(../img/flags/kw.svg)}.flag-country-ky{background-image:url(../img/flags/ky.svg)}.flag-country-kz{background-image:url(../img/flags/kz.svg)}.flag-country-la{background-image:url(../img/flags/la.svg)}.flag-country-lb{background-image:url(../img/flags/lb.svg)}.flag-country-lc{background-image:url(../img/flags/lc.svg)}.flag-country-li{background-image:url(../img/flags/li.svg)}.flag-country-lk{background-image:url(../img/flags/lk.svg)}.flag-country-lr{background-image:url(../img/flags/lr.svg)}.flag-country-ls{background-image:url(../img/flags/ls.svg)}.flag-country-lt{background-image:url(../img/flags/lt.svg)}.flag-country-lu{background-image:url(../img/flags/lu.svg)}.flag-country-lv{background-image:url(../img/flags/lv.svg)}.flag-country-ly{background-image:url(../img/flags/ly.svg)}.flag-country-ma{background-image:url(../img/flags/ma.svg)}.flag-country-mc{background-image:url(../img/flags/mc.svg)}.flag-country-md{background-image:url(../img/flags/md.svg)}.flag-country-me{background-image:url(../img/flags/me.svg)}.flag-country-mf{background-image:url(../img/flags/mf.svg)}.flag-country-mg{background-image:url(../img/flags/mg.svg)}.flag-country-mh{background-image:url(../img/flags/mh.svg)}.flag-country-mk{background-image:url(../img/flags/mk.svg)}.flag-country-ml{background-image:url(../img/flags/ml.svg)}.flag-country-mm{background-image:url(../img/flags/mm.svg)}.flag-country-mn{background-image:url(../img/flags/mn.svg)}.flag-country-mo{background-image:url(../img/flags/mo.svg)}.flag-country-mp{background-image:url(../img/flags/mp.svg)}.flag-country-mq{background-image:url(../img/flags/mq.svg)}.flag-country-mr{background-image:url(../img/flags/mr.svg)}.flag-country-ms{background-image:url(../img/flags/ms.svg)}.flag-country-mt{background-image:url(../img/flags/mt.svg)}.flag-country-mu{background-image:url(../img/flags/mu.svg)}.flag-country-mv{background-image:url(../img/flags/mv.svg)}.flag-country-mw{background-image:url(../img/flags/mw.svg)}.flag-country-mx{background-image:url(../img/flags/mx.svg)}.flag-country-my{background-image:url(../img/flags/my.svg)}.flag-country-mz{background-image:url(../img/flags/mz.svg)}.flag-country-na{background-image:url(../img/flags/na.svg)}.flag-country-nc{background-image:url(../img/flags/nc.svg)}.flag-country-ne{background-image:url(../img/flags/ne.svg)}.flag-country-nf{background-image:url(../img/flags/nf.svg)}.flag-country-ng{background-image:url(../img/flags/ng.svg)}.flag-country-ni{background-image:url(../img/flags/ni.svg)}.flag-country-nl{background-image:url(../img/flags/nl.svg)}.flag-country-no{background-image:url(../img/flags/no.svg)}.flag-country-np{background-image:url(../img/flags/np.svg)}.flag-country-nr{background-image:url(../img/flags/nr.svg)}.flag-country-nu{background-image:url(../img/flags/nu.svg)}.flag-country-nz{background-image:url(../img/flags/nz.svg)}.flag-country-om{background-image:url(../img/flags/om.svg)}.flag-country-pa{background-image:url(../img/flags/pa.svg)}.flag-country-pe{background-image:url(../img/flags/pe.svg)}.flag-country-pf{background-image:url(../img/flags/pf.svg)}.flag-country-pg{background-image:url(../img/flags/pg.svg)}.flag-country-ph{background-image:url(../img/flags/ph.svg)}.flag-country-pk{background-image:url(../img/flags/pk.svg)}.flag-country-pl{background-image:url(../img/flags/pl.svg)}.flag-country-pm{background-image:url(../img/flags/pm.svg)}.flag-country-pn{background-image:url(../img/flags/pn.svg)}.flag-country-pr{background-image:url(../img/flags/pr.svg)}.flag-country-ps{background-image:url(../img/flags/ps.svg)}.flag-country-pt{background-image:url(../img/flags/pt.svg)}.flag-country-pw{background-image:url(../img/flags/pw.svg)}.flag-country-py{background-image:url(../img/flags/py.svg)}.flag-country-qa{background-image:url(../img/flags/qa.svg)}.flag-country-re{background-image:url(../img/flags/re.svg)}.flag-country-ro{background-image:url(../img/flags/ro.svg)}.flag-country-rs{background-image:url(../img/flags/rs.svg)}.flag-country-ru{background-image:url(../img/flags/ru.svg)}.flag-country-rw{background-image:url(../img/flags/rw.svg)}.flag-country-sa{background-image:url(../img/flags/sa.svg)}.flag-country-sb{background-image:url(../img/flags/sb.svg)}.flag-country-sc{background-image:url(../img/flags/sc.svg)}.flag-country-sd{background-image:url(../img/flags/sd.svg)}.flag-country-se{background-image:url(../img/flags/se.svg)}.flag-country-sg{background-image:url(../img/flags/sg.svg)}.flag-country-sh{background-image:url(../img/flags/sh.svg)}.flag-country-si{background-image:url(../img/flags/si.svg)}.flag-country-sj{background-image:url(../img/flags/sj.svg)}.flag-country-sk{background-image:url(../img/flags/sk.svg)}.flag-country-sl{background-image:url(../img/flags/sl.svg)}.flag-country-sm{background-image:url(../img/flags/sm.svg)}.flag-country-sn{background-image:url(../img/flags/sn.svg)}.flag-country-so{background-image:url(../img/flags/so.svg)}.flag-country-sr{background-image:url(../img/flags/sr.svg)}.flag-country-ss{background-image:url(../img/flags/ss.svg)}.flag-country-st{background-image:url(../img/flags/st.svg)}.flag-country-sv{background-image:url(../img/flags/sv.svg)}.flag-country-sx{background-image:url(../img/flags/sx.svg)}.flag-country-sy{background-image:url(../img/flags/sy.svg)}.flag-country-sz{background-image:url(../img/flags/sz.svg)}.flag-country-tc{background-image:url(../img/flags/tc.svg)}.flag-country-td{background-image:url(../img/flags/td.svg)}.flag-country-tf{background-image:url(../img/flags/tf.svg)}.flag-country-tg{background-image:url(../img/flags/tg.svg)}.flag-country-th{background-image:url(../img/flags/th.svg)}.flag-country-tj{background-image:url(../img/flags/tj.svg)}.flag-country-tk{background-image:url(../img/flags/tk.svg)}.flag-country-tl{background-image:url(../img/flags/tl.svg)}.flag-country-tm{background-image:url(../img/flags/tm.svg)}.flag-country-tn{background-image:url(../img/flags/tn.svg)}.flag-country-to{background-image:url(../img/flags/to.svg)}.flag-country-tr{background-image:url(../img/flags/tr.svg)}.flag-country-tt{background-image:url(../img/flags/tt.svg)}.flag-country-tv{background-image:url(../img/flags/tv.svg)}.flag-country-tw{background-image:url(../img/flags/tw.svg)}.flag-country-tz{background-image:url(../img/flags/tz.svg)}.flag-country-ua{background-image:url(../img/flags/ua.svg)}.flag-country-ug{background-image:url(../img/flags/ug.svg)}.flag-country-um{background-image:url(../img/flags/um.svg)}.flag-country-us{background-image:url(../img/flags/us.svg)}.flag-country-uy{background-image:url(../img/flags/uy.svg)}.flag-country-uz{background-image:url(../img/flags/uz.svg)}.flag-country-va{background-image:url(../img/flags/va.svg)}.flag-country-vc{background-image:url(../img/flags/vc.svg)}.flag-country-ve{background-image:url(../img/flags/ve.svg)}.flag-country-vg{background-image:url(../img/flags/vg.svg)}.flag-country-vi{background-image:url(../img/flags/vi.svg)}.flag-country-vn{background-image:url(../img/flags/vn.svg)}.flag-country-vu{background-image:url(../img/flags/vu.svg)}.flag-country-wf{background-image:url(../img/flags/wf.svg)}.flag-country-ws{background-image:url(../img/flags/ws.svg)}.flag-country-ye{background-image:url(../img/flags/ye.svg)}.flag-country-yt{background-image:url(../img/flags/yt.svg)}.flag-country-za{background-image:url(../img/flags/za.svg)}.flag-country-zm{background-image:url(../img/flags/zm.svg)}.flag-country-zw{background-image:url(../img/flags/zw.svg)}.flag-country-es-ct{background-image:url(../img/flags/es-ct.svg)}.flag-country-eu{background-image:url(../img/flags/eu.svg)}.flag-country-gb-eng{background-image:url(../img/flags/gb-eng.svg)}.flag-country-gb-nir{background-image:url(../img/flags/gb-nir.svg)}.flag-country-gb-sct{background-image:url(../img/flags/gb-sct.svg)}.flag-country-gb-wls{background-image:url(../img/flags/gb-wls.svg)}.flag-country-un{background-image:url(../img/flags/un.svg)}.flag-xs{width:1.5rem;height:1.125rem}.flag-sm{width:2rem;height:1.5rem}.flag-md{width:3.75rem;height:2.8125rem}.flag-lg{width:5rem;height:3.75rem}.flag-xl{width:7rem;height:5.25rem}.flag-2xl{width:11rem;height:8.25rem} \ No newline at end of file diff --git a/demo/dist/css/tabler-payments.css b/demo/dist/css/tabler-payments.css deleted file mode 100644 index 14d6b2879..000000000 --- a/demo/dist/css/tabler-payments.css +++ /dev/null @@ -1,520 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -.payment { - width: 3.33332rem; - height: 2rem; - display: inline-block; - background: no-repeat center/100% 100%; - vertical-align: bottom; - font-style: normal; - box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1); - border-radius: 2px; -} - -.payment-provider-2checkout { - background-image: url("../img/payments/2checkout.svg"); -} - -.payment-provider-2checkout-dark { - background-image: url("../img/payments/2checkout-dark.svg"); -} - -.payment-provider-alipay { - background-image: url("../img/payments/alipay.svg"); -} - -.payment-provider-alipay-dark { - background-image: url("../img/payments/alipay-dark.svg"); -} - -.payment-provider-amazon { - background-image: url("../img/payments/amazon.svg"); -} - -.payment-provider-amazon-dark { - background-image: url("../img/payments/amazon-dark.svg"); -} - -.payment-provider-americanexpress { - background-image: url("../img/payments/americanexpress.svg"); -} - -.payment-provider-americanexpress-dark { - background-image: url("../img/payments/americanexpress-dark.svg"); -} - -.payment-provider-applepay { - background-image: url("../img/payments/applepay.svg"); -} - -.payment-provider-applepay-dark { - background-image: url("../img/payments/applepay-dark.svg"); -} - -.payment-provider-bancontact { - background-image: url("../img/payments/bancontact.svg"); -} - -.payment-provider-bancontact-dark { - background-image: url("../img/payments/bancontact-dark.svg"); -} - -.payment-provider-bitcoin { - background-image: url("../img/payments/bitcoin.svg"); -} - -.payment-provider-bitcoin-dark { - background-image: url("../img/payments/bitcoin-dark.svg"); -} - -.payment-provider-bitpay { - background-image: url("../img/payments/bitpay.svg"); -} - -.payment-provider-bitpay-dark { - background-image: url("../img/payments/bitpay-dark.svg"); -} - -.payment-provider-blik { - background-image: url("../img/payments/blik.svg"); -} - -.payment-provider-blik-dark { - background-image: url("../img/payments/blik-dark.svg"); -} - -.payment-provider-cirrus { - background-image: url("../img/payments/cirrus.svg"); -} - -.payment-provider-cirrus-dark { - background-image: url("../img/payments/cirrus-dark.svg"); -} - -.payment-provider-clickandbuy { - background-image: url("../img/payments/clickandbuy.svg"); -} - -.payment-provider-clickandbuy-dark { - background-image: url("../img/payments/clickandbuy-dark.svg"); -} - -.payment-provider-coinkite { - background-image: url("../img/payments/coinkite.svg"); -} - -.payment-provider-coinkite-dark { - background-image: url("../img/payments/coinkite-dark.svg"); -} - -.payment-provider-dinersclub { - background-image: url("../img/payments/dinersclub.svg"); -} - -.payment-provider-dinersclub-dark { - background-image: url("../img/payments/dinersclub-dark.svg"); -} - -.payment-provider-directdebit { - background-image: url("../img/payments/directdebit.svg"); -} - -.payment-provider-directdebit-dark { - background-image: url("../img/payments/directdebit-dark.svg"); -} - -.payment-provider-discover { - background-image: url("../img/payments/discover.svg"); -} - -.payment-provider-discover-dark { - background-image: url("../img/payments/discover-dark.svg"); -} - -.payment-provider-dotpay { - background-image: url("../img/payments/dotpay.svg"); -} - -.payment-provider-dotpay-dark { - background-image: url("../img/payments/dotpay-dark.svg"); -} - -.payment-provider-dwolla { - background-image: url("../img/payments/dwolla.svg"); -} - -.payment-provider-dwolla-dark { - background-image: url("../img/payments/dwolla-dark.svg"); -} - -.payment-provider-ebay { - background-image: url("../img/payments/ebay.svg"); -} - -.payment-provider-ebay-dark { - background-image: url("../img/payments/ebay-dark.svg"); -} - -.payment-provider-eway { - background-image: url("../img/payments/eway.svg"); -} - -.payment-provider-eway-dark { - background-image: url("../img/payments/eway-dark.svg"); -} - -.payment-provider-giropay { - background-image: url("../img/payments/giropay.svg"); -} - -.payment-provider-giropay-dark { - background-image: url("../img/payments/giropay-dark.svg"); -} - -.payment-provider-googlewallet { - background-image: url("../img/payments/googlewallet.svg"); -} - -.payment-provider-googlewallet-dark { - background-image: url("../img/payments/googlewallet-dark.svg"); -} - -.payment-provider-ingenico { - background-image: url("../img/payments/ingenico.svg"); -} - -.payment-provider-ingenico-dark { - background-image: url("../img/payments/ingenico-dark.svg"); -} - -.payment-provider-jcb { - background-image: url("../img/payments/jcb.svg"); -} - -.payment-provider-jcb-dark { - background-image: url("../img/payments/jcb-dark.svg"); -} - -.payment-provider-klarna { - background-image: url("../img/payments/klarna.svg"); -} - -.payment-provider-klarna-dark { - background-image: url("../img/payments/klarna-dark.svg"); -} - -.payment-provider-laser { - background-image: url("../img/payments/laser.svg"); -} - -.payment-provider-laser-dark { - background-image: url("../img/payments/laser-dark.svg"); -} - -.payment-provider-maestro { - background-image: url("../img/payments/maestro.svg"); -} - -.payment-provider-maestro-dark { - background-image: url("../img/payments/maestro-dark.svg"); -} - -.payment-provider-mastercard { - background-image: url("../img/payments/mastercard.svg"); -} - -.payment-provider-mastercard-dark { - background-image: url("../img/payments/mastercard-dark.svg"); -} - -.payment-provider-mir { - background-image: url("../img/payments/mir.svg"); -} - -.payment-provider-mir-dark { - background-image: url("../img/payments/mir-dark.svg"); -} - -.payment-provider-monero { - background-image: url("../img/payments/monero.svg"); -} - -.payment-provider-monero-dark { - background-image: url("../img/payments/monero-dark.svg"); -} - -.payment-provider-neteller { - background-image: url("../img/payments/neteller.svg"); -} - -.payment-provider-neteller-dark { - background-image: url("../img/payments/neteller-dark.svg"); -} - -.payment-provider-ogone { - background-image: url("../img/payments/ogone.svg"); -} - -.payment-provider-ogone-dark { - background-image: url("../img/payments/ogone-dark.svg"); -} - -.payment-provider-okpay { - background-image: url("../img/payments/okpay.svg"); -} - -.payment-provider-okpay-dark { - background-image: url("../img/payments/okpay-dark.svg"); -} - -.payment-provider-paybox { - background-image: url("../img/payments/paybox.svg"); -} - -.payment-provider-paybox-dark { - background-image: url("../img/payments/paybox-dark.svg"); -} - -.payment-provider-paymill { - background-image: url("../img/payments/paymill.svg"); -} - -.payment-provider-paymill-dark { - background-image: url("../img/payments/paymill-dark.svg"); -} - -.payment-provider-payone { - background-image: url("../img/payments/payone.svg"); -} - -.payment-provider-payone-dark { - background-image: url("../img/payments/payone-dark.svg"); -} - -.payment-provider-payoneer { - background-image: url("../img/payments/payoneer.svg"); -} - -.payment-provider-payoneer-dark { - background-image: url("../img/payments/payoneer-dark.svg"); -} - -.payment-provider-paypal { - background-image: url("../img/payments/paypal.svg"); -} - -.payment-provider-paypal-dark { - background-image: url("../img/payments/paypal-dark.svg"); -} - -.payment-provider-paysafecard { - background-image: url("../img/payments/paysafecard.svg"); -} - -.payment-provider-paysafecard-dark { - background-image: url("../img/payments/paysafecard-dark.svg"); -} - -.payment-provider-payu { - background-image: url("../img/payments/payu.svg"); -} - -.payment-provider-payu-dark { - background-image: url("../img/payments/payu-dark.svg"); -} - -.payment-provider-payza { - background-image: url("../img/payments/payza.svg"); -} - -.payment-provider-payza-dark { - background-image: url("../img/payments/payza-dark.svg"); -} - -.payment-provider-przelewy24 { - background-image: url("../img/payments/przelewy24.svg"); -} - -.payment-provider-przelewy24-dark { - background-image: url("../img/payments/przelewy24-dark.svg"); -} - -.payment-provider-ripple { - background-image: url("../img/payments/ripple.svg"); -} - -.payment-provider-ripple-dark { - background-image: url("../img/payments/ripple-dark.svg"); -} - -.payment-provider-sage { - background-image: url("../img/payments/sage.svg"); -} - -.payment-provider-sage-dark { - background-image: url("../img/payments/sage-dark.svg"); -} - -.payment-provider-sepa { - background-image: url("../img/payments/sepa.svg"); -} - -.payment-provider-sepa-dark { - background-image: url("../img/payments/sepa-dark.svg"); -} - -.payment-provider-shopify { - background-image: url("../img/payments/shopify.svg"); -} - -.payment-provider-shopify-dark { - background-image: url("../img/payments/shopify-dark.svg"); -} - -.payment-provider-skrill { - background-image: url("../img/payments/skrill.svg"); -} - -.payment-provider-skrill-dark { - background-image: url("../img/payments/skrill-dark.svg"); -} - -.payment-provider-solo { - background-image: url("../img/payments/solo.svg"); -} - -.payment-provider-solo-dark { - background-image: url("../img/payments/solo-dark.svg"); -} - -.payment-provider-square { - background-image: url("../img/payments/square.svg"); -} - -.payment-provider-square-dark { - background-image: url("../img/payments/square-dark.svg"); -} - -.payment-provider-stripe { - background-image: url("../img/payments/stripe.svg"); -} - -.payment-provider-stripe-dark { - background-image: url("../img/payments/stripe-dark.svg"); -} - -.payment-provider-switch { - background-image: url("../img/payments/switch.svg"); -} - -.payment-provider-switch-dark { - background-image: url("../img/payments/switch-dark.svg"); -} - -.payment-provider-tpay { - background-image: url("../img/payments/tpay.svg"); -} - -.payment-provider-tpay-dark { - background-image: url("../img/payments/tpay-dark.svg"); -} - -.payment-provider-ukash { - background-image: url("../img/payments/ukash.svg"); -} - -.payment-provider-ukash-dark { - background-image: url("../img/payments/ukash-dark.svg"); -} - -.payment-provider-unionpay { - background-image: url("../img/payments/unionpay.svg"); -} - -.payment-provider-unionpay-dark { - background-image: url("../img/payments/unionpay-dark.svg"); -} - -.payment-provider-verifone { - background-image: url("../img/payments/verifone.svg"); -} - -.payment-provider-verifone-dark { - background-image: url("../img/payments/verifone-dark.svg"); -} - -.payment-provider-verisign { - background-image: url("../img/payments/verisign.svg"); -} - -.payment-provider-verisign-dark { - background-image: url("../img/payments/verisign-dark.svg"); -} - -.payment-provider-visa { - background-image: url("../img/payments/visa.svg"); -} - -.payment-provider-visa-dark { - background-image: url("../img/payments/visa-dark.svg"); -} - -.payment-provider-webmoney { - background-image: url("../img/payments/webmoney.svg"); -} - -.payment-provider-webmoney-dark { - background-image: url("../img/payments/webmoney-dark.svg"); -} - -.payment-provider-westernunion { - background-image: url("../img/payments/westernunion.svg"); -} - -.payment-provider-westernunion-dark { - background-image: url("../img/payments/westernunion-dark.svg"); -} - -.payment-provider-worldpay { - background-image: url("../img/payments/worldpay.svg"); -} - -.payment-provider-worldpay-dark { - background-image: url("../img/payments/worldpay-dark.svg"); -} - -.payment-xs { - width: 2.49999rem; - height: 1.5rem; -} - -.payment-sm { - width: 3.33332rem; - height: 2rem; -} - -.payment-md { - width: 6.249975rem; - height: 3.75rem; -} - -.payment-lg { - width: 8.3333rem; - height: 5rem; -} - -.payment-xl { - width: 11.66662rem; - height: 7rem; -} - -.payment-2xl { - width: 18.33326rem; - height: 11rem; -} \ No newline at end of file diff --git a/demo/dist/css/tabler-payments.min.css b/demo/dist/css/tabler-payments.min.css deleted file mode 100644 index a1b824a25..000000000 --- a/demo/dist/css/tabler-payments.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -.payment{width:3.33332rem;height:2rem;display:inline-block;background:no-repeat center/100% 100%;vertical-align:bottom;font-style:normal;box-shadow:0 0 1px 1px rgba(0,0,0,.1);border-radius:2px}.payment-provider-2checkout{background-image:url(../img/payments/2checkout.svg)}.payment-provider-2checkout-dark{background-image:url(../img/payments/2checkout-dark.svg)}.payment-provider-alipay{background-image:url(../img/payments/alipay.svg)}.payment-provider-alipay-dark{background-image:url(../img/payments/alipay-dark.svg)}.payment-provider-amazon{background-image:url(../img/payments/amazon.svg)}.payment-provider-amazon-dark{background-image:url(../img/payments/amazon-dark.svg)}.payment-provider-americanexpress{background-image:url(../img/payments/americanexpress.svg)}.payment-provider-americanexpress-dark{background-image:url(../img/payments/americanexpress-dark.svg)}.payment-provider-applepay{background-image:url(../img/payments/applepay.svg)}.payment-provider-applepay-dark{background-image:url(../img/payments/applepay-dark.svg)}.payment-provider-bancontact{background-image:url(../img/payments/bancontact.svg)}.payment-provider-bancontact-dark{background-image:url(../img/payments/bancontact-dark.svg)}.payment-provider-bitcoin{background-image:url(../img/payments/bitcoin.svg)}.payment-provider-bitcoin-dark{background-image:url(../img/payments/bitcoin-dark.svg)}.payment-provider-bitpay{background-image:url(../img/payments/bitpay.svg)}.payment-provider-bitpay-dark{background-image:url(../img/payments/bitpay-dark.svg)}.payment-provider-blik{background-image:url(../img/payments/blik.svg)}.payment-provider-blik-dark{background-image:url(../img/payments/blik-dark.svg)}.payment-provider-cirrus{background-image:url(../img/payments/cirrus.svg)}.payment-provider-cirrus-dark{background-image:url(../img/payments/cirrus-dark.svg)}.payment-provider-clickandbuy{background-image:url(../img/payments/clickandbuy.svg)}.payment-provider-clickandbuy-dark{background-image:url(../img/payments/clickandbuy-dark.svg)}.payment-provider-coinkite{background-image:url(../img/payments/coinkite.svg)}.payment-provider-coinkite-dark{background-image:url(../img/payments/coinkite-dark.svg)}.payment-provider-dinersclub{background-image:url(../img/payments/dinersclub.svg)}.payment-provider-dinersclub-dark{background-image:url(../img/payments/dinersclub-dark.svg)}.payment-provider-directdebit{background-image:url(../img/payments/directdebit.svg)}.payment-provider-directdebit-dark{background-image:url(../img/payments/directdebit-dark.svg)}.payment-provider-discover{background-image:url(../img/payments/discover.svg)}.payment-provider-discover-dark{background-image:url(../img/payments/discover-dark.svg)}.payment-provider-dotpay{background-image:url(../img/payments/dotpay.svg)}.payment-provider-dotpay-dark{background-image:url(../img/payments/dotpay-dark.svg)}.payment-provider-dwolla{background-image:url(../img/payments/dwolla.svg)}.payment-provider-dwolla-dark{background-image:url(../img/payments/dwolla-dark.svg)}.payment-provider-ebay{background-image:url(../img/payments/ebay.svg)}.payment-provider-ebay-dark{background-image:url(../img/payments/ebay-dark.svg)}.payment-provider-eway{background-image:url(../img/payments/eway.svg)}.payment-provider-eway-dark{background-image:url(../img/payments/eway-dark.svg)}.payment-provider-giropay{background-image:url(../img/payments/giropay.svg)}.payment-provider-giropay-dark{background-image:url(../img/payments/giropay-dark.svg)}.payment-provider-googlewallet{background-image:url(../img/payments/googlewallet.svg)}.payment-provider-googlewallet-dark{background-image:url(../img/payments/googlewallet-dark.svg)}.payment-provider-ingenico{background-image:url(../img/payments/ingenico.svg)}.payment-provider-ingenico-dark{background-image:url(../img/payments/ingenico-dark.svg)}.payment-provider-jcb{background-image:url(../img/payments/jcb.svg)}.payment-provider-jcb-dark{background-image:url(../img/payments/jcb-dark.svg)}.payment-provider-klarna{background-image:url(../img/payments/klarna.svg)}.payment-provider-klarna-dark{background-image:url(../img/payments/klarna-dark.svg)}.payment-provider-laser{background-image:url(../img/payments/laser.svg)}.payment-provider-laser-dark{background-image:url(../img/payments/laser-dark.svg)}.payment-provider-maestro{background-image:url(../img/payments/maestro.svg)}.payment-provider-maestro-dark{background-image:url(../img/payments/maestro-dark.svg)}.payment-provider-mastercard{background-image:url(../img/payments/mastercard.svg)}.payment-provider-mastercard-dark{background-image:url(../img/payments/mastercard-dark.svg)}.payment-provider-mir{background-image:url(../img/payments/mir.svg)}.payment-provider-mir-dark{background-image:url(../img/payments/mir-dark.svg)}.payment-provider-monero{background-image:url(../img/payments/monero.svg)}.payment-provider-monero-dark{background-image:url(../img/payments/monero-dark.svg)}.payment-provider-neteller{background-image:url(../img/payments/neteller.svg)}.payment-provider-neteller-dark{background-image:url(../img/payments/neteller-dark.svg)}.payment-provider-ogone{background-image:url(../img/payments/ogone.svg)}.payment-provider-ogone-dark{background-image:url(../img/payments/ogone-dark.svg)}.payment-provider-okpay{background-image:url(../img/payments/okpay.svg)}.payment-provider-okpay-dark{background-image:url(../img/payments/okpay-dark.svg)}.payment-provider-paybox{background-image:url(../img/payments/paybox.svg)}.payment-provider-paybox-dark{background-image:url(../img/payments/paybox-dark.svg)}.payment-provider-paymill{background-image:url(../img/payments/paymill.svg)}.payment-provider-paymill-dark{background-image:url(../img/payments/paymill-dark.svg)}.payment-provider-payone{background-image:url(../img/payments/payone.svg)}.payment-provider-payone-dark{background-image:url(../img/payments/payone-dark.svg)}.payment-provider-payoneer{background-image:url(../img/payments/payoneer.svg)}.payment-provider-payoneer-dark{background-image:url(../img/payments/payoneer-dark.svg)}.payment-provider-paypal{background-image:url(../img/payments/paypal.svg)}.payment-provider-paypal-dark{background-image:url(../img/payments/paypal-dark.svg)}.payment-provider-paysafecard{background-image:url(../img/payments/paysafecard.svg)}.payment-provider-paysafecard-dark{background-image:url(../img/payments/paysafecard-dark.svg)}.payment-provider-payu{background-image:url(../img/payments/payu.svg)}.payment-provider-payu-dark{background-image:url(../img/payments/payu-dark.svg)}.payment-provider-payza{background-image:url(../img/payments/payza.svg)}.payment-provider-payza-dark{background-image:url(../img/payments/payza-dark.svg)}.payment-provider-przelewy24{background-image:url(../img/payments/przelewy24.svg)}.payment-provider-przelewy24-dark{background-image:url(../img/payments/przelewy24-dark.svg)}.payment-provider-ripple{background-image:url(../img/payments/ripple.svg)}.payment-provider-ripple-dark{background-image:url(../img/payments/ripple-dark.svg)}.payment-provider-sage{background-image:url(../img/payments/sage.svg)}.payment-provider-sage-dark{background-image:url(../img/payments/sage-dark.svg)}.payment-provider-sepa{background-image:url(../img/payments/sepa.svg)}.payment-provider-sepa-dark{background-image:url(../img/payments/sepa-dark.svg)}.payment-provider-shopify{background-image:url(../img/payments/shopify.svg)}.payment-provider-shopify-dark{background-image:url(../img/payments/shopify-dark.svg)}.payment-provider-skrill{background-image:url(../img/payments/skrill.svg)}.payment-provider-skrill-dark{background-image:url(../img/payments/skrill-dark.svg)}.payment-provider-solo{background-image:url(../img/payments/solo.svg)}.payment-provider-solo-dark{background-image:url(../img/payments/solo-dark.svg)}.payment-provider-square{background-image:url(../img/payments/square.svg)}.payment-provider-square-dark{background-image:url(../img/payments/square-dark.svg)}.payment-provider-stripe{background-image:url(../img/payments/stripe.svg)}.payment-provider-stripe-dark{background-image:url(../img/payments/stripe-dark.svg)}.payment-provider-switch{background-image:url(../img/payments/switch.svg)}.payment-provider-switch-dark{background-image:url(../img/payments/switch-dark.svg)}.payment-provider-tpay{background-image:url(../img/payments/tpay.svg)}.payment-provider-tpay-dark{background-image:url(../img/payments/tpay-dark.svg)}.payment-provider-ukash{background-image:url(../img/payments/ukash.svg)}.payment-provider-ukash-dark{background-image:url(../img/payments/ukash-dark.svg)}.payment-provider-unionpay{background-image:url(../img/payments/unionpay.svg)}.payment-provider-unionpay-dark{background-image:url(../img/payments/unionpay-dark.svg)}.payment-provider-verifone{background-image:url(../img/payments/verifone.svg)}.payment-provider-verifone-dark{background-image:url(../img/payments/verifone-dark.svg)}.payment-provider-verisign{background-image:url(../img/payments/verisign.svg)}.payment-provider-verisign-dark{background-image:url(../img/payments/verisign-dark.svg)}.payment-provider-visa{background-image:url(../img/payments/visa.svg)}.payment-provider-visa-dark{background-image:url(../img/payments/visa-dark.svg)}.payment-provider-webmoney{background-image:url(../img/payments/webmoney.svg)}.payment-provider-webmoney-dark{background-image:url(../img/payments/webmoney-dark.svg)}.payment-provider-westernunion{background-image:url(../img/payments/westernunion.svg)}.payment-provider-westernunion-dark{background-image:url(../img/payments/westernunion-dark.svg)}.payment-provider-worldpay{background-image:url(../img/payments/worldpay.svg)}.payment-provider-worldpay-dark{background-image:url(../img/payments/worldpay-dark.svg)}.payment-xs{width:2.49999rem;height:1.5rem}.payment-sm{width:3.33332rem;height:2rem}.payment-md{width:6.249975rem;height:3.75rem}.payment-lg{width:8.3333rem;height:5rem}.payment-xl{width:11.66662rem;height:7rem}.payment-2xl{width:18.33326rem;height:11rem} \ No newline at end of file diff --git a/demo/dist/css/tabler-payments.rtl.css b/demo/dist/css/tabler-payments.rtl.css deleted file mode 100644 index 14d6b2879..000000000 --- a/demo/dist/css/tabler-payments.rtl.css +++ /dev/null @@ -1,520 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -.payment { - width: 3.33332rem; - height: 2rem; - display: inline-block; - background: no-repeat center/100% 100%; - vertical-align: bottom; - font-style: normal; - box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1); - border-radius: 2px; -} - -.payment-provider-2checkout { - background-image: url("../img/payments/2checkout.svg"); -} - -.payment-provider-2checkout-dark { - background-image: url("../img/payments/2checkout-dark.svg"); -} - -.payment-provider-alipay { - background-image: url("../img/payments/alipay.svg"); -} - -.payment-provider-alipay-dark { - background-image: url("../img/payments/alipay-dark.svg"); -} - -.payment-provider-amazon { - background-image: url("../img/payments/amazon.svg"); -} - -.payment-provider-amazon-dark { - background-image: url("../img/payments/amazon-dark.svg"); -} - -.payment-provider-americanexpress { - background-image: url("../img/payments/americanexpress.svg"); -} - -.payment-provider-americanexpress-dark { - background-image: url("../img/payments/americanexpress-dark.svg"); -} - -.payment-provider-applepay { - background-image: url("../img/payments/applepay.svg"); -} - -.payment-provider-applepay-dark { - background-image: url("../img/payments/applepay-dark.svg"); -} - -.payment-provider-bancontact { - background-image: url("../img/payments/bancontact.svg"); -} - -.payment-provider-bancontact-dark { - background-image: url("../img/payments/bancontact-dark.svg"); -} - -.payment-provider-bitcoin { - background-image: url("../img/payments/bitcoin.svg"); -} - -.payment-provider-bitcoin-dark { - background-image: url("../img/payments/bitcoin-dark.svg"); -} - -.payment-provider-bitpay { - background-image: url("../img/payments/bitpay.svg"); -} - -.payment-provider-bitpay-dark { - background-image: url("../img/payments/bitpay-dark.svg"); -} - -.payment-provider-blik { - background-image: url("../img/payments/blik.svg"); -} - -.payment-provider-blik-dark { - background-image: url("../img/payments/blik-dark.svg"); -} - -.payment-provider-cirrus { - background-image: url("../img/payments/cirrus.svg"); -} - -.payment-provider-cirrus-dark { - background-image: url("../img/payments/cirrus-dark.svg"); -} - -.payment-provider-clickandbuy { - background-image: url("../img/payments/clickandbuy.svg"); -} - -.payment-provider-clickandbuy-dark { - background-image: url("../img/payments/clickandbuy-dark.svg"); -} - -.payment-provider-coinkite { - background-image: url("../img/payments/coinkite.svg"); -} - -.payment-provider-coinkite-dark { - background-image: url("../img/payments/coinkite-dark.svg"); -} - -.payment-provider-dinersclub { - background-image: url("../img/payments/dinersclub.svg"); -} - -.payment-provider-dinersclub-dark { - background-image: url("../img/payments/dinersclub-dark.svg"); -} - -.payment-provider-directdebit { - background-image: url("../img/payments/directdebit.svg"); -} - -.payment-provider-directdebit-dark { - background-image: url("../img/payments/directdebit-dark.svg"); -} - -.payment-provider-discover { - background-image: url("../img/payments/discover.svg"); -} - -.payment-provider-discover-dark { - background-image: url("../img/payments/discover-dark.svg"); -} - -.payment-provider-dotpay { - background-image: url("../img/payments/dotpay.svg"); -} - -.payment-provider-dotpay-dark { - background-image: url("../img/payments/dotpay-dark.svg"); -} - -.payment-provider-dwolla { - background-image: url("../img/payments/dwolla.svg"); -} - -.payment-provider-dwolla-dark { - background-image: url("../img/payments/dwolla-dark.svg"); -} - -.payment-provider-ebay { - background-image: url("../img/payments/ebay.svg"); -} - -.payment-provider-ebay-dark { - background-image: url("../img/payments/ebay-dark.svg"); -} - -.payment-provider-eway { - background-image: url("../img/payments/eway.svg"); -} - -.payment-provider-eway-dark { - background-image: url("../img/payments/eway-dark.svg"); -} - -.payment-provider-giropay { - background-image: url("../img/payments/giropay.svg"); -} - -.payment-provider-giropay-dark { - background-image: url("../img/payments/giropay-dark.svg"); -} - -.payment-provider-googlewallet { - background-image: url("../img/payments/googlewallet.svg"); -} - -.payment-provider-googlewallet-dark { - background-image: url("../img/payments/googlewallet-dark.svg"); -} - -.payment-provider-ingenico { - background-image: url("../img/payments/ingenico.svg"); -} - -.payment-provider-ingenico-dark { - background-image: url("../img/payments/ingenico-dark.svg"); -} - -.payment-provider-jcb { - background-image: url("../img/payments/jcb.svg"); -} - -.payment-provider-jcb-dark { - background-image: url("../img/payments/jcb-dark.svg"); -} - -.payment-provider-klarna { - background-image: url("../img/payments/klarna.svg"); -} - -.payment-provider-klarna-dark { - background-image: url("../img/payments/klarna-dark.svg"); -} - -.payment-provider-laser { - background-image: url("../img/payments/laser.svg"); -} - -.payment-provider-laser-dark { - background-image: url("../img/payments/laser-dark.svg"); -} - -.payment-provider-maestro { - background-image: url("../img/payments/maestro.svg"); -} - -.payment-provider-maestro-dark { - background-image: url("../img/payments/maestro-dark.svg"); -} - -.payment-provider-mastercard { - background-image: url("../img/payments/mastercard.svg"); -} - -.payment-provider-mastercard-dark { - background-image: url("../img/payments/mastercard-dark.svg"); -} - -.payment-provider-mir { - background-image: url("../img/payments/mir.svg"); -} - -.payment-provider-mir-dark { - background-image: url("../img/payments/mir-dark.svg"); -} - -.payment-provider-monero { - background-image: url("../img/payments/monero.svg"); -} - -.payment-provider-monero-dark { - background-image: url("../img/payments/monero-dark.svg"); -} - -.payment-provider-neteller { - background-image: url("../img/payments/neteller.svg"); -} - -.payment-provider-neteller-dark { - background-image: url("../img/payments/neteller-dark.svg"); -} - -.payment-provider-ogone { - background-image: url("../img/payments/ogone.svg"); -} - -.payment-provider-ogone-dark { - background-image: url("../img/payments/ogone-dark.svg"); -} - -.payment-provider-okpay { - background-image: url("../img/payments/okpay.svg"); -} - -.payment-provider-okpay-dark { - background-image: url("../img/payments/okpay-dark.svg"); -} - -.payment-provider-paybox { - background-image: url("../img/payments/paybox.svg"); -} - -.payment-provider-paybox-dark { - background-image: url("../img/payments/paybox-dark.svg"); -} - -.payment-provider-paymill { - background-image: url("../img/payments/paymill.svg"); -} - -.payment-provider-paymill-dark { - background-image: url("../img/payments/paymill-dark.svg"); -} - -.payment-provider-payone { - background-image: url("../img/payments/payone.svg"); -} - -.payment-provider-payone-dark { - background-image: url("../img/payments/payone-dark.svg"); -} - -.payment-provider-payoneer { - background-image: url("../img/payments/payoneer.svg"); -} - -.payment-provider-payoneer-dark { - background-image: url("../img/payments/payoneer-dark.svg"); -} - -.payment-provider-paypal { - background-image: url("../img/payments/paypal.svg"); -} - -.payment-provider-paypal-dark { - background-image: url("../img/payments/paypal-dark.svg"); -} - -.payment-provider-paysafecard { - background-image: url("../img/payments/paysafecard.svg"); -} - -.payment-provider-paysafecard-dark { - background-image: url("../img/payments/paysafecard-dark.svg"); -} - -.payment-provider-payu { - background-image: url("../img/payments/payu.svg"); -} - -.payment-provider-payu-dark { - background-image: url("../img/payments/payu-dark.svg"); -} - -.payment-provider-payza { - background-image: url("../img/payments/payza.svg"); -} - -.payment-provider-payza-dark { - background-image: url("../img/payments/payza-dark.svg"); -} - -.payment-provider-przelewy24 { - background-image: url("../img/payments/przelewy24.svg"); -} - -.payment-provider-przelewy24-dark { - background-image: url("../img/payments/przelewy24-dark.svg"); -} - -.payment-provider-ripple { - background-image: url("../img/payments/ripple.svg"); -} - -.payment-provider-ripple-dark { - background-image: url("../img/payments/ripple-dark.svg"); -} - -.payment-provider-sage { - background-image: url("../img/payments/sage.svg"); -} - -.payment-provider-sage-dark { - background-image: url("../img/payments/sage-dark.svg"); -} - -.payment-provider-sepa { - background-image: url("../img/payments/sepa.svg"); -} - -.payment-provider-sepa-dark { - background-image: url("../img/payments/sepa-dark.svg"); -} - -.payment-provider-shopify { - background-image: url("../img/payments/shopify.svg"); -} - -.payment-provider-shopify-dark { - background-image: url("../img/payments/shopify-dark.svg"); -} - -.payment-provider-skrill { - background-image: url("../img/payments/skrill.svg"); -} - -.payment-provider-skrill-dark { - background-image: url("../img/payments/skrill-dark.svg"); -} - -.payment-provider-solo { - background-image: url("../img/payments/solo.svg"); -} - -.payment-provider-solo-dark { - background-image: url("../img/payments/solo-dark.svg"); -} - -.payment-provider-square { - background-image: url("../img/payments/square.svg"); -} - -.payment-provider-square-dark { - background-image: url("../img/payments/square-dark.svg"); -} - -.payment-provider-stripe { - background-image: url("../img/payments/stripe.svg"); -} - -.payment-provider-stripe-dark { - background-image: url("../img/payments/stripe-dark.svg"); -} - -.payment-provider-switch { - background-image: url("../img/payments/switch.svg"); -} - -.payment-provider-switch-dark { - background-image: url("../img/payments/switch-dark.svg"); -} - -.payment-provider-tpay { - background-image: url("../img/payments/tpay.svg"); -} - -.payment-provider-tpay-dark { - background-image: url("../img/payments/tpay-dark.svg"); -} - -.payment-provider-ukash { - background-image: url("../img/payments/ukash.svg"); -} - -.payment-provider-ukash-dark { - background-image: url("../img/payments/ukash-dark.svg"); -} - -.payment-provider-unionpay { - background-image: url("../img/payments/unionpay.svg"); -} - -.payment-provider-unionpay-dark { - background-image: url("../img/payments/unionpay-dark.svg"); -} - -.payment-provider-verifone { - background-image: url("../img/payments/verifone.svg"); -} - -.payment-provider-verifone-dark { - background-image: url("../img/payments/verifone-dark.svg"); -} - -.payment-provider-verisign { - background-image: url("../img/payments/verisign.svg"); -} - -.payment-provider-verisign-dark { - background-image: url("../img/payments/verisign-dark.svg"); -} - -.payment-provider-visa { - background-image: url("../img/payments/visa.svg"); -} - -.payment-provider-visa-dark { - background-image: url("../img/payments/visa-dark.svg"); -} - -.payment-provider-webmoney { - background-image: url("../img/payments/webmoney.svg"); -} - -.payment-provider-webmoney-dark { - background-image: url("../img/payments/webmoney-dark.svg"); -} - -.payment-provider-westernunion { - background-image: url("../img/payments/westernunion.svg"); -} - -.payment-provider-westernunion-dark { - background-image: url("../img/payments/westernunion-dark.svg"); -} - -.payment-provider-worldpay { - background-image: url("../img/payments/worldpay.svg"); -} - -.payment-provider-worldpay-dark { - background-image: url("../img/payments/worldpay-dark.svg"); -} - -.payment-xs { - width: 2.49999rem; - height: 1.5rem; -} - -.payment-sm { - width: 3.33332rem; - height: 2rem; -} - -.payment-md { - width: 6.249975rem; - height: 3.75rem; -} - -.payment-lg { - width: 8.3333rem; - height: 5rem; -} - -.payment-xl { - width: 11.66662rem; - height: 7rem; -} - -.payment-2xl { - width: 18.33326rem; - height: 11rem; -} \ No newline at end of file diff --git a/demo/dist/css/tabler-payments.rtl.min.css b/demo/dist/css/tabler-payments.rtl.min.css deleted file mode 100644 index a1b824a25..000000000 --- a/demo/dist/css/tabler-payments.rtl.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -.payment{width:3.33332rem;height:2rem;display:inline-block;background:no-repeat center/100% 100%;vertical-align:bottom;font-style:normal;box-shadow:0 0 1px 1px rgba(0,0,0,.1);border-radius:2px}.payment-provider-2checkout{background-image:url(../img/payments/2checkout.svg)}.payment-provider-2checkout-dark{background-image:url(../img/payments/2checkout-dark.svg)}.payment-provider-alipay{background-image:url(../img/payments/alipay.svg)}.payment-provider-alipay-dark{background-image:url(../img/payments/alipay-dark.svg)}.payment-provider-amazon{background-image:url(../img/payments/amazon.svg)}.payment-provider-amazon-dark{background-image:url(../img/payments/amazon-dark.svg)}.payment-provider-americanexpress{background-image:url(../img/payments/americanexpress.svg)}.payment-provider-americanexpress-dark{background-image:url(../img/payments/americanexpress-dark.svg)}.payment-provider-applepay{background-image:url(../img/payments/applepay.svg)}.payment-provider-applepay-dark{background-image:url(../img/payments/applepay-dark.svg)}.payment-provider-bancontact{background-image:url(../img/payments/bancontact.svg)}.payment-provider-bancontact-dark{background-image:url(../img/payments/bancontact-dark.svg)}.payment-provider-bitcoin{background-image:url(../img/payments/bitcoin.svg)}.payment-provider-bitcoin-dark{background-image:url(../img/payments/bitcoin-dark.svg)}.payment-provider-bitpay{background-image:url(../img/payments/bitpay.svg)}.payment-provider-bitpay-dark{background-image:url(../img/payments/bitpay-dark.svg)}.payment-provider-blik{background-image:url(../img/payments/blik.svg)}.payment-provider-blik-dark{background-image:url(../img/payments/blik-dark.svg)}.payment-provider-cirrus{background-image:url(../img/payments/cirrus.svg)}.payment-provider-cirrus-dark{background-image:url(../img/payments/cirrus-dark.svg)}.payment-provider-clickandbuy{background-image:url(../img/payments/clickandbuy.svg)}.payment-provider-clickandbuy-dark{background-image:url(../img/payments/clickandbuy-dark.svg)}.payment-provider-coinkite{background-image:url(../img/payments/coinkite.svg)}.payment-provider-coinkite-dark{background-image:url(../img/payments/coinkite-dark.svg)}.payment-provider-dinersclub{background-image:url(../img/payments/dinersclub.svg)}.payment-provider-dinersclub-dark{background-image:url(../img/payments/dinersclub-dark.svg)}.payment-provider-directdebit{background-image:url(../img/payments/directdebit.svg)}.payment-provider-directdebit-dark{background-image:url(../img/payments/directdebit-dark.svg)}.payment-provider-discover{background-image:url(../img/payments/discover.svg)}.payment-provider-discover-dark{background-image:url(../img/payments/discover-dark.svg)}.payment-provider-dotpay{background-image:url(../img/payments/dotpay.svg)}.payment-provider-dotpay-dark{background-image:url(../img/payments/dotpay-dark.svg)}.payment-provider-dwolla{background-image:url(../img/payments/dwolla.svg)}.payment-provider-dwolla-dark{background-image:url(../img/payments/dwolla-dark.svg)}.payment-provider-ebay{background-image:url(../img/payments/ebay.svg)}.payment-provider-ebay-dark{background-image:url(../img/payments/ebay-dark.svg)}.payment-provider-eway{background-image:url(../img/payments/eway.svg)}.payment-provider-eway-dark{background-image:url(../img/payments/eway-dark.svg)}.payment-provider-giropay{background-image:url(../img/payments/giropay.svg)}.payment-provider-giropay-dark{background-image:url(../img/payments/giropay-dark.svg)}.payment-provider-googlewallet{background-image:url(../img/payments/googlewallet.svg)}.payment-provider-googlewallet-dark{background-image:url(../img/payments/googlewallet-dark.svg)}.payment-provider-ingenico{background-image:url(../img/payments/ingenico.svg)}.payment-provider-ingenico-dark{background-image:url(../img/payments/ingenico-dark.svg)}.payment-provider-jcb{background-image:url(../img/payments/jcb.svg)}.payment-provider-jcb-dark{background-image:url(../img/payments/jcb-dark.svg)}.payment-provider-klarna{background-image:url(../img/payments/klarna.svg)}.payment-provider-klarna-dark{background-image:url(../img/payments/klarna-dark.svg)}.payment-provider-laser{background-image:url(../img/payments/laser.svg)}.payment-provider-laser-dark{background-image:url(../img/payments/laser-dark.svg)}.payment-provider-maestro{background-image:url(../img/payments/maestro.svg)}.payment-provider-maestro-dark{background-image:url(../img/payments/maestro-dark.svg)}.payment-provider-mastercard{background-image:url(../img/payments/mastercard.svg)}.payment-provider-mastercard-dark{background-image:url(../img/payments/mastercard-dark.svg)}.payment-provider-mir{background-image:url(../img/payments/mir.svg)}.payment-provider-mir-dark{background-image:url(../img/payments/mir-dark.svg)}.payment-provider-monero{background-image:url(../img/payments/monero.svg)}.payment-provider-monero-dark{background-image:url(../img/payments/monero-dark.svg)}.payment-provider-neteller{background-image:url(../img/payments/neteller.svg)}.payment-provider-neteller-dark{background-image:url(../img/payments/neteller-dark.svg)}.payment-provider-ogone{background-image:url(../img/payments/ogone.svg)}.payment-provider-ogone-dark{background-image:url(../img/payments/ogone-dark.svg)}.payment-provider-okpay{background-image:url(../img/payments/okpay.svg)}.payment-provider-okpay-dark{background-image:url(../img/payments/okpay-dark.svg)}.payment-provider-paybox{background-image:url(../img/payments/paybox.svg)}.payment-provider-paybox-dark{background-image:url(../img/payments/paybox-dark.svg)}.payment-provider-paymill{background-image:url(../img/payments/paymill.svg)}.payment-provider-paymill-dark{background-image:url(../img/payments/paymill-dark.svg)}.payment-provider-payone{background-image:url(../img/payments/payone.svg)}.payment-provider-payone-dark{background-image:url(../img/payments/payone-dark.svg)}.payment-provider-payoneer{background-image:url(../img/payments/payoneer.svg)}.payment-provider-payoneer-dark{background-image:url(../img/payments/payoneer-dark.svg)}.payment-provider-paypal{background-image:url(../img/payments/paypal.svg)}.payment-provider-paypal-dark{background-image:url(../img/payments/paypal-dark.svg)}.payment-provider-paysafecard{background-image:url(../img/payments/paysafecard.svg)}.payment-provider-paysafecard-dark{background-image:url(../img/payments/paysafecard-dark.svg)}.payment-provider-payu{background-image:url(../img/payments/payu.svg)}.payment-provider-payu-dark{background-image:url(../img/payments/payu-dark.svg)}.payment-provider-payza{background-image:url(../img/payments/payza.svg)}.payment-provider-payza-dark{background-image:url(../img/payments/payza-dark.svg)}.payment-provider-przelewy24{background-image:url(../img/payments/przelewy24.svg)}.payment-provider-przelewy24-dark{background-image:url(../img/payments/przelewy24-dark.svg)}.payment-provider-ripple{background-image:url(../img/payments/ripple.svg)}.payment-provider-ripple-dark{background-image:url(../img/payments/ripple-dark.svg)}.payment-provider-sage{background-image:url(../img/payments/sage.svg)}.payment-provider-sage-dark{background-image:url(../img/payments/sage-dark.svg)}.payment-provider-sepa{background-image:url(../img/payments/sepa.svg)}.payment-provider-sepa-dark{background-image:url(../img/payments/sepa-dark.svg)}.payment-provider-shopify{background-image:url(../img/payments/shopify.svg)}.payment-provider-shopify-dark{background-image:url(../img/payments/shopify-dark.svg)}.payment-provider-skrill{background-image:url(../img/payments/skrill.svg)}.payment-provider-skrill-dark{background-image:url(../img/payments/skrill-dark.svg)}.payment-provider-solo{background-image:url(../img/payments/solo.svg)}.payment-provider-solo-dark{background-image:url(../img/payments/solo-dark.svg)}.payment-provider-square{background-image:url(../img/payments/square.svg)}.payment-provider-square-dark{background-image:url(../img/payments/square-dark.svg)}.payment-provider-stripe{background-image:url(../img/payments/stripe.svg)}.payment-provider-stripe-dark{background-image:url(../img/payments/stripe-dark.svg)}.payment-provider-switch{background-image:url(../img/payments/switch.svg)}.payment-provider-switch-dark{background-image:url(../img/payments/switch-dark.svg)}.payment-provider-tpay{background-image:url(../img/payments/tpay.svg)}.payment-provider-tpay-dark{background-image:url(../img/payments/tpay-dark.svg)}.payment-provider-ukash{background-image:url(../img/payments/ukash.svg)}.payment-provider-ukash-dark{background-image:url(../img/payments/ukash-dark.svg)}.payment-provider-unionpay{background-image:url(../img/payments/unionpay.svg)}.payment-provider-unionpay-dark{background-image:url(../img/payments/unionpay-dark.svg)}.payment-provider-verifone{background-image:url(../img/payments/verifone.svg)}.payment-provider-verifone-dark{background-image:url(../img/payments/verifone-dark.svg)}.payment-provider-verisign{background-image:url(../img/payments/verisign.svg)}.payment-provider-verisign-dark{background-image:url(../img/payments/verisign-dark.svg)}.payment-provider-visa{background-image:url(../img/payments/visa.svg)}.payment-provider-visa-dark{background-image:url(../img/payments/visa-dark.svg)}.payment-provider-webmoney{background-image:url(../img/payments/webmoney.svg)}.payment-provider-webmoney-dark{background-image:url(../img/payments/webmoney-dark.svg)}.payment-provider-westernunion{background-image:url(../img/payments/westernunion.svg)}.payment-provider-westernunion-dark{background-image:url(../img/payments/westernunion-dark.svg)}.payment-provider-worldpay{background-image:url(../img/payments/worldpay.svg)}.payment-provider-worldpay-dark{background-image:url(../img/payments/worldpay-dark.svg)}.payment-xs{width:2.49999rem;height:1.5rem}.payment-sm{width:3.33332rem;height:2rem}.payment-md{width:6.249975rem;height:3.75rem}.payment-lg{width:8.3333rem;height:5rem}.payment-xl{width:11.66662rem;height:7rem}.payment-2xl{width:18.33326rem;height:11rem} \ No newline at end of file diff --git a/demo/dist/css/tabler-vendors.css b/demo/dist/css/tabler-vendors.css deleted file mode 100644 index 4dc49dead..000000000 --- a/demo/dist/css/tabler-vendors.css +++ /dev/null @@ -1,1378 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -/* Functional styling; - * These styles are required for noUiSlider to function. - * You don't need to change these rules to apply your design. - */ -.noUi-target, -.noUi-target * { - -webkit-touch-callout: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -webkit-user-select: none; - touch-action: none; - -ms-user-select: none; - -moz-user-select: none; - user-select: none; - box-sizing: border-box; -} - -.noUi-target { - position: relative; -} - -.noUi-base, -.noUi-connects { - width: 100%; - height: 100%; - position: relative; - z-index: 1; -} - -/* Wrapper for all connect elements. - */ -.noUi-connects { - overflow: hidden; - z-index: 0; -} - -.noUi-connect, -.noUi-origin { - will-change: transform; - position: absolute; - z-index: 1; - top: 0; - right: 0; - height: 100%; - width: 100%; - -ms-transform-origin: 0 0; - -webkit-transform-origin: 0 0; - -webkit-transform-style: preserve-3d; - transform-origin: 0 0; - transform-style: flat; -} - -/* Offset direction - */ -.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin { - left: 0; - right: auto; -} - -/* Give origins 0 height/width so they don't interfere with clicking the - * connect elements. - */ -.noUi-vertical .noUi-origin { - top: -100%; - width: 0; -} - -.noUi-horizontal .noUi-origin { - height: 0; -} - -.noUi-handle { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - position: absolute; -} - -.noUi-touch-area { - height: 100%; - width: 100%; -} - -.noUi-state-tap .noUi-connect, -.noUi-state-tap .noUi-origin { - transition: transform 0.3s; -} - -.noUi-state-drag * { - cursor: inherit !important; -} - -/* Slider size and handle placement; - */ -.noUi-horizontal { - height: 18px; -} - -.noUi-horizontal .noUi-handle { - width: 34px; - height: 28px; - right: -17px; - top: -6px; -} - -.noUi-vertical { - width: 18px; -} - -.noUi-vertical .noUi-handle { - width: 28px; - height: 34px; - right: -6px; - bottom: -17px; -} - -.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle { - left: -17px; - right: auto; -} - -/* Styling; - * Giving the connect element a border radius causes issues with using transform: scale - */ -.noUi-target { - background: #FAFAFA; - border-radius: 4px; - border: 1px solid #D3D3D3; - box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; -} - -.noUi-connects { - border-radius: 3px; -} - -.noUi-connect { - background: #3FB8AF; -} - -/* Handles and cursors; - */ -.noUi-draggable { - cursor: ew-resize; -} - -.noUi-vertical .noUi-draggable { - cursor: ns-resize; -} - -.noUi-handle { - border: 1px solid #D9D9D9; - border-radius: 3px; - background: #FFF; - cursor: default; - box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB; -} - -.noUi-active { - box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB; -} - -/* Handle stripes; - */ -.noUi-handle:before, -.noUi-handle:after { - content: ""; - display: block; - position: absolute; - height: 14px; - width: 1px; - background: #E8E7E6; - left: 14px; - top: 6px; -} - -.noUi-handle:after { - left: 17px; -} - -.noUi-vertical .noUi-handle:before, -.noUi-vertical .noUi-handle:after { - width: 14px; - height: 1px; - left: 6px; - top: 14px; -} - -.noUi-vertical .noUi-handle:after { - top: 17px; -} - -/* Disabled state; - */ -[disabled] .noUi-connect { - background: #B8B8B8; -} - -[disabled].noUi-target, -[disabled].noUi-handle, -[disabled] .noUi-handle { - cursor: not-allowed; -} - -/* Base; - * - */ -.noUi-pips, -.noUi-pips * { - box-sizing: border-box; -} - -.noUi-pips { - position: absolute; - color: #999; -} - -/* Values; - * - */ -.noUi-value { - position: absolute; - white-space: nowrap; - text-align: center; -} - -.noUi-value-sub { - color: #ccc; - font-size: 10px; -} - -/* Markings; - * - */ -.noUi-marker { - position: absolute; - background: #CCC; -} - -.noUi-marker-sub { - background: #AAA; -} - -.noUi-marker-large { - background: #AAA; -} - -/* Horizontal layout; - * - */ -.noUi-pips-horizontal { - padding: 10px 0; - height: 80px; - top: 100%; - left: 0; - width: 100%; -} - -.noUi-value-horizontal { - transform: translate(-50%, 50%); -} - -.noUi-rtl .noUi-value-horizontal { - transform: translate(50%, 50%); -} - -.noUi-marker-horizontal.noUi-marker { - margin-left: -1px; - width: 2px; - height: 5px; -} - -.noUi-marker-horizontal.noUi-marker-sub { - height: 10px; -} - -.noUi-marker-horizontal.noUi-marker-large { - height: 15px; -} - -/* Vertical layout; - * - */ -.noUi-pips-vertical { - padding: 0 10px; - height: 100%; - top: 0; - left: 100%; -} - -.noUi-value-vertical { - transform: translate(0, -50%); - padding-left: 25px; -} - -.noUi-rtl .noUi-value-vertical { - transform: translate(0, 50%); -} - -.noUi-marker-vertical.noUi-marker { - width: 5px; - height: 2px; - margin-top: -1px; -} - -.noUi-marker-vertical.noUi-marker-sub { - width: 10px; -} - -.noUi-marker-vertical.noUi-marker-large { - width: 15px; -} - -.noUi-tooltip { - display: block; - position: absolute; - border: 1px solid #D9D9D9; - border-radius: 3px; - background: #fff; - color: #000; - padding: 5px; - text-align: center; - white-space: nowrap; -} - -.noUi-horizontal .noUi-tooltip { - transform: translate(-50%, 0); - left: 50%; - bottom: 120%; -} - -.noUi-vertical .noUi-tooltip { - transform: translate(0, -50%); - top: 50%; - right: 120%; -} - -.noUi-horizontal .noUi-origin > .noUi-tooltip { - transform: translate(50%, 0); - left: auto; - bottom: 10px; -} - -.noUi-vertical .noUi-origin > .noUi-tooltip { - transform: translate(0, -18px); - top: auto; - right: 28px; -} - -.noUi-target { - border: 0; - box-shadow: none; - background: none; - border-radius: 0; - color: var(--tblr-primary); -} - -.noUi-horizontal { - height: 1.25rem; - padding: 0.5rem 0; -} - -.noUi-base { - background: var(--tblr-border-color); - border-radius: 1rem; -} - -.noUi-handle { - width: 1rem; - height: 1rem; - border: 2px var(--tblr-border-style) #ffffff; - box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); - border-radius: 1rem; - background: currentColor; - outline: 0; -} -.noUi-handle:before, .noUi-handle:after { - content: none; -} -.noUi-horizontal .noUi-handle { - width: 1rem; - height: 1rem; - top: -0.5rem; - right: -0.5rem; - margin: 1px 1px 0 0; -} -.noUi-handle.noUi-active, .noUi-handle:focus { - box-shadow: 0 0 0 1px #f1f5f9, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} - -.noUi-connect { - background: currentColor; -} - -.litepicker { - --litepicker-month-weekday-color: var(--tblr-muted); - --litepicker-button-prev-month-color: var(--tblr-muted); - --litepicker-button-next-month-color: var(--tblr-muted); - --litepicker-button-prev-month-color-hover: var(--tblr-primary); - --litepicker-button-next-month-color-hover: var(--tblr-primary); - --litepicker-day-color: var(--tblr-body-color); - --litepicker-day-color-hover: var(--tblr-primary); - --litepicker-is-end-color-bg: var(--tblr-primary); - --litepicker-is-today-color: var(--tblr-primary); - --litepicker-month-header-color: var(--tblr-body-color); - --litepicker-container-months-color-bg: var(--tblr-bg-surface); - font: inherit; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.litepicker svg { - fill: none !important; -} -.litepicker .container__main { - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: var(--tblr-border-radius); - box-shadow: none; -} -.litepicker .container__months .month-item-name, -.litepicker .container__months .month-item-year { - font-weight: var(--tblr-font-weight-medium) !important; -} -.litepicker .container__months .button-next-month, -.litepicker .container__months .button-prev-month { - cursor: pointer !important; -} -.litepicker .container__months .month-item-weekdays-row > div { - padding: 0.5rem 0 !important; - font-size: 0.75rem; -} -.litepicker .container__days .day-item { - cursor: pointer !important; - padding: 0.5rem 0 !important; - transition: color 0.3s, background-color 0.3s, border-color 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .litepicker .container__days .day-item { - transition: none; - } -} -.datepicker-inline .litepicker .container__months { - box-shadow: none; - background-color: var(--tblr-bg-forms); -} - -/** - * Tom Select bootstrap 5 - */ -/** - * tom-select.css (v//@@version) - * Copyright (c) contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this - * file except in compliance with the License. You may obtain a copy of the License at: - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under - * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF - * ANY KIND, either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - * - */ -:root { - --ts-pr-clear-button: 0; - --ts-pr-caret: 0; - --ts-pr-min: .75rem; -} - -.ts-wrapper.single .ts-control, .ts-wrapper.single .ts-control input { - cursor: pointer; -} - -.ts-control { - padding-right: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important; -} - -.ts-wrapper.plugin-drag_drop.multi > .ts-control > div.ui-sortable-placeholder { - visibility: visible !important; - background: #f2f2f2 !important; - background: rgba(0, 0, 0, 0.06) !important; - border: 0 none !important; - box-shadow: inset 0 0 12px 4px #fff; -} -.ts-wrapper.plugin-drag_drop .ui-sortable-placeholder::after { - content: "!"; - visibility: hidden; -} -.ts-wrapper.plugin-drag_drop .ui-sortable-helper { - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); -} - -.plugin-checkbox_options .option input { - margin-right: 0.5rem; -} - -.plugin-clear_button { - --ts-pr-clear-button: 1em; -} -.plugin-clear_button .clear-button { - opacity: 0; - position: absolute; - top: 50%; - transform: translateY(-50%); - right: calc(0.75rem - 5px); - margin-right: 0 !important; - background: transparent !important; - transition: opacity 0.5s; - cursor: pointer; -} -.plugin-clear_button.form-select .clear-button, .plugin-clear_button.single .clear-button { - right: max( var(--ts-pr-caret), 0.75rem); -} -.plugin-clear_button.focus.has-items .clear-button, .plugin-clear_button:not(.disabled):hover.has-items .clear-button { - opacity: 1; -} - -.ts-wrapper .dropdown-header { - position: relative; - padding: 6px 0.75rem; - border-bottom: 1px solid #d0d0d0; - background: #f8f8f8; - border-radius: var(--tblr-border-radius) var(--tblr-border-radius) 0 0; -} -.ts-wrapper .dropdown-header-close { - position: absolute; - right: 0.75rem; - top: 50%; - color: #1d273b; - opacity: 0.4; - margin-top: -12px; - line-height: 20px; - font-size: 20px !important; -} -.ts-wrapper .dropdown-header-close:hover { - color: black; -} - -.plugin-dropdown_input.focus.dropdown-active .ts-control { - box-shadow: none; - border: 1px solid var(--tblr-border-color); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); -} -.plugin-dropdown_input .dropdown-input { - border: 1px solid #d0d0d0; - border-width: 0 0 1px 0; - display: block; - padding: 0.4375rem 0.75rem; - box-shadow: none; - width: 100%; - background: transparent; -} -.plugin-dropdown_input.focus .ts-dropdown .dropdown-input { - border-color: #90b5e2; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.plugin-dropdown_input .items-placeholder { - border: 0 none !important; - box-shadow: none !important; - width: 100%; -} -.plugin-dropdown_input.has-items .items-placeholder, .plugin-dropdown_input.dropdown-active .items-placeholder { - display: none !important; -} - -.ts-wrapper.plugin-input_autogrow.has-items .ts-control > input { - min-width: 0; -} -.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input { - flex: none; - min-width: 4px; -} -.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-webkit-input-placeholder { - color: transparent; -} -.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-moz-placeholder { - color: transparent; -} -.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input:-ms-input-placeholder { - color: transparent; -} -.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-ms-input-placeholder { - color: transparent; -} -.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder { - color: transparent; -} - -.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content { - display: flex; -} -.ts-dropdown.plugin-optgroup_columns .optgroup { - border-right: 1px solid #f2f2f2; - border-top: 0 none; - flex-grow: 1; - flex-basis: 0; - min-width: 0; -} -.ts-dropdown.plugin-optgroup_columns .optgroup:last-child { - border-right: 0 none; -} -.ts-dropdown.plugin-optgroup_columns .optgroup:before { - display: none; -} -.ts-dropdown.plugin-optgroup_columns .optgroup-header { - border-top: 0 none; -} - -.ts-wrapper.plugin-remove_button .item { - display: inline-flex; - align-items: center; - padding-right: 0 !important; -} -.ts-wrapper.plugin-remove_button .item .remove { - color: inherit; - text-decoration: none; - vertical-align: middle; - display: inline-block; - padding: 0 5px; - border-radius: 0 2px 2px 0; - box-sizing: border-box; -} -.ts-wrapper.plugin-remove_button .item .remove:hover { - background: rgba(0, 0, 0, 0.05); -} -.ts-wrapper.plugin-remove_button.disabled .item .remove:hover { - background: none; -} -.ts-wrapper.plugin-remove_button .remove-single { - position: absolute; - right: 0; - top: 0; - font-size: 23px; -} - -.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove { - border-left: 1px solid #e6e7e9; - margin-left: 5px; -} -.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove { - border-left-color: rgba(0, 0, 0, 0); -} -.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove { - border-left-color: white; -} - -.ts-wrapper.plugin-remove_button.rtl .item .remove { - border-right: 1px solid #e6e7e9; - margin-right: 5px; -} -.ts-wrapper.plugin-remove_button.rtl .item.active .remove { - border-right-color: rgba(0, 0, 0, 0); -} -.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove { - border-right-color: white; -} - -.ts-wrapper { - position: relative; -} - -.ts-dropdown, -.ts-control, -.ts-control input { - color: #1d273b; - font-family: inherit; - font-size: inherit; - line-height: 1.4285714286; - font-smoothing: inherit; -} - -.ts-control, -.ts-wrapper.single.input-active .ts-control { - background: var(--tblr-bg-forms); - cursor: text; -} - -.ts-control { - border: 1px solid var(--tblr-border-color); - padding: 0.4375rem 0.75rem; - width: 100%; - overflow: hidden; - position: relative; - z-index: 1; - box-sizing: border-box; - box-shadow: none; - border-radius: var(--tblr-border-radius); - display: flex; - flex-wrap: wrap; -} -.ts-wrapper.multi.has-items .ts-control { - padding: calc( 0.4375rem - 1px - 0px) 0.75rem calc( 0.4375rem - 1px - 3px - 0px); -} -.full .ts-control { - background-color: var(--tblr-bg-forms); -} -.disabled .ts-control, .disabled .ts-control * { - cursor: default !important; -} -.focus .ts-control { - box-shadow: none; -} -.ts-control > * { - vertical-align: baseline; - display: inline-block; -} -.ts-wrapper.multi .ts-control > div { - cursor: pointer; - margin: 0 3px 3px 0; - padding: 1px 5px; - background: #efefef; - color: #1d273b; - border: 0px solid #e6e7e9; -} -.ts-wrapper.multi .ts-control > div.active { - background: #206bc4; - color: #fff; - border: 0px solid rgba(0, 0, 0, 0); -} -.ts-wrapper.multi.disabled .ts-control > div, .ts-wrapper.multi.disabled .ts-control > div.active { - color: #797979; - background: white; - border: 0px solid white; -} -.ts-control > input { - flex: 1 1 auto; - min-width: 7rem; - display: inline-block !important; - padding: 0 !important; - min-height: 0 !important; - max-height: none !important; - max-width: 100% !important; - margin: 0 !important; - text-indent: 0 !important; - border: 0 none !important; - background: none !important; - line-height: inherit !important; - -webkit-user-select: auto !important; - -moz-user-select: auto !important; - -ms-user-select: auto !important; - user-select: auto !important; - box-shadow: none !important; -} -.ts-control > input::-ms-clear { - display: none; -} -.ts-control > input:focus { - outline: none !important; -} -.has-items .ts-control > input { - margin: 0px 4px !important; -} -.ts-control.rtl { - text-align: right; -} -.ts-control.rtl.single .ts-control:after { - left: calc(0.75rem + 5px); - right: auto; -} -.ts-control.rtl .ts-control > input { - margin: 0px 4px 0px -2px !important; -} -.disabled .ts-control { - opacity: 0.5; - background-color: var(--tblr-gray-100); -} -.input-hidden .ts-control > input { - opacity: 0; - position: absolute; - left: -10000px; -} - -.ts-dropdown { - position: absolute; - top: 100%; - left: 0; - width: 100%; - z-index: 10; - border: 1px solid #d0d0d0; - background: #ffffff; - margin: 0.25rem 0 0 0; - border-top: 0 none; - box-sizing: border-box; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - border-radius: 0 0 var(--tblr-border-radius) var(--tblr-border-radius); -} -.ts-dropdown [data-selectable] { - cursor: pointer; - overflow: hidden; -} -.ts-dropdown [data-selectable] .highlight { - background: rgba(255, 237, 40, 0.4); - border-radius: 1px; -} -.ts-dropdown .option, -.ts-dropdown .optgroup-header, -.ts-dropdown .no-results, -.ts-dropdown .create { - padding: 3px 0.75rem; -} -.ts-dropdown .option, .ts-dropdown [data-disabled], .ts-dropdown [data-disabled] [data-selectable].option { - cursor: inherit; - opacity: 0.5; -} -.ts-dropdown [data-selectable].option { - opacity: 1; - cursor: pointer; -} -.ts-dropdown .optgroup:first-child .optgroup-header { - border-top: 0 none; -} -.ts-dropdown .optgroup-header { - color: #49566c; - background: #ffffff; - cursor: default; -} -.ts-dropdown .active { - background-color: rgba(var(--tblr-muted-rgb), 0.04); - color: inherit; -} -.ts-dropdown .active.create { - color: inherit; -} -.ts-dropdown .create { - color: rgba(29, 39, 59, 0.5); -} -.ts-dropdown .spinner { - display: inline-block; - width: 30px; - height: 30px; - margin: 3px 0.75rem; -} -.ts-dropdown .spinner:after { - content: " "; - display: block; - width: 24px; - height: 24px; - margin: 3px; - border-radius: 50%; - border: 5px solid #d0d0d0; - border-color: #d0d0d0 transparent #d0d0d0 transparent; - -webkit-animation: lds-dual-ring 1.2s linear infinite; - animation: lds-dual-ring 1.2s linear infinite; -} -@-webkit-keyframes lds-dual-ring { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -@keyframes lds-dual-ring { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} - -.ts-dropdown-content { - overflow-y: auto; - overflow-x: hidden; - max-height: 200px; - overflow-scrolling: touch; - scroll-behavior: smooth; -} - -.ts-hidden-accessible { - border: 0 !important; - clip: rect(0 0 0 0) !important; - -webkit-clip-path: inset(50%) !important; - clip-path: inset(50%) !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - width: 1px !important; - white-space: nowrap !important; -} - -.ts-wrapper.form-control, -.ts-wrapper.form-select { - padding: 0 !important; - height: auto; - box-shadow: none; - display: flex; -} - -.ts-dropdown, -.ts-dropdown.form-control, -.ts-dropdown.form-select { - height: auto; - padding: 0; - z-index: 1000; - background: #ffffff; - border: 1px solid var(--tblr-border-color-translucent); - border-radius: 4px; - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); -} - -.ts-dropdown .optgroup-header { - font-size: 0.765625rem; - line-height: 1.4285714286; -} -.ts-dropdown .optgroup:first-child:before { - display: none; -} -.ts-dropdown .optgroup:before { - content: " "; - display: block; - height: 0; - margin: 0.5rem 0; - overflow: hidden; - border-top: 1px solid var(--tblr-border-color-translucent); - margin-left: -0.75rem; - margin-right: -0.75rem; -} -.ts-dropdown .create { - padding-left: 0.75rem; -} - -.ts-dropdown-content { - padding: 5px 0; -} - -.ts-control { - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - display: flex; - align-items: center; -} -@media (prefers-reduced-motion: reduce) { - .ts-control { - transition: none; - } -} -.ts-control.dropdown -active { - border-radius: var(--tblr-border-radius); -} -.focus .ts-control { - border-color: #90b5e2; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.ts-control .item { - display: flex; - align-items: center; -} - -.ts-wrapper.is-invalid, -.was-validated .invalid, -.was-validated :invalid + .ts-wrapper { - border-color: #d63939; -} -.ts-wrapper.is-invalid:not(.single), -.was-validated .invalid:not(.single), -.was-validated :invalid + .ts-wrapper:not(.single) { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); - background-position: right calc(0.3571428572em + 0.21875rem) center; - background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); - background-repeat: no-repeat; -} -.ts-wrapper.is-invalid.single, -.was-validated .invalid.single, -.was-validated :invalid + .ts-wrapper.single { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); - background-position: right 0.75rem center, center right 2.25rem; - background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); - background-repeat: no-repeat; -} -.ts-wrapper.is-invalid.focus .ts-control, -.was-validated .invalid.focus .ts-control, -.was-validated :invalid + .ts-wrapper.focus .ts-control { - border-color: #d63939; - box-shadow: 0 0 0 0.25rem rgba(214, 57, 57, 0.25); -} - -.ts-wrapper.is-valid, -.was-validated .valid, -.was-validated :valid + .ts-wrapper { - border-color: #2fb344; -} -.ts-wrapper.is-valid:not(.single), -.was-validated .valid:not(.single), -.was-validated :valid + .ts-wrapper:not(.single) { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); - background-position: right calc(0.3571428572em + 0.21875rem) center; - background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); - background-repeat: no-repeat; -} -.ts-wrapper.is-valid.single, -.was-validated .valid.single, -.was-validated :valid + .ts-wrapper.single { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); - background-position: right 0.75rem center, center right 2.25rem; - background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); - background-repeat: no-repeat; -} -.ts-wrapper.is-valid.focus .ts-control, -.was-validated .valid.focus .ts-control, -.was-validated :valid + .ts-wrapper.focus .ts-control { - border-color: #2fb344; - box-shadow: 0 0 0 0.25rem rgba(47, 179, 68, 0.25); -} - -.ts-wrapper { - min-height: calc(1.4285714286em + 0.875rem + 2px); - display: flex; -} -.input-group-sm > .ts-wrapper, .ts-wrapper.form-select-sm, .ts-wrapper.form-control-sm { - min-height: calc(1.4285714286em + 0.25rem + 2px); -} -.input-group-sm > .ts-wrapper .ts-control, .ts-wrapper.form-select-sm .ts-control, .ts-wrapper.form-control-sm .ts-control { - border-radius: 2px; - font-size: 0.75rem; -} -.input-group-sm > .ts-wrapper.has-items .ts-control, .ts-wrapper.form-select-sm.has-items .ts-control, .ts-wrapper.form-control-sm.has-items .ts-control { - font-size: 0.75rem; - padding-bottom: 0; -} -.input-group-sm > .ts-wrapper.multi.has-items .ts-control, .ts-wrapper.form-select-sm.multi.has-items .ts-control, .ts-wrapper.form-control-sm.multi.has-items .ts-control { - padding-top: calc((calc(1.4285714286em + 0.25rem + 2px) - (1.4285714286 * 0.75rem) - 4px) / 2) !important; -} -.ts-wrapper.multi.has-items .ts-control { - padding-left: calc(0.75rem - 5px); - --ts-pr-min: calc(0.75rem - 5px); -} -.ts-wrapper.multi .ts-control > div { - border-radius: calc(var(--tblr-border-radius) - 1px); -} -.input-group-lg > .ts-wrapper, .ts-wrapper.form-control-lg, .ts-wrapper.form-select-lg { - min-height: calc(1.4285714286em + 1rem + 2px); -} -.input-group-lg > .ts-wrapper .ts-control, .ts-wrapper.form-control-lg .ts-control, .ts-wrapper.form-select-lg .ts-control { - border-radius: 8px; - font-size: 1.25rem; -} - -.ts-wrapper:not(.form-control):not(.form-select) { - padding: 0; - border: none; - height: auto; - box-shadow: none; - background: none; -} -.ts-wrapper:not(.form-control):not(.form-select).single .ts-control { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right 0.75rem center; - background-size: 16px 12px; -} -.ts-wrapper.form-select, .ts-wrapper.single { - --ts-pr-caret: 2.25rem; -} - -.ts-wrapper.form-control .ts-control, .ts-wrapper.form-control.single.input-active .ts-control, -.ts-wrapper.form-select .ts-control, -.ts-wrapper.form-select.single.input-active .ts-control { - border: none !important; -} -.ts-wrapper.form-control:not(.disabled) .ts-control, .ts-wrapper.form-control:not(.disabled).single.input-active .ts-control, -.ts-wrapper.form-select:not(.disabled) .ts-control, -.ts-wrapper.form-select:not(.disabled).single.input-active .ts-control { - background: transparent !important; -} - -.input-group > .ts-wrapper { - flex-grow: 1; -} -.input-group > .ts-wrapper:not(:nth-child(2)) > .ts-control { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.input-group > .ts-wrapper:not(:last-child) > .ts-control { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.ts-input { - color: inherit; -} - -.ts-control { - color: inherit; -} -.ts-control .dropdown-menu { - width: 100%; - height: auto; -} - -.apexcharts-tooltip { - color: var(--tblr-light) !important; - background: var(--tblr-bg-surface-dark) !important; - font-size: 0.765625rem !important; - padding: 0.25rem !important; - box-shadow: none !important; -} - -.apexcharts-tooltip-title { - background: transparent !important; - border: 0 !important; - margin: 0 !important; - font-weight: var(--tblr-font-weight-bold); - padding: 0.25rem 0.5rem !important; -} - -.apexcharts-tooltip-y-group { - padding: 2px 0 !important; -} - -.apexcharts-tooltip-series-group { - padding: 0 0.5rem 0 !important; -} - -.apexcharts-tooltip-marker { - width: 10px !important; - height: 10px !important; -} - -svg { - touch-action: none; -} - -image, text, .jvm-zoomin, .jvm-zoomout { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.jvm-container { - touch-action: none; - position: relative; - overflow: hidden; - height: 100%; - width: 100%; -} - -.jvm-tooltip { - border-radius: 3px; - background-color: #5c5cff; - font-family: sans-serif, Verdana; - font-size: smaller; - box-shadow: 1px 2px 12px rgba(0, 0, 0, 0.2); - padding: 3px 5px; - white-space: nowrap; - position: absolute; - display: none; - color: #FFF; -} - -.jvm-tooltip.active { - display: block; -} - -.jvm-zoom-btn { - border-radius: 3px; - background-color: #292929; - padding: 3px; - box-sizing: border-box; - position: absolute; - line-height: 10px; - cursor: pointer; - color: #FFF; - height: 15px; - width: 15px; - left: 10px; -} - -.jvm-zoom-btn.jvm-zoomout { - top: 30px; -} - -.jvm-zoom-btn.jvm-zoomin { - top: 10px; -} - -.jvm-series-container { - right: 15px; - position: absolute; -} - -.jvm-series-container.jvm-series-h { - bottom: 15px; -} - -.jvm-series-container.jvm-series-v { - top: 15px; -} - -.jvm-series-container .jvm-legend { - background-color: #FFF; - border: 1px solid #e5e7eb; - margin-left: 0.75rem; - border-radius: 0.25rem; - border-color: #e5e7eb; - padding: 0.6rem; - box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); - float: left; -} - -.jvm-series-container .jvm-legend .jvm-legend-title { - line-height: 1; - border-bottom: 1px solid #e5e7eb; - padding-bottom: 0.5rem; - margin-bottom: 0.575rem; - text-align: left; -} - -.jvm-series-container .jvm-legend .jvm-legend-inner { - overflow: hidden; -} - -.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick { - overflow: hidden; - min-width: 40px; -} - -.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick:not(:first-child) { - margin-top: 0.575rem; -} - -.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample { - border-radius: 4px; - margin-right: 0.65rem; - height: 16px; - width: 16px; - float: left; -} - -.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-text { - font-size: 12px; - text-align: center; - float: left; -} - -.jvm-line[animation=true] { - -webkit-animation: jvm-line-animation 10s linear forwards infinite; - animation: jvm-line-animation 10s linear forwards infinite; -} - -@-webkit-keyframes jvm-line-animation { - from { - stroke-dashoffset: 250; - } -} -@keyframes jvm-line-animation { - from { - stroke-dashoffset: 250; - } -} -.jvm-tooltip { - background: #1d273b; - font-family: inherit; - font-size: 0.75rem; - box-shadow: var(--tblr-shadow-card); -} - -.jvm-series-container .jvm-legend .jvm-legend-title { - border-bottom: 0; - font-weight: var(--tblr-font-weight-medium); -} - -.jvm-series-container .jvm-legend { - background-color: var(--tblr-card-bg, var(--tblr-bg-surface)); - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - min-width: 8rem; -} -.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick { - display: flex; - align-items: center; -} -.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample { - width: 0.75rem; - height: 0.75rem; -} - -.jvm-zoom-btn { - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - background: var(--tblr-card-bg, var(--tblr-bg-surface)); - color: var(--tblr-body-color); - padding: 0; - display: flex; - align-items: center; - justify-content: center; - line-height: 1; - width: 1.5rem; - height: 1.5rem; - font-size: 1rem; - box-shadow: var(--tblr-shadow-card); -} -.jvm-zoom-btn.jvm-zoomout { - top: 2.5rem; -} - -.dropzone { - border: 1px dashed var(--tblr-border-color); - color: var(--tblr-muted); - padding: 1rem; -} -.dropzone.dz-drag-hover { - border: 1px dashed var(--tblr-primary); - background: rgba(var(--tblr-primary-rgb), 0.01); - color: var(--tblr-primary); -} -.dropzone.dz-drag-hover .dz-message { - opacity: 1; -} -.dropzone .dz-preview { - margin: 0.5rem; -} -.dropzone .dz-preview .dz-image { - border-radius: var(--tblr-border-radius); -} -.dropzone .dz-preview .dz-success-mark { - height: 54px; -} - -.fslightbox-container { - font-family: inherit !important; - background: rgba(29, 39, 59, 0.24) !important; - -webkit-backdrop-filter: blur(4px) !important; - backdrop-filter: blur(4px) !important; -} - -.fslightbox-slide-number-container { - color: inherit !important; -} - -.fslightbox-slash { - background: currentColor !important; -} - -body { - --plyr-color-main: var(--tblr-primary); -} - -.tox-tinymce { - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; - border-radius: 4px !important; - font-family: var(--tblr-font-sans-serif) !important; -} - -.tox-toolbar__group { - padding: 0 0.5rem 0; -} - -.tox:not(.tox-tinymce-inline) .tox-editor-header { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; - box-shadow: none !important; - padding: 0 !important; -} - -.tox-tbtn { - margin: 0 !important; -} - -.tox-statusbar { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; -} - -.tox .tox-toolbar, -.tox .tox-toolbar__overflow, -.tox .tox-toolbar__primary { - background: transparent !important; -} - -.tox .tox-toolbar-overlord, -.tox:not(.tox-tinymce-inline) .tox-editor-header { - background: transparent !important; -} \ No newline at end of file diff --git a/demo/dist/css/tabler-vendors.min.css b/demo/dist/css/tabler-vendors.min.css deleted file mode 100644 index 5ff5f503e..000000000 --- a/demo/dist/css/tabler-vendors.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.noUi-target{position:relative}.noUi-base,.noUi-connects{width:100%;height:100%;position:relative;z-index:1}.noUi-connects{overflow:hidden;z-index:0}.noUi-connect,.noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;right:0;height:100%;width:100%;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;-webkit-transform-style:preserve-3d;transform-origin:0 0;transform-style:flat}.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{left:0;right:auto}.noUi-vertical .noUi-origin{top:-100%;width:0}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute}.noUi-touch-area{height:100%;width:100%}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;right:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;right:-6px;bottom:-17px}.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{left:-17px;right:auto}.noUi-target{background:#fafafa;border-radius:4px;border:1px solid #d3d3d3;box-shadow:inset 0 1px 1px #f0f0f0,0 3px 6px -5px #bbb}.noUi-connects{border-radius:3px}.noUi-connect{background:#3fb8af}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #d9d9d9;border-radius:3px;background:#fff;cursor:default;box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb}.noUi-active{box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ddd,0 3px 6px -3px #bbb}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#e8e7e6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#b8b8b8}[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#ccc}.noUi-marker-sub{background:#aaa}.noUi-marker-large{background:#aaa}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{transform:translate(-50%,50%)}.noUi-rtl .noUi-value-horizontal{transform:translate(50%,50%)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{transform:translate(0,-50%);padding-left:25px}.noUi-rtl .noUi-value-vertical{transform:translate(0,50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #d9d9d9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{transform:translate(-50%,0);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{transform:translate(0,-50%);top:50%;right:120%}.noUi-horizontal .noUi-origin>.noUi-tooltip{transform:translate(50%,0);left:auto;bottom:10px}.noUi-vertical .noUi-origin>.noUi-tooltip{transform:translate(0,-18px);top:auto;right:28px}.noUi-target{border:0;box-shadow:none;background:0 0;border-radius:0;color:var(--tblr-primary)}.noUi-horizontal{height:1.25rem;padding:.5rem 0}.noUi-base{background:var(--tblr-border-color);border-radius:1rem}.noUi-handle{width:1rem;height:1rem;border:2px var(--tblr-border-style) #fff;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);border-radius:1rem;background:currentColor;outline:0}.noUi-handle:after,.noUi-handle:before{content:none}.noUi-horizontal .noUi-handle{width:1rem;height:1rem;top:-.5rem;right:-.5rem;margin:1px 1px 0 0}.noUi-handle.noUi-active,.noUi-handle:focus{box-shadow:0 0 0 1px #f1f5f9,0 0 0 .25rem rgba(32,107,196,.25)}.noUi-connect{background:currentColor}.litepicker{--litepicker-month-weekday-color:var(--tblr-muted);--litepicker-button-prev-month-color:var(--tblr-muted);--litepicker-button-next-month-color:var(--tblr-muted);--litepicker-button-prev-month-color-hover:var(--tblr-primary);--litepicker-button-next-month-color-hover:var(--tblr-primary);--litepicker-day-color:var(--tblr-body-color);--litepicker-day-color-hover:var(--tblr-primary);--litepicker-is-end-color-bg:var(--tblr-primary);--litepicker-is-today-color:var(--tblr-primary);--litepicker-month-header-color:var(--tblr-body-color);--litepicker-container-months-color-bg:var(--tblr-bg-surface);font:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.litepicker svg{fill:none!important}.litepicker .container__main{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:none}.litepicker .container__months .month-item-name,.litepicker .container__months .month-item-year{font-weight:var(--tblr-font-weight-medium)!important}.litepicker .container__months .button-next-month,.litepicker .container__months .button-prev-month{cursor:pointer!important}.litepicker .container__months .month-item-weekdays-row>div{padding:.5rem 0!important;font-size:.75rem}.litepicker .container__days .day-item{cursor:pointer!important;padding:.5rem 0!important;transition:color .3s,background-color .3s,border-color .3s}@media (prefers-reduced-motion:reduce){.litepicker .container__days .day-item{transition:none}}.datepicker-inline .litepicker .container__months{box-shadow:none;background-color:var(--tblr-bg-forms)}:root{--ts-pr-clear-button:0;--ts-pr-caret:0;--ts-pr-min:.75rem}.ts-wrapper.single .ts-control,.ts-wrapper.single .ts-control input{cursor:pointer}.ts-control{padding-right:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-wrapper.plugin-drag_drop.multi>.ts-control>div.ui-sortable-placeholder{visibility:visible!important;background:#f2f2f2!important;background:rgba(0,0,0,.06)!important;border:0 none!important;box-shadow:inset 0 0 12px 4px #fff}.ts-wrapper.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.ts-wrapper.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,.2)}.plugin-checkbox_options .option input{margin-right:.5rem}.plugin-clear_button{--ts-pr-clear-button:1em}.plugin-clear_button .clear-button{opacity:0;position:absolute;top:50%;transform:translateY(-50%);right:calc(.75rem - 5px);margin-right:0!important;background:0 0!important;transition:opacity .5s;cursor:pointer}.plugin-clear_button.form-select .clear-button,.plugin-clear_button.single .clear-button{right:max(var(--ts-pr-caret),.75rem)}.plugin-clear_button.focus.has-items .clear-button,.plugin-clear_button:not(.disabled):hover.has-items .clear-button{opacity:1}.ts-wrapper .dropdown-header{position:relative;padding:6px .75rem;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:var(--tblr-border-radius) var(--tblr-border-radius) 0 0}.ts-wrapper .dropdown-header-close{position:absolute;right:.75rem;top:50%;color:#1d273b;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.ts-wrapper .dropdown-header-close:hover{color:#000}.plugin-dropdown_input.focus.dropdown-active .ts-control{box-shadow:none;border:1px solid var(--tblr-border-color);box-shadow:inset 0 1px 2px rgba(0,0,0,.075)}.plugin-dropdown_input .dropdown-input{border:1px solid #d0d0d0;border-width:0 0 1px 0;display:block;padding:.4375rem .75rem;box-shadow:none;width:100%;background:0 0}.plugin-dropdown_input.focus .ts-dropdown .dropdown-input{border-color:#90b5e2;outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.plugin-dropdown_input .items-placeholder{border:0 none!important;box-shadow:none!important;width:100%}.plugin-dropdown_input.dropdown-active .items-placeholder,.plugin-dropdown_input.has-items .items-placeholder{display:none!important}.ts-wrapper.plugin-input_autogrow.has-items .ts-control>input{min-width:0}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input{flex:none;min-width:4px}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-webkit-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-moz-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input:-ms-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-ms-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::placeholder{color:transparent}.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content{display:flex}.ts-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.ts-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.ts-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.ts-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.ts-wrapper.plugin-remove_button .item{display:inline-flex;align-items:center;padding-right:0!important}.ts-wrapper.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:0 5px;border-radius:0 2px 2px 0;box-sizing:border-box}.ts-wrapper.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,.05)}.ts-wrapper.plugin-remove_button.disabled .item .remove:hover{background:0 0}.ts-wrapper.plugin-remove_button .remove-single{position:absolute;right:0;top:0;font-size:23px}.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove{border-left:1px solid #e6e7e9;margin-left:5px}.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove{border-left-color:transparent}.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove{border-left-color:#fff}.ts-wrapper.plugin-remove_button.rtl .item .remove{border-right:1px solid #e6e7e9;margin-right:5px}.ts-wrapper.plugin-remove_button.rtl .item.active .remove{border-right-color:transparent}.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove{border-right-color:#fff}.ts-wrapper{position:relative}.ts-control,.ts-control input,.ts-dropdown{color:#1d273b;font-family:inherit;font-size:inherit;line-height:1.4285714286;font-smoothing:inherit}.ts-control,.ts-wrapper.single.input-active .ts-control{background:var(--tblr-bg-forms);cursor:text}.ts-control{border:1px solid var(--tblr-border-color);padding:.4375rem .75rem;width:100%;overflow:hidden;position:relative;z-index:1;box-sizing:border-box;box-shadow:none;border-radius:var(--tblr-border-radius);display:flex;flex-wrap:wrap}.ts-wrapper.multi.has-items .ts-control{padding:calc(.4375rem - 1px - 0px) .75rem calc(.4375rem - 1px - 3px - 0px)}.full .ts-control{background-color:var(--tblr-bg-forms)}.disabled .ts-control,.disabled .ts-control *{cursor:default!important}.focus .ts-control{box-shadow:none}.ts-control>*{vertical-align:baseline;display:inline-block}.ts-wrapper.multi .ts-control>div{cursor:pointer;margin:0 3px 3px 0;padding:1px 5px;background:#efefef;color:#1d273b;border:0 solid #e6e7e9}.ts-wrapper.multi .ts-control>div.active{background:#206bc4;color:#fff;border:0 solid transparent}.ts-wrapper.multi.disabled .ts-control>div,.ts-wrapper.multi.disabled .ts-control>div.active{color:#797979;background:#fff;border:0 solid #fff}.ts-control>input{flex:1 1 auto;min-width:7rem;display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0!important;text-indent:0!important;border:0 none!important;background:0 0!important;line-height:inherit!important;-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important;box-shadow:none!important}.ts-control>input::-ms-clear{display:none}.ts-control>input:focus{outline:0!important}.has-items .ts-control>input{margin:0 4px!important}.ts-control.rtl{text-align:right}.ts-control.rtl.single .ts-control:after{left:calc(.75rem + 5px);right:auto}.ts-control.rtl .ts-control>input{margin:0 4px 0 -2px!important}.disabled .ts-control{opacity:.5;background-color:var(--tblr-gray-100)}.input-hidden .ts-control>input{opacity:0;position:absolute;left:-10000px}.ts-dropdown{position:absolute;top:100%;left:0;width:100%;z-index:10;border:1px solid #d0d0d0;background:#fff;margin:.25rem 0 0 0;border-top:0 none;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:0 0 var(--tblr-border-radius) var(--tblr-border-radius)}.ts-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.ts-dropdown [data-selectable] .highlight{background:rgba(255,237,40,.4);border-radius:1px}.ts-dropdown .create,.ts-dropdown .no-results,.ts-dropdown .optgroup-header,.ts-dropdown .option{padding:3px .75rem}.ts-dropdown .option,.ts-dropdown [data-disabled],.ts-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.ts-dropdown [data-selectable].option{opacity:1;cursor:pointer}.ts-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.ts-dropdown .optgroup-header{color:#49566c;background:#fff;cursor:default}.ts-dropdown .active{background-color:rgba(var(--tblr-muted-rgb),.04);color:inherit}.ts-dropdown .active.create{color:inherit}.ts-dropdown .create{color:rgba(29,39,59,.5)}.ts-dropdown .spinner{display:inline-block;width:30px;height:30px;margin:3px .75rem}.ts-dropdown .spinner:after{content:" ";display:block;width:24px;height:24px;margin:3px;border-radius:50%;border:5px solid #d0d0d0;border-color:#d0d0d0 transparent #d0d0d0 transparent;-webkit-animation:lds-dual-ring 1.2s linear infinite;animation:lds-dual-ring 1.2s linear infinite}@-webkit-keyframes lds-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes lds-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.ts-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;overflow-scrolling:touch;scroll-behavior:smooth}.ts-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.ts-wrapper.form-control,.ts-wrapper.form-select{padding:0!important;height:auto;box-shadow:none;display:flex}.ts-dropdown,.ts-dropdown.form-control,.ts-dropdown.form-select{height:auto;padding:0;z-index:1000;background:#fff;border:1px solid var(--tblr-border-color-translucent);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.ts-dropdown .optgroup-header{font-size:.765625rem;line-height:1.4285714286}.ts-dropdown .optgroup:first-child:before{display:none}.ts-dropdown .optgroup:before{content:" ";display:block;height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid var(--tblr-border-color-translucent);margin-left:-.75rem;margin-right:-.75rem}.ts-dropdown .create{padding-left:.75rem}.ts-dropdown-content{padding:5px 0}.ts-control{transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:flex;align-items:center}@media (prefers-reduced-motion:reduce){.ts-control{transition:none}}.ts-control.dropdown -active{border-radius:var(--tblr-border-radius)}.focus .ts-control{border-color:#90b5e2;outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.ts-control .item{display:flex;align-items:center}.ts-wrapper.is-invalid,.was-validated .invalid,.was-validated :invalid+.ts-wrapper{border-color:#d63939}.ts-wrapper.is-invalid:not(.single),.was-validated .invalid:not(.single),.was-validated :invalid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:right calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-invalid.single,.was-validated .invalid.single,.was-validated :invalid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-invalid.focus .ts-control,.was-validated .invalid.focus .ts-control,.was-validated :invalid+.ts-wrapper.focus .ts-control{border-color:#d63939;box-shadow:0 0 0 .25rem rgba(214,57,57,.25)}.ts-wrapper.is-valid,.was-validated .valid,.was-validated :valid+.ts-wrapper{border-color:#2fb344}.ts-wrapper.is-valid:not(.single),.was-validated .valid:not(.single),.was-validated :valid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:right calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-valid.single,.was-validated .valid.single,.was-validated :valid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-valid.focus .ts-control,.was-validated .valid.focus .ts-control,.was-validated :valid+.ts-wrapper.focus .ts-control{border-color:#2fb344;box-shadow:0 0 0 .25rem rgba(47,179,68,.25)}.ts-wrapper{min-height:calc(1.4285714286em + .875rem + 2px);display:flex}.input-group-sm>.ts-wrapper,.ts-wrapper.form-control-sm,.ts-wrapper.form-select-sm{min-height:calc(1.4285714286em + .25rem + 2px)}.input-group-sm>.ts-wrapper .ts-control,.ts-wrapper.form-control-sm .ts-control,.ts-wrapper.form-select-sm .ts-control{border-radius:2px;font-size:.75rem}.input-group-sm>.ts-wrapper.has-items .ts-control,.ts-wrapper.form-control-sm.has-items .ts-control,.ts-wrapper.form-select-sm.has-items .ts-control{font-size:.75rem;padding-bottom:0}.input-group-sm>.ts-wrapper.multi.has-items .ts-control,.ts-wrapper.form-control-sm.multi.has-items .ts-control,.ts-wrapper.form-select-sm.multi.has-items .ts-control{padding-top:calc((calc(1.4285714286em + .25rem + 2px) - (1.4285714286 * .75rem) - 4px)/ 2)!important}.ts-wrapper.multi.has-items .ts-control{padding-left:calc(.75rem - 5px);--ts-pr-min:calc(0.75rem - 5px)}.ts-wrapper.multi .ts-control>div{border-radius:calc(var(--tblr-border-radius) - 1px)}.input-group-lg>.ts-wrapper,.ts-wrapper.form-control-lg,.ts-wrapper.form-select-lg{min-height:calc(1.4285714286em + 1rem + 2px)}.input-group-lg>.ts-wrapper .ts-control,.ts-wrapper.form-control-lg .ts-control,.ts-wrapper.form-select-lg .ts-control{border-radius:8px;font-size:1.25rem}.ts-wrapper:not(.form-control):not(.form-select){padding:0;border:none;height:auto;box-shadow:none;background:0 0}.ts-wrapper:not(.form-control):not(.form-select).single .ts-control{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px}.ts-wrapper.form-select,.ts-wrapper.single{--ts-pr-caret:2.25rem}.ts-wrapper.form-control .ts-control,.ts-wrapper.form-control.single.input-active .ts-control,.ts-wrapper.form-select .ts-control,.ts-wrapper.form-select.single.input-active .ts-control{border:none!important}.ts-wrapper.form-control:not(.disabled) .ts-control,.ts-wrapper.form-control:not(.disabled).single.input-active .ts-control,.ts-wrapper.form-select:not(.disabled) .ts-control,.ts-wrapper.form-select:not(.disabled).single.input-active .ts-control{background:0 0!important}.input-group>.ts-wrapper{flex-grow:1}.input-group>.ts-wrapper:not(:nth-child(2))>.ts-control{border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.ts-wrapper:not(:last-child)>.ts-control{border-top-right-radius:0;border-bottom-right-radius:0}.ts-input{color:inherit}.ts-control{color:inherit}.ts-control .dropdown-menu{width:100%;height:auto}.apexcharts-tooltip{color:var(--tblr-light)!important;background:var(--tblr-bg-surface-dark)!important;font-size:.765625rem!important;padding:.25rem!important;box-shadow:none!important}.apexcharts-tooltip-title{background:0 0!important;border:0!important;margin:0!important;font-weight:var(--tblr-font-weight-bold);padding:.25rem .5rem!important}.apexcharts-tooltip-y-group{padding:2px 0!important}.apexcharts-tooltip-series-group{padding:0 .5rem 0!important}.apexcharts-tooltip-marker{width:10px!important;height:10px!important}svg{touch-action:none}.jvm-zoomin,.jvm-zoomout,image,text{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jvm-container{touch-action:none;position:relative;overflow:hidden;height:100%;width:100%}.jvm-tooltip{border-radius:3px;background-color:#5c5cff;font-family:sans-serif,Verdana;font-size:smaller;box-shadow:1px 2px 12px rgba(0,0,0,.2);padding:3px 5px;white-space:nowrap;position:absolute;display:none;color:#fff}.jvm-tooltip.active{display:block}.jvm-zoom-btn{border-radius:3px;background-color:#292929;padding:3px;box-sizing:border-box;position:absolute;line-height:10px;cursor:pointer;color:#fff;height:15px;width:15px;left:10px}.jvm-zoom-btn.jvm-zoomout{top:30px}.jvm-zoom-btn.jvm-zoomin{top:10px}.jvm-series-container{right:15px;position:absolute}.jvm-series-container.jvm-series-h{bottom:15px}.jvm-series-container.jvm-series-v{top:15px}.jvm-series-container .jvm-legend{background-color:#fff;border:1px solid #e5e7eb;margin-left:.75rem;border-radius:.25rem;border-color:#e5e7eb;padding:.6rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);float:left}.jvm-series-container .jvm-legend .jvm-legend-title{line-height:1;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem;margin-bottom:.575rem;text-align:left}.jvm-series-container .jvm-legend .jvm-legend-inner{overflow:hidden}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick{overflow:hidden;min-width:40px}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick:not(:first-child){margin-top:.575rem}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample{border-radius:4px;margin-right:.65rem;height:16px;width:16px;float:left}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-text{font-size:12px;text-align:center;float:left}.jvm-line[animation=true]{-webkit-animation:jvm-line-animation 10s linear forwards infinite;animation:jvm-line-animation 10s linear forwards infinite}@-webkit-keyframes jvm-line-animation{from{stroke-dashoffset:250}}@keyframes jvm-line-animation{from{stroke-dashoffset:250}}.jvm-tooltip{background:#1d273b;font-family:inherit;font-size:.75rem;box-shadow:var(--tblr-shadow-card)}.jvm-series-container .jvm-legend .jvm-legend-title{border-bottom:0;font-weight:var(--tblr-font-weight-medium)}.jvm-series-container .jvm-legend{background-color:var(--tblr-card-bg,var(--tblr-bg-surface));border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);min-width:8rem}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick{display:flex;align-items:center}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample{width:.75rem;height:.75rem}.jvm-zoom-btn{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background:var(--tblr-card-bg,var(--tblr-bg-surface));color:var(--tblr-body-color);padding:0;display:flex;align-items:center;justify-content:center;line-height:1;width:1.5rem;height:1.5rem;font-size:1rem;box-shadow:var(--tblr-shadow-card)}.jvm-zoom-btn.jvm-zoomout{top:2.5rem}.dropzone{border:1px dashed var(--tblr-border-color);color:var(--tblr-muted);padding:1rem}.dropzone.dz-drag-hover{border:1px dashed var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.01);color:var(--tblr-primary)}.dropzone.dz-drag-hover .dz-message{opacity:1}.dropzone .dz-preview{margin:.5rem}.dropzone .dz-preview .dz-image{border-radius:var(--tblr-border-radius)}.dropzone .dz-preview .dz-success-mark{height:54px}.fslightbox-container{font-family:inherit!important;background:rgba(29,39,59,.24)!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.fslightbox-slide-number-container{color:inherit!important}.fslightbox-slash{background:currentColor!important}body{--plyr-color-main:var(--tblr-primary)}.tox-tinymce{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;border-radius:4px!important;font-family:var(--tblr-font-sans-serif)!important}.tox-toolbar__group{padding:0 .5rem 0}.tox:not(.tox-tinymce-inline) .tox-editor-header{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;box-shadow:none!important;padding:0!important}.tox-tbtn{margin:0!important}.tox-statusbar{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:0 0!important}.tox .tox-toolbar-overlord,.tox:not(.tox-tinymce-inline) .tox-editor-header{background:0 0!important} \ No newline at end of file diff --git a/demo/dist/css/tabler-vendors.rtl.css b/demo/dist/css/tabler-vendors.rtl.css deleted file mode 100644 index 0407b9640..000000000 --- a/demo/dist/css/tabler-vendors.rtl.css +++ /dev/null @@ -1,1378 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -/* Functional styling; - * These styles are required for noUiSlider to function. - * You don't need to change these rules to apply your design. - */ -.noUi-target, -.noUi-target * { - -webkit-touch-callout: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -webkit-user-select: none; - touch-action: none; - -ms-user-select: none; - -moz-user-select: none; - user-select: none; - box-sizing: border-box; -} - -.noUi-target { - position: relative; -} - -.noUi-base, -.noUi-connects { - width: 100%; - height: 100%; - position: relative; - z-index: 1; -} - -/* Wrapper for all connect elements. - */ -.noUi-connects { - overflow: hidden; - z-index: 0; -} - -.noUi-connect, -.noUi-origin { - will-change: transform; - position: absolute; - z-index: 1; - top: 0; - left: 0; - height: 100%; - width: 100%; - -ms-transform-origin: 100% 0; - -webkit-transform-origin: 100% 0; - -webkit-transform-style: preserve-3d; - transform-origin: 100% 0; - transform-style: flat; -} - -/* Offset direction - */ -.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin { - right: 0; - left: auto; -} - -/* Give origins 0 height/width so they don't interfere with clicking the - * connect elements. - */ -.noUi-vertical .noUi-origin { - top: -100%; - width: 0; -} - -.noUi-horizontal .noUi-origin { - height: 0; -} - -.noUi-handle { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - position: absolute; -} - -.noUi-touch-area { - height: 100%; - width: 100%; -} - -.noUi-state-tap .noUi-connect, -.noUi-state-tap .noUi-origin { - transition: transform 0.3s; -} - -.noUi-state-drag * { - cursor: inherit !important; -} - -/* Slider size and handle placement; - */ -.noUi-horizontal { - height: 18px; -} - -.noUi-horizontal .noUi-handle { - width: 34px; - height: 28px; - left: -17px; - top: -6px; -} - -.noUi-vertical { - width: 18px; -} - -.noUi-vertical .noUi-handle { - width: 28px; - height: 34px; - left: -6px; - bottom: -17px; -} - -.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle { - right: -17px; - left: auto; -} - -/* Styling; - * Giving the connect element a border radius causes issues with using transform: scale - */ -.noUi-target { - background: #FAFAFA; - border-radius: 4px; - border: 1px solid #D3D3D3; - box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; -} - -.noUi-connects { - border-radius: 3px; -} - -.noUi-connect { - background: #3FB8AF; -} - -/* Handles and cursors; - */ -.noUi-draggable { - cursor: ew-resize; -} - -.noUi-vertical .noUi-draggable { - cursor: ns-resize; -} - -.noUi-handle { - border: 1px solid #D9D9D9; - border-radius: 3px; - background: #FFF; - cursor: default; - box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB; -} - -.noUi-active { - box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB; -} - -/* Handle stripes; - */ -.noUi-handle:before, -.noUi-handle:after { - content: ""; - display: block; - position: absolute; - height: 14px; - width: 1px; - background: #E8E7E6; - right: 14px; - top: 6px; -} - -.noUi-handle:after { - right: 17px; -} - -.noUi-vertical .noUi-handle:before, -.noUi-vertical .noUi-handle:after { - width: 14px; - height: 1px; - right: 6px; - top: 14px; -} - -.noUi-vertical .noUi-handle:after { - top: 17px; -} - -/* Disabled state; - */ -[disabled] .noUi-connect { - background: #B8B8B8; -} - -[disabled].noUi-target, -[disabled].noUi-handle, -[disabled] .noUi-handle { - cursor: not-allowed; -} - -/* Base; - * - */ -.noUi-pips, -.noUi-pips * { - box-sizing: border-box; -} - -.noUi-pips { - position: absolute; - color: #999; -} - -/* Values; - * - */ -.noUi-value { - position: absolute; - white-space: nowrap; - text-align: center; -} - -.noUi-value-sub { - color: #ccc; - font-size: 10px; -} - -/* Markings; - * - */ -.noUi-marker { - position: absolute; - background: #CCC; -} - -.noUi-marker-sub { - background: #AAA; -} - -.noUi-marker-large { - background: #AAA; -} - -/* Horizontal layout; - * - */ -.noUi-pips-horizontal { - padding: 10px 0; - height: 80px; - top: 100%; - right: 0; - width: 100%; -} - -.noUi-value-horizontal { - transform: translate(50%, 50%); -} - -.noUi-rtl .noUi-value-horizontal { - transform: translate(-50%, 50%); -} - -.noUi-marker-horizontal.noUi-marker { - margin-right: -1px; - width: 2px; - height: 5px; -} - -.noUi-marker-horizontal.noUi-marker-sub { - height: 10px; -} - -.noUi-marker-horizontal.noUi-marker-large { - height: 15px; -} - -/* Vertical layout; - * - */ -.noUi-pips-vertical { - padding: 0 10px; - height: 100%; - top: 0; - right: 100%; -} - -.noUi-value-vertical { - transform: translate(0, -50%); - padding-right: 25px; -} - -.noUi-rtl .noUi-value-vertical { - transform: translate(0, 50%); -} - -.noUi-marker-vertical.noUi-marker { - width: 5px; - height: 2px; - margin-top: -1px; -} - -.noUi-marker-vertical.noUi-marker-sub { - width: 10px; -} - -.noUi-marker-vertical.noUi-marker-large { - width: 15px; -} - -.noUi-tooltip { - display: block; - position: absolute; - border: 1px solid #D9D9D9; - border-radius: 3px; - background: #fff; - color: #000; - padding: 5px; - text-align: center; - white-space: nowrap; -} - -.noUi-horizontal .noUi-tooltip { - transform: translate(50%, 0); - right: 50%; - bottom: 120%; -} - -.noUi-vertical .noUi-tooltip { - transform: translate(0, -50%); - top: 50%; - left: 120%; -} - -.noUi-horizontal .noUi-origin > .noUi-tooltip { - transform: translate(-50%, 0); - right: auto; - bottom: 10px; -} - -.noUi-vertical .noUi-origin > .noUi-tooltip { - transform: translate(0, -18px); - top: auto; - left: 28px; -} - -.noUi-target { - border: 0; - box-shadow: none; - background: none; - border-radius: 0; - color: var(--tblr-primary); -} - -.noUi-horizontal { - height: 1.25rem; - padding: 0.5rem 0; -} - -.noUi-base { - background: var(--tblr-border-color); - border-radius: 1rem; -} - -.noUi-handle { - width: 1rem; - height: 1rem; - border: 2px var(--tblr-border-style) #ffffff; - box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); - border-radius: 1rem; - background: currentColor; - outline: 0; -} -.noUi-handle:before, .noUi-handle:after { - content: none; -} -.noUi-horizontal .noUi-handle { - width: 1rem; - height: 1rem; - top: -0.5rem; - left: -0.5rem; - margin: 1px 0 0 1px; -} -.noUi-handle.noUi-active, .noUi-handle:focus { - box-shadow: 0 0 0 1px #f1f5f9, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} - -.noUi-connect { - background: currentColor; -} - -.litepicker { - --litepicker-month-weekday-color: var(--tblr-muted); - --litepicker-button-prev-month-color: var(--tblr-muted); - --litepicker-button-next-month-color: var(--tblr-muted); - --litepicker-button-prev-month-color-hover: var(--tblr-primary); - --litepicker-button-next-month-color-hover: var(--tblr-primary); - --litepicker-day-color: var(--tblr-body-color); - --litepicker-day-color-hover: var(--tblr-primary); - --litepicker-is-end-color-bg: var(--tblr-primary); - --litepicker-is-today-color: var(--tblr-primary); - --litepicker-month-header-color: var(--tblr-body-color); - --litepicker-container-months-color-bg: var(--tblr-bg-surface); - font: inherit; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.litepicker svg { - fill: none !important; -} -.litepicker .container__main { - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: var(--tblr-border-radius); - box-shadow: none; -} -.litepicker .container__months .month-item-name, -.litepicker .container__months .month-item-year { - font-weight: var(--tblr-font-weight-medium) !important; -} -.litepicker .container__months .button-next-month, -.litepicker .container__months .button-prev-month { - cursor: pointer !important; -} -.litepicker .container__months .month-item-weekdays-row > div { - padding: 0.5rem 0 !important; - font-size: 0.75rem; -} -.litepicker .container__days .day-item { - cursor: pointer !important; - padding: 0.5rem 0 !important; - transition: color 0.3s, background-color 0.3s, border-color 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .litepicker .container__days .day-item { - transition: none; - } -} -.datepicker-inline .litepicker .container__months { - box-shadow: none; - background-color: var(--tblr-bg-forms); -} - -/** - * Tom Select bootstrap 5 - */ -/** - * tom-select.css (v//@@version) - * Copyright (c) contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this - * file except in compliance with the License. You may obtain a copy of the License at: - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under - * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF - * ANY KIND, either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - * - */ -:root { - --ts-pr-clear-button: 0; - --ts-pr-caret: 0; - --ts-pr-min: .75rem; -} - -.ts-wrapper.single .ts-control, .ts-wrapper.single .ts-control input { - cursor: pointer; -} - -.ts-control { - padding-left: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important; -} - -.ts-wrapper.plugin-drag_drop.multi > .ts-control > div.ui-sortable-placeholder { - visibility: visible !important; - background: #f2f2f2 !important; - background: rgba(0, 0, 0, 0.06) !important; - border: 0 none !important; - box-shadow: inset 0 0 12px 4px #fff; -} -.ts-wrapper.plugin-drag_drop .ui-sortable-placeholder::after { - content: "!"; - visibility: hidden; -} -.ts-wrapper.plugin-drag_drop .ui-sortable-helper { - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); -} - -.plugin-checkbox_options .option input { - margin-left: 0.5rem; -} - -.plugin-clear_button { - --ts-pr-clear-button: 1em; -} -.plugin-clear_button .clear-button { - opacity: 0; - position: absolute; - top: 50%; - transform: translateY(-50%); - left: calc(0.75rem - 5px); - margin-left: 0 !important; - background: transparent !important; - transition: opacity 0.5s; - cursor: pointer; -} -.plugin-clear_button.form-select .clear-button, .plugin-clear_button.single .clear-button { - left: max( var(--ts-pr-caret), 0.75rem); -} -.plugin-clear_button.focus.has-items .clear-button, .plugin-clear_button:not(.disabled):hover.has-items .clear-button { - opacity: 1; -} - -.ts-wrapper .dropdown-header { - position: relative; - padding: 6px 0.75rem; - border-bottom: 1px solid #d0d0d0; - background: #f8f8f8; - border-radius: var(--tblr-border-radius) var(--tblr-border-radius) 0 0; -} -.ts-wrapper .dropdown-header-close { - position: absolute; - left: 0.75rem; - top: 50%; - color: #1d273b; - opacity: 0.4; - margin-top: -12px; - line-height: 20px; - font-size: 20px !important; -} -.ts-wrapper .dropdown-header-close:hover { - color: black; -} - -.plugin-dropdown_input.focus.dropdown-active .ts-control { - box-shadow: none; - border: 1px solid var(--tblr-border-color); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); -} -.plugin-dropdown_input .dropdown-input { - border: 1px solid #d0d0d0; - border-width: 0 0 1px 0; - display: block; - padding: 0.4375rem 0.75rem; - box-shadow: none; - width: 100%; - background: transparent; -} -.plugin-dropdown_input.focus .ts-dropdown .dropdown-input { - border-color: #90b5e2; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.plugin-dropdown_input .items-placeholder { - border: 0 none !important; - box-shadow: none !important; - width: 100%; -} -.plugin-dropdown_input.has-items .items-placeholder, .plugin-dropdown_input.dropdown-active .items-placeholder { - display: none !important; -} - -.ts-wrapper.plugin-input_autogrow.has-items .ts-control > input { - min-width: 0; -} -.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input { - flex: none; - min-width: 4px; -} -.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-webkit-input-placeholder { - color: transparent; -} -.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-moz-placeholder { - color: transparent; -} -.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input:-ms-input-placeholder { - color: transparent; -} -.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::-ms-input-placeholder { - color: transparent; -} -.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder { - color: transparent; -} - -.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content { - display: flex; -} -.ts-dropdown.plugin-optgroup_columns .optgroup { - border-left: 1px solid #f2f2f2; - border-top: 0 none; - flex-grow: 1; - flex-basis: 0; - min-width: 0; -} -.ts-dropdown.plugin-optgroup_columns .optgroup:last-child { - border-left: 0 none; -} -.ts-dropdown.plugin-optgroup_columns .optgroup:before { - display: none; -} -.ts-dropdown.plugin-optgroup_columns .optgroup-header { - border-top: 0 none; -} - -.ts-wrapper.plugin-remove_button .item { - display: inline-flex; - align-items: center; - padding-left: 0 !important; -} -.ts-wrapper.plugin-remove_button .item .remove { - color: inherit; - text-decoration: none; - vertical-align: middle; - display: inline-block; - padding: 0 5px; - border-radius: 2px 0 0 2px; - box-sizing: border-box; -} -.ts-wrapper.plugin-remove_button .item .remove:hover { - background: rgba(0, 0, 0, 0.05); -} -.ts-wrapper.plugin-remove_button.disabled .item .remove:hover { - background: none; -} -.ts-wrapper.plugin-remove_button .remove-single { - position: absolute; - left: 0; - top: 0; - font-size: 23px; -} - -.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove { - border-right: 1px solid #e6e7e9; - margin-right: 5px; -} -.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove { - border-right-color: rgba(0, 0, 0, 0); -} -.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove { - border-right-color: white; -} - -.ts-wrapper.plugin-remove_button.rtl .item .remove { - border-left: 1px solid #e6e7e9; - margin-left: 5px; -} -.ts-wrapper.plugin-remove_button.rtl .item.active .remove { - border-left-color: rgba(0, 0, 0, 0); -} -.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove { - border-left-color: white; -} - -.ts-wrapper { - position: relative; -} - -.ts-dropdown, -.ts-control, -.ts-control input { - color: #1d273b; - font-family: inherit; - font-size: inherit; - line-height: 1.4285714286; - font-smoothing: inherit; -} - -.ts-control, -.ts-wrapper.single.input-active .ts-control { - background: var(--tblr-bg-forms); - cursor: text; -} - -.ts-control { - border: 1px solid var(--tblr-border-color); - padding: 0.4375rem 0.75rem; - width: 100%; - overflow: hidden; - position: relative; - z-index: 1; - box-sizing: border-box; - box-shadow: none; - border-radius: var(--tblr-border-radius); - display: flex; - flex-wrap: wrap; -} -.ts-wrapper.multi.has-items .ts-control { - padding: calc( 0.4375rem - 1px - 0px) 0.75rem calc( 0.4375rem - 1px - 3px - 0px); -} -.full .ts-control { - background-color: var(--tblr-bg-forms); -} -.disabled .ts-control, .disabled .ts-control * { - cursor: default !important; -} -.focus .ts-control { - box-shadow: none; -} -.ts-control > * { - vertical-align: baseline; - display: inline-block; -} -.ts-wrapper.multi .ts-control > div { - cursor: pointer; - margin: 0 0 3px 3px; - padding: 1px 5px; - background: #efefef; - color: #1d273b; - border: 0px solid #e6e7e9; -} -.ts-wrapper.multi .ts-control > div.active { - background: #206bc4; - color: #fff; - border: 0px solid rgba(0, 0, 0, 0); -} -.ts-wrapper.multi.disabled .ts-control > div, .ts-wrapper.multi.disabled .ts-control > div.active { - color: #797979; - background: white; - border: 0px solid white; -} -.ts-control > input { - flex: 1 1 auto; - min-width: 7rem; - display: inline-block !important; - padding: 0 !important; - min-height: 0 !important; - max-height: none !important; - max-width: 100% !important; - margin: 0 !important; - text-indent: 0 !important; - border: 0 none !important; - background: none !important; - line-height: inherit !important; - -webkit-user-select: auto !important; - -moz-user-select: auto !important; - -ms-user-select: auto !important; - user-select: auto !important; - box-shadow: none !important; -} -.ts-control > input::-ms-clear { - display: none; -} -.ts-control > input:focus { - outline: none !important; -} -.has-items .ts-control > input { - margin: 0px 4px !important; -} -.ts-control.rtl { - text-align: left; -} -.ts-control.rtl.single .ts-control:after { - right: calc(0.75rem + 5px); - left: auto; -} -.ts-control.rtl .ts-control > input { - margin: 0px -2px 0px 4px !important; -} -.disabled .ts-control { - opacity: 0.5; - background-color: var(--tblr-gray-100); -} -.input-hidden .ts-control > input { - opacity: 0; - position: absolute; - right: -10000px; -} - -.ts-dropdown { - position: absolute; - top: 100%; - right: 0; - width: 100%; - z-index: 10; - border: 1px solid #d0d0d0; - background: #ffffff; - margin: 0.25rem 0 0 0; - border-top: 0 none; - box-sizing: border-box; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); - border-radius: 0 0 var(--tblr-border-radius) var(--tblr-border-radius); -} -.ts-dropdown [data-selectable] { - cursor: pointer; - overflow: hidden; -} -.ts-dropdown [data-selectable] .highlight { - background: rgba(255, 237, 40, 0.4); - border-radius: 1px; -} -.ts-dropdown .option, -.ts-dropdown .optgroup-header, -.ts-dropdown .no-results, -.ts-dropdown .create { - padding: 3px 0.75rem; -} -.ts-dropdown .option, .ts-dropdown [data-disabled], .ts-dropdown [data-disabled] [data-selectable].option { - cursor: inherit; - opacity: 0.5; -} -.ts-dropdown [data-selectable].option { - opacity: 1; - cursor: pointer; -} -.ts-dropdown .optgroup:first-child .optgroup-header { - border-top: 0 none; -} -.ts-dropdown .optgroup-header { - color: #49566c; - background: #ffffff; - cursor: default; -} -.ts-dropdown .active { - background-color: rgba(var(--tblr-muted-rgb), 0.04); - color: inherit; -} -.ts-dropdown .active.create { - color: inherit; -} -.ts-dropdown .create { - color: rgba(29, 39, 59, 0.5); -} -.ts-dropdown .spinner { - display: inline-block; - width: 30px; - height: 30px; - margin: 3px 0.75rem; -} -.ts-dropdown .spinner:after { - content: " "; - display: block; - width: 24px; - height: 24px; - margin: 3px; - border-radius: 50%; - border: 5px solid #d0d0d0; - border-color: #d0d0d0 transparent #d0d0d0 transparent; - -webkit-animation: lds-dual-ring 1.2s linear infinite; - animation: lds-dual-ring 1.2s linear infinite; -} -@-webkit-keyframes lds-dual-ring { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(-360deg); - } -} -@keyframes lds-dual-ring { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(-360deg); - } -} - -.ts-dropdown-content { - overflow-y: auto; - overflow-x: hidden; - max-height: 200px; - overflow-scrolling: touch; - scroll-behavior: smooth; -} - -.ts-hidden-accessible { - border: 0 !important; - clip: rect(0 0 0 0) !important; - -webkit-clip-path: inset(50%) !important; - clip-path: inset(50%) !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - width: 1px !important; - white-space: nowrap !important; -} - -.ts-wrapper.form-control, -.ts-wrapper.form-select { - padding: 0 !important; - height: auto; - box-shadow: none; - display: flex; -} - -.ts-dropdown, -.ts-dropdown.form-control, -.ts-dropdown.form-select { - height: auto; - padding: 0; - z-index: 1000; - background: #ffffff; - border: 1px solid var(--tblr-border-color-translucent); - border-radius: 4px; - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); -} - -.ts-dropdown .optgroup-header { - font-size: 0.765625rem; - line-height: 1.4285714286; -} -.ts-dropdown .optgroup:first-child:before { - display: none; -} -.ts-dropdown .optgroup:before { - content: " "; - display: block; - height: 0; - margin: 0.5rem 0; - overflow: hidden; - border-top: 1px solid var(--tblr-border-color-translucent); - margin-right: -0.75rem; - margin-left: -0.75rem; -} -.ts-dropdown .create { - padding-right: 0.75rem; -} - -.ts-dropdown-content { - padding: 5px 0; -} - -.ts-control { - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - display: flex; - align-items: center; -} -@media (prefers-reduced-motion: reduce) { - .ts-control { - transition: none; - } -} -.ts-control.dropdown -active { - border-radius: var(--tblr-border-radius); -} -.focus .ts-control { - border-color: #90b5e2; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.ts-control .item { - display: flex; - align-items: center; -} - -.ts-wrapper.is-invalid, -.was-validated .invalid, -.was-validated :invalid + .ts-wrapper { - border-color: #d63939; -} -.ts-wrapper.is-invalid:not(.single), -.was-validated .invalid:not(.single), -.was-validated :invalid + .ts-wrapper:not(.single) { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); - background-position: left calc(0.3571428572em + 0.21875rem) center; - background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); - background-repeat: no-repeat; -} -.ts-wrapper.is-invalid.single, -.was-validated .invalid.single, -.was-validated :invalid + .ts-wrapper.single { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); - background-position: left 0.75rem center, center left 2.25rem; - background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); - background-repeat: no-repeat; -} -.ts-wrapper.is-invalid.focus .ts-control, -.was-validated .invalid.focus .ts-control, -.was-validated :invalid + .ts-wrapper.focus .ts-control { - border-color: #d63939; - box-shadow: 0 0 0 0.25rem rgba(214, 57, 57, 0.25); -} - -.ts-wrapper.is-valid, -.was-validated .valid, -.was-validated :valid + .ts-wrapper { - border-color: #2fb344; -} -.ts-wrapper.is-valid:not(.single), -.was-validated .valid:not(.single), -.was-validated :valid + .ts-wrapper:not(.single) { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); - background-position: left calc(0.3571428572em + 0.21875rem) center; - background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); - background-repeat: no-repeat; -} -.ts-wrapper.is-valid.single, -.was-validated .valid.single, -.was-validated :valid + .ts-wrapper.single { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); - background-position: left 0.75rem center, center left 2.25rem; - background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); - background-repeat: no-repeat; -} -.ts-wrapper.is-valid.focus .ts-control, -.was-validated .valid.focus .ts-control, -.was-validated :valid + .ts-wrapper.focus .ts-control { - border-color: #2fb344; - box-shadow: 0 0 0 0.25rem rgba(47, 179, 68, 0.25); -} - -.ts-wrapper { - min-height: calc(1.4285714286em + 0.875rem + 2px); - display: flex; -} -.input-group-sm > .ts-wrapper, .ts-wrapper.form-select-sm, .ts-wrapper.form-control-sm { - min-height: calc(1.4285714286em + 0.25rem + 2px); -} -.input-group-sm > .ts-wrapper .ts-control, .ts-wrapper.form-select-sm .ts-control, .ts-wrapper.form-control-sm .ts-control { - border-radius: 2px; - font-size: 0.75rem; -} -.input-group-sm > .ts-wrapper.has-items .ts-control, .ts-wrapper.form-select-sm.has-items .ts-control, .ts-wrapper.form-control-sm.has-items .ts-control { - font-size: 0.75rem; - padding-bottom: 0; -} -.input-group-sm > .ts-wrapper.multi.has-items .ts-control, .ts-wrapper.form-select-sm.multi.has-items .ts-control, .ts-wrapper.form-control-sm.multi.has-items .ts-control { - padding-top: calc((calc(1.4285714286em + 0.25rem + 2px) - (1.4285714286 * 0.75rem) - 4px) / 2) !important; -} -.ts-wrapper.multi.has-items .ts-control { - padding-right: calc(0.75rem - 5px); - --ts-pr-min: calc(0.75rem - 5px); -} -.ts-wrapper.multi .ts-control > div { - border-radius: calc(var(--tblr-border-radius) - 1px); -} -.input-group-lg > .ts-wrapper, .ts-wrapper.form-control-lg, .ts-wrapper.form-select-lg { - min-height: calc(1.4285714286em + 1rem + 2px); -} -.input-group-lg > .ts-wrapper .ts-control, .ts-wrapper.form-control-lg .ts-control, .ts-wrapper.form-select-lg .ts-control { - border-radius: 8px; - font-size: 1.25rem; -} - -.ts-wrapper:not(.form-control):not(.form-select) { - padding: 0; - border: none; - height: auto; - box-shadow: none; - background: none; -} -.ts-wrapper:not(.form-control):not(.form-select).single .ts-control { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: left 0.75rem center; - background-size: 16px 12px; -} -.ts-wrapper.form-select, .ts-wrapper.single { - --ts-pr-caret: 2.25rem; -} - -.ts-wrapper.form-control .ts-control, .ts-wrapper.form-control.single.input-active .ts-control, -.ts-wrapper.form-select .ts-control, -.ts-wrapper.form-select.single.input-active .ts-control { - border: none !important; -} -.ts-wrapper.form-control:not(.disabled) .ts-control, .ts-wrapper.form-control:not(.disabled).single.input-active .ts-control, -.ts-wrapper.form-select:not(.disabled) .ts-control, -.ts-wrapper.form-select:not(.disabled).single.input-active .ts-control { - background: transparent !important; -} - -.input-group > .ts-wrapper { - flex-grow: 1; -} -.input-group > .ts-wrapper:not(:nth-child(2)) > .ts-control { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.input-group > .ts-wrapper:not(:last-child) > .ts-control { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.ts-input { - color: inherit; -} - -.ts-control { - color: inherit; -} -.ts-control .dropdown-menu { - width: 100%; - height: auto; -} - -.apexcharts-tooltip { - color: var(--tblr-light) !important; - background: var(--tblr-bg-surface-dark) !important; - font-size: 0.765625rem !important; - padding: 0.25rem !important; - box-shadow: none !important; -} - -.apexcharts-tooltip-title { - background: transparent !important; - border: 0 !important; - margin: 0 !important; - font-weight: var(--tblr-font-weight-bold); - padding: 0.25rem 0.5rem !important; -} - -.apexcharts-tooltip-y-group { - padding: 2px 0 !important; -} - -.apexcharts-tooltip-series-group { - padding: 0 0.5rem 0 !important; -} - -.apexcharts-tooltip-marker { - width: 10px !important; - height: 10px !important; -} - -svg { - touch-action: none; -} - -image, text, .jvm-zoomin, .jvm-zoomout { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.jvm-container { - touch-action: none; - position: relative; - overflow: hidden; - height: 100%; - width: 100%; -} - -.jvm-tooltip { - border-radius: 3px; - background-color: #5c5cff; - font-family: sans-serif, Verdana; - font-size: smaller; - box-shadow: -1px 2px 12px rgba(0, 0, 0, 0.2); - padding: 3px 5px; - white-space: nowrap; - position: absolute; - display: none; - color: #FFF; -} - -.jvm-tooltip.active { - display: block; -} - -.jvm-zoom-btn { - border-radius: 3px; - background-color: #292929; - padding: 3px; - box-sizing: border-box; - position: absolute; - line-height: 10px; - cursor: pointer; - color: #FFF; - height: 15px; - width: 15px; - right: 10px; -} - -.jvm-zoom-btn.jvm-zoomout { - top: 30px; -} - -.jvm-zoom-btn.jvm-zoomin { - top: 10px; -} - -.jvm-series-container { - left: 15px; - position: absolute; -} - -.jvm-series-container.jvm-series-h { - bottom: 15px; -} - -.jvm-series-container.jvm-series-v { - top: 15px; -} - -.jvm-series-container .jvm-legend { - background-color: #FFF; - border: 1px solid #e5e7eb; - margin-right: 0.75rem; - border-radius: 0.25rem; - border-color: #e5e7eb; - padding: 0.6rem; - box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); - float: right; -} - -.jvm-series-container .jvm-legend .jvm-legend-title { - line-height: 1; - border-bottom: 1px solid #e5e7eb; - padding-bottom: 0.5rem; - margin-bottom: 0.575rem; - text-align: right; -} - -.jvm-series-container .jvm-legend .jvm-legend-inner { - overflow: hidden; -} - -.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick { - overflow: hidden; - min-width: 40px; -} - -.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick:not(:first-child) { - margin-top: 0.575rem; -} - -.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample { - border-radius: 4px; - margin-left: 0.65rem; - height: 16px; - width: 16px; - float: right; -} - -.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-text { - font-size: 12px; - text-align: center; - float: right; -} - -.jvm-line[animation=true] { - -webkit-animation: jvm-line-animation 10s linear forwards infinite; - animation: jvm-line-animation 10s linear forwards infinite; -} - -@-webkit-keyframes jvm-line-animation { - from { - stroke-dashoffset: 250; - } -} -@keyframes jvm-line-animation { - from { - stroke-dashoffset: 250; - } -} -.jvm-tooltip { - background: #1d273b; - font-family: inherit; - font-size: 0.75rem; - box-shadow: var(--tblr-shadow-card); -} - -.jvm-series-container .jvm-legend .jvm-legend-title { - border-bottom: 0; - font-weight: var(--tblr-font-weight-medium); -} - -.jvm-series-container .jvm-legend { - background-color: var(--tblr-card-bg, var(--tblr-bg-surface)); - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - min-width: 8rem; -} -.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick { - display: flex; - align-items: center; -} -.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample { - width: 0.75rem; - height: 0.75rem; -} - -.jvm-zoom-btn { - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - background: var(--tblr-card-bg, var(--tblr-bg-surface)); - color: var(--tblr-body-color); - padding: 0; - display: flex; - align-items: center; - justify-content: center; - line-height: 1; - width: 1.5rem; - height: 1.5rem; - font-size: 1rem; - box-shadow: var(--tblr-shadow-card); -} -.jvm-zoom-btn.jvm-zoomout { - top: 2.5rem; -} - -.dropzone { - border: 1px dashed var(--tblr-border-color); - color: var(--tblr-muted); - padding: 1rem; -} -.dropzone.dz-drag-hover { - border: 1px dashed var(--tblr-primary); - background: rgba(var(--tblr-primary-rgb), 0.01); - color: var(--tblr-primary); -} -.dropzone.dz-drag-hover .dz-message { - opacity: 1; -} -.dropzone .dz-preview { - margin: 0.5rem; -} -.dropzone .dz-preview .dz-image { - border-radius: var(--tblr-border-radius); -} -.dropzone .dz-preview .dz-success-mark { - height: 54px; -} - -.fslightbox-container { - font-family: inherit !important; - background: rgba(29, 39, 59, 0.24) !important; - -webkit-backdrop-filter: blur(4px) !important; - backdrop-filter: blur(4px) !important; -} - -.fslightbox-slide-number-container { - color: inherit !important; -} - -.fslightbox-slash { - background: currentColor !important; -} - -body { - --plyr-color-main: var(--tblr-primary); -} - -.tox-tinymce { - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; - border-radius: 4px !important; - font-family: var(--tblr-font-sans-serif) !important; -} - -.tox-toolbar__group { - padding: 0 0.5rem 0; -} - -.tox:not(.tox-tinymce-inline) .tox-editor-header { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; - box-shadow: none !important; - padding: 0 !important; -} - -.tox-tbtn { - margin: 0 !important; -} - -.tox-statusbar { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; -} - -.tox .tox-toolbar, -.tox .tox-toolbar__overflow, -.tox .tox-toolbar__primary { - background: transparent !important; -} - -.tox .tox-toolbar-overlord, -.tox:not(.tox-tinymce-inline) .tox-editor-header { - background: transparent !important; -} \ No newline at end of file diff --git a/demo/dist/css/tabler-vendors.rtl.min.css b/demo/dist/css/tabler-vendors.rtl.min.css deleted file mode 100644 index 36ce8995e..000000000 --- a/demo/dist/css/tabler-vendors.rtl.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.noUi-target{position:relative}.noUi-base,.noUi-connects{width:100%;height:100%;position:relative;z-index:1}.noUi-connects{overflow:hidden;z-index:0}.noUi-connect,.noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;left:0;height:100%;width:100%;-ms-transform-origin:100% 0;-webkit-transform-origin:100% 0;-webkit-transform-style:preserve-3d;transform-origin:100% 0;transform-style:flat}.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{right:0;left:auto}.noUi-vertical .noUi-origin{top:-100%;width:0}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute}.noUi-touch-area{height:100%;width:100%}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;bottom:-17px}.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{right:-17px;left:auto}.noUi-target{background:#fafafa;border-radius:4px;border:1px solid #d3d3d3;box-shadow:inset 0 1px 1px #f0f0f0,0 3px 6px -5px #bbb}.noUi-connects{border-radius:3px}.noUi-connect{background:#3fb8af}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #d9d9d9;border-radius:3px;background:#fff;cursor:default;box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb}.noUi-active{box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ddd,0 3px 6px -3px #bbb}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#e8e7e6;right:14px;top:6px}.noUi-handle:after{right:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;right:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#b8b8b8}[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#ccc}.noUi-marker-sub{background:#aaa}.noUi-marker-large{background:#aaa}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;right:0;width:100%}.noUi-value-horizontal{transform:translate(50%,50%)}.noUi-rtl .noUi-value-horizontal{transform:translate(-50%,50%)}.noUi-marker-horizontal.noUi-marker{margin-right:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;right:100%}.noUi-value-vertical{transform:translate(0,-50%);padding-right:25px}.noUi-rtl .noUi-value-vertical{transform:translate(0,50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #d9d9d9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{transform:translate(50%,0);right:50%;bottom:120%}.noUi-vertical .noUi-tooltip{transform:translate(0,-50%);top:50%;left:120%}.noUi-horizontal .noUi-origin>.noUi-tooltip{transform:translate(-50%,0);right:auto;bottom:10px}.noUi-vertical .noUi-origin>.noUi-tooltip{transform:translate(0,-18px);top:auto;left:28px}.noUi-target{border:0;box-shadow:none;background:0 0;border-radius:0;color:var(--tblr-primary)}.noUi-horizontal{height:1.25rem;padding:.5rem 0}.noUi-base{background:var(--tblr-border-color);border-radius:1rem}.noUi-handle{width:1rem;height:1rem;border:2px var(--tblr-border-style) #fff;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);border-radius:1rem;background:currentColor;outline:0}.noUi-handle:after,.noUi-handle:before{content:none}.noUi-horizontal .noUi-handle{width:1rem;height:1rem;top:-.5rem;left:-.5rem;margin:1px 0 0 1px}.noUi-handle.noUi-active,.noUi-handle:focus{box-shadow:0 0 0 1px #f1f5f9,0 0 0 .25rem rgba(32,107,196,.25)}.noUi-connect{background:currentColor}.litepicker{--litepicker-month-weekday-color:var(--tblr-muted);--litepicker-button-prev-month-color:var(--tblr-muted);--litepicker-button-next-month-color:var(--tblr-muted);--litepicker-button-prev-month-color-hover:var(--tblr-primary);--litepicker-button-next-month-color-hover:var(--tblr-primary);--litepicker-day-color:var(--tblr-body-color);--litepicker-day-color-hover:var(--tblr-primary);--litepicker-is-end-color-bg:var(--tblr-primary);--litepicker-is-today-color:var(--tblr-primary);--litepicker-month-header-color:var(--tblr-body-color);--litepicker-container-months-color-bg:var(--tblr-bg-surface);font:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.litepicker svg{fill:none!important}.litepicker .container__main{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);box-shadow:none}.litepicker .container__months .month-item-name,.litepicker .container__months .month-item-year{font-weight:var(--tblr-font-weight-medium)!important}.litepicker .container__months .button-next-month,.litepicker .container__months .button-prev-month{cursor:pointer!important}.litepicker .container__months .month-item-weekdays-row>div{padding:.5rem 0!important;font-size:.75rem}.litepicker .container__days .day-item{cursor:pointer!important;padding:.5rem 0!important;transition:color .3s,background-color .3s,border-color .3s}@media (prefers-reduced-motion:reduce){.litepicker .container__days .day-item{transition:none}}.datepicker-inline .litepicker .container__months{box-shadow:none;background-color:var(--tblr-bg-forms)}:root{--ts-pr-clear-button:0;--ts-pr-caret:0;--ts-pr-min:.75rem}.ts-wrapper.single .ts-control,.ts-wrapper.single .ts-control input{cursor:pointer}.ts-control{padding-left:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-wrapper.plugin-drag_drop.multi>.ts-control>div.ui-sortable-placeholder{visibility:visible!important;background:#f2f2f2!important;background:rgba(0,0,0,.06)!important;border:0 none!important;box-shadow:inset 0 0 12px 4px #fff}.ts-wrapper.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.ts-wrapper.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,.2)}.plugin-checkbox_options .option input{margin-left:.5rem}.plugin-clear_button{--ts-pr-clear-button:1em}.plugin-clear_button .clear-button{opacity:0;position:absolute;top:50%;transform:translateY(-50%);left:calc(.75rem - 5px);margin-left:0!important;background:0 0!important;transition:opacity .5s;cursor:pointer}.plugin-clear_button.form-select .clear-button,.plugin-clear_button.single .clear-button{left:max(var(--ts-pr-caret),.75rem)}.plugin-clear_button.focus.has-items .clear-button,.plugin-clear_button:not(.disabled):hover.has-items .clear-button{opacity:1}.ts-wrapper .dropdown-header{position:relative;padding:6px .75rem;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:var(--tblr-border-radius) var(--tblr-border-radius) 0 0}.ts-wrapper .dropdown-header-close{position:absolute;left:.75rem;top:50%;color:#1d273b;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.ts-wrapper .dropdown-header-close:hover{color:#000}.plugin-dropdown_input.focus.dropdown-active .ts-control{box-shadow:none;border:1px solid var(--tblr-border-color);box-shadow:inset 0 1px 2px rgba(0,0,0,.075)}.plugin-dropdown_input .dropdown-input{border:1px solid #d0d0d0;border-width:0 0 1px 0;display:block;padding:.4375rem .75rem;box-shadow:none;width:100%;background:0 0}.plugin-dropdown_input.focus .ts-dropdown .dropdown-input{border-color:#90b5e2;outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.plugin-dropdown_input .items-placeholder{border:0 none!important;box-shadow:none!important;width:100%}.plugin-dropdown_input.dropdown-active .items-placeholder,.plugin-dropdown_input.has-items .items-placeholder{display:none!important}.ts-wrapper.plugin-input_autogrow.has-items .ts-control>input{min-width:0}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input{flex:none;min-width:4px}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-webkit-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-moz-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input:-ms-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-ms-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::placeholder{color:transparent}.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content{display:flex}.ts-dropdown.plugin-optgroup_columns .optgroup{border-left:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.ts-dropdown.plugin-optgroup_columns .optgroup:last-child{border-left:0 none}.ts-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.ts-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.ts-wrapper.plugin-remove_button .item{display:inline-flex;align-items:center;padding-left:0!important}.ts-wrapper.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:0 5px;border-radius:2px 0 0 2px;box-sizing:border-box}.ts-wrapper.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,.05)}.ts-wrapper.plugin-remove_button.disabled .item .remove:hover{background:0 0}.ts-wrapper.plugin-remove_button .remove-single{position:absolute;left:0;top:0;font-size:23px}.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove{border-right:1px solid #e6e7e9;margin-right:5px}.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove{border-right-color:transparent}.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove{border-right-color:#fff}.ts-wrapper.plugin-remove_button.rtl .item .remove{border-left:1px solid #e6e7e9;margin-left:5px}.ts-wrapper.plugin-remove_button.rtl .item.active .remove{border-left-color:transparent}.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove{border-left-color:#fff}.ts-wrapper{position:relative}.ts-control,.ts-control input,.ts-dropdown{color:#1d273b;font-family:inherit;font-size:inherit;line-height:1.4285714286;font-smoothing:inherit}.ts-control,.ts-wrapper.single.input-active .ts-control{background:var(--tblr-bg-forms);cursor:text}.ts-control{border:1px solid var(--tblr-border-color);padding:.4375rem .75rem;width:100%;overflow:hidden;position:relative;z-index:1;box-sizing:border-box;box-shadow:none;border-radius:var(--tblr-border-radius);display:flex;flex-wrap:wrap}.ts-wrapper.multi.has-items .ts-control{padding:calc(.4375rem - 1px - 0px) .75rem calc(.4375rem - 1px - 3px - 0px)}.full .ts-control{background-color:var(--tblr-bg-forms)}.disabled .ts-control,.disabled .ts-control *{cursor:default!important}.focus .ts-control{box-shadow:none}.ts-control>*{vertical-align:baseline;display:inline-block}.ts-wrapper.multi .ts-control>div{cursor:pointer;margin:0 0 3px 3px;padding:1px 5px;background:#efefef;color:#1d273b;border:0 solid #e6e7e9}.ts-wrapper.multi .ts-control>div.active{background:#206bc4;color:#fff;border:0 solid transparent}.ts-wrapper.multi.disabled .ts-control>div,.ts-wrapper.multi.disabled .ts-control>div.active{color:#797979;background:#fff;border:0 solid #fff}.ts-control>input{flex:1 1 auto;min-width:7rem;display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0!important;text-indent:0!important;border:0 none!important;background:0 0!important;line-height:inherit!important;-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important;box-shadow:none!important}.ts-control>input::-ms-clear{display:none}.ts-control>input:focus{outline:0!important}.has-items .ts-control>input{margin:0 4px!important}.ts-control.rtl{text-align:left}.ts-control.rtl.single .ts-control:after{right:calc(.75rem + 5px);left:auto}.ts-control.rtl .ts-control>input{margin:0 -2px 0 4px!important}.disabled .ts-control{opacity:.5;background-color:var(--tblr-gray-100)}.input-hidden .ts-control>input{opacity:0;position:absolute;right:-10000px}.ts-dropdown{position:absolute;top:100%;right:0;width:100%;z-index:10;border:1px solid #d0d0d0;background:#fff;margin:.25rem 0 0 0;border-top:0 none;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:0 0 var(--tblr-border-radius) var(--tblr-border-radius)}.ts-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.ts-dropdown [data-selectable] .highlight{background:rgba(255,237,40,.4);border-radius:1px}.ts-dropdown .create,.ts-dropdown .no-results,.ts-dropdown .optgroup-header,.ts-dropdown .option{padding:3px .75rem}.ts-dropdown .option,.ts-dropdown [data-disabled],.ts-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.ts-dropdown [data-selectable].option{opacity:1;cursor:pointer}.ts-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.ts-dropdown .optgroup-header{color:#49566c;background:#fff;cursor:default}.ts-dropdown .active{background-color:rgba(var(--tblr-muted-rgb),.04);color:inherit}.ts-dropdown .active.create{color:inherit}.ts-dropdown .create{color:rgba(29,39,59,.5)}.ts-dropdown .spinner{display:inline-block;width:30px;height:30px;margin:3px .75rem}.ts-dropdown .spinner:after{content:" ";display:block;width:24px;height:24px;margin:3px;border-radius:50%;border:5px solid #d0d0d0;border-color:#d0d0d0 transparent #d0d0d0 transparent;-webkit-animation:lds-dual-ring 1.2s linear infinite;animation:lds-dual-ring 1.2s linear infinite}@-webkit-keyframes lds-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}@keyframes lds-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}.ts-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;overflow-scrolling:touch;scroll-behavior:smooth}.ts-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.ts-wrapper.form-control,.ts-wrapper.form-select{padding:0!important;height:auto;box-shadow:none;display:flex}.ts-dropdown,.ts-dropdown.form-control,.ts-dropdown.form-select{height:auto;padding:0;z-index:1000;background:#fff;border:1px solid var(--tblr-border-color-translucent);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.ts-dropdown .optgroup-header{font-size:.765625rem;line-height:1.4285714286}.ts-dropdown .optgroup:first-child:before{display:none}.ts-dropdown .optgroup:before{content:" ";display:block;height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid var(--tblr-border-color-translucent);margin-right:-.75rem;margin-left:-.75rem}.ts-dropdown .create{padding-right:.75rem}.ts-dropdown-content{padding:5px 0}.ts-control{transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:flex;align-items:center}@media (prefers-reduced-motion:reduce){.ts-control{transition:none}}.ts-control.dropdown -active{border-radius:var(--tblr-border-radius)}.focus .ts-control{border-color:#90b5e2;outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.ts-control .item{display:flex;align-items:center}.ts-wrapper.is-invalid,.was-validated .invalid,.was-validated :invalid+.ts-wrapper{border-color:#d63939}.ts-wrapper.is-invalid:not(.single),.was-validated .invalid:not(.single),.was-validated :invalid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:left calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-invalid.single,.was-validated .invalid.single,.was-validated :invalid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:left .75rem center,center left 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-invalid.focus .ts-control,.was-validated .invalid.focus .ts-control,.was-validated :invalid+.ts-wrapper.focus .ts-control{border-color:#d63939;box-shadow:0 0 0 .25rem rgba(214,57,57,.25)}.ts-wrapper.is-valid,.was-validated .valid,.was-validated :valid+.ts-wrapper{border-color:#2fb344}.ts-wrapper.is-valid:not(.single),.was-validated .valid:not(.single),.was-validated :valid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:left calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-valid.single,.was-validated .valid.single,.was-validated :valid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:left .75rem center,center left 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem);background-repeat:no-repeat}.ts-wrapper.is-valid.focus .ts-control,.was-validated .valid.focus .ts-control,.was-validated :valid+.ts-wrapper.focus .ts-control{border-color:#2fb344;box-shadow:0 0 0 .25rem rgba(47,179,68,.25)}.ts-wrapper{min-height:calc(1.4285714286em + .875rem + 2px);display:flex}.input-group-sm>.ts-wrapper,.ts-wrapper.form-control-sm,.ts-wrapper.form-select-sm{min-height:calc(1.4285714286em + .25rem + 2px)}.input-group-sm>.ts-wrapper .ts-control,.ts-wrapper.form-control-sm .ts-control,.ts-wrapper.form-select-sm .ts-control{border-radius:2px;font-size:.75rem}.input-group-sm>.ts-wrapper.has-items .ts-control,.ts-wrapper.form-control-sm.has-items .ts-control,.ts-wrapper.form-select-sm.has-items .ts-control{font-size:.75rem;padding-bottom:0}.input-group-sm>.ts-wrapper.multi.has-items .ts-control,.ts-wrapper.form-control-sm.multi.has-items .ts-control,.ts-wrapper.form-select-sm.multi.has-items .ts-control{padding-top:calc((calc(1.4285714286em + .25rem + 2px) - (1.4285714286 * .75rem) - 4px)/ 2)!important}.ts-wrapper.multi.has-items .ts-control{padding-right:calc(.75rem - 5px);--ts-pr-min:calc(0.75rem - 5px)}.ts-wrapper.multi .ts-control>div{border-radius:calc(var(--tblr-border-radius) - 1px)}.input-group-lg>.ts-wrapper,.ts-wrapper.form-control-lg,.ts-wrapper.form-select-lg{min-height:calc(1.4285714286em + 1rem + 2px)}.input-group-lg>.ts-wrapper .ts-control,.ts-wrapper.form-control-lg .ts-control,.ts-wrapper.form-select-lg .ts-control{border-radius:8px;font-size:1.25rem}.ts-wrapper:not(.form-control):not(.form-select){padding:0;border:none;height:auto;box-shadow:none;background:0 0}.ts-wrapper:not(.form-control):not(.form-select).single .ts-control{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left .75rem center;background-size:16px 12px}.ts-wrapper.form-select,.ts-wrapper.single{--ts-pr-caret:2.25rem}.ts-wrapper.form-control .ts-control,.ts-wrapper.form-control.single.input-active .ts-control,.ts-wrapper.form-select .ts-control,.ts-wrapper.form-select.single.input-active .ts-control{border:none!important}.ts-wrapper.form-control:not(.disabled) .ts-control,.ts-wrapper.form-control:not(.disabled).single.input-active .ts-control,.ts-wrapper.form-select:not(.disabled) .ts-control,.ts-wrapper.form-select:not(.disabled).single.input-active .ts-control{background:0 0!important}.input-group>.ts-wrapper{flex-grow:1}.input-group>.ts-wrapper:not(:nth-child(2))>.ts-control{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.ts-wrapper:not(:last-child)>.ts-control{border-top-left-radius:0;border-bottom-left-radius:0}.ts-input{color:inherit}.ts-control{color:inherit}.ts-control .dropdown-menu{width:100%;height:auto}.apexcharts-tooltip{color:var(--tblr-light)!important;background:var(--tblr-bg-surface-dark)!important;font-size:.765625rem!important;padding:.25rem!important;box-shadow:none!important}.apexcharts-tooltip-title{background:0 0!important;border:0!important;margin:0!important;font-weight:var(--tblr-font-weight-bold);padding:.25rem .5rem!important}.apexcharts-tooltip-y-group{padding:2px 0!important}.apexcharts-tooltip-series-group{padding:0 .5rem 0!important}.apexcharts-tooltip-marker{width:10px!important;height:10px!important}svg{touch-action:none}.jvm-zoomin,.jvm-zoomout,image,text{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jvm-container{touch-action:none;position:relative;overflow:hidden;height:100%;width:100%}.jvm-tooltip{border-radius:3px;background-color:#5c5cff;font-family:sans-serif,Verdana;font-size:smaller;box-shadow:-1px 2px 12px rgba(0,0,0,.2);padding:3px 5px;white-space:nowrap;position:absolute;display:none;color:#fff}.jvm-tooltip.active{display:block}.jvm-zoom-btn{border-radius:3px;background-color:#292929;padding:3px;box-sizing:border-box;position:absolute;line-height:10px;cursor:pointer;color:#fff;height:15px;width:15px;right:10px}.jvm-zoom-btn.jvm-zoomout{top:30px}.jvm-zoom-btn.jvm-zoomin{top:10px}.jvm-series-container{left:15px;position:absolute}.jvm-series-container.jvm-series-h{bottom:15px}.jvm-series-container.jvm-series-v{top:15px}.jvm-series-container .jvm-legend{background-color:#fff;border:1px solid #e5e7eb;margin-right:.75rem;border-radius:.25rem;border-color:#e5e7eb;padding:.6rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);float:right}.jvm-series-container .jvm-legend .jvm-legend-title{line-height:1;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem;margin-bottom:.575rem;text-align:right}.jvm-series-container .jvm-legend .jvm-legend-inner{overflow:hidden}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick{overflow:hidden;min-width:40px}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick:not(:first-child){margin-top:.575rem}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample{border-radius:4px;margin-left:.65rem;height:16px;width:16px;float:right}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-text{font-size:12px;text-align:center;float:right}.jvm-line[animation=true]{-webkit-animation:jvm-line-animation 10s linear forwards infinite;animation:jvm-line-animation 10s linear forwards infinite}@-webkit-keyframes jvm-line-animation{from{stroke-dashoffset:250}}@keyframes jvm-line-animation{from{stroke-dashoffset:250}}.jvm-tooltip{background:#1d273b;font-family:inherit;font-size:.75rem;box-shadow:var(--tblr-shadow-card)}.jvm-series-container .jvm-legend .jvm-legend-title{border-bottom:0;font-weight:var(--tblr-font-weight-medium)}.jvm-series-container .jvm-legend{background-color:var(--tblr-card-bg,var(--tblr-bg-surface));border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);min-width:8rem}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick{display:flex;align-items:center}.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample{width:.75rem;height:.75rem}.jvm-zoom-btn{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background:var(--tblr-card-bg,var(--tblr-bg-surface));color:var(--tblr-body-color);padding:0;display:flex;align-items:center;justify-content:center;line-height:1;width:1.5rem;height:1.5rem;font-size:1rem;box-shadow:var(--tblr-shadow-card)}.jvm-zoom-btn.jvm-zoomout{top:2.5rem}.dropzone{border:1px dashed var(--tblr-border-color);color:var(--tblr-muted);padding:1rem}.dropzone.dz-drag-hover{border:1px dashed var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.01);color:var(--tblr-primary)}.dropzone.dz-drag-hover .dz-message{opacity:1}.dropzone .dz-preview{margin:.5rem}.dropzone .dz-preview .dz-image{border-radius:var(--tblr-border-radius)}.dropzone .dz-preview .dz-success-mark{height:54px}.fslightbox-container{font-family:inherit!important;background:rgba(29,39,59,.24)!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.fslightbox-slide-number-container{color:inherit!important}.fslightbox-slash{background:currentColor!important}body{--plyr-color-main:var(--tblr-primary)}.tox-tinymce{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;border-radius:4px!important;font-family:var(--tblr-font-sans-serif)!important}.tox-toolbar__group{padding:0 .5rem 0}.tox:not(.tox-tinymce-inline) .tox-editor-header{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;box-shadow:none!important;padding:0!important}.tox-tbtn{margin:0!important}.tox-statusbar{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:0 0!important}.tox .tox-toolbar-overlord,.tox:not(.tox-tinymce-inline) .tox-editor-header{background:0 0!important} \ No newline at end of file diff --git a/demo/dist/css/tabler.css b/demo/dist/css/tabler.css deleted file mode 100644 index 52ebe1d5c..000000000 --- a/demo/dist/css/tabler.css +++ /dev/null @@ -1,22436 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -@charset "UTF-8"; -:root { - --tblr-blue: #206bc4; - --tblr-indigo: #4263eb; - --tblr-purple: #ae3ec9; - --tblr-pink: #d6336c; - --tblr-red: #d63939; - --tblr-orange: #f76707; - --tblr-yellow: #f59f00; - --tblr-green: #2fb344; - --tblr-teal: #0ca678; - --tblr-cyan: #17a2b8; - --tblr-black: #000000; - --tblr-white: #ffffff; - --tblr-gray: #49566c; - --tblr-gray-dark: #1d273b; - --tblr-gray-100: #f1f5f9; - --tblr-gray-200: #e2e8f0; - --tblr-gray-300: #c8d3e1; - --tblr-gray-400: #9ba9be; - --tblr-gray-500: #6c7a91; - --tblr-gray-600: #49566c; - --tblr-gray-700: #313c52; - --tblr-gray-800: #1d273b; - --tblr-gray-900: #0f172a; - --tblr-primary: #206bc4; - --tblr-secondary: #616876; - --tblr-success: #2fb344; - --tblr-info: #4299e1; - --tblr-warning: #f76707; - --tblr-danger: #d63939; - --tblr-light: #f8fafc; - --tblr-dark: #1d273b; - --tblr-muted: #616876; - --tblr-blue: #206bc4; - --tblr-azure: #4299e1; - --tblr-indigo: #4263eb; - --tblr-purple: #ae3ec9; - --tblr-pink: #d6336c; - --tblr-red: #d63939; - --tblr-orange: #f76707; - --tblr-yellow: #f59f00; - --tblr-lime: #74b816; - --tblr-green: #2fb344; - --tblr-teal: #0ca678; - --tblr-cyan: #17a2b8; - --tblr-facebook: #3b5998; - --tblr-twitter: #1da1f2; - --tblr-linkedin: #0a66c2; - --tblr-google: #dc4e41; - --tblr-youtube: #ff0000; - --tblr-vimeo: #1ab7ea; - --tblr-dribbble: #ea4c89; - --tblr-github: #181717; - --tblr-instagram: #e4405f; - --tblr-pinterest: #bd081c; - --tblr-vk: #6383a8; - --tblr-rss: #ffa500; - --tblr-flickr: #0063dc; - --tblr-bitbucket: #0052cc; - --tblr-tabler: #206bc4; - --tblr-primary-rgb: 32, 107, 196; - --tblr-secondary-rgb: 97, 104, 118; - --tblr-success-rgb: 47, 179, 68; - --tblr-info-rgb: 66, 153, 225; - --tblr-warning-rgb: 247, 103, 7; - --tblr-danger-rgb: 214, 57, 57; - --tblr-light-rgb: 248, 250, 252; - --tblr-dark-rgb: 29, 39, 59; - --tblr-muted-rgb: 97, 104, 118; - --tblr-blue-rgb: 32, 107, 196; - --tblr-azure-rgb: 66, 153, 225; - --tblr-indigo-rgb: 66, 99, 235; - --tblr-purple-rgb: 174, 62, 201; - --tblr-pink-rgb: 214, 51, 108; - --tblr-red-rgb: 214, 57, 57; - --tblr-orange-rgb: 247, 103, 7; - --tblr-yellow-rgb: 245, 159, 0; - --tblr-lime-rgb: 116, 184, 22; - --tblr-green-rgb: 47, 179, 68; - --tblr-teal-rgb: 12, 166, 120; - --tblr-cyan-rgb: 23, 162, 184; - --tblr-facebook-rgb: 59, 89, 152; - --tblr-twitter-rgb: 29, 161, 242; - --tblr-linkedin-rgb: 10, 102, 194; - --tblr-google-rgb: 220, 78, 65; - --tblr-youtube-rgb: 255, 0, 0; - --tblr-vimeo-rgb: 26, 183, 234; - --tblr-dribbble-rgb: 234, 76, 137; - --tblr-github-rgb: 24, 23, 23; - --tblr-instagram-rgb: 228, 64, 95; - --tblr-pinterest-rgb: 189, 8, 28; - --tblr-vk-rgb: 99, 131, 168; - --tblr-rss-rgb: 255, 165, 0; - --tblr-flickr-rgb: 0, 99, 220; - --tblr-bitbucket-rgb: 0, 82, 204; - --tblr-tabler-rgb: 32, 107, 196; - --tblr-white-rgb: 255, 255, 255; - --tblr-black-rgb: 0, 0, 0; - --tblr-body-color-rgb: 29, 39, 59; - --tblr-body-bg-rgb: 241, 245, 249; - --tblr-font-sans-serif: -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif; - --tblr-font-monospace: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; - --tblr-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); - --tblr-body-font-family: var(--tblr-font-sans-serif); - --tblr-body-font-size: 0.875rem; - --tblr-body-font-weight: 400; - --tblr-body-line-height: 1.4285714286; - --tblr-body-color: #1d273b; - --tblr-body-bg: #f1f5f9; - --tblr-border-width: 1px; - --tblr-border-style: solid; - --tblr-border-color: #e6e7e9; - --tblr-border-color-translucent: rgba(97, 104, 118, 0.16); - --tblr-border-radius: 4px; - --tblr-border-radius-sm: 2px; - --tblr-border-radius-lg: 8px; - --tblr-border-radius-xl: 1rem; - --tblr-border-radius-2xl: 2rem; - --tblr-border-radius-pill: 100rem; - --tblr-link-color: var(--tblr-primary); - --tblr-link-hover-color: var(--tblr-primary-darken); - --tblr-code-color: var(--tblr-gray-600); - --tblr-highlight-bg: #fdeccc; -} - -*, -*::before, -*::after { - box-sizing: border-box; -} - -@media (prefers-reduced-motion: no-preference) { - :root { - scroll-behavior: smooth; - } -} - -body { - margin: 0; - font-family: var(--tblr-body-font-family); - font-size: var(--tblr-body-font-size); - font-weight: var(--tblr-body-font-weight); - line-height: var(--tblr-body-line-height); - color: var(--tblr-body-color); - text-align: var(--tblr-body-text-align); - background-color: var(--tblr-body-bg); - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -hr, .hr { - margin: 2rem 0; - color: inherit; - border: 0; - border-top: 1px solid; - opacity: 0.16; -} - -h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { - margin-top: 0; - margin-bottom: 0.5rem; - font-weight: var(--tblr-font-weight-medium); - line-height: 1.2; -} - -h1, .h1 { - font-size: 1.5rem; -} - -h2, .h2 { - font-size: 1.25rem; -} - -h3, .h3 { - font-size: 1rem; -} - -h4, .h4 { - font-size: 0.875rem; -} - -h5, .h5 { - font-size: 0.75rem; -} - -h6, .h6 { - font-size: 0.625rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title] { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - -webkit-text-decoration-skip-ink: none; - text-decoration-skip-ink: none; -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; -} - -ol, -ul { - padding-left: 2rem; -} - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; -} - -dt { - font-weight: 600; -} - -dd { - margin-bottom: 0.5rem; - margin-left: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -b, -strong { - font-weight: bolder; -} - -small, .small { - font-size: 85.714285%; -} - -mark, .mark { - padding: 0.1875em; - background-color: var(--tblr-highlight-bg); -} - -sub, -sup { - position: relative; - font-size: 0.75em; - line-height: 0; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -a { - color: var(--tblr-link-color); - text-decoration: none; -} -a:hover { - color: var(--tblr-link-hover-color); - text-decoration: underline; -} - -a:not([href]):not([class]), a:not([href]):not([class]):hover { - color: inherit; - text-decoration: none; -} - -pre, -code, -kbd, -samp { - font-family: var(--tblr-font-monospace); - font-size: 1em; -} - -pre { - display: block; - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; - font-size: 85.714285%; - color: var(--tblr-light); -} -pre code { - font-size: inherit; - color: inherit; - word-break: normal; -} - -code { - font-size: 85.714285%; - color: var(--tblr-code-color); - word-wrap: break-word; -} -a > code { - color: inherit; -} - -kbd { - padding: 2px 0.375rem; - font-size: 85.714285%; - color: var(--tblr-muted); - background-color: transparent; - border-radius: 2px; -} -kbd kbd { - padding: 0; - font-size: 1em; -} - -figure { - margin: 0 0 1rem; -} - -img, -svg { - vertical-align: middle; -} - -table { - caption-side: bottom; - border-collapse: collapse; -} - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #616876; - text-align: left; -} - -th { - text-align: inherit; - text-align: -webkit-match-parent; -} - -thead, -tbody, -tfoot, -tr, -td, -th { - border-color: inherit; - border-style: solid; - border-width: 0; -} - -label { - display: inline-block; -} - -button { - border-radius: 0; -} - -button:focus:not(:focus-visible) { - outline: 0; -} - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -button, -select { - text-transform: none; -} - -[role=button] { - cursor: pointer; -} - -select { - word-wrap: normal; -} -select:disabled { - opacity: 1; -} - -[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { - display: none !important; -} - -button, -[type=button], -[type=reset], -[type=submit] { - -webkit-appearance: button; -} -button:not(:disabled), -[type=button]:not(:disabled), -[type=reset]:not(:disabled), -[type=submit]:not(:disabled) { - cursor: pointer; -} - -::-moz-focus-inner { - padding: 0; - border-style: none; -} - -textarea { - resize: vertical; -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - float: left; - width: 100%; - padding: 0; - margin-bottom: 0.5rem; - font-size: 1.5rem; - line-height: inherit; -} -legend + * { - clear: left; -} - -::-webkit-datetime-edit-fields-wrapper, -::-webkit-datetime-edit-text, -::-webkit-datetime-edit-minute, -::-webkit-datetime-edit-hour-field, -::-webkit-datetime-edit-day-field, -::-webkit-datetime-edit-month-field, -::-webkit-datetime-edit-year-field { - padding: 0; -} - -::-webkit-inner-spin-button { - height: auto; -} - -[type=search] { - outline-offset: -2px; - -webkit-appearance: textfield; -} - -/* rtl:raw: -[type="tel"], -[type="url"], -[type="email"], -[type="number"] { - direction: ltr; -} -*/ -::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-color-swatch-wrapper { - padding: 0; -} - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; -} - -::file-selector-button { - font: inherit; - -webkit-appearance: button; -} - -output { - display: inline-block; -} - -iframe { - border: 0; -} - -summary { - display: list-item; - cursor: pointer; -} - -progress { - vertical-align: baseline; -} - -[hidden] { - display: none !important; -} - -.lead { - font-size: 0.875rem; - font-weight: var(--tblr-font-weight-normal); -} - -.display-1 { - font-size: 5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-2 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-3 { - font-size: 4rem; - font-weight: 300; - line-height: 1.2; -} - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-5 { - font-size: 3rem; - font-weight: 300; - line-height: 1.2; -} - -.display-6 { - font-size: 2rem; - font-weight: 300; - line-height: 1.2; -} - -.list-unstyled { - padding-left: 0; - list-style: none; -} - -.list-inline { - padding-left: 0; - list-style: none; -} - -.list-inline-item { - display: inline-block; -} -.list-inline-item:not(:last-child) { - margin-right: 0.5rem; -} - -.initialism { - font-size: 85.714285%; - text-transform: uppercase; -} - -.blockquote { - margin-bottom: 1rem; - font-size: 0.875rem; -} -.blockquote > :last-child { - margin-bottom: 0; -} - -.blockquote-footer { - margin-top: -1rem; - margin-bottom: 1rem; - font-size: 85.714285%; - color: #49566c; -} -.blockquote-footer::before { - content: "— "; -} - -.img-fluid { - max-width: 100%; - height: auto; -} - -.img-thumbnail { - padding: 0.25rem; - background-color: #f1f5f9; - border: 1px solid var(--tblr-border-color); - border-radius: 4px; - max-width: 100%; - height: auto; -} - -.figure { - display: inline-block; -} - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; -} - -.figure-caption { - font-size: 85.714285%; - color: #49566c; -} - -.container, -.container-fluid, -.container-xxl, -.container-xl, -.container-lg, -.container-md, -.container-sm { - --tblr-gutter-x: 1.5rem; - --tblr-gutter-y: 0; - width: 100%; - padding-right: calc(var(--tblr-gutter-x) * 0.5); - padding-left: calc(var(--tblr-gutter-x) * 0.5); - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 576px) { - .container-sm, .container { - max-width: 540px; - } -} -@media (min-width: 768px) { - .container-md, .container-sm, .container { - max-width: 720px; - } -} -@media (min-width: 992px) { - .container-lg, .container-md, .container-sm, .container { - max-width: 960px; - } -} -@media (min-width: 1200px) { - .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1140px; - } -} -@media (min-width: 1400px) { - .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1320px; - } -} -.row { - --tblr-gutter-x: 1rem; - --tblr-gutter-y: 0; - display: flex; - flex-wrap: wrap; - margin-top: calc(-1 * var(--tblr-gutter-y)); - margin-right: calc(-0.5 * var(--tblr-gutter-x)); - margin-left: calc(-0.5 * var(--tblr-gutter-x)); -} -.row > * { - flex-shrink: 0; - width: 100%; - max-width: 100%; - padding-right: calc(var(--tblr-gutter-x) * 0.5); - padding-left: calc(var(--tblr-gutter-x) * 0.5); - margin-top: var(--tblr-gutter-y); -} - -.col { - flex: 1 0 0%; -} - -.row-cols-auto > * { - flex: 0 0 auto; - width: auto; -} - -.row-cols-1 > * { - flex: 0 0 auto; - width: 100%; -} - -.row-cols-2 > * { - flex: 0 0 auto; - width: 50%; -} - -.row-cols-3 > * { - flex: 0 0 auto; - width: 33.3333333333%; -} - -.row-cols-4 > * { - flex: 0 0 auto; - width: 25%; -} - -.row-cols-5 > * { - flex: 0 0 auto; - width: 20%; -} - -.row-cols-6 > * { - flex: 0 0 auto; - width: 16.6666666667%; -} - -.col-auto { - flex: 0 0 auto; - width: auto; -} - -.col-1 { - flex: 0 0 auto; - width: 8.33333333%; -} - -.col-2 { - flex: 0 0 auto; - width: 16.66666667%; -} - -.col-3 { - flex: 0 0 auto; - width: 25%; -} - -.col-4 { - flex: 0 0 auto; - width: 33.33333333%; -} - -.col-5 { - flex: 0 0 auto; - width: 41.66666667%; -} - -.col-6 { - flex: 0 0 auto; - width: 50%; -} - -.col-7 { - flex: 0 0 auto; - width: 58.33333333%; -} - -.col-8 { - flex: 0 0 auto; - width: 66.66666667%; -} - -.col-9 { - flex: 0 0 auto; - width: 75%; -} - -.col-10 { - flex: 0 0 auto; - width: 83.33333333%; -} - -.col-11 { - flex: 0 0 auto; - width: 91.66666667%; -} - -.col-12 { - flex: 0 0 auto; - width: 100%; -} - -.offset-1 { - margin-left: 8.33333333%; -} - -.offset-2 { - margin-left: 16.66666667%; -} - -.offset-3 { - margin-left: 25%; -} - -.offset-4 { - margin-left: 33.33333333%; -} - -.offset-5 { - margin-left: 41.66666667%; -} - -.offset-6 { - margin-left: 50%; -} - -.offset-7 { - margin-left: 58.33333333%; -} - -.offset-8 { - margin-left: 66.66666667%; -} - -.offset-9 { - margin-left: 75%; -} - -.offset-10 { - margin-left: 83.33333333%; -} - -.offset-11 { - margin-left: 91.66666667%; -} - -.g-0, -.gx-0 { - --tblr-gutter-x: 0; -} - -.g-0, -.gy-0 { - --tblr-gutter-y: 0; -} - -.g-1, -.gx-1 { - --tblr-gutter-x: 0.25rem; -} - -.g-1, -.gy-1 { - --tblr-gutter-y: 0.25rem; -} - -.g-2, -.gx-2 { - --tblr-gutter-x: 0.5rem; -} - -.g-2, -.gy-2 { - --tblr-gutter-y: 0.5rem; -} - -.g-3, -.gx-3 { - --tblr-gutter-x: 1rem; -} - -.g-3, -.gy-3 { - --tblr-gutter-y: 1rem; -} - -.g-4, -.gx-4 { - --tblr-gutter-x: 2rem; -} - -.g-4, -.gy-4 { - --tblr-gutter-y: 2rem; -} - -.g-5, -.gx-5 { - --tblr-gutter-x: 4rem; -} - -.g-5, -.gy-5 { - --tblr-gutter-y: 4rem; -} - -@media (min-width: 576px) { - .col-sm { - flex: 1 0 0%; - } - .row-cols-sm-auto > * { - flex: 0 0 auto; - width: auto; - } - .row-cols-sm-1 > * { - flex: 0 0 auto; - width: 100%; - } - .row-cols-sm-2 > * { - flex: 0 0 auto; - width: 50%; - } - .row-cols-sm-3 > * { - flex: 0 0 auto; - width: 33.3333333333%; - } - .row-cols-sm-4 > * { - flex: 0 0 auto; - width: 25%; - } - .row-cols-sm-5 > * { - flex: 0 0 auto; - width: 20%; - } - .row-cols-sm-6 > * { - flex: 0 0 auto; - width: 16.6666666667%; - } - .col-sm-auto { - flex: 0 0 auto; - width: auto; - } - .col-sm-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-sm-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-sm-3 { - flex: 0 0 auto; - width: 25%; - } - .col-sm-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-sm-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-sm-6 { - flex: 0 0 auto; - width: 50%; - } - .col-sm-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-sm-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-sm-9 { - flex: 0 0 auto; - width: 75%; - } - .col-sm-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-sm-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-sm-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-sm-0 { - margin-left: 0; - } - .offset-sm-1 { - margin-left: 8.33333333%; - } - .offset-sm-2 { - margin-left: 16.66666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.33333333%; - } - .offset-sm-5 { - margin-left: 41.66666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.33333333%; - } - .offset-sm-8 { - margin-left: 66.66666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.33333333%; - } - .offset-sm-11 { - margin-left: 91.66666667%; - } - .g-sm-0, -.gx-sm-0 { - --tblr-gutter-x: 0; - } - .g-sm-0, -.gy-sm-0 { - --tblr-gutter-y: 0; - } - .g-sm-1, -.gx-sm-1 { - --tblr-gutter-x: 0.25rem; - } - .g-sm-1, -.gy-sm-1 { - --tblr-gutter-y: 0.25rem; - } - .g-sm-2, -.gx-sm-2 { - --tblr-gutter-x: 0.5rem; - } - .g-sm-2, -.gy-sm-2 { - --tblr-gutter-y: 0.5rem; - } - .g-sm-3, -.gx-sm-3 { - --tblr-gutter-x: 1rem; - } - .g-sm-3, -.gy-sm-3 { - --tblr-gutter-y: 1rem; - } - .g-sm-4, -.gx-sm-4 { - --tblr-gutter-x: 2rem; - } - .g-sm-4, -.gy-sm-4 { - --tblr-gutter-y: 2rem; - } - .g-sm-5, -.gx-sm-5 { - --tblr-gutter-x: 4rem; - } - .g-sm-5, -.gy-sm-5 { - --tblr-gutter-y: 4rem; - } -} -@media (min-width: 768px) { - .col-md { - flex: 1 0 0%; - } - .row-cols-md-auto > * { - flex: 0 0 auto; - width: auto; - } - .row-cols-md-1 > * { - flex: 0 0 auto; - width: 100%; - } - .row-cols-md-2 > * { - flex: 0 0 auto; - width: 50%; - } - .row-cols-md-3 > * { - flex: 0 0 auto; - width: 33.3333333333%; - } - .row-cols-md-4 > * { - flex: 0 0 auto; - width: 25%; - } - .row-cols-md-5 > * { - flex: 0 0 auto; - width: 20%; - } - .row-cols-md-6 > * { - flex: 0 0 auto; - width: 16.6666666667%; - } - .col-md-auto { - flex: 0 0 auto; - width: auto; - } - .col-md-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-md-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-md-3 { - flex: 0 0 auto; - width: 25%; - } - .col-md-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-md-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-md-6 { - flex: 0 0 auto; - width: 50%; - } - .col-md-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-md-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-md-9 { - flex: 0 0 auto; - width: 75%; - } - .col-md-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-md-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-md-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-md-0 { - margin-left: 0; - } - .offset-md-1 { - margin-left: 8.33333333%; - } - .offset-md-2 { - margin-left: 16.66666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.33333333%; - } - .offset-md-5 { - margin-left: 41.66666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.33333333%; - } - .offset-md-8 { - margin-left: 66.66666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.33333333%; - } - .offset-md-11 { - margin-left: 91.66666667%; - } - .g-md-0, -.gx-md-0 { - --tblr-gutter-x: 0; - } - .g-md-0, -.gy-md-0 { - --tblr-gutter-y: 0; - } - .g-md-1, -.gx-md-1 { - --tblr-gutter-x: 0.25rem; - } - .g-md-1, -.gy-md-1 { - --tblr-gutter-y: 0.25rem; - } - .g-md-2, -.gx-md-2 { - --tblr-gutter-x: 0.5rem; - } - .g-md-2, -.gy-md-2 { - --tblr-gutter-y: 0.5rem; - } - .g-md-3, -.gx-md-3 { - --tblr-gutter-x: 1rem; - } - .g-md-3, -.gy-md-3 { - --tblr-gutter-y: 1rem; - } - .g-md-4, -.gx-md-4 { - --tblr-gutter-x: 2rem; - } - .g-md-4, -.gy-md-4 { - --tblr-gutter-y: 2rem; - } - .g-md-5, -.gx-md-5 { - --tblr-gutter-x: 4rem; - } - .g-md-5, -.gy-md-5 { - --tblr-gutter-y: 4rem; - } -} -@media (min-width: 992px) { - .col-lg { - flex: 1 0 0%; - } - .row-cols-lg-auto > * { - flex: 0 0 auto; - width: auto; - } - .row-cols-lg-1 > * { - flex: 0 0 auto; - width: 100%; - } - .row-cols-lg-2 > * { - flex: 0 0 auto; - width: 50%; - } - .row-cols-lg-3 > * { - flex: 0 0 auto; - width: 33.3333333333%; - } - .row-cols-lg-4 > * { - flex: 0 0 auto; - width: 25%; - } - .row-cols-lg-5 > * { - flex: 0 0 auto; - width: 20%; - } - .row-cols-lg-6 > * { - flex: 0 0 auto; - width: 16.6666666667%; - } - .col-lg-auto { - flex: 0 0 auto; - width: auto; - } - .col-lg-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-lg-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-lg-3 { - flex: 0 0 auto; - width: 25%; - } - .col-lg-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-lg-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-lg-6 { - flex: 0 0 auto; - width: 50%; - } - .col-lg-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-lg-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-lg-9 { - flex: 0 0 auto; - width: 75%; - } - .col-lg-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-lg-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-lg-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-lg-0 { - margin-left: 0; - } - .offset-lg-1 { - margin-left: 8.33333333%; - } - .offset-lg-2 { - margin-left: 16.66666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.33333333%; - } - .offset-lg-5 { - margin-left: 41.66666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.33333333%; - } - .offset-lg-8 { - margin-left: 66.66666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.33333333%; - } - .offset-lg-11 { - margin-left: 91.66666667%; - } - .g-lg-0, -.gx-lg-0 { - --tblr-gutter-x: 0; - } - .g-lg-0, -.gy-lg-0 { - --tblr-gutter-y: 0; - } - .g-lg-1, -.gx-lg-1 { - --tblr-gutter-x: 0.25rem; - } - .g-lg-1, -.gy-lg-1 { - --tblr-gutter-y: 0.25rem; - } - .g-lg-2, -.gx-lg-2 { - --tblr-gutter-x: 0.5rem; - } - .g-lg-2, -.gy-lg-2 { - --tblr-gutter-y: 0.5rem; - } - .g-lg-3, -.gx-lg-3 { - --tblr-gutter-x: 1rem; - } - .g-lg-3, -.gy-lg-3 { - --tblr-gutter-y: 1rem; - } - .g-lg-4, -.gx-lg-4 { - --tblr-gutter-x: 2rem; - } - .g-lg-4, -.gy-lg-4 { - --tblr-gutter-y: 2rem; - } - .g-lg-5, -.gx-lg-5 { - --tblr-gutter-x: 4rem; - } - .g-lg-5, -.gy-lg-5 { - --tblr-gutter-y: 4rem; - } -} -@media (min-width: 1200px) { - .col-xl { - flex: 1 0 0%; - } - .row-cols-xl-auto > * { - flex: 0 0 auto; - width: auto; - } - .row-cols-xl-1 > * { - flex: 0 0 auto; - width: 100%; - } - .row-cols-xl-2 > * { - flex: 0 0 auto; - width: 50%; - } - .row-cols-xl-3 > * { - flex: 0 0 auto; - width: 33.3333333333%; - } - .row-cols-xl-4 > * { - flex: 0 0 auto; - width: 25%; - } - .row-cols-xl-5 > * { - flex: 0 0 auto; - width: 20%; - } - .row-cols-xl-6 > * { - flex: 0 0 auto; - width: 16.6666666667%; - } - .col-xl-auto { - flex: 0 0 auto; - width: auto; - } - .col-xl-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-xl-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-xl-3 { - flex: 0 0 auto; - width: 25%; - } - .col-xl-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-xl-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-xl-6 { - flex: 0 0 auto; - width: 50%; - } - .col-xl-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-xl-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-xl-9 { - flex: 0 0 auto; - width: 75%; - } - .col-xl-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-xl-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-xl-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-xl-0 { - margin-left: 0; - } - .offset-xl-1 { - margin-left: 8.33333333%; - } - .offset-xl-2 { - margin-left: 16.66666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.33333333%; - } - .offset-xl-5 { - margin-left: 41.66666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.33333333%; - } - .offset-xl-8 { - margin-left: 66.66666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.33333333%; - } - .offset-xl-11 { - margin-left: 91.66666667%; - } - .g-xl-0, -.gx-xl-0 { - --tblr-gutter-x: 0; - } - .g-xl-0, -.gy-xl-0 { - --tblr-gutter-y: 0; - } - .g-xl-1, -.gx-xl-1 { - --tblr-gutter-x: 0.25rem; - } - .g-xl-1, -.gy-xl-1 { - --tblr-gutter-y: 0.25rem; - } - .g-xl-2, -.gx-xl-2 { - --tblr-gutter-x: 0.5rem; - } - .g-xl-2, -.gy-xl-2 { - --tblr-gutter-y: 0.5rem; - } - .g-xl-3, -.gx-xl-3 { - --tblr-gutter-x: 1rem; - } - .g-xl-3, -.gy-xl-3 { - --tblr-gutter-y: 1rem; - } - .g-xl-4, -.gx-xl-4 { - --tblr-gutter-x: 2rem; - } - .g-xl-4, -.gy-xl-4 { - --tblr-gutter-y: 2rem; - } - .g-xl-5, -.gx-xl-5 { - --tblr-gutter-x: 4rem; - } - .g-xl-5, -.gy-xl-5 { - --tblr-gutter-y: 4rem; - } -} -@media (min-width: 1400px) { - .col-xxl { - flex: 1 0 0%; - } - .row-cols-xxl-auto > * { - flex: 0 0 auto; - width: auto; - } - .row-cols-xxl-1 > * { - flex: 0 0 auto; - width: 100%; - } - .row-cols-xxl-2 > * { - flex: 0 0 auto; - width: 50%; - } - .row-cols-xxl-3 > * { - flex: 0 0 auto; - width: 33.3333333333%; - } - .row-cols-xxl-4 > * { - flex: 0 0 auto; - width: 25%; - } - .row-cols-xxl-5 > * { - flex: 0 0 auto; - width: 20%; - } - .row-cols-xxl-6 > * { - flex: 0 0 auto; - width: 16.6666666667%; - } - .col-xxl-auto { - flex: 0 0 auto; - width: auto; - } - .col-xxl-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-xxl-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-xxl-3 { - flex: 0 0 auto; - width: 25%; - } - .col-xxl-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-xxl-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-xxl-6 { - flex: 0 0 auto; - width: 50%; - } - .col-xxl-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-xxl-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-xxl-9 { - flex: 0 0 auto; - width: 75%; - } - .col-xxl-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-xxl-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-xxl-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-xxl-0 { - margin-left: 0; - } - .offset-xxl-1 { - margin-left: 8.33333333%; - } - .offset-xxl-2 { - margin-left: 16.66666667%; - } - .offset-xxl-3 { - margin-left: 25%; - } - .offset-xxl-4 { - margin-left: 33.33333333%; - } - .offset-xxl-5 { - margin-left: 41.66666667%; - } - .offset-xxl-6 { - margin-left: 50%; - } - .offset-xxl-7 { - margin-left: 58.33333333%; - } - .offset-xxl-8 { - margin-left: 66.66666667%; - } - .offset-xxl-9 { - margin-left: 75%; - } - .offset-xxl-10 { - margin-left: 83.33333333%; - } - .offset-xxl-11 { - margin-left: 91.66666667%; - } - .g-xxl-0, -.gx-xxl-0 { - --tblr-gutter-x: 0; - } - .g-xxl-0, -.gy-xxl-0 { - --tblr-gutter-y: 0; - } - .g-xxl-1, -.gx-xxl-1 { - --tblr-gutter-x: 0.25rem; - } - .g-xxl-1, -.gy-xxl-1 { - --tblr-gutter-y: 0.25rem; - } - .g-xxl-2, -.gx-xxl-2 { - --tblr-gutter-x: 0.5rem; - } - .g-xxl-2, -.gy-xxl-2 { - --tblr-gutter-y: 0.5rem; - } - .g-xxl-3, -.gx-xxl-3 { - --tblr-gutter-x: 1rem; - } - .g-xxl-3, -.gy-xxl-3 { - --tblr-gutter-y: 1rem; - } - .g-xxl-4, -.gx-xxl-4 { - --tblr-gutter-x: 2rem; - } - .g-xxl-4, -.gy-xxl-4 { - --tblr-gutter-y: 2rem; - } - .g-xxl-5, -.gx-xxl-5 { - --tblr-gutter-x: 4rem; - } - .g-xxl-5, -.gy-xxl-5 { - --tblr-gutter-y: 4rem; - } -} -.table, .markdown > table { - --tblr-table-color: inherit; - --tblr-table-bg: transparent; - --tblr-table-border-color: var(--tblr-border-color-translucent); - --tblr-table-accent-bg: transparent; - --tblr-table-striped-color: inherit; - --tblr-table-striped-bg: var(--tblr-bg-surface-secondary); - --tblr-table-active-color: inherit; - --tblr-table-active-bg: rgba(0, 0, 0, 0.1); - --tblr-table-hover-color: inherit; - --tblr-table-hover-bg: rgba(0, 0, 0, 0.075); - width: 100%; - margin-bottom: 1rem; - color: var(--tblr-table-color); - vertical-align: top; - border-color: var(--tblr-table-border-color); -} -.table > :not(caption) > * > *, .markdown > table > :not(caption) > * > * { - padding: 0.75rem 0.75rem; - background-color: var(--tblr-table-bg); - border-bottom-width: 1px; - box-shadow: inset 0 0 0 9999px var(--tblr-table-accent-bg); -} -.table > tbody, .markdown > table > tbody { - vertical-align: inherit; -} -.table > thead, .markdown > table > thead { - vertical-align: bottom; -} - -.table-group-divider { - border-top: 2px solid var(--tblr-border-color-translucent); -} - -.caption-top { - caption-side: top; -} - -.table-sm > :not(caption) > * > * { - padding: 0.25rem 0.25rem; -} - -.table-bordered > :not(caption) > *, .markdown > table > :not(caption) > * { - border-width: 1px 0; -} -.table-bordered > :not(caption) > * > *, .markdown > table > :not(caption) > * > * { - border-width: 0 1px; -} - -.table-borderless > :not(caption) > * > * { - border-bottom-width: 0; -} -.table-borderless > :not(:first-child) { - border-top-width: 0; -} - -.table-striped > tbody > tr:nth-of-type(even) > * { - --tblr-table-accent-bg: var(--tblr-table-striped-bg); - color: var(--tblr-table-striped-color); -} - -.table-striped-columns > :not(caption) > tr > :nth-child(even) { - --tblr-table-accent-bg: var(--tblr-table-striped-bg); - color: var(--tblr-table-striped-color); -} - -.table-active { - --tblr-table-accent-bg: var(--tblr-table-active-bg); - color: var(--tblr-table-active-color); -} - -.table-hover > tbody > tr:hover > * { - --tblr-table-accent-bg: var(--tblr-table-hover-bg); - color: var(--tblr-table-hover-color); -} - -.table-primary { - --tblr-table-color: #1d273b; - --tblr-table-bg: #d2e1f3; - --tblr-table-border-color: #c0cee1; - --tblr-table-striped-bg: #c9d8ea; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #c0cee1; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #c4d3e5; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-secondary { - --tblr-table-color: #1d273b; - --tblr-table-bg: #dfe1e4; - --tblr-table-border-color: #ccced3; - --tblr-table-striped-bg: #d5d8dc; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #ccced3; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #d0d3d7; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-success { - --tblr-table-color: #1d273b; - --tblr-table-bg: #d5f0da; - --tblr-table-border-color: #c3dcca; - --tblr-table-striped-bg: #cce6d2; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #c3dcca; - --tblr-table-active-color: #1d273b; - --tblr-table-hover-bg: #c7e1ce; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-info { - --tblr-table-color: #1d273b; - --tblr-table-bg: #d9ebf9; - --tblr-table-border-color: #c6d7e6; - --tblr-table-striped-bg: #d0e1f0; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #c6d7e6; - --tblr-table-active-color: #1d273b; - --tblr-table-hover-bg: #cbdceb; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-warning { - --tblr-table-color: #1d273b; - --tblr-table-bg: #fde1cd; - --tblr-table-border-color: #e7cebe; - --tblr-table-striped-bg: #f2d8c6; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #e7cebe; - --tblr-table-active-color: #1d273b; - --tblr-table-hover-bg: #ecd3c2; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-danger { - --tblr-table-color: #1d273b; - --tblr-table-bg: #f7d7d7; - --tblr-table-border-color: #e1c5c7; - --tblr-table-striped-bg: #eccecf; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #e1c5c7; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #e7cacb; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-light { - --tblr-table-color: #1d273b; - --tblr-table-bg: #f8fafc; - --tblr-table-border-color: #e2e5e9; - --tblr-table-striped-bg: #edeff2; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #e2e5e9; - --tblr-table-active-color: #1d273b; - --tblr-table-hover-bg: #e8eaee; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-dark { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #1d273b; - --tblr-table-border-color: #333c4e; - --tblr-table-striped-bg: #283245; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #333c4e; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #2d3749; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-responsive { - overflow-x: auto; - -webkit-overflow-scrolling: touch; -} - -@media (max-width: 575.98px) { - .table-responsive-sm { - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } -} -@media (max-width: 767.98px) { - .table-responsive-md { - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } -} -@media (max-width: 991.98px) { - .table-responsive-lg { - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } -} -@media (max-width: 1199.98px) { - .table-responsive-xl { - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } -} -@media (max-width: 1399.98px) { - .table-responsive-xxl { - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } -} -.form-label { - margin-bottom: 0.5rem; - font-size: 0.875rem; - font-weight: var(--tblr-font-weight-medium); -} - -.col-form-label { - padding-top: calc(0.4375rem + 1px); - padding-bottom: calc(0.4375rem + 1px); - margin-bottom: 0; - font-size: inherit; - font-weight: var(--tblr-font-weight-medium); - line-height: 1.4285714286; -} - -.col-form-label-lg { - padding-top: calc(0.5rem + 1px); - padding-bottom: calc(0.5rem + 1px); - font-size: 1.25rem; -} - -.col-form-label-sm { - padding-top: calc(0.125rem + 1px); - padding-bottom: calc(0.125rem + 1px); - font-size: 0.75rem; -} - -.form-text { - margin-top: 0.25rem; - font-size: 85.714285%; - color: #616876; -} - -.form-control { - display: block; - width: 100%; - padding: 0.4375rem 0.75rem; - font-family: var(--tblr-font-sans-serif); - font-size: 0.875rem; - font-weight: 400; - line-height: 1.4285714286; - color: inherit; - background-color: var(--tblr-bg-forms); - background-clip: padding-box; - border: 1px solid var(--tblr-border-color); - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border-radius: var(--tblr-border-radius); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-control { - transition: none; - } -} -.form-control[type=file] { - overflow: hidden; -} -.form-control[type=file]:not(:disabled):not([readonly]) { - cursor: pointer; -} -.form-control:focus { - color: inherit; - background-color: var(--tblr-bg-forms); - border-color: #90b5e2; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-control::-webkit-date-and-time-value { - height: 1.4285714286em; -} -.form-control::-webkit-input-placeholder { - color: #a5a9b1; - opacity: 1; -} -.form-control::-moz-placeholder { - color: #a5a9b1; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #a5a9b1; - opacity: 1; -} -.form-control::-ms-input-placeholder { - color: #a5a9b1; - opacity: 1; -} -.form-control::placeholder { - color: #a5a9b1; - opacity: 1; -} -.form-control:disabled { - background-color: var(--tblr-gray-100); - opacity: 1; -} -.form-control::-webkit-file-upload-button { - padding: 0.4375rem 0.75rem; - margin: -0.4375rem -0.75rem; - -webkit-margin-end: 0.75rem; - margin-inline-end: 0.75rem; - color: inherit; - background-color: #f8fafc; - pointer-events: none; - border-color: inherit; - border-style: solid; - border-width: 0; - border-inline-end-width: 1px; - border-radius: 0; - -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -.form-control::file-selector-button { - padding: 0.4375rem 0.75rem; - margin: -0.4375rem -0.75rem; - -webkit-margin-end: 0.75rem; - margin-inline-end: 0.75rem; - color: inherit; - background-color: #f8fafc; - pointer-events: none; - border-color: inherit; - border-style: solid; - border-width: 0; - border-inline-end-width: 1px; - border-radius: 0; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-control::-webkit-file-upload-button { - -webkit-transition: none; - transition: none; - } - .form-control::file-selector-button { - transition: none; - } -} -.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { - background-color: #eceeef; -} -.form-control:hover:not(:disabled):not([readonly])::file-selector-button { - background-color: #eceeef; -} - -.form-control-plaintext { - display: block; - width: 100%; - padding: 0.4375rem 0; - margin-bottom: 0; - line-height: 1.4285714286; - color: #1d273b; - background-color: transparent; - border: solid transparent; - border-width: 1px 0; -} -.form-control-plaintext:focus { - outline: 0; -} -.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { - padding-right: 0; - padding-left: 0; -} - -.form-control-sm { - min-height: calc(1.4285714286em + 0.25rem + 2px); - padding: 0.125rem 0.5rem; - font-size: 0.75rem; - border-radius: 2px; -} -.form-control-sm::-webkit-file-upload-button { - padding: 0.125rem 0.5rem; - margin: -0.125rem -0.5rem; - -webkit-margin-end: 0.5rem; - margin-inline-end: 0.5rem; -} -.form-control-sm::file-selector-button { - padding: 0.125rem 0.5rem; - margin: -0.125rem -0.5rem; - -webkit-margin-end: 0.5rem; - margin-inline-end: 0.5rem; -} - -.form-control-lg { - min-height: calc(1.4285714286em + 1rem + 2px); - padding: 0.5rem 1.5rem; - font-size: 1.25rem; - border-radius: 8px; -} -.form-control-lg::-webkit-file-upload-button { - padding: 0.5rem 1.5rem; - margin: -0.5rem -1.5rem; - -webkit-margin-end: 1.5rem; - margin-inline-end: 1.5rem; -} -.form-control-lg::file-selector-button { - padding: 0.5rem 1.5rem; - margin: -0.5rem -1.5rem; - -webkit-margin-end: 1.5rem; - margin-inline-end: 1.5rem; -} - -textarea.form-control { - min-height: calc(1.4285714286em + 0.875rem + 2px); -} -textarea.form-control-sm { - min-height: calc(1.4285714286em + 0.25rem + 2px); -} -textarea.form-control-lg { - min-height: calc(1.4285714286em + 1rem + 2px); -} - -.form-control-color { - width: 3rem; - height: calc(1.4285714286em + 0.875rem + 2px); - padding: 0.4375rem; -} -.form-control-color:not(:disabled):not([readonly]) { - cursor: pointer; -} -.form-control-color::-moz-color-swatch { - border: 0 !important; - border-radius: var(--tblr-border-radius); -} -.form-control-color::-webkit-color-swatch { - border-radius: var(--tblr-border-radius); -} -.form-control-color.form-control-sm { - height: calc(1.4285714286em + 0.25rem + 2px); -} -.form-control-color.form-control-lg { - height: calc(1.4285714286em + 1rem + 2px); -} - -.form-select { - display: block; - width: 100%; - padding: 0.4375rem 2.25rem 0.4375rem 0.75rem; - -moz-padding-start: calc(0.75rem - 3px); - font-family: var(--tblr-font-sans-serif); - font-size: 0.875rem; - font-weight: 400; - line-height: 1.4285714286; - color: inherit; - background-color: var(--tblr-bg-forms); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right 0.75rem center; - background-size: 16px 12px; - border: 1px solid var(--tblr-border-color); - border-radius: var(--tblr-border-radius); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} -@media (prefers-reduced-motion: reduce) { - .form-select { - transition: none; - } -} -.form-select:focus { - border-color: #90b5e2; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-select[multiple], .form-select[size]:not([size="1"]) { - padding-right: 0.75rem; - background-image: none; -} -.form-select:disabled { - background-color: #e2e8f0; -} -.form-select:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 inherit; -} - -.form-select-sm { - padding-top: 0.125rem; - padding-bottom: 0.125rem; - padding-left: 0.5rem; - font-size: 0.75rem; - border-radius: 2px; -} - -.form-select-lg { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1.5rem; - font-size: 1.25rem; - border-radius: 8px; -} - -.form-check { - display: block; - min-height: 1.25rem; - padding-left: 1.5rem; - margin-bottom: 0.5rem; -} -.form-check .form-check-input { - float: left; - margin-left: -1.5rem; -} - -.form-check-reverse { - padding-right: 1.5rem; - padding-left: 0; - text-align: right; -} -.form-check-reverse .form-check-input { - float: right; - margin-right: -1.5rem; - margin-left: 0; -} - -.form-check-input { - width: 1rem; - height: 1rem; - margin-top: 0.2142857143rem; - vertical-align: top; - background-color: var(--tblr-bg-forms); - background-repeat: no-repeat; - background-position: center; - background-size: contain; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-print-color-adjust: exact; - color-adjust: exact; - print-color-adjust: exact; -} -.form-check-input[type=checkbox] { - border-radius: var(--tblr-border-radius); -} -.form-check-input[type=radio] { - border-radius: 50%; -} -.form-check-input:active { - filter: brightness(90%); -} -.form-check-input:focus { - border-color: #90b5e2; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-check-input:checked { - background-color: var(--tblr-primary); - border-color: var(--tblr-border-color-translucent); -} -.form-check-input:checked[type=checkbox] { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); -} -.form-check-input:checked[type=radio] { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); -} -.form-check-input[type=checkbox]:indeterminate { - background-color: #206bc4; - border-color: #206bc4; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); -} -.form-check-input:disabled { - pointer-events: none; - filter: none; - opacity: 0.5; -} -.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { - cursor: default; - opacity: 0.7; -} - -.form-switch { - padding-left: 2.5rem; -} -.form-switch .form-check-input { - width: 2rem; - margin-left: -2.5rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23e6e7e9'/%3e%3c/svg%3e"); - background-position: left center; - border-radius: 2rem; - transition: background-position 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-switch .form-check-input { - transition: none; - } -} -.form-switch .form-check-input:focus { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2390b5e2'/%3e%3c/svg%3e"); -} -.form-switch .form-check-input:checked { - background-position: right center; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e"); -} -.form-switch.form-check-reverse { - padding-right: 2.5rem; - padding-left: 0; -} -.form-switch.form-check-reverse .form-check-input { - margin-right: -2.5rem; - margin-left: 0; -} - -.form-check-inline { - display: inline-block; - margin-right: 1rem; -} - -.btn-check { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} -.btn-check[disabled] + .btn, .btn-check:disabled + .btn { - pointer-events: none; - filter: none; - opacity: 0.4; -} - -.form-range { - width: 100%; - height: 1.25rem; - padding: 0; - background-color: transparent; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} -.form-range:focus { - outline: 0; -} -.form-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #f1f5f9, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #f1f5f9, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-range::-moz-focus-outer { - border: 0; -} -.form-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.375rem; - background-color: var(--tblr-primary); - border: 2px var(--tblr-border-style) #ffffff; - border-radius: 1rem; - -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -webkit-appearance: none; - appearance: none; -} -@media (prefers-reduced-motion: reduce) { - .form-range::-webkit-slider-thumb { - -webkit-transition: none; - transition: none; - } -} -.form-range::-webkit-slider-thumb:active { - background-color: #bcd3ed; -} -.form-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.25rem; - color: transparent; - cursor: pointer; - background-color: var(--tblr-border-color); - border-color: transparent; - border-radius: 1rem; -} -.form-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - background-color: var(--tblr-primary); - border: 2px var(--tblr-border-style) #ffffff; - border-radius: 1rem; - -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -moz-appearance: none; - appearance: none; -} -@media (prefers-reduced-motion: reduce) { - .form-range::-moz-range-thumb { - -moz-transition: none; - transition: none; - } -} -.form-range::-moz-range-thumb:active { - background-color: #bcd3ed; -} -.form-range::-moz-range-track { - width: 100%; - height: 0.25rem; - color: transparent; - cursor: pointer; - background-color: var(--tblr-border-color); - border-color: transparent; - border-radius: 1rem; -} -.form-range:disabled { - pointer-events: none; -} -.form-range:disabled::-webkit-slider-thumb { - background-color: #6c7a91; -} -.form-range:disabled::-moz-range-thumb { - background-color: #6c7a91; -} - -.form-floating { - position: relative; -} -.form-floating > .form-control, -.form-floating > .form-control-plaintext, -.form-floating > .form-select { - height: calc(3.5rem + 2px); - line-height: 1.25; -} -.form-floating > label { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 1rem 0.75rem; - overflow: hidden; - text-align: start; - text-overflow: ellipsis; - white-space: nowrap; - pointer-events: none; - border: 1px solid transparent; - transform-origin: 0 0; - transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-floating > label { - transition: none; - } -} -.form-floating > .form-control, -.form-floating > .form-control-plaintext { - padding: 1rem 0.75rem; -} -.form-floating > .form-control::-webkit-input-placeholder, .form-floating > .form-control-plaintext::-webkit-input-placeholder { - color: transparent; -} -.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder { - color: transparent; -} -.form-floating > .form-control:-ms-input-placeholder, .form-floating > .form-control-plaintext:-ms-input-placeholder { - color: transparent; -} -.form-floating > .form-control::-ms-input-placeholder, .form-floating > .form-control-plaintext::-ms-input-placeholder { - color: transparent; -} -.form-floating > .form-control::placeholder, -.form-floating > .form-control-plaintext::placeholder { - color: transparent; -} -.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) { - padding-top: 1.625rem; - padding-bottom: 0.625rem; -} -.form-floating > .form-control:not(:-ms-input-placeholder), .form-floating > .form-control-plaintext:not(:-ms-input-placeholder) { - padding-top: 1.625rem; - padding-bottom: 0.625rem; -} -.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), -.form-floating > .form-control-plaintext:focus, -.form-floating > .form-control-plaintext:not(:placeholder-shown) { - padding-top: 1.625rem; - padding-bottom: 0.625rem; -} -.form-floating > .form-control:-webkit-autofill, -.form-floating > .form-control-plaintext:-webkit-autofill { - padding-top: 1.625rem; - padding-bottom: 0.625rem; -} -.form-floating > .form-select { - padding-top: 1.625rem; - padding-bottom: 0.625rem; -} -.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { - opacity: 0.65; - transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); -} -.form-floating > .form-control:not(:-ms-input-placeholder) ~ label { - opacity: 0.65; - transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); -} -.form-floating > .form-control:focus ~ label, -.form-floating > .form-control:not(:placeholder-shown) ~ label, -.form-floating > .form-control-plaintext ~ label, -.form-floating > .form-select ~ label { - opacity: 0.65; - transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); -} -.form-floating > .form-control:-webkit-autofill ~ label { - opacity: 0.65; - transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); -} -.form-floating > .form-control-plaintext ~ label { - border-width: 1px 0; -} - -.input-group { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: stretch; - width: 100%; -} -.input-group > .form-control, -.input-group > .form-select, -.input-group > .form-floating { - position: relative; - flex: 1 1 auto; - width: 1%; - min-width: 0; -} -.input-group > .form-control:focus, -.input-group > .form-select:focus, -.input-group > .form-floating:focus-within { - z-index: 5; -} -.input-group .btn { - position: relative; - z-index: 2; -} -.input-group .btn:focus { - z-index: 5; -} - -.input-group-text { - display: flex; - align-items: center; - padding: 0.4375rem 0.75rem; - font-size: 0.875rem; - font-weight: 400; - line-height: 1.4285714286; - color: var(--tblr-muted); - text-align: center; - white-space: nowrap; - background-color: #f8fafc; - border: 1px solid var(--tblr-border-color); - border-radius: var(--tblr-border-radius); -} - -.input-group-lg > .form-control, -.input-group-lg > .form-select, -.input-group-lg > .input-group-text, -.input-group-lg > .btn { - padding: 0.5rem 1.5rem; - font-size: 1.25rem; - border-radius: 8px; -} - -.input-group-sm > .form-control, -.input-group-sm > .form-select, -.input-group-sm > .input-group-text, -.input-group-sm > .btn { - padding: 0.125rem 0.5rem; - font-size: 0.75rem; - border-radius: 2px; -} - -.input-group-lg > .form-select, -.input-group-sm > .form-select { - padding-right: 3rem; -} - -.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), -.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), -.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, -.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), -.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4), -.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control, -.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { - margin-left: -1px; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.input-group > .form-floating:not(:first-child) > .form-control, -.input-group > .form-floating:not(:first-child) > .form-select { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 85.714285%; - color: #2fb344; -} - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: 0.1rem; - font-size: 0.765625rem; - color: #f8fafc; - background-color: rgba(47, 179, 68, 0.9); - border-radius: 4px; -} - -.was-validated :valid ~ .valid-feedback, -.was-validated :valid ~ .valid-tooltip, -.is-valid ~ .valid-feedback, -.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .form-control:valid, .form-control.is-valid { - border-color: #2fb344; - padding-right: calc(1.4285714286em + 0.875rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.3571428572em + 0.21875rem) center; - background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); -} -.was-validated .form-control:valid:focus, .form-control.is-valid:focus { - border-color: #2fb344; - box-shadow: 0 0 0 0.25rem rgba(47, 179, 68, 0.25); -} - -.was-validated textarea.form-control:valid, textarea.form-control.is-valid { - padding-right: calc(1.4285714286em + 0.875rem); - background-position: top calc(0.3571428572em + 0.21875rem) right calc(0.3571428572em + 0.21875rem); -} - -.was-validated .form-select:valid, .form-select.is-valid { - border-color: #2fb344; -} -.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { - padding-right: 4.125rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); - background-position: right 0.75rem center, center right 2.25rem; - background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); -} -.was-validated .form-select:valid:focus, .form-select.is-valid:focus { - border-color: #2fb344; - box-shadow: 0 0 0 0.25rem rgba(47, 179, 68, 0.25); -} - -.was-validated .form-control-color:valid, .form-control-color.is-valid { - width: calc(3rem + calc(1.4285714286em + 0.875rem)); -} - -.was-validated .form-check-input:valid, .form-check-input.is-valid { - border-color: #2fb344; -} -.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { - background-color: #2fb344; -} -.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { - box-shadow: 0 0 0 0.25rem rgba(47, 179, 68, 0.25); -} -.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #2fb344; -} - -.form-check-inline .form-check-input ~ .valid-feedback { - margin-left: 0.5em; -} - -.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, -.was-validated .input-group > .form-select:not(:focus):valid, -.input-group > .form-select:not(:focus).is-valid, -.was-validated .input-group > .form-floating:not(:focus-within):valid, -.input-group > .form-floating:not(:focus-within).is-valid { - z-index: 3; -} - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 85.714285%; - color: #d63939; -} - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: 0.1rem; - font-size: 0.765625rem; - color: #f8fafc; - background-color: rgba(214, 57, 57, 0.9); - border-radius: 4px; -} - -.was-validated :invalid ~ .invalid-feedback, -.was-validated :invalid ~ .invalid-tooltip, -.is-invalid ~ .invalid-feedback, -.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .form-control:invalid, .form-control.is-invalid { - border-color: #d63939; - padding-right: calc(1.4285714286em + 0.875rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.3571428572em + 0.21875rem) center; - background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); -} -.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { - border-color: #d63939; - box-shadow: 0 0 0 0.25rem rgba(214, 57, 57, 0.25); -} - -.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { - padding-right: calc(1.4285714286em + 0.875rem); - background-position: top calc(0.3571428572em + 0.21875rem) right calc(0.3571428572em + 0.21875rem); -} - -.was-validated .form-select:invalid, .form-select.is-invalid { - border-color: #d63939; -} -.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { - padding-right: 4.125rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); - background-position: right 0.75rem center, center right 2.25rem; - background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); -} -.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { - border-color: #d63939; - box-shadow: 0 0 0 0.25rem rgba(214, 57, 57, 0.25); -} - -.was-validated .form-control-color:invalid, .form-control-color.is-invalid { - width: calc(3rem + calc(1.4285714286em + 0.875rem)); -} - -.was-validated .form-check-input:invalid, .form-check-input.is-invalid { - border-color: #d63939; -} -.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { - background-color: #d63939; -} -.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { - box-shadow: 0 0 0 0.25rem rgba(214, 57, 57, 0.25); -} -.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #d63939; -} - -.form-check-inline .form-check-input ~ .invalid-feedback { - margin-left: 0.5em; -} - -.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, -.was-validated .input-group > .form-select:not(:focus):invalid, -.input-group > .form-select:not(:focus).is-invalid, -.was-validated .input-group > .form-floating:not(:focus-within):invalid, -.input-group > .form-floating:not(:focus-within).is-invalid { - z-index: 4; -} - -.btn { - --tblr-btn-padding-x: 1rem; - --tblr-btn-padding-y: 0.4375rem; - --tblr-btn-font-family: var(--tblr-font-sans-serif); - --tblr-btn-font-size: 0.875rem; - --tblr-btn-font-weight: var(--tblr-font-weight-medium); - --tblr-btn-line-height: 1.4285714286; - --tblr-btn-color: #1d273b; - --tblr-btn-bg: transparent; - --tblr-btn-border-width: 1px; - --tblr-btn-border-color: transparent; - --tblr-btn-border-radius: var(--tblr-border-radius); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); - --tblr-btn-disabled-opacity: 0.4; - --tblr-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5); - display: inline-block; - padding: var(--tblr-btn-padding-y) var(--tblr-btn-padding-x); - font-family: var(--tblr-btn-font-family); - font-size: var(--tblr-btn-font-size); - font-weight: var(--tblr-btn-font-weight); - line-height: var(--tblr-btn-line-height); - color: var(--tblr-btn-color); - text-align: center; - vertical-align: middle; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: var(--tblr-btn-border-width) solid var(--tblr-btn-border-color); - border-radius: var(--tblr-btn-border-radius); - background-color: var(--tblr-btn-bg); - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .btn { - transition: none; - } -} -.btn:hover { - color: var(--tblr-btn-hover-color); - text-decoration: none; - background-color: var(--tblr-btn-hover-bg); - border-color: var(--tblr-btn-hover-border-color); -} -.btn-check + .btn:hover { - color: var(--tblr-btn-color); - background-color: var(--tblr-btn-bg); - border-color: var(--tblr-btn-border-color); -} -.btn:focus-visible { - color: var(--tblr-btn-hover-color); - background-color: var(--tblr-btn-hover-bg); - border-color: var(--tblr-btn-hover-border-color); - outline: 0; - box-shadow: var(--tblr-btn-focus-box-shadow); -} -.btn-check:focus-visible + .btn { - border-color: var(--tblr-btn-hover-border-color); - outline: 0; - box-shadow: var(--tblr-btn-focus-box-shadow); -} -.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { - color: var(--tblr-btn-active-color); - background-color: var(--tblr-btn-active-bg); - border-color: var(--tblr-btn-active-border-color); -} -.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { - box-shadow: var(--tblr-btn-focus-box-shadow); -} -.btn:disabled, .btn.disabled, fieldset:disabled .btn { - color: var(--tblr-btn-disabled-color); - pointer-events: none; - background-color: var(--tblr-btn-disabled-bg); - border-color: var(--tblr-btn-disabled-border-color); - opacity: var(--tblr-btn-disabled-opacity); -} - -.btn-link { - --tblr-btn-font-weight: 400; - --tblr-btn-color: var(--tblr-link-color); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: var(--tblr-link-hover-color); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-color: var(--tblr-link-hover-color); - --tblr-btn-active-border-color: transparent; - --tblr-btn-disabled-color: #49566c; - --tblr-btn-disabled-border-color: transparent; - --tblr-btn-box-shadow: none; - --tblr-btn-focus-shadow-rgb: 64, 128, 204; - text-decoration: none; -} -.btn-link:hover, .btn-link:focus-visible { - text-decoration: underline; -} -.btn-link:focus-visible { - color: var(--tblr-btn-color); -} -.btn-link:hover { - color: var(--tblr-btn-hover-color); -} - -.btn-lg, .btn-group-lg > .btn { - --tblr-btn-padding-y: 0.5rem; - --tblr-btn-padding-x: 1.5rem; - --tblr-btn-font-size: 1.25rem; - --tblr-btn-border-radius: 8px; -} - -.btn-sm, .btn-group-sm > .btn { - --tblr-btn-padding-y: 0.125rem; - --tblr-btn-padding-x: 0.5rem; - --tblr-btn-font-size: 0.75rem; - --tblr-btn-border-radius: 2px; -} - -.fade { - transition: opacity 0.15s linear; -} -@media (prefers-reduced-motion: reduce) { - .fade { - transition: none; - } -} -.fade:not(.show) { - opacity: 0; -} - -.collapse:not(.show) { - display: none; -} - -.collapsing { - height: 0; - overflow: hidden; - transition: height 0.35s ease; -} -@media (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; - } -} -.collapsing.collapse-horizontal { - width: 0; - height: auto; - transition: width 0.35s ease; -} -@media (prefers-reduced-motion: reduce) { - .collapsing.collapse-horizontal { - transition: none; - } -} - -.dropup, -.dropend, -.dropdown, -.dropstart, -.dropup-center, -.dropdown-center { - position: relative; -} - -.dropdown-toggle { - white-space: nowrap; -} -.dropdown-toggle:after { - content: ""; - display: inline-block; - vertical-align: 0.306em; - width: 0.36em; - height: 0.36em; - border-bottom: 1px solid; - border-left: 1px solid; - margin-right: 0.1em; - margin-left: 0.4em; - transform: rotate(-45deg); -} - -.dropdown-menu { - --tblr-dropdown-zindex: 1000; - --tblr-dropdown-min-width: 11rem; - --tblr-dropdown-padding-x: 0; - --tblr-dropdown-padding-y: 0.25rem; - --tblr-dropdown-spacer: 1px; - --tblr-dropdown-font-size: 0.875rem; - --tblr-dropdown-color: #1d273b; - --tblr-dropdown-bg: #ffffff; - --tblr-dropdown-border-color: var(--tblr-border-color-translucent); - --tblr-dropdown-border-radius: 4px; - --tblr-dropdown-border-width: 1px; - --tblr-dropdown-inner-border-radius: 3px; - --tblr-dropdown-divider-bg: var(--tblr-border-color-translucent); - --tblr-dropdown-divider-margin-y: 0.5rem; - --tblr-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --tblr-dropdown-link-color: inherit; - --tblr-dropdown-link-hover-color: inherit; - --tblr-dropdown-link-hover-bg: rgba(var(--tblr-muted-rgb), 0.04); - --tblr-dropdown-link-active-color: var(--tblr-primary); - --tblr-dropdown-link-active-bg: var(--tblr-active-bg); - --tblr-dropdown-link-disabled-color: #6c7a91; - --tblr-dropdown-item-padding-x: 0.75rem; - --tblr-dropdown-item-padding-y: 0.5rem; - --tblr-dropdown-header-color: #49566c; - --tblr-dropdown-header-padding-x: 0.75rem; - --tblr-dropdown-header-padding-y: 0.25rem; - position: absolute; - z-index: var(--tblr-dropdown-zindex); - display: none; - min-width: var(--tblr-dropdown-min-width); - padding: var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x); - margin: 0; - font-size: var(--tblr-dropdown-font-size); - color: var(--tblr-dropdown-color); - text-align: left; - list-style: none; - background-color: var(--tblr-dropdown-bg); - background-clip: padding-box; - border: var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color); - border-radius: var(--tblr-dropdown-border-radius); -} -.dropdown-menu[data-bs-popper] { - top: 100%; - left: 0; - margin-top: var(--tblr-dropdown-spacer); -} - -.dropdown-menu-start { - --bs-position: start; -} -.dropdown-menu-start[data-bs-popper] { - right: auto; - left: 0; -} - -.dropdown-menu-end { - --bs-position: end; -} -.dropdown-menu-end[data-bs-popper] { - right: 0; - left: auto; -} - -@media (min-width: 576px) { - .dropdown-menu-sm-start { - --bs-position: start; - } - .dropdown-menu-sm-start[data-bs-popper] { - right: auto; - left: 0; - } - .dropdown-menu-sm-end { - --bs-position: end; - } - .dropdown-menu-sm-end[data-bs-popper] { - right: 0; - left: auto; - } -} -@media (min-width: 768px) { - .dropdown-menu-md-start { - --bs-position: start; - } - .dropdown-menu-md-start[data-bs-popper] { - right: auto; - left: 0; - } - .dropdown-menu-md-end { - --bs-position: end; - } - .dropdown-menu-md-end[data-bs-popper] { - right: 0; - left: auto; - } -} -@media (min-width: 992px) { - .dropdown-menu-lg-start { - --bs-position: start; - } - .dropdown-menu-lg-start[data-bs-popper] { - right: auto; - left: 0; - } - .dropdown-menu-lg-end { - --bs-position: end; - } - .dropdown-menu-lg-end[data-bs-popper] { - right: 0; - left: auto; - } -} -@media (min-width: 1200px) { - .dropdown-menu-xl-start { - --bs-position: start; - } - .dropdown-menu-xl-start[data-bs-popper] { - right: auto; - left: 0; - } - .dropdown-menu-xl-end { - --bs-position: end; - } - .dropdown-menu-xl-end[data-bs-popper] { - right: 0; - left: auto; - } -} -@media (min-width: 1400px) { - .dropdown-menu-xxl-start { - --bs-position: start; - } - .dropdown-menu-xxl-start[data-bs-popper] { - right: auto; - left: 0; - } - .dropdown-menu-xxl-end { - --bs-position: end; - } - .dropdown-menu-xxl-end[data-bs-popper] { - right: 0; - left: auto; - } -} -.dropup .dropdown-menu[data-bs-popper] { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: var(--tblr-dropdown-spacer); -} -.dropup .dropdown-toggle:after { - content: ""; - display: inline-block; - vertical-align: 0.306em; - width: 0.36em; - height: 0.36em; - border-bottom: 1px solid; - border-left: 1px solid; - margin-right: 0.1em; - margin-left: 0.4em; - transform: rotate(135deg); -} - -.dropend .dropdown-menu[data-bs-popper] { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: var(--tblr-dropdown-spacer); -} -.dropend .dropdown-toggle:after { - content: ""; - display: inline-block; - vertical-align: 0.306em; - width: 0.36em; - height: 0.36em; - border-bottom: 1px solid; - border-left: 1px solid; - margin-right: 0.1em; - margin-left: 0.4em; - transform: rotate(-135deg); -} -.dropend .dropdown-toggle::after { - vertical-align: 0; -} - -.dropstart .dropdown-menu[data-bs-popper] { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: var(--tblr-dropdown-spacer); -} -.dropstart .dropdown-toggle:after { - content: ""; - display: inline-block; - vertical-align: 0.306em; - width: 0.36em; - height: 0.36em; - border-bottom: 1px solid; - border-left: 1px solid; - margin-right: 0.1em; - margin-left: 0.4em; - transform: rotate(45deg); -} -.dropstart .dropdown-toggle::before { - vertical-align: 0; -} - -.dropdown-divider { - height: 0; - margin: var(--tblr-dropdown-divider-margin-y) 0; - overflow: hidden; - border-top: 1px solid var(--tblr-dropdown-divider-bg); - opacity: 1; -} - -.dropdown-item { - display: block; - width: 100%; - padding: var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x); - clear: both; - font-weight: 400; - color: var(--tblr-dropdown-link-color); - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0; -} -.dropdown-item:hover, .dropdown-item:focus { - color: var(--tblr-dropdown-link-hover-color); - text-decoration: none; - background-color: var(--tblr-dropdown-link-hover-bg); -} -.dropdown-item.active, .dropdown-item:active { - color: var(--tblr-dropdown-link-active-color); - text-decoration: none; - background-color: var(--tblr-dropdown-link-active-bg); -} -.dropdown-item.disabled, .dropdown-item:disabled { - color: var(--tblr-dropdown-link-disabled-color); - pointer-events: none; - background-color: transparent; -} - -.dropdown-menu.show { - display: block; -} - -.dropdown-header { - display: block; - padding: var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x); - margin-bottom: 0; - font-size: 0.765625rem; - color: var(--tblr-dropdown-header-color); - white-space: nowrap; -} - -.dropdown-item-text { - display: block; - padding: var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x); - color: var(--tblr-dropdown-link-color); -} - -.dropdown-menu-dark { - --tblr-dropdown-color: #c8d3e1; - --tblr-dropdown-bg: #1d273b; - --tblr-dropdown-border-color: var(--tblr-border-color-translucent); - --tblr-dropdown-box-shadow: ; - --tblr-dropdown-link-color: #c8d3e1; - --tblr-dropdown-link-hover-color: #ffffff; - --tblr-dropdown-divider-bg: var(--tblr-border-color-translucent); - --tblr-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); - --tblr-dropdown-link-active-color: var(--tblr-primary); - --tblr-dropdown-link-active-bg: var(--tblr-active-bg); - --tblr-dropdown-link-disabled-color: #6c7a91; - --tblr-dropdown-header-color: #6c7a91; -} - -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-flex; - vertical-align: middle; -} -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - flex: 1 1 auto; -} -.btn-group > .btn-check:checked + .btn, -.btn-group > .btn-check:focus + .btn, -.btn-group > .btn:hover, -.btn-group > .btn:focus, -.btn-group > .btn:active, -.btn-group > .btn.active, -.btn-group-vertical > .btn-check:checked + .btn, -.btn-group-vertical > .btn-check:focus + .btn, -.btn-group-vertical > .btn:hover, -.btn-group-vertical > .btn:focus, -.btn-group-vertical > .btn:active, -.btn-group-vertical > .btn.active { - z-index: 1; -} - -.btn-toolbar { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; -} -.btn-toolbar .input-group { - width: auto; -} - -.btn-group { - border-radius: var(--tblr-border-radius); -} -.btn-group > :not(.btn-check:first-child) + .btn, -.btn-group > .btn-group:not(:first-child) { - margin-left: -1px; -} -.btn-group > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group > .btn.dropdown-toggle-split:first-child, -.btn-group > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.btn-group > .btn:nth-child(n+3), -.btn-group > :not(.btn-check) + .btn, -.btn-group > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; -} -.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { - margin-left: 0; -} -.dropstart .dropdown-toggle-split::before { - margin-right: 0; -} - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; -} - -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { - padding-right: 1.125rem; - padding-left: 1.125rem; -} - -.btn-group-vertical { - flex-direction: column; - align-items: flex-start; - justify-content: center; -} -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group { - width: 100%; -} -.btn-group-vertical > .btn:not(:first-child), -.btn-group-vertical > .btn-group:not(:first-child) { - margin-top: -1px; -} -.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group-vertical > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn ~ .btn, -.btn-group-vertical > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.nav { - --tblr-nav-link-padding-x: 0.75rem; - --tblr-nav-link-padding-y: 0.5rem; - --tblr-nav-link-font-weight: ; - --tblr-nav-link-color: var(--tblr-muted); - --tblr-nav-link-hover-color: var(--tblr-link-hover-color); - --tblr-nav-link-disabled-color: var(--tblr-disabled-color); - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.nav-link { - display: block; - padding: var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x); - font-size: var(--tblr-nav-link-font-size); - font-weight: var(--tblr-nav-link-font-weight); - color: var(--tblr-nav-link-color); - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .nav-link { - transition: none; - } -} -.nav-link:hover, .nav-link:focus { - color: var(--tblr-nav-link-hover-color); - text-decoration: none; -} -.nav-link.disabled { - color: var(--tblr-nav-link-disabled-color); - pointer-events: none; - cursor: default; -} - -.nav-tabs { - --tblr-nav-tabs-border-width: 1px; - --tblr-nav-tabs-border-color: var(--tblr-border-color); - --tblr-nav-tabs-border-radius: var(--tblr-border-radius); - --tblr-nav-tabs-link-hover-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color); - --tblr-nav-tabs-link-active-color: var(--tblr-body-color); - --tblr-nav-tabs-link-active-bg: #f1f5f9; - --tblr-nav-tabs-link-active-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color); - border-bottom: var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color); -} -.nav-tabs .nav-link { - margin-bottom: calc(-1 * var(--tblr-nav-tabs-border-width)); - background: none; - border: var(--tblr-nav-tabs-border-width) solid transparent; - border-top-left-radius: var(--tblr-nav-tabs-border-radius); - border-top-right-radius: var(--tblr-nav-tabs-border-radius); -} -.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - isolation: isolate; - border-color: var(--tblr-nav-tabs-link-hover-border-color); -} -.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled { - color: var(--tblr-nav-link-disabled-color); - background-color: transparent; - border-color: transparent; -} -.nav-tabs .nav-link.active, -.nav-tabs .nav-item.show .nav-link { - color: var(--tblr-nav-tabs-link-active-color); - background-color: var(--tblr-nav-tabs-link-active-bg); - border-color: var(--tblr-nav-tabs-link-active-border-color); -} -.nav-tabs .dropdown-menu { - margin-top: calc(-1 * var(--tblr-nav-tabs-border-width)); - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.nav-pills { - --tblr-nav-pills-border-radius: 4px; - --tblr-nav-pills-link-active-color: var(--tblr-primary); - --tblr-nav-pills-link-active-bg: var(--tblr-active-bg); -} -.nav-pills .nav-link { - background: none; - border: 0; - border-radius: var(--tblr-nav-pills-border-radius); -} -.nav-pills .nav-link:disabled { - color: var(--tblr-nav-link-disabled-color); - background-color: transparent; - border-color: transparent; -} -.nav-pills .nav-link.active, -.nav-pills .show > .nav-link { - color: var(--tblr-nav-pills-link-active-color); - background-color: var(--tblr-nav-pills-link-active-bg); -} - -.nav-fill > .nav-link, -.nav-fill .nav-item { - flex: 1 1 auto; - text-align: center; -} - -.nav-justified > .nav-link, -.nav-justified .nav-item { - flex-basis: 0; - flex-grow: 1; - text-align: center; -} - -.nav-fill .nav-item .nav-link, -.nav-justified .nav-item .nav-link { - width: 100%; -} - -.tab-content > .tab-pane { - display: none; -} -.tab-content > .active { - display: block; -} - -.navbar { - --tblr-navbar-padding-x: 0; - --tblr-navbar-padding-y: 0.25rem; - --tblr-navbar-color: var(--tblr-body-color); - --tblr-navbar-hover-color: rgba(0, 0, 0, 0.7); - --tblr-navbar-disabled-color: var(--tblr-disabled-color); - --tblr-navbar-active-color: var(--tblr-body-color) color; - --tblr-navbar-brand-padding-y: 0.5rem; - --tblr-navbar-brand-margin-end: 1rem; - --tblr-navbar-brand-font-size: 1rem; - --tblr-navbar-brand-color: var(--tblr-body-color); - --tblr-navbar-brand-hover-color: var(--tblr-body-color) color; - --tblr-navbar-nav-link-padding-x: 0.75rem; - --tblr-navbar-toggler-padding-y: 0; - --tblr-navbar-toggler-padding-x: 0; - --tblr-navbar-toggler-font-size: 1rem; - --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='var%28--tblr-body-color%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); - --tblr-navbar-toggler-border-color: rgba(0, 0, 0, 0.1); - --tblr-navbar-toggler-border-radius: var(--tblr-border-radius); - --tblr-navbar-toggler-focus-width: 0; - --tblr-navbar-toggler-transition: box-shadow 0.15s ease-in-out; - position: relative; - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; - padding: var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x); -} -.navbar > .container, -.navbar > .container-fluid, -.navbar > .container-sm, -.navbar > .container-md, -.navbar > .container-lg, -.navbar > .container-xl, -.navbar > .container-xxl { - display: flex; - flex-wrap: inherit; - align-items: center; - justify-content: space-between; -} -.navbar-brand { - padding-top: var(--tblr-navbar-brand-padding-y); - padding-bottom: var(--tblr-navbar-brand-padding-y); - margin-right: var(--tblr-navbar-brand-margin-end); - font-size: var(--tblr-navbar-brand-font-size); - color: var(--tblr-navbar-brand-color); - white-space: nowrap; -} -.navbar-brand:hover, .navbar-brand:focus { - color: var(--tblr-navbar-brand-hover-color); - text-decoration: none; -} - -.navbar-nav { - --tblr-nav-link-padding-x: 0; - --tblr-nav-link-padding-y: 0.5rem; - --tblr-nav-link-font-weight: ; - --tblr-nav-link-color: var(--tblr-navbar-color); - --tblr-nav-link-hover-color: var(--tblr-navbar-hover-color); - --tblr-nav-link-disabled-color: var(--tblr-navbar-disabled-color); - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} -.navbar-nav .show > .nav-link, -.navbar-nav .nav-link.active { - color: var(--tblr-navbar-active-color); -} -.navbar-nav .dropdown-menu { - position: static; -} - -.navbar-text { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - color: var(--tblr-navbar-color); -} -.navbar-text a, -.navbar-text a:hover, -.navbar-text a:focus { - color: var(--tblr-navbar-active-color); -} - -.navbar-collapse { - flex-basis: 100%; - flex-grow: 1; - align-items: center; -} - -.navbar-toggler { - padding: var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x); - font-size: var(--tblr-navbar-toggler-font-size); - line-height: 1; - color: var(--tblr-navbar-color); - background-color: transparent; - border: var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color); - border-radius: var(--tblr-navbar-toggler-border-radius); - transition: var(--tblr-navbar-toggler-transition); -} -@media (prefers-reduced-motion: reduce) { - .navbar-toggler { - transition: none; - } -} -.navbar-toggler:hover { - text-decoration: none; -} -.navbar-toggler:focus { - text-decoration: none; - outline: 0; - box-shadow: 0 0 0 var(--tblr-navbar-toggler-focus-width); -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - background-image: var(--tblr-navbar-toggler-icon-bg); - background-repeat: no-repeat; - background-position: center; - background-size: 100%; -} - -.navbar-nav-scroll { - max-height: var(--tblr-scroll-height, 75vh); - overflow-y: auto; -} - -@media (min-width: 576px) { - .navbar-expand-sm { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-sm .navbar-nav { - flex-direction: row; - } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: var(--tblr-navbar-nav-link-padding-x); - padding-left: var(--tblr-navbar-nav-link-padding-x); - } - .navbar-expand-sm .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-sm .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-sm .navbar-toggler { - display: none; - } - .navbar-expand-sm .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; - } - .navbar-expand-sm .offcanvas .offcanvas-header { - display: none; - } - .navbar-expand-sm .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 768px) { - .navbar-expand-md { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-md .navbar-nav { - flex-direction: row; - } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: var(--tblr-navbar-nav-link-padding-x); - padding-left: var(--tblr-navbar-nav-link-padding-x); - } - .navbar-expand-md .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-md .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-md .navbar-toggler { - display: none; - } - .navbar-expand-md .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; - } - .navbar-expand-md .offcanvas .offcanvas-header { - display: none; - } - .navbar-expand-md .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 992px) { - .navbar-expand-lg { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-lg .navbar-nav { - flex-direction: row; - } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: var(--tblr-navbar-nav-link-padding-x); - padding-left: var(--tblr-navbar-nav-link-padding-x); - } - .navbar-expand-lg .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-lg .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-lg .navbar-toggler { - display: none; - } - .navbar-expand-lg .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; - } - .navbar-expand-lg .offcanvas .offcanvas-header { - display: none; - } - .navbar-expand-lg .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 1200px) { - .navbar-expand-xl { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-xl .navbar-nav { - flex-direction: row; - } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: var(--tblr-navbar-nav-link-padding-x); - padding-left: var(--tblr-navbar-nav-link-padding-x); - } - .navbar-expand-xl .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-xl .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-xl .navbar-toggler { - display: none; - } - .navbar-expand-xl .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; - } - .navbar-expand-xl .offcanvas .offcanvas-header { - display: none; - } - .navbar-expand-xl .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 1400px) { - .navbar-expand-xxl { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-xxl .navbar-nav { - flex-direction: row; - } - .navbar-expand-xxl .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-xxl .navbar-nav .nav-link { - padding-right: var(--tblr-navbar-nav-link-padding-x); - padding-left: var(--tblr-navbar-nav-link-padding-x); - } - .navbar-expand-xxl .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-xxl .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-xxl .navbar-toggler { - display: none; - } - .navbar-expand-xxl .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; - } - .navbar-expand-xxl .offcanvas .offcanvas-header { - display: none; - } - .navbar-expand-xxl .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -.navbar-expand { - flex-wrap: nowrap; - justify-content: flex-start; -} -.navbar-expand .navbar-nav { - flex-direction: row; -} -.navbar-expand .navbar-nav .dropdown-menu { - position: absolute; -} -.navbar-expand .navbar-nav .nav-link { - padding-right: var(--tblr-navbar-nav-link-padding-x); - padding-left: var(--tblr-navbar-nav-link-padding-x); -} -.navbar-expand .navbar-nav-scroll { - overflow: visible; -} -.navbar-expand .navbar-collapse { - display: flex !important; - flex-basis: auto; -} -.navbar-expand .navbar-toggler { - display: none; -} -.navbar-expand .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; -} -.navbar-expand .offcanvas .offcanvas-header { - display: none; -} -.navbar-expand .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; -} - -.navbar-dark { - --tblr-navbar-color: rgba(255, 255, 255, 0.7); - --tblr-navbar-hover-color: rgba(255, 255, 255, 0.75); - --tblr-navbar-disabled-color: var(--tblr-disabled-color); - --tblr-navbar-active-color: #ffffff; - --tblr-navbar-brand-color: #ffffff; - --tblr-navbar-brand-hover-color: #ffffff; - --tblr-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); - --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); -} - -.card { - --tblr-card-spacer-y: 1rem; - --tblr-card-spacer-x: 1.5rem; - --tblr-card-title-spacer-y: 1.25rem; - --tblr-card-border-width: var(--tblr-border-width); - --tblr-card-border-color: var(--tblr-border-color); - --tblr-card-border-radius: var(--tblr-border-radius); - --tblr-card-box-shadow: var(--tblr-shadow-card); - --tblr-card-inner-border-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); - --tblr-card-cap-padding-y: 1rem; - --tblr-card-cap-padding-x: 1.5rem; - --tblr-card-cap-bg: var(--tblr-bg-surface-secondary); - --tblr-card-cap-color: inherit; - --tblr-card-height: ; - --tblr-card-color: inherit; - --tblr-card-bg: var(--tblr-bg-surface); - --tblr-card-img-overlay-padding: 1rem; - --tblr-card-group-margin: 1.5rem; - position: relative; - display: flex; - flex-direction: column; - min-width: 0; - height: var(--tblr-card-height); - word-wrap: break-word; - background-color: var(--tblr-card-bg); - background-clip: border-box; - border: var(--tblr-card-border-width) solid var(--tblr-card-border-color); - border-radius: var(--tblr-card-border-radius); -} -.card > hr, .card > .hr { - margin-right: 0; - margin-left: 0; -} -.card > .list-group { - border-top: inherit; - border-bottom: inherit; -} -.card > .list-group:first-child { - border-top-width: 0; - border-top-left-radius: var(--tblr-card-inner-border-radius); - border-top-right-radius: var(--tblr-card-inner-border-radius); -} -.card > .list-group:last-child { - border-bottom-width: 0; - border-bottom-right-radius: var(--tblr-card-inner-border-radius); - border-bottom-left-radius: var(--tblr-card-inner-border-radius); -} -.card > .card-header + .list-group, -.card > .list-group + .card-footer { - border-top: 0; -} - -.card-body { - flex: 1 1 auto; - padding: var(--tblr-card-spacer-y) var(--tblr-card-spacer-x); - color: var(--tblr-card-color); -} - -.card-title { - margin-bottom: var(--tblr-card-title-spacer-y); -} - -.card-subtitle { - margin-top: calc(-0.5 * var(--tblr-card-title-spacer-y)); - margin-bottom: 0; -} - -.card-text:last-child { - margin-bottom: 0; -} - -.card-link:hover { - text-decoration: none; -} -.card-link + .card-link { - margin-left: var(--tblr-card-spacer-x); -} - -.card-header { - padding: var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x); - margin-bottom: 0; - color: var(--tblr-card-cap-color); - background-color: var(--tblr-card-cap-bg); - border-bottom: var(--tblr-card-border-width) solid var(--tblr-card-border-color); -} -.card-header:first-child { - border-radius: var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0; -} - -.card-footer { - padding: var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x); - color: var(--tblr-card-cap-color); - background-color: var(--tblr-card-cap-bg); - border-top: var(--tblr-card-border-width) solid var(--tblr-card-border-color); -} -.card-footer:last-child { - border-radius: 0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius); -} - -.card-header-tabs { - margin-right: calc(-0.5 * var(--tblr-card-cap-padding-x)); - margin-bottom: calc(-1 * var(--tblr-card-cap-padding-y)); - margin-left: calc(-0.5 * var(--tblr-card-cap-padding-x)); - border-bottom: 0; -} -.card-header-tabs .nav-link.active { - background-color: var(--tblr-card-bg); - border-bottom-color: var(--tblr-card-bg); -} - -.card-header-pills { - margin-right: calc(-0.5 * var(--tblr-card-cap-padding-x)); - margin-left: calc(-0.5 * var(--tblr-card-cap-padding-x)); -} - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: var(--tblr-card-img-overlay-padding); - border-radius: var(--tblr-card-inner-border-radius); -} - -.card-img, -.card-img-top, -.card-img-bottom { - width: 100%; -} - -.card-img, -.card-img-top { - border-top-left-radius: var(--tblr-card-inner-border-radius); - border-top-right-radius: var(--tblr-card-inner-border-radius); -} - -.card-img, -.card-img-bottom { - border-bottom-right-radius: var(--tblr-card-inner-border-radius); - border-bottom-left-radius: var(--tblr-card-inner-border-radius); -} - -.card-group > .card { - margin-bottom: var(--tblr-card-group-margin); -} -@media (min-width: 576px) { - .card-group { - display: flex; - flex-flow: row wrap; - } - .card-group > .card { - flex: 1 0 0%; - margin-bottom: 0; - } - .card-group > .card + .card { - margin-left: 0; - border-left: 0; - } - .card-group > .card:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - .card-group > .card:not(:last-child) .card-img-top, -.card-group > .card:not(:last-child) .card-header { - border-top-right-radius: 0; - } - .card-group > .card:not(:last-child) .card-img-bottom, -.card-group > .card:not(:last-child) .card-footer { - border-bottom-right-radius: 0; - } - .card-group > .card:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - .card-group > .card:not(:first-child) .card-img-top, -.card-group > .card:not(:first-child) .card-header { - border-top-left-radius: 0; - } - .card-group > .card:not(:first-child) .card-img-bottom, -.card-group > .card:not(:first-child) .card-footer { - border-bottom-left-radius: 0; - } -} - -.accordion { - --tblr-accordion-color: var(--tblr-body-color); - --tblr-accordion-bg: transparent; - --tblr-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; - --tblr-accordion-border-color: var(--tblr-border-color-translucent); - --tblr-accordion-border-width: 1px; - --tblr-accordion-border-radius: 4px; - --tblr-accordion-inner-border-radius: 3px; - --tblr-accordion-btn-padding-x: 1.25rem; - --tblr-accordion-btn-padding-y: 1rem; - --tblr-accordion-btn-color: var(--tblr-body-color); - --tblr-accordion-btn-bg: transparent; - --tblr-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--tblr-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); - --tblr-accordion-btn-icon-width: 1rem; - --tblr-accordion-btn-icon-transform: rotate(-180deg); - --tblr-accordion-btn-icon-transition: transform 0.2s ease-in-out; - --tblr-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='inherit'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); - --tblr-accordion-btn-focus-border-color: var(--tblr-border-color-translucent); - --tblr-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); - --tblr-accordion-body-padding-x: 1.25rem; - --tblr-accordion-body-padding-y: 1rem; - --tblr-accordion-active-color: inherit; - --tblr-accordion-active-bg: transparent; -} - -.accordion-button { - position: relative; - display: flex; - align-items: center; - width: 100%; - padding: var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-btn-padding-x); - font-size: 0.875rem; - color: var(--tblr-accordion-btn-color); - text-align: left; - background-color: var(--tblr-accordion-btn-bg); - border: 0; - border-radius: 0; - overflow-anchor: none; - transition: var(--tblr-accordion-transition); -} -@media (prefers-reduced-motion: reduce) { - .accordion-button { - transition: none; - } -} -.accordion-button:not(.collapsed) { - color: var(--tblr-accordion-active-color); - background-color: var(--tblr-accordion-active-bg); - box-shadow: inset 0 calc(-1 * var(--tblr-accordion-border-width)) 0 var(--tblr-accordion-border-color); -} -.accordion-button:not(.collapsed)::after { - background-image: var(--tblr-accordion-btn-active-icon); - transform: var(--tblr-accordion-btn-icon-transform); -} -.accordion-button::after { - flex-shrink: 0; - width: var(--tblr-accordion-btn-icon-width); - height: var(--tblr-accordion-btn-icon-width); - margin-left: auto; - content: ""; - background-image: var(--tblr-accordion-btn-icon); - background-repeat: no-repeat; - background-size: var(--tblr-accordion-btn-icon-width); - transition: var(--tblr-accordion-btn-icon-transition); -} -@media (prefers-reduced-motion: reduce) { - .accordion-button::after { - transition: none; - } -} -.accordion-button:hover { - z-index: 2; -} -.accordion-button:focus { - z-index: 3; - border-color: var(--tblr-accordion-btn-focus-border-color); - outline: 0; - box-shadow: var(--tblr-accordion-btn-focus-box-shadow); -} - -.accordion-header { - margin-bottom: 0; -} - -.accordion-item { - color: var(--tblr-accordion-color); - background-color: var(--tblr-accordion-bg); - border: var(--tblr-accordion-border-width) solid var(--tblr-accordion-border-color); -} -.accordion-item:first-of-type { - border-top-left-radius: var(--tblr-accordion-border-radius); - border-top-right-radius: var(--tblr-accordion-border-radius); -} -.accordion-item:first-of-type .accordion-button { - border-top-left-radius: var(--tblr-accordion-inner-border-radius); - border-top-right-radius: var(--tblr-accordion-inner-border-radius); -} -.accordion-item:not(:first-of-type) { - border-top: 0; -} -.accordion-item:last-of-type { - border-bottom-right-radius: var(--tblr-accordion-border-radius); - border-bottom-left-radius: var(--tblr-accordion-border-radius); -} -.accordion-item:last-of-type .accordion-button.collapsed { - border-bottom-right-radius: var(--tblr-accordion-inner-border-radius); - border-bottom-left-radius: var(--tblr-accordion-inner-border-radius); -} -.accordion-item:last-of-type .accordion-collapse { - border-bottom-right-radius: var(--tblr-accordion-border-radius); - border-bottom-left-radius: var(--tblr-accordion-border-radius); -} - -.accordion-body { - padding: var(--tblr-accordion-body-padding-y) var(--tblr-accordion-body-padding-x); -} - -.accordion-flush .accordion-collapse { - border-width: 0; -} -.accordion-flush .accordion-item { - border-right: 0; - border-left: 0; - border-radius: 0; -} -.accordion-flush .accordion-item:first-child { - border-top: 0; -} -.accordion-flush .accordion-item:last-child { - border-bottom: 0; -} -.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed { - border-radius: 0; -} - -.breadcrumb { - --tblr-breadcrumb-padding-x: 0; - --tblr-breadcrumb-padding-y: 0; - --tblr-breadcrumb-margin-bottom: 1rem; - --tblr-breadcrumb-bg: ; - --tblr-breadcrumb-border-radius: ; - --tblr-breadcrumb-divider-color: var(--tblr-muted); - --tblr-breadcrumb-item-padding-x: 0.5rem; - --tblr-breadcrumb-item-active-color: inherit; - display: flex; - flex-wrap: wrap; - padding: var(--tblr-breadcrumb-padding-y) var(--tblr-breadcrumb-padding-x); - margin-bottom: var(--tblr-breadcrumb-margin-bottom); - font-size: var(--tblr-breadcrumb-font-size); - list-style: none; - background-color: var(--tblr-breadcrumb-bg); - border-radius: var(--tblr-breadcrumb-border-radius); -} - -.breadcrumb-item + .breadcrumb-item { - padding-left: var(--tblr-breadcrumb-item-padding-x); -} -.breadcrumb-item + .breadcrumb-item::before { - float: left; - padding-right: var(--tblr-breadcrumb-item-padding-x); - color: var(--tblr-breadcrumb-divider-color); - content: var(--tblr-breadcrumb-divider, "/") /* rtl: var(--tblr-breadcrumb-divider, "/") */; -} -.breadcrumb-item.active { - color: var(--tblr-breadcrumb-item-active-color); -} - -.pagination { - --tblr-pagination-padding-x: 0.25rem; - --tblr-pagination-padding-y: 0.25rem; - --tblr-pagination-font-size: 0.875rem; - --tblr-pagination-color: var(--tblr-muted); - --tblr-pagination-bg: transparent; - --tblr-pagination-border-width: 0; - --tblr-pagination-border-color: #c8d3e1; - --tblr-pagination-border-radius: 4px; - --tblr-pagination-hover-color: var(--tblr-link-hover-color); - --tblr-pagination-hover-bg: #e2e8f0; - --tblr-pagination-hover-border-color: #c8d3e1; - --tblr-pagination-focus-color: var(--tblr-link-hover-color); - --tblr-pagination-focus-bg: #e2e8f0; - --tblr-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); - --tblr-pagination-active-color: #ffffff; - --tblr-pagination-active-bg: var(--tblr-primary); - --tblr-pagination-active-border-color: var(--tblr-primary); - --tblr-pagination-disabled-color: var(--tblr-disabled-color); - --tblr-pagination-disabled-bg: transparent; - --tblr-pagination-disabled-border-color: #c8d3e1; - display: flex; - padding-left: 0; - list-style: none; -} - -.page-link { - position: relative; - display: block; - padding: var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x); - font-size: var(--tblr-pagination-font-size); - color: var(--tblr-pagination-color); - background-color: var(--tblr-pagination-bg); - border: var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color); - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .page-link { - transition: none; - } -} -.page-link:hover { - z-index: 2; - color: var(--tblr-pagination-hover-color); - text-decoration: none; - background-color: var(--tblr-pagination-hover-bg); - border-color: var(--tblr-pagination-hover-border-color); -} -.page-link:focus { - z-index: 3; - color: var(--tblr-pagination-focus-color); - background-color: var(--tblr-pagination-focus-bg); - outline: 0; - box-shadow: var(--tblr-pagination-focus-box-shadow); -} -.page-link.active, .active > .page-link { - z-index: 3; - color: var(--tblr-pagination-active-color); - background-color: var(--tblr-pagination-active-bg); - border-color: var(--tblr-pagination-active-border-color); -} -.page-link.disabled, .disabled > .page-link { - color: var(--tblr-pagination-disabled-color); - pointer-events: none; - background-color: var(--tblr-pagination-disabled-bg); - border-color: var(--tblr-pagination-disabled-border-color); -} - -.page-item:not(:first-child) .page-link { - margin-left: 0; -} -.page-item:first-child .page-link { - border-top-left-radius: var(--tblr-pagination-border-radius); - border-bottom-left-radius: var(--tblr-pagination-border-radius); -} -.page-item:last-child .page-link { - border-top-right-radius: var(--tblr-pagination-border-radius); - border-bottom-right-radius: var(--tblr-pagination-border-radius); -} - -.pagination-lg { - --tblr-pagination-padding-x: 1.5rem; - --tblr-pagination-padding-y: 0.75rem; - --tblr-pagination-font-size: 1.09375rem; - --tblr-pagination-border-radius: 8px; -} - -.pagination-sm { - --tblr-pagination-padding-x: 0.5rem; - --tblr-pagination-padding-y: 0.25rem; - --tblr-pagination-font-size: 0.765625rem; - --tblr-pagination-border-radius: 2px; -} - -.badge { - --tblr-badge-padding-x: 0.5em; - --tblr-badge-padding-y: 0.25em; - --tblr-badge-font-size: 85.714285%; - --tblr-badge-font-weight: var(--tblr-font-weight-medium); - --tblr-badge-color: #ffffff; - --tblr-badge-border-radius: 4px; - display: inline-block; - padding: var(--tblr-badge-padding-y) var(--tblr-badge-padding-x); - font-size: var(--tblr-badge-font-size); - font-weight: var(--tblr-badge-font-weight); - line-height: 1; - color: var(--tblr-badge-color); - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: var(--tblr-badge-border-radius); -} -.badge:empty { - display: none; -} - -.btn .badge { - position: relative; - top: -1px; -} - -.alert { - --tblr-alert-bg: transparent; - --tblr-alert-padding-x: 1rem; - --tblr-alert-padding-y: 1rem; - --tblr-alert-margin-bottom: 1rem; - --tblr-alert-color: inherit; - --tblr-alert-border-color: transparent; - --tblr-alert-border: 1px solid var(--tblr-alert-border-color); - --tblr-alert-border-radius: 4px; - position: relative; - padding: var(--tblr-alert-padding-y) var(--tblr-alert-padding-x); - margin-bottom: var(--tblr-alert-margin-bottom); - color: var(--tblr-alert-color); - background-color: var(--tblr-alert-bg); - border: var(--tblr-alert-border); - border-radius: var(--tblr-alert-border-radius); -} - -.alert-heading { - color: inherit; -} - -.alert-link { - font-weight: var(--tblr-font-weight-bold); -} - -.alert-dismissible { - padding-right: 3rem; -} -.alert-dismissible .btn-close { - position: absolute; - top: 0; - right: 0; - z-index: 2; - padding: 1.25rem 1rem; -} - -@-webkit-keyframes progress-bar-stripes { - 0% { - background-position-x: 0.5rem; - } -} - -@keyframes progress-bar-stripes { - 0% { - background-position-x: 0.5rem; - } -} -.progress { - --tblr-progress-height: 0.5rem; - --tblr-progress-font-size: 0.65625rem; - --tblr-progress-bg: var(--tblr-border-color); - --tblr-progress-border-radius: var(--tblr-border-radius); - --tblr-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); - --tblr-progress-bar-color: #ffffff; - --tblr-progress-bar-bg: var(--tblr-primary); - --tblr-progress-bar-transition: width 0.6s ease; - display: flex; - height: var(--tblr-progress-height); - overflow: hidden; - font-size: var(--tblr-progress-font-size); - background-color: var(--tblr-progress-bg); - border-radius: var(--tblr-progress-border-radius); -} - -.progress-bar { - display: flex; - flex-direction: column; - justify-content: center; - overflow: hidden; - color: var(--tblr-progress-bar-color); - text-align: center; - white-space: nowrap; - background-color: var(--tblr-progress-bar-bg); - transition: var(--tblr-progress-bar-transition); -} -@media (prefers-reduced-motion: reduce) { - .progress-bar { - transition: none; - } -} - -.progress-bar-striped { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: var(--tblr-progress-height) var(--tblr-progress-height); -} - -.progress-bar-animated { - -webkit-animation: 1s linear infinite progress-bar-stripes; - animation: 1s linear infinite progress-bar-stripes; -} -@media (prefers-reduced-motion: reduce) { - .progress-bar-animated { - -webkit-animation: none; - animation: none; - } -} - -.list-group { - --tblr-list-group-color: #0f172a; - --tblr-list-group-bg: inherit; - --tblr-list-group-border-color: var(--tblr-border-color); - --tblr-list-group-border-width: 1px; - --tblr-list-group-border-radius: 4px; - --tblr-list-group-item-padding-x: 1.5rem; - --tblr-list-group-item-padding-y: 1rem; - --tblr-list-group-action-color: inherit; - --tblr-list-group-action-hover-color: inherit; - --tblr-list-group-action-hover-bg: rgba(var(--tblr-muted-rgb), 0.04); - --tblr-list-group-action-active-color: #1d273b; - --tblr-list-group-action-active-bg: #e2e8f0; - --tblr-list-group-disabled-color: #49566c; - --tblr-list-group-disabled-bg: inherit; - --tblr-list-group-active-color: inherit; - --tblr-list-group-active-bg: var(--tblr-active-bg); - --tblr-list-group-active-border-color: var(--tblr-border-color); - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - border-radius: var(--tblr-list-group-border-radius); -} - -.list-group-numbered { - list-style-type: none; - counter-reset: section; -} -.list-group-numbered > .list-group-item::before { - content: counters(section, ".") ". "; - counter-increment: section; -} - -.list-group-item-action { - width: 100%; - color: var(--tblr-list-group-action-color); - text-align: inherit; -} -.list-group-item-action:hover, .list-group-item-action:focus { - z-index: 1; - color: var(--tblr-list-group-action-hover-color); - text-decoration: none; - background-color: var(--tblr-list-group-action-hover-bg); -} -.list-group-item-action:active { - color: var(--tblr-list-group-action-active-color); - background-color: var(--tblr-list-group-action-active-bg); -} - -.list-group-item { - position: relative; - display: block; - padding: var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x); - color: var(--tblr-list-group-color); - background-color: var(--tblr-list-group-bg); - border: var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color); -} -.list-group-item:first-child { - border-top-left-radius: inherit; - border-top-right-radius: inherit; -} -.list-group-item:last-child { - border-bottom-right-radius: inherit; - border-bottom-left-radius: inherit; -} -.list-group-item.disabled, .list-group-item:disabled { - color: var(--tblr-list-group-disabled-color); - pointer-events: none; - background-color: var(--tblr-list-group-disabled-bg); -} -.list-group-item.active { - z-index: 2; - color: var(--tblr-list-group-active-color); - background-color: var(--tblr-list-group-active-bg); - border-color: var(--tblr-list-group-active-border-color); -} -.list-group-item + .list-group-item { - border-top-width: 0; -} -.list-group-item + .list-group-item.active { - margin-top: calc(-1 * var(--tblr-list-group-border-width)); - border-top-width: var(--tblr-list-group-border-width); -} - -.list-group-horizontal { - flex-direction: row; -} -.list-group-horizontal > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--tblr-list-group-border-radius); - border-top-right-radius: 0; -} -.list-group-horizontal > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--tblr-list-group-border-radius); - border-bottom-left-radius: 0; -} -.list-group-horizontal > .list-group-item.active { - margin-top: 0; -} -.list-group-horizontal > .list-group-item + .list-group-item { - border-top-width: var(--tblr-list-group-border-width); - border-left-width: 0; -} -.list-group-horizontal > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--tblr-list-group-border-width)); - border-left-width: var(--tblr-list-group-border-width); -} - -@media (min-width: 576px) { - .list-group-horizontal-sm { - flex-direction: row; - } - .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--tblr-list-group-border-radius); - border-top-right-radius: 0; - } - .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--tblr-list-group-border-radius); - border-bottom-left-radius: 0; - } - .list-group-horizontal-sm > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-sm > .list-group-item + .list-group-item { - border-top-width: var(--tblr-list-group-border-width); - border-left-width: 0; - } - .list-group-horizontal-sm > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--tblr-list-group-border-width)); - border-left-width: var(--tblr-list-group-border-width); - } -} -@media (min-width: 768px) { - .list-group-horizontal-md { - flex-direction: row; - } - .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--tblr-list-group-border-radius); - border-top-right-radius: 0; - } - .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--tblr-list-group-border-radius); - border-bottom-left-radius: 0; - } - .list-group-horizontal-md > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-md > .list-group-item + .list-group-item { - border-top-width: var(--tblr-list-group-border-width); - border-left-width: 0; - } - .list-group-horizontal-md > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--tblr-list-group-border-width)); - border-left-width: var(--tblr-list-group-border-width); - } -} -@media (min-width: 992px) { - .list-group-horizontal-lg { - flex-direction: row; - } - .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--tblr-list-group-border-radius); - border-top-right-radius: 0; - } - .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--tblr-list-group-border-radius); - border-bottom-left-radius: 0; - } - .list-group-horizontal-lg > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-lg > .list-group-item + .list-group-item { - border-top-width: var(--tblr-list-group-border-width); - border-left-width: 0; - } - .list-group-horizontal-lg > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--tblr-list-group-border-width)); - border-left-width: var(--tblr-list-group-border-width); - } -} -@media (min-width: 1200px) { - .list-group-horizontal-xl { - flex-direction: row; - } - .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--tblr-list-group-border-radius); - border-top-right-radius: 0; - } - .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--tblr-list-group-border-radius); - border-bottom-left-radius: 0; - } - .list-group-horizontal-xl > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-xl > .list-group-item + .list-group-item { - border-top-width: var(--tblr-list-group-border-width); - border-left-width: 0; - } - .list-group-horizontal-xl > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--tblr-list-group-border-width)); - border-left-width: var(--tblr-list-group-border-width); - } -} -@media (min-width: 1400px) { - .list-group-horizontal-xxl { - flex-direction: row; - } - .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--tblr-list-group-border-radius); - border-top-right-radius: 0; - } - .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--tblr-list-group-border-radius); - border-bottom-left-radius: 0; - } - .list-group-horizontal-xxl > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-xxl > .list-group-item + .list-group-item { - border-top-width: var(--tblr-list-group-border-width); - border-left-width: 0; - } - .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--tblr-list-group-border-width)); - border-left-width: var(--tblr-list-group-border-width); - } -} -.list-group-flush { - border-radius: 0; -} -.list-group-flush > .list-group-item { - border-width: 0 0 var(--tblr-list-group-border-width); -} -.list-group-flush > .list-group-item:last-child { - border-bottom-width: 0; -} - -.list-group-item-primary { - color: #134076; - background-color: #d2e1f3; -} -.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { - color: #134076; - background-color: #bdcbdb; -} -.list-group-item-primary.list-group-item-action.active { - color: #ffffff; - background-color: #134076; - border-color: #134076; -} - -.list-group-item-secondary { - color: #3a3e47; - background-color: #dfe1e4; -} -.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { - color: #3a3e47; - background-color: #c9cbcd; -} -.list-group-item-secondary.list-group-item-action.active { - color: #ffffff; - background-color: #3a3e47; - border-color: #3a3e47; -} - -.list-group-item-success { - color: #1c6b29; - background-color: #d5f0da; -} -.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { - color: #1c6b29; - background-color: #c0d8c4; -} -.list-group-item-success.list-group-item-action.active { - color: #ffffff; - background-color: #1c6b29; - border-color: #1c6b29; -} - -.list-group-item-info { - color: #285c87; - background-color: #d9ebf9; -} -.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { - color: #285c87; - background-color: #c3d4e0; -} -.list-group-item-info.list-group-item-action.active { - color: #ffffff; - background-color: #285c87; - border-color: #285c87; -} - -.list-group-item-warning { - color: #943e04; - background-color: #fde1cd; -} -.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { - color: #943e04; - background-color: #e4cbb9; -} -.list-group-item-warning.list-group-item-action.active { - color: #ffffff; - background-color: #943e04; - border-color: #943e04; -} - -.list-group-item-danger { - color: #802222; - background-color: #f7d7d7; -} -.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { - color: #802222; - background-color: #dec2c2; -} -.list-group-item-danger.list-group-item-action.active { - color: #ffffff; - background-color: #802222; - border-color: #802222; -} - -.list-group-item-light { - color: #959697; - background-color: #fefefe; -} -.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { - color: #959697; - background-color: #e5e5e5; -} -.list-group-item-light.list-group-item-action.active { - color: #ffffff; - background-color: #959697; - border-color: #959697; -} - -.list-group-item-dark { - color: #111723; - background-color: #d2d4d8; -} -.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { - color: #111723; - background-color: #bdbfc2; -} -.list-group-item-dark.list-group-item-action.active { - color: #ffffff; - background-color: #111723; - border-color: #111723; -} - -.list-group-item-muted { - color: #3a3e47; - background-color: #dfe1e4; -} -.list-group-item-muted.list-group-item-action:hover, .list-group-item-muted.list-group-item-action:focus { - color: #3a3e47; - background-color: #c9cbcd; -} -.list-group-item-muted.list-group-item-action.active { - color: #ffffff; - background-color: #3a3e47; - border-color: #3a3e47; -} - -.list-group-item-blue { - color: #134076; - background-color: #d2e1f3; -} -.list-group-item-blue.list-group-item-action:hover, .list-group-item-blue.list-group-item-action:focus { - color: #134076; - background-color: #bdcbdb; -} -.list-group-item-blue.list-group-item-action.active { - color: #ffffff; - background-color: #134076; - border-color: #134076; -} - -.list-group-item-azure { - color: #285c87; - background-color: #d9ebf9; -} -.list-group-item-azure.list-group-item-action:hover, .list-group-item-azure.list-group-item-action:focus { - color: #285c87; - background-color: #c3d4e0; -} -.list-group-item-azure.list-group-item-action.active { - color: #ffffff; - background-color: #285c87; - border-color: #285c87; -} - -.list-group-item-indigo { - color: #283b8d; - background-color: #d9e0fb; -} -.list-group-item-indigo.list-group-item-action:hover, .list-group-item-indigo.list-group-item-action:focus { - color: #283b8d; - background-color: #c3cae2; -} -.list-group-item-indigo.list-group-item-action.active { - color: #ffffff; - background-color: #283b8d; - border-color: #283b8d; -} - -.list-group-item-purple { - color: #682579; - background-color: #efd8f4; -} -.list-group-item-purple.list-group-item-action:hover, .list-group-item-purple.list-group-item-action:focus { - color: #682579; - background-color: #d7c2dc; -} -.list-group-item-purple.list-group-item-action.active { - color: #ffffff; - background-color: #682579; - border-color: #682579; -} - -.list-group-item-pink { - color: #801f41; - background-color: #f7d6e2; -} -.list-group-item-pink.list-group-item-action:hover, .list-group-item-pink.list-group-item-action:focus { - color: #801f41; - background-color: #dec1cb; -} -.list-group-item-pink.list-group-item-action.active { - color: #ffffff; - background-color: #801f41; - border-color: #801f41; -} - -.list-group-item-red { - color: #802222; - background-color: #f7d7d7; -} -.list-group-item-red.list-group-item-action:hover, .list-group-item-red.list-group-item-action:focus { - color: #802222; - background-color: #dec2c2; -} -.list-group-item-red.list-group-item-action.active { - color: #ffffff; - background-color: #802222; - border-color: #802222; -} - -.list-group-item-orange { - color: #943e04; - background-color: #fde1cd; -} -.list-group-item-orange.list-group-item-action:hover, .list-group-item-orange.list-group-item-action:focus { - color: #943e04; - background-color: #e4cbb9; -} -.list-group-item-orange.list-group-item-action.active { - color: #ffffff; - background-color: #943e04; - border-color: #943e04; -} - -.list-group-item-yellow { - color: #935f00; - background-color: #fdeccc; -} -.list-group-item-yellow.list-group-item-action:hover, .list-group-item-yellow.list-group-item-action:focus { - color: #935f00; - background-color: #e4d4b8; -} -.list-group-item-yellow.list-group-item-action.active { - color: #ffffff; - background-color: #935f00; - border-color: #935f00; -} - -.list-group-item-lime { - color: #466e0d; - background-color: #e3f1d0; -} -.list-group-item-lime.list-group-item-action:hover, .list-group-item-lime.list-group-item-action:focus { - color: #466e0d; - background-color: #ccd9bb; -} -.list-group-item-lime.list-group-item-action.active { - color: #ffffff; - background-color: #466e0d; - border-color: #466e0d; -} - -.list-group-item-green { - color: #1c6b29; - background-color: #d5f0da; -} -.list-group-item-green.list-group-item-action:hover, .list-group-item-green.list-group-item-action:focus { - color: #1c6b29; - background-color: #c0d8c4; -} -.list-group-item-green.list-group-item-action.active { - color: #ffffff; - background-color: #1c6b29; - border-color: #1c6b29; -} - -.list-group-item-teal { - color: #076448; - background-color: #ceede4; -} -.list-group-item-teal.list-group-item-action:hover, .list-group-item-teal.list-group-item-action:focus { - color: #076448; - background-color: #b9d5cd; -} -.list-group-item-teal.list-group-item-action.active { - color: #ffffff; - background-color: #076448; - border-color: #076448; -} - -.list-group-item-cyan { - color: #0e616e; - background-color: #d1ecf1; -} -.list-group-item-cyan.list-group-item-action:hover, .list-group-item-cyan.list-group-item-action:focus { - color: #0e616e; - background-color: #bcd4d9; -} -.list-group-item-cyan.list-group-item-action.active { - color: #ffffff; - background-color: #0e616e; - border-color: #0e616e; -} - -.list-group-item-facebook { - color: #23355b; - background-color: #d8deea; -} -.list-group-item-facebook.list-group-item-action:hover, .list-group-item-facebook.list-group-item-action:focus { - color: #23355b; - background-color: #c2c8d3; -} -.list-group-item-facebook.list-group-item-action.active { - color: #ffffff; - background-color: #23355b; - border-color: #23355b; -} - -.list-group-item-twitter { - color: #116191; - background-color: #d2ecfc; -} -.list-group-item-twitter.list-group-item-action:hover, .list-group-item-twitter.list-group-item-action:focus { - color: #116191; - background-color: #bdd4e3; -} -.list-group-item-twitter.list-group-item-action.active { - color: #ffffff; - background-color: #116191; - border-color: #116191; -} - -.list-group-item-linkedin { - color: #063d74; - background-color: #cee0f3; -} -.list-group-item-linkedin.list-group-item-action:hover, .list-group-item-linkedin.list-group-item-action:focus { - color: #063d74; - background-color: #b9cadb; -} -.list-group-item-linkedin.list-group-item-action.active { - color: #ffffff; - background-color: #063d74; - border-color: #063d74; -} - -.list-group-item-google { - color: #842f27; - background-color: #f8dcd9; -} -.list-group-item-google.list-group-item-action:hover, .list-group-item-google.list-group-item-action:focus { - color: #842f27; - background-color: #dfc6c3; -} -.list-group-item-google.list-group-item-action.active { - color: #ffffff; - background-color: #842f27; - border-color: #842f27; -} - -.list-group-item-youtube { - color: #990000; - background-color: #ffcccc; -} -.list-group-item-youtube.list-group-item-action:hover, .list-group-item-youtube.list-group-item-action:focus { - color: #990000; - background-color: #e6b8b8; -} -.list-group-item-youtube.list-group-item-action.active { - color: #ffffff; - background-color: #990000; - border-color: #990000; -} - -.list-group-item-vimeo { - color: #106e8c; - background-color: #d1f1fb; -} -.list-group-item-vimeo.list-group-item-action:hover, .list-group-item-vimeo.list-group-item-action:focus { - color: #106e8c; - background-color: #bcd9e2; -} -.list-group-item-vimeo.list-group-item-action.active { - color: #ffffff; - background-color: #106e8c; - border-color: #106e8c; -} - -.list-group-item-dribbble { - color: #8c2e52; - background-color: #fbdbe7; -} -.list-group-item-dribbble.list-group-item-action:hover, .list-group-item-dribbble.list-group-item-action:focus { - color: #8c2e52; - background-color: #e2c5d0; -} -.list-group-item-dribbble.list-group-item-action.active { - color: #ffffff; - background-color: #8c2e52; - border-color: #8c2e52; -} - -.list-group-item-github { - color: #0e0e0e; - background-color: #d1d1d1; -} -.list-group-item-github.list-group-item-action:hover, .list-group-item-github.list-group-item-action:focus { - color: #0e0e0e; - background-color: #bcbcbc; -} -.list-group-item-github.list-group-item-action.active { - color: #ffffff; - background-color: #0e0e0e; - border-color: #0e0e0e; -} - -.list-group-item-instagram { - color: #892639; - background-color: #fad9df; -} -.list-group-item-instagram.list-group-item-action:hover, .list-group-item-instagram.list-group-item-action:focus { - color: #892639; - background-color: #e1c3c9; -} -.list-group-item-instagram.list-group-item-action.active { - color: #ffffff; - background-color: #892639; - border-color: #892639; -} - -.list-group-item-pinterest { - color: #710511; - background-color: #f2ced2; -} -.list-group-item-pinterest.list-group-item-action:hover, .list-group-item-pinterest.list-group-item-action:focus { - color: #710511; - background-color: #dab9bd; -} -.list-group-item-pinterest.list-group-item-action.active { - color: #ffffff; - background-color: #710511; - border-color: #710511; -} - -.list-group-item-vk { - color: #3b4f65; - background-color: #e0e6ee; -} -.list-group-item-vk.list-group-item-action:hover, .list-group-item-vk.list-group-item-action:focus { - color: #3b4f65; - background-color: #cacfd6; -} -.list-group-item-vk.list-group-item-action.active { - color: #ffffff; - background-color: #3b4f65; - border-color: #3b4f65; -} - -.list-group-item-rss { - color: #996300; - background-color: #ffedcc; -} -.list-group-item-rss.list-group-item-action:hover, .list-group-item-rss.list-group-item-action:focus { - color: #996300; - background-color: #e6d5b8; -} -.list-group-item-rss.list-group-item-action.active { - color: #ffffff; - background-color: #996300; - border-color: #996300; -} - -.list-group-item-flickr { - color: #003b84; - background-color: #cce0f8; -} -.list-group-item-flickr.list-group-item-action:hover, .list-group-item-flickr.list-group-item-action:focus { - color: #003b84; - background-color: #b8cadf; -} -.list-group-item-flickr.list-group-item-action.active { - color: #ffffff; - background-color: #003b84; - border-color: #003b84; -} - -.list-group-item-bitbucket { - color: #00317a; - background-color: #ccdcf5; -} -.list-group-item-bitbucket.list-group-item-action:hover, .list-group-item-bitbucket.list-group-item-action:focus { - color: #00317a; - background-color: #b8c6dd; -} -.list-group-item-bitbucket.list-group-item-action.active { - color: #ffffff; - background-color: #00317a; - border-color: #00317a; -} - -.list-group-item-tabler { - color: #134076; - background-color: #d2e1f3; -} -.list-group-item-tabler.list-group-item-action:hover, .list-group-item-tabler.list-group-item-action:focus { - color: #134076; - background-color: #bdcbdb; -} -.list-group-item-tabler.list-group-item-action.active { - color: #ffffff; - background-color: #134076; - border-color: #134076; -} - -.btn-close { - box-sizing: content-box; - width: 0.75rem; - height: 0.75rem; - padding: 0.25em 0.25em; - color: #000000; - background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.75rem auto no-repeat; - border: 0; - border-radius: 4px; - opacity: 0.3; -} -.btn-close:hover { - color: #000000; - text-decoration: none; - opacity: 0.75; -} -.btn-close:focus { - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); - opacity: 1; -} -.btn-close:disabled, .btn-close.disabled { - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - opacity: 0.25; -} - -.btn-close-white { - filter: invert(1) grayscale(100%) brightness(200%); -} - -.toast { - --tblr-toast-zindex: 1090; - --tblr-toast-padding-x: 0.75rem; - --tblr-toast-padding-y: 0.5rem; - --tblr-toast-spacing: 1.5rem; - --tblr-toast-max-width: 350px; - --tblr-toast-font-size: 0.875rem; - --tblr-toast-color: ; - --tblr-toast-bg: rgba(255, 255, 255, 0.85); - --tblr-toast-border-width: 1px; - --tblr-toast-border-color: var(--tblr-border-color); - --tblr-toast-border-radius: 4px; - --tblr-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --tblr-toast-header-color: var(--tblr-muted); - --tblr-toast-header-bg: rgba(255, 255, 255, 0.85); - --tblr-toast-header-border-color: rgba(0, 0, 0, 0.05); - width: var(--tblr-toast-max-width); - max-width: 100%; - font-size: var(--tblr-toast-font-size); - color: var(--tblr-toast-color); - pointer-events: auto; - background-color: var(--tblr-toast-bg); - background-clip: padding-box; - border: var(--tblr-toast-border-width) solid var(--tblr-toast-border-color); - box-shadow: var(--tblr-toast-box-shadow); - border-radius: var(--tblr-toast-border-radius); -} -.toast.showing { - opacity: 0; -} -.toast:not(.show) { - display: none; -} - -.toast-container { - --tblr-toast-zindex: 1090; - position: absolute; - z-index: var(--tblr-toast-zindex); - width: -webkit-max-content; - width: -moz-max-content; - width: max-content; - max-width: 100%; - pointer-events: none; -} -.toast-container > :not(:last-child) { - margin-bottom: var(--tblr-toast-spacing); -} - -.toast-header { - display: flex; - align-items: center; - padding: var(--tblr-toast-padding-y) var(--tblr-toast-padding-x); - color: var(--tblr-toast-header-color); - background-color: var(--tblr-toast-header-bg); - background-clip: padding-box; - border-bottom: var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color); - border-top-left-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width)); - border-top-right-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width)); -} -.toast-header .btn-close { - margin-right: calc(-0.5 * var(--tblr-toast-padding-x)); - margin-left: var(--tblr-toast-padding-x); -} - -.toast-body { - padding: var(--tblr-toast-padding-x); - word-wrap: break-word; -} - -.modal { - --tblr-modal-zindex: 1055; - --tblr-modal-width: 540px; - --tblr-modal-padding: 1.5rem; - --tblr-modal-margin: 0.5rem; - --tblr-modal-color: ; - --tblr-modal-bg: var(--tblr-bg-surface); - --tblr-modal-border-color: transparent; - --tblr-modal-border-width: 1px; - --tblr-modal-border-radius: var(--tblr-border-radius-lg); - --tblr-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); - --tblr-modal-inner-border-radius: calc(var(--tblr-modal-border-radius) - 1px); - --tblr-modal-header-padding-x: 1.5rem; - --tblr-modal-header-padding-y: 1.5rem; - --tblr-modal-header-padding: 1.5rem; - --tblr-modal-header-border-color: var(--tblr-border-color); - --tblr-modal-header-border-width: 1px; - --tblr-modal-title-line-height: 1.4285714286; - --tblr-modal-footer-gap: 0.75rem; - --tblr-modal-footer-bg: ; - --tblr-modal-footer-border-color: var(--tblr-border-color); - --tblr-modal-footer-border-width: 0; - position: fixed; - top: 0; - left: 0; - z-index: var(--tblr-modal-zindex); - display: none; - width: 100%; - height: 100%; - overflow-x: hidden; - overflow-y: auto; - outline: 0; -} - -.modal-dialog { - position: relative; - width: auto; - margin: var(--tblr-modal-margin); - pointer-events: none; -} -.modal.fade .modal-dialog { - transition: transform 0.3s ease-out; - transform: translate(0, -1rem); -} -@media (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; - } -} -.modal.show .modal-dialog { - transform: none; -} -.modal.modal-static .modal-dialog { - transform: scale(1.02); -} - -.modal-dialog-scrollable { - height: calc(100% - var(--tblr-modal-margin) * 2); -} -.modal-dialog-scrollable .modal-content { - max-height: 100%; - overflow: hidden; -} -.modal-dialog-scrollable .modal-body { - overflow-y: auto; -} - -.modal-dialog-centered { - display: flex; - align-items: center; - min-height: calc(100% - var(--tblr-modal-margin) * 2); -} - -.modal-content { - position: relative; - display: flex; - flex-direction: column; - width: 100%; - color: var(--tblr-modal-color); - pointer-events: auto; - background-color: var(--tblr-modal-bg); - background-clip: padding-box; - border: var(--tblr-modal-border-width) solid var(--tblr-modal-border-color); - border-radius: var(--tblr-modal-border-radius); - outline: 0; -} - -.modal-backdrop { - --tblr-backdrop-zindex: 1050; - --tblr-backdrop-bg: #1d273b; - --tblr-backdrop-opacity: 0.24; - position: fixed; - top: 0; - left: 0; - z-index: var(--tblr-backdrop-zindex); - width: 100vw; - height: 100vh; - background-color: var(--tblr-backdrop-bg); -} -.modal-backdrop.fade { - opacity: 0; -} -.modal-backdrop.show { - opacity: var(--tblr-backdrop-opacity); -} - -.modal-header { - display: flex; - flex-shrink: 0; - align-items: center; - justify-content: space-between; - padding: var(--tblr-modal-header-padding); - border-bottom: var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color); - border-top-left-radius: var(--tblr-modal-inner-border-radius); - border-top-right-radius: var(--tblr-modal-inner-border-radius); -} -.modal-header .btn-close { - padding: calc(var(--tblr-modal-header-padding-y) * 0.5) calc(var(--tblr-modal-header-padding-x) * 0.5); - margin: calc(-0.5 * var(--tblr-modal-header-padding-y)) calc(-0.5 * var(--tblr-modal-header-padding-x)) calc(-0.5 * var(--tblr-modal-header-padding-y)) auto; -} - -.modal-title { - margin-bottom: 0; - line-height: var(--tblr-modal-title-line-height); -} - -.modal-body { - position: relative; - flex: 1 1 auto; - padding: var(--tblr-modal-padding); -} - -.modal-footer { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - align-items: center; - justify-content: flex-end; - padding: calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * 0.5); - background-color: var(--tblr-modal-footer-bg); - border-top: var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color); - border-bottom-right-radius: var(--tblr-modal-inner-border-radius); - border-bottom-left-radius: var(--tblr-modal-inner-border-radius); -} -.modal-footer > * { - margin: calc(var(--tblr-modal-footer-gap) * 0.5); -} - -@media (min-width: 576px) { - .modal { - --tblr-modal-margin: 1.75rem; - --tblr-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - } - .modal-dialog { - max-width: var(--tblr-modal-width); - margin-right: auto; - margin-left: auto; - } - .modal-sm { - --tblr-modal-width: 380px; - } -} -@media (min-width: 992px) { - .modal-lg, -.modal-xl { - --tblr-modal-width: 720px; - } -} -@media (min-width: 1200px) { - .modal-xl { - --tblr-modal-width: 1140px; - } -} -.modal-fullscreen { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; -} -.modal-fullscreen .modal-content { - height: 100%; - border: 0; - border-radius: 0; -} -.modal-fullscreen .modal-header, -.modal-fullscreen .modal-footer { - border-radius: 0; -} -.modal-fullscreen .modal-body { - overflow-y: auto; -} - -@media (max-width: 575.98px) { - .modal-fullscreen-sm-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-sm-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-sm-down .modal-header, -.modal-fullscreen-sm-down .modal-footer { - border-radius: 0; - } - .modal-fullscreen-sm-down .modal-body { - overflow-y: auto; - } -} -@media (max-width: 767.98px) { - .modal-fullscreen-md-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-md-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-md-down .modal-header, -.modal-fullscreen-md-down .modal-footer { - border-radius: 0; - } - .modal-fullscreen-md-down .modal-body { - overflow-y: auto; - } -} -@media (max-width: 991.98px) { - .modal-fullscreen-lg-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-lg-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-lg-down .modal-header, -.modal-fullscreen-lg-down .modal-footer { - border-radius: 0; - } - .modal-fullscreen-lg-down .modal-body { - overflow-y: auto; - } -} -@media (max-width: 1199.98px) { - .modal-fullscreen-xl-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-xl-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-xl-down .modal-header, -.modal-fullscreen-xl-down .modal-footer { - border-radius: 0; - } - .modal-fullscreen-xl-down .modal-body { - overflow-y: auto; - } -} -@media (max-width: 1399.98px) { - .modal-fullscreen-xxl-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-xxl-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-xxl-down .modal-header, -.modal-fullscreen-xxl-down .modal-footer { - border-radius: 0; - } - .modal-fullscreen-xxl-down .modal-body { - overflow-y: auto; - } -} -.tooltip { - --tblr-tooltip-zindex: 1080; - --tblr-tooltip-max-width: 200px; - --tblr-tooltip-padding-x: 0.5rem; - --tblr-tooltip-padding-y: 0.25rem; - --tblr-tooltip-margin: ; - --tblr-tooltip-font-size: 0.765625rem; - --tblr-tooltip-color: var(--tblr-light); - --tblr-tooltip-bg: var(--tblr-bg-surface-dark); - --tblr-tooltip-border-radius: 4px; - --tblr-tooltip-opacity: 0.9; - --tblr-tooltip-arrow-width: 0.8rem; - --tblr-tooltip-arrow-height: 0.4rem; - z-index: var(--tblr-tooltip-zindex); - display: block; - padding: var(--tblr-tooltip-arrow-height); - margin: var(--tblr-tooltip-margin); - font-family: var(--tblr-font-sans-serif); - font-style: normal; - font-weight: 400; - line-height: 1.4285714286; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - white-space: normal; - word-spacing: normal; - line-break: auto; - font-size: var(--tblr-tooltip-font-size); - word-wrap: break-word; - opacity: 0; -} -.tooltip.show { - opacity: var(--tblr-tooltip-opacity); -} -.tooltip .tooltip-arrow { - display: block; - width: var(--tblr-tooltip-arrow-width); - height: var(--tblr-tooltip-arrow-height); -} -.tooltip .tooltip-arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { - bottom: 0; -} -.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { - top: -1px; - border-width: var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * 0.5) 0; - border-top-color: var(--tblr-tooltip-bg); -} - -/* rtl:begin:ignore */ -.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { - left: 0; - width: var(--tblr-tooltip-arrow-height); - height: var(--tblr-tooltip-arrow-width); -} -.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { - right: -1px; - border-width: calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * 0.5) 0; - border-right-color: var(--tblr-tooltip-bg); -} - -/* rtl:end:ignore */ -.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { - top: 0; -} -.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { - bottom: -1px; - border-width: 0 calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height); - border-bottom-color: var(--tblr-tooltip-bg); -} - -/* rtl:begin:ignore */ -.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { - right: 0; - width: var(--tblr-tooltip-arrow-height); - height: var(--tblr-tooltip-arrow-width); -} -.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { - left: -1px; - border-width: calc(var(--tblr-tooltip-arrow-width) * 0.5) 0 calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height); - border-left-color: var(--tblr-tooltip-bg); -} - -/* rtl:end:ignore */ -.tooltip-inner { - max-width: var(--tblr-tooltip-max-width); - padding: var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x); - color: var(--tblr-tooltip-color); - text-align: center; - background-color: var(--tblr-tooltip-bg); - border-radius: var(--tblr-tooltip-border-radius); -} - -.popover { - --tblr-popover-zindex: 1070; - --tblr-popover-max-width: 276px; - --tblr-popover-font-size: 0.765625rem; - --tblr-popover-bg: var(--tblr-bg-surface); - --tblr-popover-border-width: 1px; - --tblr-popover-border-color: var(--tblr-border-color); - --tblr-popover-border-radius: 8px; - --tblr-popover-inner-border-radius: 7px; - --tblr-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --tblr-popover-header-padding-x: 1rem; - --tblr-popover-header-padding-y: 0.5rem; - --tblr-popover-header-font-size: 0.875rem; - --tblr-popover-header-color: ; - --tblr-popover-header-bg: transparent; - --tblr-popover-body-padding-x: 1rem; - --tblr-popover-body-padding-y: 1rem; - --tblr-popover-body-color: inherit; - --tblr-popover-arrow-width: 1rem; - --tblr-popover-arrow-height: 0.5rem; - --tblr-popover-arrow-border: var(--tblr-popover-border-color); - z-index: var(--tblr-popover-zindex); - display: block; - max-width: var(--tblr-popover-max-width); - font-family: var(--tblr-font-sans-serif); - font-style: normal; - font-weight: 400; - line-height: 1.4285714286; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - white-space: normal; - word-spacing: normal; - line-break: auto; - font-size: var(--tblr-popover-font-size); - word-wrap: break-word; - background-color: var(--tblr-popover-bg); - background-clip: padding-box; - border: var(--tblr-popover-border-width) solid var(--tblr-popover-border-color); - border-radius: var(--tblr-popover-border-radius); -} -.popover .popover-arrow { - display: block; - width: var(--tblr-popover-arrow-width); - height: var(--tblr-popover-arrow-height); -} -.popover .popover-arrow::before, .popover .popover-arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; - border-width: 0; -} - -.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { - bottom: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); -} -.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { - border-width: var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * 0.5) 0; -} -.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { - bottom: 0; - border-top-color: var(--tblr-popover-arrow-border); -} -.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { - bottom: var(--tblr-popover-border-width); - border-top-color: var(--tblr-popover-bg); -} - -/* rtl:begin:ignore */ -.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { - left: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); - width: var(--tblr-popover-arrow-height); - height: var(--tblr-popover-arrow-width); -} -.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { - border-width: calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * 0.5) 0; -} -.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { - left: 0; - border-right-color: var(--tblr-popover-arrow-border); -} -.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { - left: var(--tblr-popover-border-width); - border-right-color: var(--tblr-popover-bg); -} - -/* rtl:end:ignore */ -.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { - top: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); -} -.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { - border-width: 0 calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height); -} -.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { - top: 0; - border-bottom-color: var(--tblr-popover-arrow-border); -} -.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { - top: var(--tblr-popover-border-width); - border-bottom-color: var(--tblr-popover-bg); -} -.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: var(--tblr-popover-arrow-width); - margin-left: calc(-0.5 * var(--tblr-popover-arrow-width)); - content: ""; - border-bottom: var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg); -} - -/* rtl:begin:ignore */ -.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { - right: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); - width: var(--tblr-popover-arrow-height); - height: var(--tblr-popover-arrow-width); -} -.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { - border-width: calc(var(--tblr-popover-arrow-width) * 0.5) 0 calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height); -} -.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { - right: 0; - border-left-color: var(--tblr-popover-arrow-border); -} -.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { - right: var(--tblr-popover-border-width); - border-left-color: var(--tblr-popover-bg); -} - -/* rtl:end:ignore */ -.popover-header { - padding: var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x); - margin-bottom: 0; - font-size: var(--tblr-popover-header-font-size); - color: var(--tblr-popover-header-color); - background-color: var(--tblr-popover-header-bg); - border-bottom: var(--tblr-popover-border-width) solid var(--tblr-popover-border-color); - border-top-left-radius: var(--tblr-popover-inner-border-radius); - border-top-right-radius: var(--tblr-popover-inner-border-radius); -} -.popover-header:empty { - display: none; -} - -.popover-body { - padding: var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x); - color: var(--tblr-popover-body-color); -} - -.carousel { - position: relative; -} - -.carousel.pointer-event { - touch-action: pan-y; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} -.carousel-inner::after { - display: block; - clear: both; - content: ""; -} - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - transition: transform 0.6s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .carousel-item { - transition: none; - } -} - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; -} - -/* rtl:begin:ignore */ -.carousel-item-next:not(.carousel-item-start), -.active.carousel-item-end { - transform: translateX(100%); -} - -.carousel-item-prev:not(.carousel-item-end), -.active.carousel-item-start { - transform: translateX(-100%); -} - -/* rtl:end:ignore */ -.carousel-fade .carousel-item { - opacity: 0; - transition-property: opacity; - transform: none; -} -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-start, -.carousel-fade .carousel-item-prev.carousel-item-end { - z-index: 1; - opacity: 1; -} -.carousel-fade .active.carousel-item-start, -.carousel-fade .active.carousel-item-end { - z-index: 0; - opacity: 0; - transition: opacity 0s 0.6s; -} -@media (prefers-reduced-motion: reduce) { - .carousel-fade .active.carousel-item-start, -.carousel-fade .active.carousel-item-end { - transition: none; - } -} - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - display: flex; - align-items: center; - justify-content: center; - width: 15%; - padding: 0; - color: #ffffff; - text-align: center; - background: none; - border: 0; - opacity: 0.5; - transition: opacity 0.15s ease; -} -@media (prefers-reduced-motion: reduce) { - .carousel-control-prev, -.carousel-control-next { - transition: none; - } -} -.carousel-control-prev:hover, .carousel-control-prev:focus, -.carousel-control-next:hover, -.carousel-control-next:focus { - color: #ffffff; - text-decoration: none; - outline: 0; - opacity: 0.9; -} - -.carousel-control-prev { - left: 0; -} - -.carousel-control-next { - right: 0; -} - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 1.5rem; - height: 1.5rem; - background-repeat: no-repeat; - background-position: 50%; - background-size: 100% 100%; -} - -/* rtl:options: { - "autoRename": true, - "stringMap":[ { - "name" : "prev-next", - "search" : "prev", - "replace" : "next" - } ] -} */ -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e"); -} - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e"); -} - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 2; - display: flex; - justify-content: center; - padding: 0; - margin-right: 15%; - margin-bottom: 1rem; - margin-left: 15%; - list-style: none; -} -.carousel-indicators [data-bs-target] { - box-sizing: content-box; - flex: 0 1 auto; - width: 30px; - height: 3px; - padding: 0; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #ffffff; - background-clip: padding-box; - border: 0; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: 0.5; - transition: opacity 0.6s ease; -} -@media (prefers-reduced-motion: reduce) { - .carousel-indicators [data-bs-target] { - transition: none; - } -} -.carousel-indicators .active { - opacity: 1; -} - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 1.25rem; - left: 15%; - padding-top: 1.25rem; - padding-bottom: 1.25rem; - color: #ffffff; - text-align: center; -} - -.carousel-dark .carousel-control-prev-icon, -.carousel-dark .carousel-control-next-icon { - filter: invert(1) grayscale(100); -} -.carousel-dark .carousel-indicators [data-bs-target] { - background-color: #000000; -} -.carousel-dark .carousel-caption { - color: #000000; -} - -.spinner-grow, -.spinner-border { - display: inline-block; - width: var(--tblr-spinner-width); - height: var(--tblr-spinner-height); - vertical-align: var(--tblr-spinner-vertical-align); - border-radius: 50%; - -webkit-animation: var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name); - animation: var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name); -} - -@-webkit-keyframes spinner-border { - to { - transform: rotate(360deg) /* rtl:ignore */; - } -} - -@keyframes spinner-border { - to { - transform: rotate(360deg) /* rtl:ignore */; - } -} -.spinner-border { - --tblr-spinner-width: 1.5rem; - --tblr-spinner-height: 1.5rem; - --tblr-spinner-vertical-align: -0.125em; - --tblr-spinner-border-width: 2px; - --tblr-spinner-animation-speed: 0.75s; - --tblr-spinner-animation-name: spinner-border; - border: var(--tblr-spinner-border-width) solid currentcolor; - border-right-color: transparent; -} - -.spinner-border-sm { - --tblr-spinner-width: 1rem; - --tblr-spinner-height: 1rem; - --tblr-spinner-border-width: 1px; -} - -@-webkit-keyframes spinner-grow { - 0% { - transform: scale(0); - } - 50% { - opacity: 1; - transform: none; - } -} - -@keyframes spinner-grow { - 0% { - transform: scale(0); - } - 50% { - opacity: 1; - transform: none; - } -} -.spinner-grow { - --tblr-spinner-width: 1.5rem; - --tblr-spinner-height: 1.5rem; - --tblr-spinner-vertical-align: -0.125em; - --tblr-spinner-animation-speed: 0.75s; - --tblr-spinner-animation-name: spinner-grow; - background-color: currentcolor; - opacity: 0; -} - -.spinner-grow-sm { - --tblr-spinner-width: 1rem; - --tblr-spinner-height: 1rem; -} - -@media (prefers-reduced-motion: reduce) { - .spinner-border, -.spinner-grow { - --tblr-spinner-animation-speed: 1.5s; - } -} -.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { - --tblr-offcanvas-zindex: 1045; - --tblr-offcanvas-width: 400px; - --tblr-offcanvas-height: 30vh; - --tblr-offcanvas-padding-x: 1.5rem; - --tblr-offcanvas-padding-y: 1.5rem; - --tblr-offcanvas-color: ; - --tblr-offcanvas-bg: var(--tblr-bg-surface); - --tblr-offcanvas-border-width: 1px; - --tblr-offcanvas-border-color: var(--tblr-border-color); - --tblr-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); -} - -@media (max-width: 575.98px) { - .offcanvas-sm { - position: fixed; - bottom: 0; - z-index: var(--tblr-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--tblr-offcanvas-color); - visibility: hidden; - background-color: var(--tblr-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; - } -} -@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-sm { - transition: none; - } -} -@media (max-width: 575.98px) { - .offcanvas-sm.offcanvas-start { - top: 0; - left: 0; - width: var(--tblr-offcanvas-width); - border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(-100%); - } -} -@media (max-width: 575.98px) { - .offcanvas-sm.offcanvas-end { - top: 0; - right: 0; - width: var(--tblr-offcanvas-width); - border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(100%); - } -} -@media (max-width: 575.98px) { - .offcanvas-sm.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(-100%); - } -} -@media (max-width: 575.98px) { - .offcanvas-sm.offcanvas-bottom { - right: 0; - left: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(100%); - } -} -@media (max-width: 575.98px) { - .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { - transform: none; - } -} -@media (max-width: 575.98px) { - .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { - visibility: visible; - } -} -@media (min-width: 576px) { - .offcanvas-sm { - --tblr-offcanvas-height: auto; - --tblr-offcanvas-border-width: 0; - background-color: transparent !important; - } - .offcanvas-sm .offcanvas-header { - display: none; - } - .offcanvas-sm .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; - } -} - -@media (max-width: 767.98px) { - .offcanvas-md { - position: fixed; - bottom: 0; - z-index: var(--tblr-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--tblr-offcanvas-color); - visibility: hidden; - background-color: var(--tblr-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; - } -} -@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-md { - transition: none; - } -} -@media (max-width: 767.98px) { - .offcanvas-md.offcanvas-start { - top: 0; - left: 0; - width: var(--tblr-offcanvas-width); - border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(-100%); - } -} -@media (max-width: 767.98px) { - .offcanvas-md.offcanvas-end { - top: 0; - right: 0; - width: var(--tblr-offcanvas-width); - border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(100%); - } -} -@media (max-width: 767.98px) { - .offcanvas-md.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(-100%); - } -} -@media (max-width: 767.98px) { - .offcanvas-md.offcanvas-bottom { - right: 0; - left: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(100%); - } -} -@media (max-width: 767.98px) { - .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { - transform: none; - } -} -@media (max-width: 767.98px) { - .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { - visibility: visible; - } -} -@media (min-width: 768px) { - .offcanvas-md { - --tblr-offcanvas-height: auto; - --tblr-offcanvas-border-width: 0; - background-color: transparent !important; - } - .offcanvas-md .offcanvas-header { - display: none; - } - .offcanvas-md .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; - } -} - -@media (max-width: 991.98px) { - .offcanvas-lg { - position: fixed; - bottom: 0; - z-index: var(--tblr-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--tblr-offcanvas-color); - visibility: hidden; - background-color: var(--tblr-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; - } -} -@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-lg { - transition: none; - } -} -@media (max-width: 991.98px) { - .offcanvas-lg.offcanvas-start { - top: 0; - left: 0; - width: var(--tblr-offcanvas-width); - border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(-100%); - } -} -@media (max-width: 991.98px) { - .offcanvas-lg.offcanvas-end { - top: 0; - right: 0; - width: var(--tblr-offcanvas-width); - border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(100%); - } -} -@media (max-width: 991.98px) { - .offcanvas-lg.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(-100%); - } -} -@media (max-width: 991.98px) { - .offcanvas-lg.offcanvas-bottom { - right: 0; - left: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(100%); - } -} -@media (max-width: 991.98px) { - .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { - transform: none; - } -} -@media (max-width: 991.98px) { - .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { - visibility: visible; - } -} -@media (min-width: 992px) { - .offcanvas-lg { - --tblr-offcanvas-height: auto; - --tblr-offcanvas-border-width: 0; - background-color: transparent !important; - } - .offcanvas-lg .offcanvas-header { - display: none; - } - .offcanvas-lg .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; - } -} - -@media (max-width: 1199.98px) { - .offcanvas-xl { - position: fixed; - bottom: 0; - z-index: var(--tblr-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--tblr-offcanvas-color); - visibility: hidden; - background-color: var(--tblr-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; - } -} -@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-xl { - transition: none; - } -} -@media (max-width: 1199.98px) { - .offcanvas-xl.offcanvas-start { - top: 0; - left: 0; - width: var(--tblr-offcanvas-width); - border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(-100%); - } -} -@media (max-width: 1199.98px) { - .offcanvas-xl.offcanvas-end { - top: 0; - right: 0; - width: var(--tblr-offcanvas-width); - border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(100%); - } -} -@media (max-width: 1199.98px) { - .offcanvas-xl.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(-100%); - } -} -@media (max-width: 1199.98px) { - .offcanvas-xl.offcanvas-bottom { - right: 0; - left: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(100%); - } -} -@media (max-width: 1199.98px) { - .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { - transform: none; - } -} -@media (max-width: 1199.98px) { - .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { - visibility: visible; - } -} -@media (min-width: 1200px) { - .offcanvas-xl { - --tblr-offcanvas-height: auto; - --tblr-offcanvas-border-width: 0; - background-color: transparent !important; - } - .offcanvas-xl .offcanvas-header { - display: none; - } - .offcanvas-xl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; - } -} - -@media (max-width: 1399.98px) { - .offcanvas-xxl { - position: fixed; - bottom: 0; - z-index: var(--tblr-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--tblr-offcanvas-color); - visibility: hidden; - background-color: var(--tblr-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; - } -} -@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-xxl { - transition: none; - } -} -@media (max-width: 1399.98px) { - .offcanvas-xxl.offcanvas-start { - top: 0; - left: 0; - width: var(--tblr-offcanvas-width); - border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(-100%); - } -} -@media (max-width: 1399.98px) { - .offcanvas-xxl.offcanvas-end { - top: 0; - right: 0; - width: var(--tblr-offcanvas-width); - border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(100%); - } -} -@media (max-width: 1399.98px) { - .offcanvas-xxl.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(-100%); - } -} -@media (max-width: 1399.98px) { - .offcanvas-xxl.offcanvas-bottom { - right: 0; - left: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(100%); - } -} -@media (max-width: 1399.98px) { - .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { - transform: none; - } -} -@media (max-width: 1399.98px) { - .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { - visibility: visible; - } -} -@media (min-width: 1400px) { - .offcanvas-xxl { - --tblr-offcanvas-height: auto; - --tblr-offcanvas-border-width: 0; - background-color: transparent !important; - } - .offcanvas-xxl .offcanvas-header { - display: none; - } - .offcanvas-xxl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; - } -} - -.offcanvas { - position: fixed; - bottom: 0; - z-index: var(--tblr-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--tblr-offcanvas-color); - visibility: hidden; - background-color: var(--tblr-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .offcanvas { - transition: none; - } -} -.offcanvas.offcanvas-start { - top: 0; - left: 0; - width: var(--tblr-offcanvas-width); - border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(-100%); -} -.offcanvas.offcanvas-end { - top: 0; - right: 0; - width: var(--tblr-offcanvas-width); - border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(100%); -} -.offcanvas.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(-100%); -} -.offcanvas.offcanvas-bottom { - right: 0; - left: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(100%); -} -.offcanvas.showing, .offcanvas.show:not(.hiding) { - transform: none; -} -.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { - visibility: visible; -} - -.offcanvas-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #1d273b; -} -.offcanvas-backdrop.fade { - opacity: 0; -} -.offcanvas-backdrop.show { - opacity: 0.24; -} - -.offcanvas-header { - display: flex; - align-items: center; - justify-content: space-between; - padding: var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x); -} -.offcanvas-header .btn-close { - padding: calc(var(--tblr-offcanvas-padding-y) * 0.5) calc(var(--tblr-offcanvas-padding-x) * 0.5); - margin-top: calc(-0.5 * var(--tblr-offcanvas-padding-y)); - margin-right: calc(-0.5 * var(--tblr-offcanvas-padding-x)); - margin-bottom: calc(-0.5 * var(--tblr-offcanvas-padding-y)); -} - -.offcanvas-title { - margin-bottom: 0; - line-height: 1.4285714286; -} - -.offcanvas-body { - flex-grow: 1; - padding: var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x); - overflow-y: auto; -} - -.placeholder { - display: inline-block; - min-height: 1em; - vertical-align: middle; - cursor: wait; - background-color: currentcolor; - opacity: 0.2; -} -.placeholder.btn::before { - display: inline-block; - content: ""; -} - -.placeholder-xs { - min-height: 0.6em; -} - -.placeholder-sm { - min-height: 0.8em; -} - -.placeholder-lg { - min-height: 1.2em; -} - -.placeholder-glow .placeholder { - -webkit-animation: placeholder-glow 2s ease-in-out infinite; - animation: placeholder-glow 2s ease-in-out infinite; -} - -@-webkit-keyframes placeholder-glow { - 50% { - opacity: 0.1; - } -} - -@keyframes placeholder-glow { - 50% { - opacity: 0.1; - } -} -.placeholder-wave { - -webkit-mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.9) 75%, #000000 95%); - mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.9) 75%, #000000 95%); - -webkit-mask-size: 200% 100%; - mask-size: 200% 100%; - -webkit-animation: placeholder-wave 2s linear infinite; - animation: placeholder-wave 2s linear infinite; -} - -@-webkit-keyframes placeholder-wave { - 100% { - -webkit-mask-position: -200% 0%; - mask-position: -200% 0%; - } -} - -@keyframes placeholder-wave { - 100% { - -webkit-mask-position: -200% 0%; - mask-position: -200% 0%; - } -} -.clearfix::after { - display: block; - clear: both; - content: ""; -} - -.text-bg-primary { - color: #f8fafc !important; - background-color: RGBA(32, 107, 196, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-secondary { - color: #f8fafc !important; - background-color: RGBA(97, 104, 118, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-success { - color: #f8fafc !important; - background-color: RGBA(47, 179, 68, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-info { - color: #f8fafc !important; - background-color: RGBA(66, 153, 225, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-warning { - color: #f8fafc !important; - background-color: RGBA(247, 103, 7, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-danger { - color: #f8fafc !important; - background-color: RGBA(214, 57, 57, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-light { - color: #1d273b !important; - background-color: RGBA(248, 250, 252, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-dark { - color: #f8fafc !important; - background-color: RGBA(29, 39, 59, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-muted { - color: #f8fafc !important; - background-color: RGBA(97, 104, 118, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-blue { - color: #f8fafc !important; - background-color: RGBA(32, 107, 196, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-azure { - color: #f8fafc !important; - background-color: RGBA(66, 153, 225, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-indigo { - color: #f8fafc !important; - background-color: RGBA(66, 99, 235, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-purple { - color: #f8fafc !important; - background-color: RGBA(174, 62, 201, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-pink { - color: #f8fafc !important; - background-color: RGBA(214, 51, 108, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-red { - color: #f8fafc !important; - background-color: RGBA(214, 57, 57, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-orange { - color: #f8fafc !important; - background-color: RGBA(247, 103, 7, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-yellow { - color: #f8fafc !important; - background-color: RGBA(245, 159, 0, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-lime { - color: #f8fafc !important; - background-color: RGBA(116, 184, 22, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-green { - color: #f8fafc !important; - background-color: RGBA(47, 179, 68, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-teal { - color: #f8fafc !important; - background-color: RGBA(12, 166, 120, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-cyan { - color: #f8fafc !important; - background-color: RGBA(23, 162, 184, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-facebook { - color: #f8fafc !important; - background-color: RGBA(59, 89, 152, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-twitter { - color: #f8fafc !important; - background-color: RGBA(29, 161, 242, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-linkedin { - color: #f8fafc !important; - background-color: RGBA(10, 102, 194, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-google { - color: #f8fafc !important; - background-color: RGBA(220, 78, 65, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-youtube { - color: #f8fafc !important; - background-color: RGBA(255, 0, 0, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-vimeo { - color: #f8fafc !important; - background-color: RGBA(26, 183, 234, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-dribbble { - color: #f8fafc !important; - background-color: RGBA(234, 76, 137, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-github { - color: #f8fafc !important; - background-color: RGBA(24, 23, 23, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-instagram { - color: #f8fafc !important; - background-color: RGBA(228, 64, 95, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-pinterest { - color: #f8fafc !important; - background-color: RGBA(189, 8, 28, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-vk { - color: #f8fafc !important; - background-color: RGBA(99, 131, 168, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-rss { - color: #f8fafc !important; - background-color: RGBA(255, 165, 0, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-flickr { - color: #f8fafc !important; - background-color: RGBA(0, 99, 220, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-bitbucket { - color: #f8fafc !important; - background-color: RGBA(0, 82, 204, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-tabler { - color: #f8fafc !important; - background-color: RGBA(32, 107, 196, var(--tblr-bg-opacity, 1)) !important; -} - -.link-primary { - color: #206bc4 !important; -} -.link-primary:hover, .link-primary:focus { - color: #1a569d !important; -} - -.link-secondary { - color: #616876 !important; -} -.link-secondary:hover, .link-secondary:focus { - color: #4e535e !important; -} - -.link-success { - color: #2fb344 !important; -} -.link-success:hover, .link-success:focus { - color: #268f36 !important; -} - -.link-info { - color: #4299e1 !important; -} -.link-info:hover, .link-info:focus { - color: #357ab4 !important; -} - -.link-warning { - color: #f76707 !important; -} -.link-warning:hover, .link-warning:focus { - color: #c65206 !important; -} - -.link-danger { - color: #d63939 !important; -} -.link-danger:hover, .link-danger:focus { - color: #ab2e2e !important; -} - -.link-light { - color: #f8fafc !important; -} -.link-light:hover, .link-light:focus { - color: #f9fbfd !important; -} - -.link-dark { - color: #1d273b !important; -} -.link-dark:hover, .link-dark:focus { - color: #171f2f !important; -} - -.link-muted { - color: #616876 !important; -} -.link-muted:hover, .link-muted:focus { - color: #4e535e !important; -} - -.link-blue { - color: #206bc4 !important; -} -.link-blue:hover, .link-blue:focus { - color: #1a569d !important; -} - -.link-azure { - color: #4299e1 !important; -} -.link-azure:hover, .link-azure:focus { - color: #357ab4 !important; -} - -.link-indigo { - color: #4263eb !important; -} -.link-indigo:hover, .link-indigo:focus { - color: #354fbc !important; -} - -.link-purple { - color: #ae3ec9 !important; -} -.link-purple:hover, .link-purple:focus { - color: #8b32a1 !important; -} - -.link-pink { - color: #d6336c !important; -} -.link-pink:hover, .link-pink:focus { - color: #ab2956 !important; -} - -.link-red { - color: #d63939 !important; -} -.link-red:hover, .link-red:focus { - color: #ab2e2e !important; -} - -.link-orange { - color: #f76707 !important; -} -.link-orange:hover, .link-orange:focus { - color: #c65206 !important; -} - -.link-yellow { - color: #f59f00 !important; -} -.link-yellow:hover, .link-yellow:focus { - color: #c47f00 !important; -} - -.link-lime { - color: #74b816 !important; -} -.link-lime:hover, .link-lime:focus { - color: #5d9312 !important; -} - -.link-green { - color: #2fb344 !important; -} -.link-green:hover, .link-green:focus { - color: #268f36 !important; -} - -.link-teal { - color: #0ca678 !important; -} -.link-teal:hover, .link-teal:focus { - color: #0a8560 !important; -} - -.link-cyan { - color: #17a2b8 !important; -} -.link-cyan:hover, .link-cyan:focus { - color: #128293 !important; -} - -.link-facebook { - color: #3b5998 !important; -} -.link-facebook:hover, .link-facebook:focus { - color: #2f477a !important; -} - -.link-twitter { - color: #1da1f2 !important; -} -.link-twitter:hover, .link-twitter:focus { - color: #1781c2 !important; -} - -.link-linkedin { - color: #0a66c2 !important; -} -.link-linkedin:hover, .link-linkedin:focus { - color: #08529b !important; -} - -.link-google { - color: #dc4e41 !important; -} -.link-google:hover, .link-google:focus { - color: #b03e34 !important; -} - -.link-youtube { - color: #ff0000 !important; -} -.link-youtube:hover, .link-youtube:focus { - color: #cc0000 !important; -} - -.link-vimeo { - color: #1ab7ea !important; -} -.link-vimeo:hover, .link-vimeo:focus { - color: #1592bb !important; -} - -.link-dribbble { - color: #ea4c89 !important; -} -.link-dribbble:hover, .link-dribbble:focus { - color: #bb3d6e !important; -} - -.link-github { - color: #181717 !important; -} -.link-github:hover, .link-github:focus { - color: #131212 !important; -} - -.link-instagram { - color: #e4405f !important; -} -.link-instagram:hover, .link-instagram:focus { - color: #b6334c !important; -} - -.link-pinterest { - color: #bd081c !important; -} -.link-pinterest:hover, .link-pinterest:focus { - color: #970616 !important; -} - -.link-vk { - color: #6383a8 !important; -} -.link-vk:hover, .link-vk:focus { - color: #4f6986 !important; -} - -.link-rss { - color: #ffa500 !important; -} -.link-rss:hover, .link-rss:focus { - color: #cc8400 !important; -} - -.link-flickr { - color: #0063dc !important; -} -.link-flickr:hover, .link-flickr:focus { - color: #004fb0 !important; -} - -.link-bitbucket { - color: #0052cc !important; -} -.link-bitbucket:hover, .link-bitbucket:focus { - color: #0042a3 !important; -} - -.link-tabler { - color: #206bc4 !important; -} -.link-tabler:hover, .link-tabler:focus { - color: #1a569d !important; -} - -.ratio { - position: relative; - width: 100%; -} -.ratio::before { - display: block; - padding-top: var(--tblr-aspect-ratio); - content: ""; -} -.ratio > * { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -.ratio-1x1 { - --tblr-aspect-ratio: 100%; -} - -.ratio-4x3 { - --tblr-aspect-ratio: 75%; -} - -.ratio-3x4 { - --tblr-aspect-ratio: 133.3333333333%; -} - -.ratio-16x9 { - --tblr-aspect-ratio: 56.25%; -} - -.ratio-9x16 { - --tblr-aspect-ratio: 177.7777777778%; -} - -.ratio-21x9 { - --tblr-aspect-ratio: 42.8571428571%; -} - -.ratio-9x21 { - --tblr-aspect-ratio: 233.3333333333%; -} - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; -} - -.sticky-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; -} - -.sticky-bottom { - position: -webkit-sticky; - position: sticky; - bottom: 0; - z-index: 1020; -} - -@media (min-width: 576px) { - .sticky-sm-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } - .sticky-sm-bottom { - position: -webkit-sticky; - position: sticky; - bottom: 0; - z-index: 1020; - } -} -@media (min-width: 768px) { - .sticky-md-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } - .sticky-md-bottom { - position: -webkit-sticky; - position: sticky; - bottom: 0; - z-index: 1020; - } -} -@media (min-width: 992px) { - .sticky-lg-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } - .sticky-lg-bottom { - position: -webkit-sticky; - position: sticky; - bottom: 0; - z-index: 1020; - } -} -@media (min-width: 1200px) { - .sticky-xl-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } - .sticky-xl-bottom { - position: -webkit-sticky; - position: sticky; - bottom: 0; - z-index: 1020; - } -} -@media (min-width: 1400px) { - .sticky-xxl-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } - .sticky-xxl-bottom { - position: -webkit-sticky; - position: sticky; - bottom: 0; - z-index: 1020; - } -} -.hstack { - display: flex; - flex-direction: row; - align-items: center; - align-self: stretch; -} - -.vstack { - display: flex; - flex: 1 1 auto; - flex-direction: column; - align-self: stretch; -} - -.visually-hidden, -.visually-hidden-focusable:not(:focus):not(:focus-within) { - position: absolute !important; - width: 1px !important; - height: 1px !important; - padding: 0 !important; - margin: -1px !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; -} - -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - content: ""; -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.vr { - display: inline-block; - align-self: stretch; - width: 1px; - min-height: 1em; - background-color: currentcolor; - opacity: 0.16; -} - -.align-baseline { - vertical-align: baseline !important; -} - -.align-top { - vertical-align: top !important; -} - -.align-middle { - vertical-align: middle !important; -} - -.align-bottom { - vertical-align: bottom !important; -} - -.align-text-bottom { - vertical-align: text-bottom !important; -} - -.align-text-top { - vertical-align: text-top !important; -} - -.float-start { - float: left !important; -} - -.float-end { - float: right !important; -} - -.float-none { - float: none !important; -} - -.opacity-0 { - opacity: 0 !important; -} - -.opacity-25 { - opacity: 0.25 !important; -} - -.opacity-50 { - opacity: 0.5 !important; -} - -.opacity-75 { - opacity: 0.75 !important; -} - -.opacity-100 { - opacity: 1 !important; -} - -.overflow-auto { - overflow: auto !important; -} - -.overflow-hidden { - overflow: hidden !important; -} - -.overflow-visible { - overflow: visible !important; -} - -.overflow-scroll { - overflow: scroll !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-grid { - display: grid !important; -} - -.d-table { - display: table !important; -} - -.d-table-row { - display: table-row !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: flex !important; -} - -.d-inline-flex { - display: inline-flex !important; -} - -.d-none { - display: none !important; -} - -.shadow { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; -} - -.shadow-sm { - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; -} - -.shadow-lg { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; -} - -.shadow-none { - box-shadow: none !important; -} - -.position-static { - position: static !important; -} - -.position-relative { - position: relative !important; -} - -.position-absolute { - position: absolute !important; -} - -.position-fixed { - position: fixed !important; -} - -.position-sticky { - position: -webkit-sticky !important; - position: sticky !important; -} - -.top-0 { - top: 0 !important; -} - -.top-50 { - top: 50% !important; -} - -.top-100 { - top: 100% !important; -} - -.bottom-0 { - bottom: 0 !important; -} - -.bottom-50 { - bottom: 50% !important; -} - -.bottom-100 { - bottom: 100% !important; -} - -.start-0 { - left: 0 !important; -} - -.start-50 { - left: 50% !important; -} - -.start-100 { - left: 100% !important; -} - -.end-0 { - right: 0 !important; -} - -.end-50 { - right: 50% !important; -} - -.end-100 { - right: 100% !important; -} - -.translate-middle { - transform: translate(-50%, -50%) !important; -} - -.translate-middle-x { - transform: translateX(-50%) !important; -} - -.translate-middle-y { - transform: translateY(-50%) !important; -} - -.border { - border: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-wide { - border: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-0 { - border: 0 !important; -} - -.border-top { - border-top: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-top-wide { - border-top: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-top-0 { - border-top: 0 !important; -} - -.border-end { - border-right: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-end-wide { - border-right: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-end-0 { - border-right: 0 !important; -} - -.border-bottom { - border-bottom: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-bottom-wide { - border-bottom: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-bottom-0 { - border-bottom: 0 !important; -} - -.border-start { - border-left: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-start-wide { - border-left: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-start-0 { - border-left: 0 !important; -} - -.border-primary { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-primary-rgb), var(--tblr-border-opacity)) !important; -} - -.border-secondary { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-secondary-rgb), var(--tblr-border-opacity)) !important; -} - -.border-success { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-success-rgb), var(--tblr-border-opacity)) !important; -} - -.border-info { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-info-rgb), var(--tblr-border-opacity)) !important; -} - -.border-warning { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-warning-rgb), var(--tblr-border-opacity)) !important; -} - -.border-danger { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-danger-rgb), var(--tblr-border-opacity)) !important; -} - -.border-light { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-light-rgb), var(--tblr-border-opacity)) !important; -} - -.border-dark { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-dark-rgb), var(--tblr-border-opacity)) !important; -} - -.border-muted { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-muted-rgb), var(--tblr-border-opacity)) !important; -} - -.border-blue { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-blue-rgb), var(--tblr-border-opacity)) !important; -} - -.border-azure { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-azure-rgb), var(--tblr-border-opacity)) !important; -} - -.border-indigo { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-indigo-rgb), var(--tblr-border-opacity)) !important; -} - -.border-purple { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-purple-rgb), var(--tblr-border-opacity)) !important; -} - -.border-pink { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-pink-rgb), var(--tblr-border-opacity)) !important; -} - -.border-red { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-red-rgb), var(--tblr-border-opacity)) !important; -} - -.border-orange { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-orange-rgb), var(--tblr-border-opacity)) !important; -} - -.border-yellow { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-yellow-rgb), var(--tblr-border-opacity)) !important; -} - -.border-lime { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-lime-rgb), var(--tblr-border-opacity)) !important; -} - -.border-green { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-green-rgb), var(--tblr-border-opacity)) !important; -} - -.border-teal { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-teal-rgb), var(--tblr-border-opacity)) !important; -} - -.border-cyan { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-cyan-rgb), var(--tblr-border-opacity)) !important; -} - -.border-facebook { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-facebook-rgb), var(--tblr-border-opacity)) !important; -} - -.border-twitter { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-twitter-rgb), var(--tblr-border-opacity)) !important; -} - -.border-linkedin { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-border-opacity)) !important; -} - -.border-google { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-google-rgb), var(--tblr-border-opacity)) !important; -} - -.border-youtube { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-youtube-rgb), var(--tblr-border-opacity)) !important; -} - -.border-vimeo { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-border-opacity)) !important; -} - -.border-dribbble { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-border-opacity)) !important; -} - -.border-github { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-github-rgb), var(--tblr-border-opacity)) !important; -} - -.border-instagram { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-instagram-rgb), var(--tblr-border-opacity)) !important; -} - -.border-pinterest { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-border-opacity)) !important; -} - -.border-vk { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-vk-rgb), var(--tblr-border-opacity)) !important; -} - -.border-rss { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-rss-rgb), var(--tblr-border-opacity)) !important; -} - -.border-flickr { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-flickr-rgb), var(--tblr-border-opacity)) !important; -} - -.border-bitbucket { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-border-opacity)) !important; -} - -.border-tabler { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-tabler-rgb), var(--tblr-border-opacity)) !important; -} - -.border-white { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-white-rgb), var(--tblr-border-opacity)) !important; -} - -.border-1 { - --tblr-border-width: 1px; -} - -.border-2 { - --tblr-border-width: 2px; -} - -.border-3 { - --tblr-border-width: 3px; -} - -.border-4 { - --tblr-border-width: 4px; -} - -.border-5 { - --tblr-border-width: 5px; -} - -.border-opacity-10 { - --tblr-border-opacity: 0.1; -} - -.border-opacity-25 { - --tblr-border-opacity: 0.25; -} - -.border-opacity-50 { - --tblr-border-opacity: 0.5; -} - -.border-opacity-75 { - --tblr-border-opacity: 0.75; -} - -.border-opacity-100 { - --tblr-border-opacity: 1; -} - -.w-0 { - width: 0 !important; -} - -.w-1 { - width: 0.25rem !important; -} - -.w-2 { - width: 0.5rem !important; -} - -.w-3 { - width: 1rem !important; -} - -.w-4 { - width: 2rem !important; -} - -.w-5 { - width: 4rem !important; -} - -.w-25 { - width: 25% !important; -} - -.w-33 { - width: 33.33333% !important; -} - -.w-50 { - width: 50% !important; -} - -.w-66 { - width: 66.66666% !important; -} - -.w-75 { - width: 75% !important; -} - -.w-100 { - width: 100% !important; -} - -.w-auto { - width: auto !important; -} - -.mw-100 { - max-width: 100% !important; -} - -.vw-100 { - width: 100vw !important; -} - -.min-vw-100 { - min-width: 100vw !important; -} - -.h-0 { - height: 0 !important; -} - -.h-1 { - height: 0.25rem !important; -} - -.h-2 { - height: 0.5rem !important; -} - -.h-3 { - height: 1rem !important; -} - -.h-4 { - height: 2rem !important; -} - -.h-5 { - height: 4rem !important; -} - -.h-25 { - height: 25% !important; -} - -.h-33 { - height: 33.33333% !important; -} - -.h-50 { - height: 50% !important; -} - -.h-66 { - height: 66.66666% !important; -} - -.h-75 { - height: 75% !important; -} - -.h-100 { - height: 100% !important; -} - -.h-auto { - height: auto !important; -} - -.mh-100 { - max-height: 100% !important; -} - -.vh-100 { - height: 100vh !important; -} - -.min-vh-100 { - min-height: 100vh !important; -} - -.flex-fill { - flex: 1 1 auto !important; -} - -.flex-row { - flex-direction: row !important; -} - -.flex-column { - flex-direction: column !important; -} - -.flex-row-reverse { - flex-direction: row-reverse !important; -} - -.flex-column-reverse { - flex-direction: column-reverse !important; -} - -.flex-grow-0 { - flex-grow: 0 !important; -} - -.flex-grow-1 { - flex-grow: 1 !important; -} - -.flex-shrink-0 { - flex-shrink: 0 !important; -} - -.flex-shrink-1 { - flex-shrink: 1 !important; -} - -.flex-wrap { - flex-wrap: wrap !important; -} - -.flex-nowrap { - flex-wrap: nowrap !important; -} - -.flex-wrap-reverse { - flex-wrap: wrap-reverse !important; -} - -.justify-content-start { - justify-content: flex-start !important; -} - -.justify-content-end { - justify-content: flex-end !important; -} - -.justify-content-center { - justify-content: center !important; -} - -.justify-content-between { - justify-content: space-between !important; -} - -.justify-content-around { - justify-content: space-around !important; -} - -.justify-content-evenly { - justify-content: space-evenly !important; -} - -.align-items-start { - align-items: flex-start !important; -} - -.align-items-end { - align-items: flex-end !important; -} - -.align-items-center { - align-items: center !important; -} - -.align-items-baseline { - align-items: baseline !important; -} - -.align-items-stretch { - align-items: stretch !important; -} - -.align-content-start { - align-content: flex-start !important; -} - -.align-content-end { - align-content: flex-end !important; -} - -.align-content-center { - align-content: center !important; -} - -.align-content-between { - align-content: space-between !important; -} - -.align-content-around { - align-content: space-around !important; -} - -.align-content-stretch { - align-content: stretch !important; -} - -.align-self-auto { - align-self: auto !important; -} - -.align-self-start { - align-self: flex-start !important; -} - -.align-self-end { - align-self: flex-end !important; -} - -.align-self-center { - align-self: center !important; -} - -.align-self-baseline { - align-self: baseline !important; -} - -.align-self-stretch { - align-self: stretch !important; -} - -.order-first { - order: -1 !important; -} - -.order-0 { - order: 0 !important; -} - -.order-1 { - order: 1 !important; -} - -.order-2 { - order: 2 !important; -} - -.order-3 { - order: 3 !important; -} - -.order-4 { - order: 4 !important; -} - -.order-5 { - order: 5 !important; -} - -.order-last { - order: 6 !important; -} - -.m-0 { - margin: 0 !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.m-3 { - margin: 1rem !important; -} - -.m-4 { - margin: 2rem !important; -} - -.m-5 { - margin: 4rem !important; -} - -.m-auto { - margin: auto !important; -} - -.mx-0 { - margin-right: 0 !important; - margin-left: 0 !important; -} - -.mx-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; -} - -.mx-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; -} - -.mx-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; -} - -.mx-4 { - margin-right: 2rem !important; - margin-left: 2rem !important; -} - -.mx-5 { - margin-right: 4rem !important; - margin-left: 4rem !important; -} - -.mx-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; -} - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; -} - -.my-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.my-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; -} - -.my-4 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; -} - -.my-5 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; -} - -.my-auto { - margin-top: auto !important; - margin-bottom: auto !important; -} - -.mt-0 { - margin-top: 0 !important; -} - -.mt-1 { - margin-top: 0.25rem !important; -} - -.mt-2 { - margin-top: 0.5rem !important; -} - -.mt-3 { - margin-top: 1rem !important; -} - -.mt-4 { - margin-top: 2rem !important; -} - -.mt-5 { - margin-top: 4rem !important; -} - -.mt-auto { - margin-top: auto !important; -} - -.me-0 { - margin-right: 0 !important; -} - -.me-1 { - margin-right: 0.25rem !important; -} - -.me-2 { - margin-right: 0.5rem !important; -} - -.me-3 { - margin-right: 1rem !important; -} - -.me-4 { - margin-right: 2rem !important; -} - -.me-5 { - margin-right: 4rem !important; -} - -.me-auto { - margin-right: auto !important; -} - -.mb-0 { - margin-bottom: 0 !important; -} - -.mb-1 { - margin-bottom: 0.25rem !important; -} - -.mb-2 { - margin-bottom: 0.5rem !important; -} - -.mb-3 { - margin-bottom: 1rem !important; -} - -.mb-4 { - margin-bottom: 2rem !important; -} - -.mb-5 { - margin-bottom: 4rem !important; -} - -.mb-auto { - margin-bottom: auto !important; -} - -.ms-0 { - margin-left: 0 !important; -} - -.ms-1 { - margin-left: 0.25rem !important; -} - -.ms-2 { - margin-left: 0.5rem !important; -} - -.ms-3 { - margin-left: 1rem !important; -} - -.ms-4 { - margin-left: 2rem !important; -} - -.ms-5 { - margin-left: 4rem !important; -} - -.ms-auto { - margin-left: auto !important; -} - -.p-0 { - padding: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.p-3 { - padding: 1rem !important; -} - -.p-4 { - padding: 2rem !important; -} - -.p-5 { - padding: 4rem !important; -} - -.px-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} - -.px-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; -} - -.px-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; -} - -.px-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; -} - -.px-4 { - padding-right: 2rem !important; - padding-left: 2rem !important; -} - -.px-5 { - padding-right: 4rem !important; - padding-left: 4rem !important; -} - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; -} - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; -} - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; -} - -.py-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; -} - -.py-4 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; -} - -.py-5 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; -} - -.pt-0 { - padding-top: 0 !important; -} - -.pt-1 { - padding-top: 0.25rem !important; -} - -.pt-2 { - padding-top: 0.5rem !important; -} - -.pt-3 { - padding-top: 1rem !important; -} - -.pt-4 { - padding-top: 2rem !important; -} - -.pt-5 { - padding-top: 4rem !important; -} - -.pe-0 { - padding-right: 0 !important; -} - -.pe-1 { - padding-right: 0.25rem !important; -} - -.pe-2 { - padding-right: 0.5rem !important; -} - -.pe-3 { - padding-right: 1rem !important; -} - -.pe-4 { - padding-right: 2rem !important; -} - -.pe-5 { - padding-right: 4rem !important; -} - -.pb-0 { - padding-bottom: 0 !important; -} - -.pb-1 { - padding-bottom: 0.25rem !important; -} - -.pb-2 { - padding-bottom: 0.5rem !important; -} - -.pb-3 { - padding-bottom: 1rem !important; -} - -.pb-4 { - padding-bottom: 2rem !important; -} - -.pb-5 { - padding-bottom: 4rem !important; -} - -.ps-0 { - padding-left: 0 !important; -} - -.ps-1 { - padding-left: 0.25rem !important; -} - -.ps-2 { - padding-left: 0.5rem !important; -} - -.ps-3 { - padding-left: 1rem !important; -} - -.ps-4 { - padding-left: 2rem !important; -} - -.ps-5 { - padding-left: 4rem !important; -} - -.gap-0 { - gap: 0 !important; -} - -.gap-1 { - gap: 0.25rem !important; -} - -.gap-2 { - gap: 0.5rem !important; -} - -.gap-3 { - gap: 1rem !important; -} - -.gap-4 { - gap: 2rem !important; -} - -.gap-5 { - gap: 4rem !important; -} - -.font-monospace { - font-family: var(--tblr-font-monospace) !important; -} - -.fs-h1 { - font-size: 1.5rem !important; -} - -.fs-h2 { - font-size: 1.25rem !important; -} - -.fs-h3 { - font-size: 1rem !important; -} - -.fs-h4 { - font-size: 0.875rem !important; -} - -.fs-h5 { - font-size: 0.75rem !important; -} - -.fs-h6 { - font-size: 0.625rem !important; -} - -.fst-italic { - font-style: italic !important; -} - -.fst-normal { - font-style: normal !important; -} - -.fw-light { - font-weight: 300 !important; -} - -.fw-lighter { - font-weight: lighter !important; -} - -.fw-normal { - font-weight: 400 !important; -} - -.fw-bold { - font-weight: 600 !important; -} - -.fw-semibold { - font-weight: 600 !important; -} - -.fw-bolder { - font-weight: bolder !important; -} - -.lh-1 { - line-height: 1 !important; -} - -.lh-sm { - line-height: 1.1428571429 !important; -} - -.lh-base { - line-height: 1.4285714286 !important; -} - -.lh-lg { - line-height: 1.7142857143 !important; -} - -.text-start { - text-align: left !important; -} - -.text-end { - text-align: right !important; -} - -.text-center { - text-align: center !important; -} - -.text-decoration-none { - text-decoration: none !important; -} - -.text-decoration-underline { - text-decoration: underline !important; -} - -.text-decoration-line-through { - text-decoration: line-through !important; -} - -.text-lowercase { - text-transform: lowercase !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.text-capitalize { - text-transform: capitalize !important; -} - -.text-wrap { - white-space: normal !important; -} - -.text-nowrap { - white-space: nowrap !important; -} - -/* rtl:begin:remove */ -.text-break { - word-wrap: break-word !important; - word-break: break-word !important; -} - -/* rtl:end:remove */ -.text-primary { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-primary-rgb), var(--tblr-text-opacity)) !important; -} - -.text-secondary { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-secondary-rgb), var(--tblr-text-opacity)) !important; -} - -.text-success { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-success-rgb), var(--tblr-text-opacity)) !important; -} - -.text-info { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-info-rgb), var(--tblr-text-opacity)) !important; -} - -.text-warning { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-warning-rgb), var(--tblr-text-opacity)) !important; -} - -.text-danger { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-danger-rgb), var(--tblr-text-opacity)) !important; -} - -.text-light { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-light-rgb), var(--tblr-text-opacity)) !important; -} - -.text-dark { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-dark-rgb), var(--tblr-text-opacity)) !important; -} - -.text-muted { - --tblr-text-opacity: 1; - color: #616876 !important; -} - -.text-blue { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-blue-rgb), var(--tblr-text-opacity)) !important; -} - -.text-azure { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-azure-rgb), var(--tblr-text-opacity)) !important; -} - -.text-indigo { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-indigo-rgb), var(--tblr-text-opacity)) !important; -} - -.text-purple { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-purple-rgb), var(--tblr-text-opacity)) !important; -} - -.text-pink { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-pink-rgb), var(--tblr-text-opacity)) !important; -} - -.text-red { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-red-rgb), var(--tblr-text-opacity)) !important; -} - -.text-orange { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-orange-rgb), var(--tblr-text-opacity)) !important; -} - -.text-yellow { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-yellow-rgb), var(--tblr-text-opacity)) !important; -} - -.text-lime { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-lime-rgb), var(--tblr-text-opacity)) !important; -} - -.text-green { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-green-rgb), var(--tblr-text-opacity)) !important; -} - -.text-teal { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-teal-rgb), var(--tblr-text-opacity)) !important; -} - -.text-cyan { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-cyan-rgb), var(--tblr-text-opacity)) !important; -} - -.text-facebook { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-facebook-rgb), var(--tblr-text-opacity)) !important; -} - -.text-twitter { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-twitter-rgb), var(--tblr-text-opacity)) !important; -} - -.text-linkedin { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-linkedin-rgb), var(--tblr-text-opacity)) !important; -} - -.text-google { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-google-rgb), var(--tblr-text-opacity)) !important; -} - -.text-youtube { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-youtube-rgb), var(--tblr-text-opacity)) !important; -} - -.text-vimeo { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-vimeo-rgb), var(--tblr-text-opacity)) !important; -} - -.text-dribbble { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-dribbble-rgb), var(--tblr-text-opacity)) !important; -} - -.text-github { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-github-rgb), var(--tblr-text-opacity)) !important; -} - -.text-instagram { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-instagram-rgb), var(--tblr-text-opacity)) !important; -} - -.text-pinterest { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-pinterest-rgb), var(--tblr-text-opacity)) !important; -} - -.text-vk { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-vk-rgb), var(--tblr-text-opacity)) !important; -} - -.text-rss { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-rss-rgb), var(--tblr-text-opacity)) !important; -} - -.text-flickr { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-flickr-rgb), var(--tblr-text-opacity)) !important; -} - -.text-bitbucket { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-text-opacity)) !important; -} - -.text-tabler { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-tabler-rgb), var(--tblr-text-opacity)) !important; -} - -.text-black { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-black-rgb), var(--tblr-text-opacity)) !important; -} - -.text-white { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-white-rgb), var(--tblr-text-opacity)) !important; -} - -.text-body { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-body-color-rgb), var(--tblr-text-opacity)) !important; -} - -.text-black-50 { - --tblr-text-opacity: 1; - color: rgba(0, 0, 0, 0.5) !important; -} - -.text-white-50 { - --tblr-text-opacity: 1; - color: rgba(255, 255, 255, 0.5) !important; -} - -.text-reset { - --tblr-text-opacity: 1; - color: inherit !important; -} - -.text-opacity-25 { - --tblr-text-opacity: 0.25; -} - -.text-opacity-50 { - --tblr-text-opacity: 0.5; -} - -.text-opacity-75 { - --tblr-text-opacity: 0.75; -} - -.text-opacity-100 { - --tblr-text-opacity: 1; -} - -.bg-primary { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-primary-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-secondary { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-secondary-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-success { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-success-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-info { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-info-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-warning { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-warning-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-danger { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-danger-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-light { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-light-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-dark { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-dark-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-muted { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-muted-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-blue { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-blue-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-azure { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-azure-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-indigo { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-indigo-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-purple { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-purple-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-pink { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-pink-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-red { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-red-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-orange { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-orange-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-yellow { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-yellow-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-lime { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-lime-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-green { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-green-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-teal { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-teal-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-cyan { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-cyan-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-facebook { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-facebook-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-twitter { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-twitter-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-linkedin { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-google { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-google-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-youtube { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-youtube-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-vimeo { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-dribbble { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-github { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-github-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-instagram { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-instagram-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-pinterest { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-vk { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-vk-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-rss { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-rss-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-flickr { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-flickr-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-bitbucket { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-tabler { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-tabler-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-black { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-black-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-white { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-white-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-body { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-body-bg-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-transparent { - --tblr-bg-opacity: 1; - background-color: transparent !important; -} - -.bg-opacity-10 { - --tblr-bg-opacity: 0.1; -} - -.bg-opacity-25 { - --tblr-bg-opacity: 0.25; -} - -.bg-opacity-50 { - --tblr-bg-opacity: 0.5; -} - -.bg-opacity-75 { - --tblr-bg-opacity: 0.75; -} - -.bg-opacity-100 { - --tblr-bg-opacity: 1; -} - -.bg-gradient { - background-image: var(--tblr-gradient) !important; -} - -.user-select-all { - -webkit-user-select: all !important; - -moz-user-select: all !important; - user-select: all !important; -} - -.user-select-auto { - -webkit-user-select: auto !important; - -moz-user-select: auto !important; - -ms-user-select: auto !important; - user-select: auto !important; -} - -.user-select-none { - -webkit-user-select: none !important; - -moz-user-select: none !important; - -ms-user-select: none !important; - user-select: none !important; -} - -.pe-none { - pointer-events: none !important; -} - -.pe-auto { - pointer-events: auto !important; -} - -.rounded { - border-radius: var(--tblr-border-radius) !important; -} - -.rounded-0 { - border-radius: 0 !important; -} - -.rounded-1 { - border-radius: var(--tblr-border-radius-sm) !important; -} - -.rounded-2 { - border-radius: var(--tblr-border-radius) !important; -} - -.rounded-3 { - border-radius: var(--tblr-border-radius-lg) !important; -} - -.rounded-4 { - border-radius: var(--tblr-border-radius-xl) !important; -} - -.rounded-5 { - border-radius: var(--tblr-border-radius-2xl) !important; -} - -.rounded-circle { - border-radius: 50% !important; -} - -.rounded-pill { - border-radius: var(--tblr-border-radius-pill) !important; -} - -.rounded-top { - border-top-left-radius: var(--tblr-border-radius) !important; - border-top-right-radius: var(--tblr-border-radius) !important; -} - -.rounded-end { - border-top-right-radius: var(--tblr-border-radius) !important; - border-bottom-right-radius: var(--tblr-border-radius) !important; -} - -.rounded-bottom { - border-bottom-right-radius: var(--tblr-border-radius) !important; - border-bottom-left-radius: var(--tblr-border-radius) !important; -} - -.rounded-start { - border-bottom-left-radius: var(--tblr-border-radius) !important; - border-top-left-radius: var(--tblr-border-radius) !important; -} - -.visible { - visibility: visible !important; -} - -.invisible { - visibility: hidden !important; -} - -.object-contain { - -o-object-fit: contain !important; - object-fit: contain !important; -} - -.object-cover { - -o-object-fit: cover !important; - object-fit: cover !important; -} - -.object-fill { - -o-object-fit: fill !important; - object-fit: fill !important; -} - -.object-scale-down { - -o-object-fit: scale-down !important; - object-fit: scale-down !important; -} - -.object-none { - -o-object-fit: none !important; - object-fit: none !important; -} - -.tracking-tight { - letter-spacing: -0.05em !important; -} - -.tracking-normal { - letter-spacing: 0 !important; -} - -.tracking-wide { - letter-spacing: 0.05em !important; -} - -.cursor-auto { - cursor: auto !important; -} - -.cursor-pointer { - cursor: pointer !important; -} - -.cursor-move { - cursor: move !important; -} - -.cursor-not-allowed { - cursor: not-allowed !important; -} - -.cursor-zoom-in { - cursor: zoom-in !important; -} - -.cursor-zoom-out { - cursor: zoom-out !important; -} - -.cursor-default { - cursor: default !important; -} - -.cursor-none { - cursor: none !important; -} - -.cursor-help { - cursor: help !important; -} - -.cursor-progress { - cursor: progress !important; -} - -.cursor-wait { - cursor: wait !important; -} - -.cursor-text { - cursor: text !important; -} - -.cursor-v-text { - cursor: vertical-text !important; -} - -.cursor-grab { - cursor: -webkit-grab !important; - cursor: grab !important; -} - -.cursor-grabbing { - cursor: -webkit-grabbing !important; - cursor: grabbing !important; -} - -.border-x { - border-left: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; - border-right: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-x-wide { - border-left: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; - border-right: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-x-0 { - border-left: 0 !important; - border-right: 0 !important; -} - -.border-y { - border-top: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; - border-bottom: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-y-wide { - border-top: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; - border-bottom: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-y-0 { - border-top: 0 !important; - border-bottom: 0 !important; -} - -.columns-2 { - -moz-columns: 2 !important; - columns: 2 !important; -} - -.columns-3 { - -moz-columns: 3 !important; - columns: 3 !important; -} - -.columns-4 { - -moz-columns: 4 !important; - columns: 4 !important; -} - -@media (min-width: 576px) { - .float-sm-start { - float: left !important; - } - .float-sm-end { - float: right !important; - } - .float-sm-none { - float: none !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !important; - } - .d-sm-grid { - display: grid !important; - } - .d-sm-table { - display: table !important; - } - .d-sm-table-row { - display: table-row !important; - } - .d-sm-table-cell { - display: table-cell !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline-flex { - display: inline-flex !important; - } - .d-sm-none { - display: none !important; - } - .flex-sm-fill { - flex: 1 1 auto !important; - } - .flex-sm-row { - flex-direction: row !important; - } - .flex-sm-column { - flex-direction: column !important; - } - .flex-sm-row-reverse { - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - flex-direction: column-reverse !important; - } - .flex-sm-grow-0 { - flex-grow: 0 !important; - } - .flex-sm-grow-1 { - flex-grow: 1 !important; - } - .flex-sm-shrink-0 { - flex-shrink: 0 !important; - } - .flex-sm-shrink-1 { - flex-shrink: 1 !important; - } - .flex-sm-wrap { - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .justify-content-sm-start { - justify-content: flex-start !important; - } - .justify-content-sm-end { - justify-content: flex-end !important; - } - .justify-content-sm-center { - justify-content: center !important; - } - .justify-content-sm-between { - justify-content: space-between !important; - } - .justify-content-sm-around { - justify-content: space-around !important; - } - .justify-content-sm-evenly { - justify-content: space-evenly !important; - } - .align-items-sm-start { - align-items: flex-start !important; - } - .align-items-sm-end { - align-items: flex-end !important; - } - .align-items-sm-center { - align-items: center !important; - } - .align-items-sm-baseline { - align-items: baseline !important; - } - .align-items-sm-stretch { - align-items: stretch !important; - } - .align-content-sm-start { - align-content: flex-start !important; - } - .align-content-sm-end { - align-content: flex-end !important; - } - .align-content-sm-center { - align-content: center !important; - } - .align-content-sm-between { - align-content: space-between !important; - } - .align-content-sm-around { - align-content: space-around !important; - } - .align-content-sm-stretch { - align-content: stretch !important; - } - .align-self-sm-auto { - align-self: auto !important; - } - .align-self-sm-start { - align-self: flex-start !important; - } - .align-self-sm-end { - align-self: flex-end !important; - } - .align-self-sm-center { - align-self: center !important; - } - .align-self-sm-baseline { - align-self: baseline !important; - } - .align-self-sm-stretch { - align-self: stretch !important; - } - .order-sm-first { - order: -1 !important; - } - .order-sm-0 { - order: 0 !important; - } - .order-sm-1 { - order: 1 !important; - } - .order-sm-2 { - order: 2 !important; - } - .order-sm-3 { - order: 3 !important; - } - .order-sm-4 { - order: 4 !important; - } - .order-sm-5 { - order: 5 !important; - } - .order-sm-last { - order: 6 !important; - } - .m-sm-0 { - margin: 0 !important; - } - .m-sm-1 { - margin: 0.25rem !important; - } - .m-sm-2 { - margin: 0.5rem !important; - } - .m-sm-3 { - margin: 1rem !important; - } - .m-sm-4 { - margin: 2rem !important; - } - .m-sm-5 { - margin: 4rem !important; - } - .m-sm-auto { - margin: auto !important; - } - .mx-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .mx-sm-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .mx-sm-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .mx-sm-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .mx-sm-4 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .mx-sm-5 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .mx-sm-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-sm-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .my-sm-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .my-sm-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .my-sm-4 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .my-sm-5 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .my-sm-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } - .mt-sm-0 { - margin-top: 0 !important; - } - .mt-sm-1 { - margin-top: 0.25rem !important; - } - .mt-sm-2 { - margin-top: 0.5rem !important; - } - .mt-sm-3 { - margin-top: 1rem !important; - } - .mt-sm-4 { - margin-top: 2rem !important; - } - .mt-sm-5 { - margin-top: 4rem !important; - } - .mt-sm-auto { - margin-top: auto !important; - } - .me-sm-0 { - margin-right: 0 !important; - } - .me-sm-1 { - margin-right: 0.25rem !important; - } - .me-sm-2 { - margin-right: 0.5rem !important; - } - .me-sm-3 { - margin-right: 1rem !important; - } - .me-sm-4 { - margin-right: 2rem !important; - } - .me-sm-5 { - margin-right: 4rem !important; - } - .me-sm-auto { - margin-right: auto !important; - } - .mb-sm-0 { - margin-bottom: 0 !important; - } - .mb-sm-1 { - margin-bottom: 0.25rem !important; - } - .mb-sm-2 { - margin-bottom: 0.5rem !important; - } - .mb-sm-3 { - margin-bottom: 1rem !important; - } - .mb-sm-4 { - margin-bottom: 2rem !important; - } - .mb-sm-5 { - margin-bottom: 4rem !important; - } - .mb-sm-auto { - margin-bottom: auto !important; - } - .ms-sm-0 { - margin-left: 0 !important; - } - .ms-sm-1 { - margin-left: 0.25rem !important; - } - .ms-sm-2 { - margin-left: 0.5rem !important; - } - .ms-sm-3 { - margin-left: 1rem !important; - } - .ms-sm-4 { - margin-left: 2rem !important; - } - .ms-sm-5 { - margin-left: 4rem !important; - } - .ms-sm-auto { - margin-left: auto !important; - } - .p-sm-0 { - padding: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .p-sm-3 { - padding: 1rem !important; - } - .p-sm-4 { - padding: 2rem !important; - } - .p-sm-5 { - padding: 4rem !important; - } - .px-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .px-sm-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .px-sm-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .px-sm-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .px-sm-4 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .px-sm-5 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-sm-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .py-sm-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .py-sm-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .py-sm-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .py-sm-4 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .py-sm-5 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } - .pt-sm-0 { - padding-top: 0 !important; - } - .pt-sm-1 { - padding-top: 0.25rem !important; - } - .pt-sm-2 { - padding-top: 0.5rem !important; - } - .pt-sm-3 { - padding-top: 1rem !important; - } - .pt-sm-4 { - padding-top: 2rem !important; - } - .pt-sm-5 { - padding-top: 4rem !important; - } - .pe-sm-0 { - padding-right: 0 !important; - } - .pe-sm-1 { - padding-right: 0.25rem !important; - } - .pe-sm-2 { - padding-right: 0.5rem !important; - } - .pe-sm-3 { - padding-right: 1rem !important; - } - .pe-sm-4 { - padding-right: 2rem !important; - } - .pe-sm-5 { - padding-right: 4rem !important; - } - .pb-sm-0 { - padding-bottom: 0 !important; - } - .pb-sm-1 { - padding-bottom: 0.25rem !important; - } - .pb-sm-2 { - padding-bottom: 0.5rem !important; - } - .pb-sm-3 { - padding-bottom: 1rem !important; - } - .pb-sm-4 { - padding-bottom: 2rem !important; - } - .pb-sm-5 { - padding-bottom: 4rem !important; - } - .ps-sm-0 { - padding-left: 0 !important; - } - .ps-sm-1 { - padding-left: 0.25rem !important; - } - .ps-sm-2 { - padding-left: 0.5rem !important; - } - .ps-sm-3 { - padding-left: 1rem !important; - } - .ps-sm-4 { - padding-left: 2rem !important; - } - .ps-sm-5 { - padding-left: 4rem !important; - } - .gap-sm-0 { - gap: 0 !important; - } - .gap-sm-1 { - gap: 0.25rem !important; - } - .gap-sm-2 { - gap: 0.5rem !important; - } - .gap-sm-3 { - gap: 1rem !important; - } - .gap-sm-4 { - gap: 2rem !important; - } - .gap-sm-5 { - gap: 4rem !important; - } - .text-sm-start { - text-align: left !important; - } - .text-sm-end { - text-align: right !important; - } - .text-sm-center { - text-align: center !important; - } - .columns-sm-2 { - -moz-columns: 2 !important; - columns: 2 !important; - } - .columns-sm-3 { - -moz-columns: 3 !important; - columns: 3 !important; - } - .columns-sm-4 { - -moz-columns: 4 !important; - columns: 4 !important; - } -} -@media (min-width: 768px) { - .float-md-start { - float: left !important; - } - .float-md-end { - float: right !important; - } - .float-md-none { - float: none !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !important; - } - .d-md-grid { - display: grid !important; - } - .d-md-table { - display: table !important; - } - .d-md-table-row { - display: table-row !important; - } - .d-md-table-cell { - display: table-cell !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline-flex { - display: inline-flex !important; - } - .d-md-none { - display: none !important; - } - .flex-md-fill { - flex: 1 1 auto !important; - } - .flex-md-row { - flex-direction: row !important; - } - .flex-md-column { - flex-direction: column !important; - } - .flex-md-row-reverse { - flex-direction: row-reverse !important; - } - .flex-md-column-reverse { - flex-direction: column-reverse !important; - } - .flex-md-grow-0 { - flex-grow: 0 !important; - } - .flex-md-grow-1 { - flex-grow: 1 !important; - } - .flex-md-shrink-0 { - flex-shrink: 0 !important; - } - .flex-md-shrink-1 { - flex-shrink: 1 !important; - } - .flex-md-wrap { - flex-wrap: wrap !important; - } - .flex-md-nowrap { - flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .justify-content-md-start { - justify-content: flex-start !important; - } - .justify-content-md-end { - justify-content: flex-end !important; - } - .justify-content-md-center { - justify-content: center !important; - } - .justify-content-md-between { - justify-content: space-between !important; - } - .justify-content-md-around { - justify-content: space-around !important; - } - .justify-content-md-evenly { - justify-content: space-evenly !important; - } - .align-items-md-start { - align-items: flex-start !important; - } - .align-items-md-end { - align-items: flex-end !important; - } - .align-items-md-center { - align-items: center !important; - } - .align-items-md-baseline { - align-items: baseline !important; - } - .align-items-md-stretch { - align-items: stretch !important; - } - .align-content-md-start { - align-content: flex-start !important; - } - .align-content-md-end { - align-content: flex-end !important; - } - .align-content-md-center { - align-content: center !important; - } - .align-content-md-between { - align-content: space-between !important; - } - .align-content-md-around { - align-content: space-around !important; - } - .align-content-md-stretch { - align-content: stretch !important; - } - .align-self-md-auto { - align-self: auto !important; - } - .align-self-md-start { - align-self: flex-start !important; - } - .align-self-md-end { - align-self: flex-end !important; - } - .align-self-md-center { - align-self: center !important; - } - .align-self-md-baseline { - align-self: baseline !important; - } - .align-self-md-stretch { - align-self: stretch !important; - } - .order-md-first { - order: -1 !important; - } - .order-md-0 { - order: 0 !important; - } - .order-md-1 { - order: 1 !important; - } - .order-md-2 { - order: 2 !important; - } - .order-md-3 { - order: 3 !important; - } - .order-md-4 { - order: 4 !important; - } - .order-md-5 { - order: 5 !important; - } - .order-md-last { - order: 6 !important; - } - .m-md-0 { - margin: 0 !important; - } - .m-md-1 { - margin: 0.25rem !important; - } - .m-md-2 { - margin: 0.5rem !important; - } - .m-md-3 { - margin: 1rem !important; - } - .m-md-4 { - margin: 2rem !important; - } - .m-md-5 { - margin: 4rem !important; - } - .m-md-auto { - margin: auto !important; - } - .mx-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .mx-md-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .mx-md-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .mx-md-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .mx-md-4 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .mx-md-5 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .mx-md-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-md-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .my-md-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .my-md-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .my-md-4 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .my-md-5 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .my-md-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } - .mt-md-0 { - margin-top: 0 !important; - } - .mt-md-1 { - margin-top: 0.25rem !important; - } - .mt-md-2 { - margin-top: 0.5rem !important; - } - .mt-md-3 { - margin-top: 1rem !important; - } - .mt-md-4 { - margin-top: 2rem !important; - } - .mt-md-5 { - margin-top: 4rem !important; - } - .mt-md-auto { - margin-top: auto !important; - } - .me-md-0 { - margin-right: 0 !important; - } - .me-md-1 { - margin-right: 0.25rem !important; - } - .me-md-2 { - margin-right: 0.5rem !important; - } - .me-md-3 { - margin-right: 1rem !important; - } - .me-md-4 { - margin-right: 2rem !important; - } - .me-md-5 { - margin-right: 4rem !important; - } - .me-md-auto { - margin-right: auto !important; - } - .mb-md-0 { - margin-bottom: 0 !important; - } - .mb-md-1 { - margin-bottom: 0.25rem !important; - } - .mb-md-2 { - margin-bottom: 0.5rem !important; - } - .mb-md-3 { - margin-bottom: 1rem !important; - } - .mb-md-4 { - margin-bottom: 2rem !important; - } - .mb-md-5 { - margin-bottom: 4rem !important; - } - .mb-md-auto { - margin-bottom: auto !important; - } - .ms-md-0 { - margin-left: 0 !important; - } - .ms-md-1 { - margin-left: 0.25rem !important; - } - .ms-md-2 { - margin-left: 0.5rem !important; - } - .ms-md-3 { - margin-left: 1rem !important; - } - .ms-md-4 { - margin-left: 2rem !important; - } - .ms-md-5 { - margin-left: 4rem !important; - } - .ms-md-auto { - margin-left: auto !important; - } - .p-md-0 { - padding: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .p-md-3 { - padding: 1rem !important; - } - .p-md-4 { - padding: 2rem !important; - } - .p-md-5 { - padding: 4rem !important; - } - .px-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .px-md-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .px-md-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .px-md-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .px-md-4 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .px-md-5 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-md-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .py-md-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .py-md-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .py-md-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .py-md-4 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .py-md-5 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } - .pt-md-0 { - padding-top: 0 !important; - } - .pt-md-1 { - padding-top: 0.25rem !important; - } - .pt-md-2 { - padding-top: 0.5rem !important; - } - .pt-md-3 { - padding-top: 1rem !important; - } - .pt-md-4 { - padding-top: 2rem !important; - } - .pt-md-5 { - padding-top: 4rem !important; - } - .pe-md-0 { - padding-right: 0 !important; - } - .pe-md-1 { - padding-right: 0.25rem !important; - } - .pe-md-2 { - padding-right: 0.5rem !important; - } - .pe-md-3 { - padding-right: 1rem !important; - } - .pe-md-4 { - padding-right: 2rem !important; - } - .pe-md-5 { - padding-right: 4rem !important; - } - .pb-md-0 { - padding-bottom: 0 !important; - } - .pb-md-1 { - padding-bottom: 0.25rem !important; - } - .pb-md-2 { - padding-bottom: 0.5rem !important; - } - .pb-md-3 { - padding-bottom: 1rem !important; - } - .pb-md-4 { - padding-bottom: 2rem !important; - } - .pb-md-5 { - padding-bottom: 4rem !important; - } - .ps-md-0 { - padding-left: 0 !important; - } - .ps-md-1 { - padding-left: 0.25rem !important; - } - .ps-md-2 { - padding-left: 0.5rem !important; - } - .ps-md-3 { - padding-left: 1rem !important; - } - .ps-md-4 { - padding-left: 2rem !important; - } - .ps-md-5 { - padding-left: 4rem !important; - } - .gap-md-0 { - gap: 0 !important; - } - .gap-md-1 { - gap: 0.25rem !important; - } - .gap-md-2 { - gap: 0.5rem !important; - } - .gap-md-3 { - gap: 1rem !important; - } - .gap-md-4 { - gap: 2rem !important; - } - .gap-md-5 { - gap: 4rem !important; - } - .text-md-start { - text-align: left !important; - } - .text-md-end { - text-align: right !important; - } - .text-md-center { - text-align: center !important; - } - .columns-md-2 { - -moz-columns: 2 !important; - columns: 2 !important; - } - .columns-md-3 { - -moz-columns: 3 !important; - columns: 3 !important; - } - .columns-md-4 { - -moz-columns: 4 !important; - columns: 4 !important; - } -} -@media (min-width: 992px) { - .float-lg-start { - float: left !important; - } - .float-lg-end { - float: right !important; - } - .float-lg-none { - float: none !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !important; - } - .d-lg-grid { - display: grid !important; - } - .d-lg-table { - display: table !important; - } - .d-lg-table-row { - display: table-row !important; - } - .d-lg-table-cell { - display: table-cell !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline-flex { - display: inline-flex !important; - } - .d-lg-none { - display: none !important; - } - .flex-lg-fill { - flex: 1 1 auto !important; - } - .flex-lg-row { - flex-direction: row !important; - } - .flex-lg-column { - flex-direction: column !important; - } - .flex-lg-row-reverse { - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - flex-direction: column-reverse !important; - } - .flex-lg-grow-0 { - flex-grow: 0 !important; - } - .flex-lg-grow-1 { - flex-grow: 1 !important; - } - .flex-lg-shrink-0 { - flex-shrink: 0 !important; - } - .flex-lg-shrink-1 { - flex-shrink: 1 !important; - } - .flex-lg-wrap { - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .justify-content-lg-start { - justify-content: flex-start !important; - } - .justify-content-lg-end { - justify-content: flex-end !important; - } - .justify-content-lg-center { - justify-content: center !important; - } - .justify-content-lg-between { - justify-content: space-between !important; - } - .justify-content-lg-around { - justify-content: space-around !important; - } - .justify-content-lg-evenly { - justify-content: space-evenly !important; - } - .align-items-lg-start { - align-items: flex-start !important; - } - .align-items-lg-end { - align-items: flex-end !important; - } - .align-items-lg-center { - align-items: center !important; - } - .align-items-lg-baseline { - align-items: baseline !important; - } - .align-items-lg-stretch { - align-items: stretch !important; - } - .align-content-lg-start { - align-content: flex-start !important; - } - .align-content-lg-end { - align-content: flex-end !important; - } - .align-content-lg-center { - align-content: center !important; - } - .align-content-lg-between { - align-content: space-between !important; - } - .align-content-lg-around { - align-content: space-around !important; - } - .align-content-lg-stretch { - align-content: stretch !important; - } - .align-self-lg-auto { - align-self: auto !important; - } - .align-self-lg-start { - align-self: flex-start !important; - } - .align-self-lg-end { - align-self: flex-end !important; - } - .align-self-lg-center { - align-self: center !important; - } - .align-self-lg-baseline { - align-self: baseline !important; - } - .align-self-lg-stretch { - align-self: stretch !important; - } - .order-lg-first { - order: -1 !important; - } - .order-lg-0 { - order: 0 !important; - } - .order-lg-1 { - order: 1 !important; - } - .order-lg-2 { - order: 2 !important; - } - .order-lg-3 { - order: 3 !important; - } - .order-lg-4 { - order: 4 !important; - } - .order-lg-5 { - order: 5 !important; - } - .order-lg-last { - order: 6 !important; - } - .m-lg-0 { - margin: 0 !important; - } - .m-lg-1 { - margin: 0.25rem !important; - } - .m-lg-2 { - margin: 0.5rem !important; - } - .m-lg-3 { - margin: 1rem !important; - } - .m-lg-4 { - margin: 2rem !important; - } - .m-lg-5 { - margin: 4rem !important; - } - .m-lg-auto { - margin: auto !important; - } - .mx-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .mx-lg-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .mx-lg-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .mx-lg-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .mx-lg-4 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .mx-lg-5 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .mx-lg-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-lg-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .my-lg-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .my-lg-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .my-lg-4 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .my-lg-5 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .my-lg-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } - .mt-lg-0 { - margin-top: 0 !important; - } - .mt-lg-1 { - margin-top: 0.25rem !important; - } - .mt-lg-2 { - margin-top: 0.5rem !important; - } - .mt-lg-3 { - margin-top: 1rem !important; - } - .mt-lg-4 { - margin-top: 2rem !important; - } - .mt-lg-5 { - margin-top: 4rem !important; - } - .mt-lg-auto { - margin-top: auto !important; - } - .me-lg-0 { - margin-right: 0 !important; - } - .me-lg-1 { - margin-right: 0.25rem !important; - } - .me-lg-2 { - margin-right: 0.5rem !important; - } - .me-lg-3 { - margin-right: 1rem !important; - } - .me-lg-4 { - margin-right: 2rem !important; - } - .me-lg-5 { - margin-right: 4rem !important; - } - .me-lg-auto { - margin-right: auto !important; - } - .mb-lg-0 { - margin-bottom: 0 !important; - } - .mb-lg-1 { - margin-bottom: 0.25rem !important; - } - .mb-lg-2 { - margin-bottom: 0.5rem !important; - } - .mb-lg-3 { - margin-bottom: 1rem !important; - } - .mb-lg-4 { - margin-bottom: 2rem !important; - } - .mb-lg-5 { - margin-bottom: 4rem !important; - } - .mb-lg-auto { - margin-bottom: auto !important; - } - .ms-lg-0 { - margin-left: 0 !important; - } - .ms-lg-1 { - margin-left: 0.25rem !important; - } - .ms-lg-2 { - margin-left: 0.5rem !important; - } - .ms-lg-3 { - margin-left: 1rem !important; - } - .ms-lg-4 { - margin-left: 2rem !important; - } - .ms-lg-5 { - margin-left: 4rem !important; - } - .ms-lg-auto { - margin-left: auto !important; - } - .p-lg-0 { - padding: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .p-lg-3 { - padding: 1rem !important; - } - .p-lg-4 { - padding: 2rem !important; - } - .p-lg-5 { - padding: 4rem !important; - } - .px-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .px-lg-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .px-lg-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .px-lg-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .px-lg-4 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .px-lg-5 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-lg-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .py-lg-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .py-lg-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .py-lg-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .py-lg-4 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .py-lg-5 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } - .pt-lg-0 { - padding-top: 0 !important; - } - .pt-lg-1 { - padding-top: 0.25rem !important; - } - .pt-lg-2 { - padding-top: 0.5rem !important; - } - .pt-lg-3 { - padding-top: 1rem !important; - } - .pt-lg-4 { - padding-top: 2rem !important; - } - .pt-lg-5 { - padding-top: 4rem !important; - } - .pe-lg-0 { - padding-right: 0 !important; - } - .pe-lg-1 { - padding-right: 0.25rem !important; - } - .pe-lg-2 { - padding-right: 0.5rem !important; - } - .pe-lg-3 { - padding-right: 1rem !important; - } - .pe-lg-4 { - padding-right: 2rem !important; - } - .pe-lg-5 { - padding-right: 4rem !important; - } - .pb-lg-0 { - padding-bottom: 0 !important; - } - .pb-lg-1 { - padding-bottom: 0.25rem !important; - } - .pb-lg-2 { - padding-bottom: 0.5rem !important; - } - .pb-lg-3 { - padding-bottom: 1rem !important; - } - .pb-lg-4 { - padding-bottom: 2rem !important; - } - .pb-lg-5 { - padding-bottom: 4rem !important; - } - .ps-lg-0 { - padding-left: 0 !important; - } - .ps-lg-1 { - padding-left: 0.25rem !important; - } - .ps-lg-2 { - padding-left: 0.5rem !important; - } - .ps-lg-3 { - padding-left: 1rem !important; - } - .ps-lg-4 { - padding-left: 2rem !important; - } - .ps-lg-5 { - padding-left: 4rem !important; - } - .gap-lg-0 { - gap: 0 !important; - } - .gap-lg-1 { - gap: 0.25rem !important; - } - .gap-lg-2 { - gap: 0.5rem !important; - } - .gap-lg-3 { - gap: 1rem !important; - } - .gap-lg-4 { - gap: 2rem !important; - } - .gap-lg-5 { - gap: 4rem !important; - } - .text-lg-start { - text-align: left !important; - } - .text-lg-end { - text-align: right !important; - } - .text-lg-center { - text-align: center !important; - } - .columns-lg-2 { - -moz-columns: 2 !important; - columns: 2 !important; - } - .columns-lg-3 { - -moz-columns: 3 !important; - columns: 3 !important; - } - .columns-lg-4 { - -moz-columns: 4 !important; - columns: 4 !important; - } -} -@media (min-width: 1200px) { - .float-xl-start { - float: left !important; - } - .float-xl-end { - float: right !important; - } - .float-xl-none { - float: none !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !important; - } - .d-xl-grid { - display: grid !important; - } - .d-xl-table { - display: table !important; - } - .d-xl-table-row { - display: table-row !important; - } - .d-xl-table-cell { - display: table-cell !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline-flex { - display: inline-flex !important; - } - .d-xl-none { - display: none !important; - } - .flex-xl-fill { - flex: 1 1 auto !important; - } - .flex-xl-row { - flex-direction: row !important; - } - .flex-xl-column { - flex-direction: column !important; - } - .flex-xl-row-reverse { - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - flex-direction: column-reverse !important; - } - .flex-xl-grow-0 { - flex-grow: 0 !important; - } - .flex-xl-grow-1 { - flex-grow: 1 !important; - } - .flex-xl-shrink-0 { - flex-shrink: 0 !important; - } - .flex-xl-shrink-1 { - flex-shrink: 1 !important; - } - .flex-xl-wrap { - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .justify-content-xl-start { - justify-content: flex-start !important; - } - .justify-content-xl-end { - justify-content: flex-end !important; - } - .justify-content-xl-center { - justify-content: center !important; - } - .justify-content-xl-between { - justify-content: space-between !important; - } - .justify-content-xl-around { - justify-content: space-around !important; - } - .justify-content-xl-evenly { - justify-content: space-evenly !important; - } - .align-items-xl-start { - align-items: flex-start !important; - } - .align-items-xl-end { - align-items: flex-end !important; - } - .align-items-xl-center { - align-items: center !important; - } - .align-items-xl-baseline { - align-items: baseline !important; - } - .align-items-xl-stretch { - align-items: stretch !important; - } - .align-content-xl-start { - align-content: flex-start !important; - } - .align-content-xl-end { - align-content: flex-end !important; - } - .align-content-xl-center { - align-content: center !important; - } - .align-content-xl-between { - align-content: space-between !important; - } - .align-content-xl-around { - align-content: space-around !important; - } - .align-content-xl-stretch { - align-content: stretch !important; - } - .align-self-xl-auto { - align-self: auto !important; - } - .align-self-xl-start { - align-self: flex-start !important; - } - .align-self-xl-end { - align-self: flex-end !important; - } - .align-self-xl-center { - align-self: center !important; - } - .align-self-xl-baseline { - align-self: baseline !important; - } - .align-self-xl-stretch { - align-self: stretch !important; - } - .order-xl-first { - order: -1 !important; - } - .order-xl-0 { - order: 0 !important; - } - .order-xl-1 { - order: 1 !important; - } - .order-xl-2 { - order: 2 !important; - } - .order-xl-3 { - order: 3 !important; - } - .order-xl-4 { - order: 4 !important; - } - .order-xl-5 { - order: 5 !important; - } - .order-xl-last { - order: 6 !important; - } - .m-xl-0 { - margin: 0 !important; - } - .m-xl-1 { - margin: 0.25rem !important; - } - .m-xl-2 { - margin: 0.5rem !important; - } - .m-xl-3 { - margin: 1rem !important; - } - .m-xl-4 { - margin: 2rem !important; - } - .m-xl-5 { - margin: 4rem !important; - } - .m-xl-auto { - margin: auto !important; - } - .mx-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .mx-xl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .mx-xl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .mx-xl-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .mx-xl-4 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .mx-xl-5 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .mx-xl-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-xl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .my-xl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .my-xl-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .my-xl-4 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .my-xl-5 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .my-xl-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } - .mt-xl-0 { - margin-top: 0 !important; - } - .mt-xl-1 { - margin-top: 0.25rem !important; - } - .mt-xl-2 { - margin-top: 0.5rem !important; - } - .mt-xl-3 { - margin-top: 1rem !important; - } - .mt-xl-4 { - margin-top: 2rem !important; - } - .mt-xl-5 { - margin-top: 4rem !important; - } - .mt-xl-auto { - margin-top: auto !important; - } - .me-xl-0 { - margin-right: 0 !important; - } - .me-xl-1 { - margin-right: 0.25rem !important; - } - .me-xl-2 { - margin-right: 0.5rem !important; - } - .me-xl-3 { - margin-right: 1rem !important; - } - .me-xl-4 { - margin-right: 2rem !important; - } - .me-xl-5 { - margin-right: 4rem !important; - } - .me-xl-auto { - margin-right: auto !important; - } - .mb-xl-0 { - margin-bottom: 0 !important; - } - .mb-xl-1 { - margin-bottom: 0.25rem !important; - } - .mb-xl-2 { - margin-bottom: 0.5rem !important; - } - .mb-xl-3 { - margin-bottom: 1rem !important; - } - .mb-xl-4 { - margin-bottom: 2rem !important; - } - .mb-xl-5 { - margin-bottom: 4rem !important; - } - .mb-xl-auto { - margin-bottom: auto !important; - } - .ms-xl-0 { - margin-left: 0 !important; - } - .ms-xl-1 { - margin-left: 0.25rem !important; - } - .ms-xl-2 { - margin-left: 0.5rem !important; - } - .ms-xl-3 { - margin-left: 1rem !important; - } - .ms-xl-4 { - margin-left: 2rem !important; - } - .ms-xl-5 { - margin-left: 4rem !important; - } - .ms-xl-auto { - margin-left: auto !important; - } - .p-xl-0 { - padding: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .p-xl-3 { - padding: 1rem !important; - } - .p-xl-4 { - padding: 2rem !important; - } - .p-xl-5 { - padding: 4rem !important; - } - .px-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .px-xl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .px-xl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .px-xl-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .px-xl-4 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .px-xl-5 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-xl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .py-xl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .py-xl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .py-xl-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .py-xl-4 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .py-xl-5 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } - .pt-xl-0 { - padding-top: 0 !important; - } - .pt-xl-1 { - padding-top: 0.25rem !important; - } - .pt-xl-2 { - padding-top: 0.5rem !important; - } - .pt-xl-3 { - padding-top: 1rem !important; - } - .pt-xl-4 { - padding-top: 2rem !important; - } - .pt-xl-5 { - padding-top: 4rem !important; - } - .pe-xl-0 { - padding-right: 0 !important; - } - .pe-xl-1 { - padding-right: 0.25rem !important; - } - .pe-xl-2 { - padding-right: 0.5rem !important; - } - .pe-xl-3 { - padding-right: 1rem !important; - } - .pe-xl-4 { - padding-right: 2rem !important; - } - .pe-xl-5 { - padding-right: 4rem !important; - } - .pb-xl-0 { - padding-bottom: 0 !important; - } - .pb-xl-1 { - padding-bottom: 0.25rem !important; - } - .pb-xl-2 { - padding-bottom: 0.5rem !important; - } - .pb-xl-3 { - padding-bottom: 1rem !important; - } - .pb-xl-4 { - padding-bottom: 2rem !important; - } - .pb-xl-5 { - padding-bottom: 4rem !important; - } - .ps-xl-0 { - padding-left: 0 !important; - } - .ps-xl-1 { - padding-left: 0.25rem !important; - } - .ps-xl-2 { - padding-left: 0.5rem !important; - } - .ps-xl-3 { - padding-left: 1rem !important; - } - .ps-xl-4 { - padding-left: 2rem !important; - } - .ps-xl-5 { - padding-left: 4rem !important; - } - .gap-xl-0 { - gap: 0 !important; - } - .gap-xl-1 { - gap: 0.25rem !important; - } - .gap-xl-2 { - gap: 0.5rem !important; - } - .gap-xl-3 { - gap: 1rem !important; - } - .gap-xl-4 { - gap: 2rem !important; - } - .gap-xl-5 { - gap: 4rem !important; - } - .text-xl-start { - text-align: left !important; - } - .text-xl-end { - text-align: right !important; - } - .text-xl-center { - text-align: center !important; - } - .columns-xl-2 { - -moz-columns: 2 !important; - columns: 2 !important; - } - .columns-xl-3 { - -moz-columns: 3 !important; - columns: 3 !important; - } - .columns-xl-4 { - -moz-columns: 4 !important; - columns: 4 !important; - } -} -@media (min-width: 1400px) { - .float-xxl-start { - float: left !important; - } - .float-xxl-end { - float: right !important; - } - .float-xxl-none { - float: none !important; - } - .d-xxl-inline { - display: inline !important; - } - .d-xxl-inline-block { - display: inline-block !important; - } - .d-xxl-block { - display: block !important; - } - .d-xxl-grid { - display: grid !important; - } - .d-xxl-table { - display: table !important; - } - .d-xxl-table-row { - display: table-row !important; - } - .d-xxl-table-cell { - display: table-cell !important; - } - .d-xxl-flex { - display: flex !important; - } - .d-xxl-inline-flex { - display: inline-flex !important; - } - .d-xxl-none { - display: none !important; - } - .flex-xxl-fill { - flex: 1 1 auto !important; - } - .flex-xxl-row { - flex-direction: row !important; - } - .flex-xxl-column { - flex-direction: column !important; - } - .flex-xxl-row-reverse { - flex-direction: row-reverse !important; - } - .flex-xxl-column-reverse { - flex-direction: column-reverse !important; - } - .flex-xxl-grow-0 { - flex-grow: 0 !important; - } - .flex-xxl-grow-1 { - flex-grow: 1 !important; - } - .flex-xxl-shrink-0 { - flex-shrink: 0 !important; - } - .flex-xxl-shrink-1 { - flex-shrink: 1 !important; - } - .flex-xxl-wrap { - flex-wrap: wrap !important; - } - .flex-xxl-nowrap { - flex-wrap: nowrap !important; - } - .flex-xxl-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .justify-content-xxl-start { - justify-content: flex-start !important; - } - .justify-content-xxl-end { - justify-content: flex-end !important; - } - .justify-content-xxl-center { - justify-content: center !important; - } - .justify-content-xxl-between { - justify-content: space-between !important; - } - .justify-content-xxl-around { - justify-content: space-around !important; - } - .justify-content-xxl-evenly { - justify-content: space-evenly !important; - } - .align-items-xxl-start { - align-items: flex-start !important; - } - .align-items-xxl-end { - align-items: flex-end !important; - } - .align-items-xxl-center { - align-items: center !important; - } - .align-items-xxl-baseline { - align-items: baseline !important; - } - .align-items-xxl-stretch { - align-items: stretch !important; - } - .align-content-xxl-start { - align-content: flex-start !important; - } - .align-content-xxl-end { - align-content: flex-end !important; - } - .align-content-xxl-center { - align-content: center !important; - } - .align-content-xxl-between { - align-content: space-between !important; - } - .align-content-xxl-around { - align-content: space-around !important; - } - .align-content-xxl-stretch { - align-content: stretch !important; - } - .align-self-xxl-auto { - align-self: auto !important; - } - .align-self-xxl-start { - align-self: flex-start !important; - } - .align-self-xxl-end { - align-self: flex-end !important; - } - .align-self-xxl-center { - align-self: center !important; - } - .align-self-xxl-baseline { - align-self: baseline !important; - } - .align-self-xxl-stretch { - align-self: stretch !important; - } - .order-xxl-first { - order: -1 !important; - } - .order-xxl-0 { - order: 0 !important; - } - .order-xxl-1 { - order: 1 !important; - } - .order-xxl-2 { - order: 2 !important; - } - .order-xxl-3 { - order: 3 !important; - } - .order-xxl-4 { - order: 4 !important; - } - .order-xxl-5 { - order: 5 !important; - } - .order-xxl-last { - order: 6 !important; - } - .m-xxl-0 { - margin: 0 !important; - } - .m-xxl-1 { - margin: 0.25rem !important; - } - .m-xxl-2 { - margin: 0.5rem !important; - } - .m-xxl-3 { - margin: 1rem !important; - } - .m-xxl-4 { - margin: 2rem !important; - } - .m-xxl-5 { - margin: 4rem !important; - } - .m-xxl-auto { - margin: auto !important; - } - .mx-xxl-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .mx-xxl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; - } - .mx-xxl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; - } - .mx-xxl-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; - } - .mx-xxl-4 { - margin-right: 2rem !important; - margin-left: 2rem !important; - } - .mx-xxl-5 { - margin-right: 4rem !important; - margin-left: 4rem !important; - } - .mx-xxl-auto { - margin-right: auto !important; - margin-left: auto !important; - } - .my-xxl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-xxl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .my-xxl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .my-xxl-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .my-xxl-4 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .my-xxl-5 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .my-xxl-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } - .mt-xxl-0 { - margin-top: 0 !important; - } - .mt-xxl-1 { - margin-top: 0.25rem !important; - } - .mt-xxl-2 { - margin-top: 0.5rem !important; - } - .mt-xxl-3 { - margin-top: 1rem !important; - } - .mt-xxl-4 { - margin-top: 2rem !important; - } - .mt-xxl-5 { - margin-top: 4rem !important; - } - .mt-xxl-auto { - margin-top: auto !important; - } - .me-xxl-0 { - margin-right: 0 !important; - } - .me-xxl-1 { - margin-right: 0.25rem !important; - } - .me-xxl-2 { - margin-right: 0.5rem !important; - } - .me-xxl-3 { - margin-right: 1rem !important; - } - .me-xxl-4 { - margin-right: 2rem !important; - } - .me-xxl-5 { - margin-right: 4rem !important; - } - .me-xxl-auto { - margin-right: auto !important; - } - .mb-xxl-0 { - margin-bottom: 0 !important; - } - .mb-xxl-1 { - margin-bottom: 0.25rem !important; - } - .mb-xxl-2 { - margin-bottom: 0.5rem !important; - } - .mb-xxl-3 { - margin-bottom: 1rem !important; - } - .mb-xxl-4 { - margin-bottom: 2rem !important; - } - .mb-xxl-5 { - margin-bottom: 4rem !important; - } - .mb-xxl-auto { - margin-bottom: auto !important; - } - .ms-xxl-0 { - margin-left: 0 !important; - } - .ms-xxl-1 { - margin-left: 0.25rem !important; - } - .ms-xxl-2 { - margin-left: 0.5rem !important; - } - .ms-xxl-3 { - margin-left: 1rem !important; - } - .ms-xxl-4 { - margin-left: 2rem !important; - } - .ms-xxl-5 { - margin-left: 4rem !important; - } - .ms-xxl-auto { - margin-left: auto !important; - } - .p-xxl-0 { - padding: 0 !important; - } - .p-xxl-1 { - padding: 0.25rem !important; - } - .p-xxl-2 { - padding: 0.5rem !important; - } - .p-xxl-3 { - padding: 1rem !important; - } - .p-xxl-4 { - padding: 2rem !important; - } - .p-xxl-5 { - padding: 4rem !important; - } - .px-xxl-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .px-xxl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; - } - .px-xxl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; - } - .px-xxl-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; - } - .px-xxl-4 { - padding-right: 2rem !important; - padding-left: 2rem !important; - } - .px-xxl-5 { - padding-right: 4rem !important; - padding-left: 4rem !important; - } - .py-xxl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .py-xxl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .py-xxl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .py-xxl-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .py-xxl-4 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .py-xxl-5 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } - .pt-xxl-0 { - padding-top: 0 !important; - } - .pt-xxl-1 { - padding-top: 0.25rem !important; - } - .pt-xxl-2 { - padding-top: 0.5rem !important; - } - .pt-xxl-3 { - padding-top: 1rem !important; - } - .pt-xxl-4 { - padding-top: 2rem !important; - } - .pt-xxl-5 { - padding-top: 4rem !important; - } - .pe-xxl-0 { - padding-right: 0 !important; - } - .pe-xxl-1 { - padding-right: 0.25rem !important; - } - .pe-xxl-2 { - padding-right: 0.5rem !important; - } - .pe-xxl-3 { - padding-right: 1rem !important; - } - .pe-xxl-4 { - padding-right: 2rem !important; - } - .pe-xxl-5 { - padding-right: 4rem !important; - } - .pb-xxl-0 { - padding-bottom: 0 !important; - } - .pb-xxl-1 { - padding-bottom: 0.25rem !important; - } - .pb-xxl-2 { - padding-bottom: 0.5rem !important; - } - .pb-xxl-3 { - padding-bottom: 1rem !important; - } - .pb-xxl-4 { - padding-bottom: 2rem !important; - } - .pb-xxl-5 { - padding-bottom: 4rem !important; - } - .ps-xxl-0 { - padding-left: 0 !important; - } - .ps-xxl-1 { - padding-left: 0.25rem !important; - } - .ps-xxl-2 { - padding-left: 0.5rem !important; - } - .ps-xxl-3 { - padding-left: 1rem !important; - } - .ps-xxl-4 { - padding-left: 2rem !important; - } - .ps-xxl-5 { - padding-left: 4rem !important; - } - .gap-xxl-0 { - gap: 0 !important; - } - .gap-xxl-1 { - gap: 0.25rem !important; - } - .gap-xxl-2 { - gap: 0.5rem !important; - } - .gap-xxl-3 { - gap: 1rem !important; - } - .gap-xxl-4 { - gap: 2rem !important; - } - .gap-xxl-5 { - gap: 4rem !important; - } - .text-xxl-start { - text-align: left !important; - } - .text-xxl-end { - text-align: right !important; - } - .text-xxl-center { - text-align: center !important; - } - .columns-xxl-2 { - -moz-columns: 2 !important; - columns: 2 !important; - } - .columns-xxl-3 { - -moz-columns: 3 !important; - columns: 3 !important; - } - .columns-xxl-4 { - -moz-columns: 4 !important; - columns: 4 !important; - } -} -@media print { - .d-print-inline { - display: inline !important; - } - .d-print-inline-block { - display: inline-block !important; - } - .d-print-block { - display: block !important; - } - .d-print-grid { - display: grid !important; - } - .d-print-table { - display: table !important; - } - .d-print-table-row { - display: table-row !important; - } - .d-print-table-cell { - display: table-cell !important; - } - .d-print-flex { - display: flex !important; - } - .d-print-inline-flex { - display: inline-flex !important; - } - .d-print-none { - display: none !important; - } -} -:root, -:host { - font-size: 16px; - height: 100%; - --tblr-primary: #206bc4; - --tblr-primary-fg: var(--tblr-light); - --tblr-primary-darken: #1d60b0; - --tblr-primary-rgb: 32, 107, 196; - --tblr-secondary: #616876; - --tblr-secondary-fg: var(--tblr-light); - --tblr-secondary-darken: #575e6a; - --tblr-secondary-rgb: 97, 104, 118; - --tblr-success: #2fb344; - --tblr-success-fg: var(--tblr-light); - --tblr-success-darken: #2aa13d; - --tblr-success-rgb: 47, 179, 68; - --tblr-info: #4299e1; - --tblr-info-fg: var(--tblr-light); - --tblr-info-darken: #3b8acb; - --tblr-info-rgb: 66, 153, 225; - --tblr-warning: #f76707; - --tblr-warning-fg: var(--tblr-light); - --tblr-warning-darken: #de5d06; - --tblr-warning-rgb: 247, 103, 7; - --tblr-danger: #d63939; - --tblr-danger-fg: var(--tblr-light); - --tblr-danger-darken: #c13333; - --tblr-danger-rgb: 214, 57, 57; - --tblr-light: #f8fafc; - --tblr-light-fg: var(--tblr-dark); - --tblr-light-darken: #dfe1e3; - --tblr-light-rgb: 248, 250, 252; - --tblr-dark: #1d273b; - --tblr-dark-fg: var(--tblr-light); - --tblr-dark-darken: #1a2335; - --tblr-dark-rgb: 29, 39, 59; - --tblr-muted: #616876; - --tblr-muted-fg: var(--tblr-light); - --tblr-muted-darken: #575e6a; - --tblr-muted-rgb: 97, 104, 118; - --tblr-blue: #206bc4; - --tblr-blue-fg: var(--tblr-light); - --tblr-blue-darken: #1d60b0; - --tblr-blue-rgb: 32, 107, 196; - --tblr-azure: #4299e1; - --tblr-azure-fg: var(--tblr-light); - --tblr-azure-darken: #3b8acb; - --tblr-azure-rgb: 66, 153, 225; - --tblr-indigo: #4263eb; - --tblr-indigo-fg: var(--tblr-light); - --tblr-indigo-darken: #3b59d4; - --tblr-indigo-rgb: 66, 99, 235; - --tblr-purple: #ae3ec9; - --tblr-purple-fg: var(--tblr-light); - --tblr-purple-darken: #9d38b5; - --tblr-purple-rgb: 174, 62, 201; - --tblr-pink: #d6336c; - --tblr-pink-fg: var(--tblr-light); - --tblr-pink-darken: #c12e61; - --tblr-pink-rgb: 214, 51, 108; - --tblr-red: #d63939; - --tblr-red-fg: var(--tblr-light); - --tblr-red-darken: #c13333; - --tblr-red-rgb: 214, 57, 57; - --tblr-orange: #f76707; - --tblr-orange-fg: var(--tblr-light); - --tblr-orange-darken: #de5d06; - --tblr-orange-rgb: 247, 103, 7; - --tblr-yellow: #f59f00; - --tblr-yellow-fg: var(--tblr-light); - --tblr-yellow-darken: #dd8f00; - --tblr-yellow-rgb: 245, 159, 0; - --tblr-lime: #74b816; - --tblr-lime-fg: var(--tblr-light); - --tblr-lime-darken: #68a614; - --tblr-lime-rgb: 116, 184, 22; - --tblr-green: #2fb344; - --tblr-green-fg: var(--tblr-light); - --tblr-green-darken: #2aa13d; - --tblr-green-rgb: 47, 179, 68; - --tblr-teal: #0ca678; - --tblr-teal-fg: var(--tblr-light); - --tblr-teal-darken: #0b956c; - --tblr-teal-rgb: 12, 166, 120; - --tblr-cyan: #17a2b8; - --tblr-cyan-fg: var(--tblr-light); - --tblr-cyan-darken: #1592a6; - --tblr-cyan-rgb: 23, 162, 184; - --tblr-facebook: #3b5998; - --tblr-facebook-fg: var(--tblr-light); - --tblr-facebook-darken: #355089; - --tblr-facebook-rgb: 59, 89, 152; - --tblr-twitter: #1da1f2; - --tblr-twitter-fg: var(--tblr-light); - --tblr-twitter-darken: #1a91da; - --tblr-twitter-rgb: 29, 161, 242; - --tblr-linkedin: #0a66c2; - --tblr-linkedin-fg: var(--tblr-light); - --tblr-linkedin-darken: #095caf; - --tblr-linkedin-rgb: 10, 102, 194; - --tblr-google: #dc4e41; - --tblr-google-fg: var(--tblr-light); - --tblr-google-darken: #c6463b; - --tblr-google-rgb: 220, 78, 65; - --tblr-youtube: #ff0000; - --tblr-youtube-fg: var(--tblr-light); - --tblr-youtube-darken: #e60000; - --tblr-youtube-rgb: 255, 0, 0; - --tblr-vimeo: #1ab7ea; - --tblr-vimeo-fg: var(--tblr-light); - --tblr-vimeo-darken: #17a5d3; - --tblr-vimeo-rgb: 26, 183, 234; - --tblr-dribbble: #ea4c89; - --tblr-dribbble-fg: var(--tblr-light); - --tblr-dribbble-darken: #d3447b; - --tblr-dribbble-rgb: 234, 76, 137; - --tblr-github: #181717; - --tblr-github-fg: var(--tblr-light); - --tblr-github-darken: #161515; - --tblr-github-rgb: 24, 23, 23; - --tblr-instagram: #e4405f; - --tblr-instagram-fg: var(--tblr-light); - --tblr-instagram-darken: #cd3a56; - --tblr-instagram-rgb: 228, 64, 95; - --tblr-pinterest: #bd081c; - --tblr-pinterest-fg: var(--tblr-light); - --tblr-pinterest-darken: #aa0719; - --tblr-pinterest-rgb: 189, 8, 28; - --tblr-vk: #6383a8; - --tblr-vk-fg: var(--tblr-light); - --tblr-vk-darken: #597697; - --tblr-vk-rgb: 99, 131, 168; - --tblr-rss: #ffa500; - --tblr-rss-fg: var(--tblr-light); - --tblr-rss-darken: #e69500; - --tblr-rss-rgb: 255, 165, 0; - --tblr-flickr: #0063dc; - --tblr-flickr-fg: var(--tblr-light); - --tblr-flickr-darken: #0059c6; - --tblr-flickr-rgb: 0, 99, 220; - --tblr-bitbucket: #0052cc; - --tblr-bitbucket-fg: var(--tblr-light); - --tblr-bitbucket-darken: #004ab8; - --tblr-bitbucket-rgb: 0, 82, 204; - --tblr-tabler: #206bc4; - --tblr-tabler-fg: var(--tblr-light); - --tblr-tabler-darken: #1d60b0; - --tblr-tabler-rgb: 32, 107, 196; - --tblr-gray-50: #f8fafc; - --tblr-gray-50-fg: var(--tblr-dark); - --tblr-gray-50-darken: #dfe1e3; - --tblr-gray-50-rgb: 248, 250, 252; - --tblr-gray-100: #f1f5f9; - --tblr-gray-100-fg: var(--tblr-dark); - --tblr-gray-100-darken: #d9dde0; - --tblr-gray-100-rgb: 241, 245, 249; - --tblr-gray-200: #e2e8f0; - --tblr-gray-200-fg: var(--tblr-dark); - --tblr-gray-200-darken: #cbd1d8; - --tblr-gray-200-rgb: 226, 232, 240; - --tblr-gray-300: #c8d3e1; - --tblr-gray-300-fg: var(--tblr-dark); - --tblr-gray-300-darken: #b4becb; - --tblr-gray-300-rgb: 200, 211, 225; - --tblr-gray-400: #9ba9be; - --tblr-gray-400-fg: var(--tblr-light); - --tblr-gray-400-darken: #8c98ab; - --tblr-gray-400-rgb: 155, 169, 190; - --tblr-gray-500: #6c7a91; - --tblr-gray-500-fg: var(--tblr-light); - --tblr-gray-500-darken: #616e83; - --tblr-gray-500-rgb: 108, 122, 145; - --tblr-gray-600: #49566c; - --tblr-gray-600-fg: var(--tblr-light); - --tblr-gray-600-darken: #424d61; - --tblr-gray-600-rgb: 73, 86, 108; - --tblr-gray-700: #313c52; - --tblr-gray-700-fg: var(--tblr-light); - --tblr-gray-700-darken: #2c364a; - --tblr-gray-700-rgb: 49, 60, 82; - --tblr-gray-800: #1d273b; - --tblr-gray-800-fg: var(--tblr-light); - --tblr-gray-800-darken: #1a2335; - --tblr-gray-800-rgb: 29, 39, 59; - --tblr-gray-900: #0f172a; - --tblr-gray-900-fg: var(--tblr-light); - --tblr-gray-900-darken: #0e1526; - --tblr-gray-900-rgb: 15, 23, 42; - --tblr-bg-surface: var(--tblr-white); - --tblr-bg-surface-secondary: var(--tblr-light); - --tblr-bg-surface-dark: var(--tblr-dark); - --tblr-bg-forms: var(--tblr-bg-surface); - --tblr-border-color: #e6e7e9; - --tblr-border-color-light: #f2f3f4; - --tblr-border-color-active: #b3b7bd; - --tblr-icon-color: var(--tblr-gray-500); - --tblr-active-bg: var(--tblr-gray-100); - --tblr-disabled-bg: var(--tblr-gray-100); - --tblr-disabled-color: var(--tblr-gray-300); - --tblr-code-color: var(--tblr-gray-600); - --tblr-code-bg: var(--tblr-gray-100); - --tblr-dark-mode-border-color: #243049; - --tblr-dark-mode-border-color-light: #243049; - --tblr-dark-mode-border-color-active: #314264; - --tblr-font-weight-light: 300; - --tblr-font-weight-normal: 400; - --tblr-font-weight-medium: 500; - --tblr-font-weight-bold: 600; - --tblr-font-weight-headings: var(--tblr-font-weight-medium); - --tblr-font-size-h1: 1.5rem; - --tblr-font-size-h2: 1.25rem; - --tblr-font-size-h3: 1rem; - --tblr-font-size-h4: 0.875rem; - --tblr-font-size-h5: 0.75rem; - --tblr-font-size-h6: 0.625rem; - --tblr-line-height-h1: 2rem; - --tblr-line-height-h2: 1.75rem; - --tblr-line-height-h3: 1.5rem; - --tblr-line-height-h4: 1.25rem; - --tblr-line-height-h5: 1rem; - --tblr-line-height-h6: 1rem; - --tblr-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; - --tblr-shadow-transparent: 0 0 0 0 transparent; - --tblr-shadow-button: 0 1px 0 rgba(var(--tblr-body-color-rgb), 0.04); - --tblr-shadow-button-inset: inset 0 -1px 0 rgba(var(--tblr-body-color-rgb), 0.2); - --tblr-shadow-card: 0 0 4px rgba(var(--tblr-body-color-rgb), 0.04); - --tblr-shadow-card-hover: rgba(var(--tblr-body-color-rgb), 0.16) 0 2px 16px 0; -} - -body { - overflow-y: scroll; - letter-spacing: 0; - touch-action: manipulation; - text-rendering: optimizeLegibility; - font-feature-settings: "liga" 0; - position: relative; - min-height: 100%; - height: 100%; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -@media print { - body { - background: transparent; - } -} - -*::-webkit-scrollbar { - width: 0.5rem; - height: 0.5rem; - -webkit-transition: background 0.3s; - transition: background 0.3s; -} -@media (prefers-reduced-motion: reduce) { - *::-webkit-scrollbar { - -webkit-transition: none; - transition: none; - } -} - -*::-webkit-scrollbar-thumb { - border-radius: 5px; - background: rgba(var(--tblr-body-color-rgb), 0.16); -} - -*::-webkit-scrollbar-track { - background: rgba(var(--tblr-body-color-rgb), 0.06); -} - -*:hover::-webkit-scrollbar-thumb { - background: rgba(var(--tblr-body-color-rgb), 0.32); -} - -*::-webkit-scrollbar-corner { - background: transparent; -} - -.layout-fluid .container, -.layout-fluid [class^=container-], -.layout-fluid [class*=" container-"] { - max-width: 100%; -} - -.layout-boxed { - --tblr-theme-boxed-border-radius: 0; - --tblr-theme-boxed-width: 1320px; -} -@media (min-width: 768px) { - .layout-boxed { - background: #1d273b linear-gradient(to right, rgba(255, 255, 255, 0.1), transparent) fixed; - padding: 1rem; - --tblr-theme-boxed-border-radius: 4px; - } -} -.layout-boxed .page { - margin: 0 auto; - max-width: var(--tblr-theme-boxed-width); - border-radius: var(--tblr-theme-boxed-border-radius); - color: #1d273b; -} -@media (min-width: 768px) { - .layout-boxed .page { - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - background: var(--tblr-body-bg); - } -} -.layout-boxed .page > .navbar:first-child { - border-top-left-radius: var(--tblr-theme-boxed-border-radius); - border-top-right-radius: var(--tblr-theme-boxed-border-radius); -} - -/** -Navbar - */ -.navbar { - --tblr-navbar-border-width: var(--tblr-border-width); - --tblr-navbar-active-border-color: var(--tblr-primary); - --tblr-navbar-active-bg: rgba(0, 0, 0, 0.06); - --tblr-navbar-bg: transparent; - align-items: stretch; - min-height: 3.5rem; - box-shadow: inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color); - background: var(--tblr-navbar-bg); - --tblr-navbar-active-bg: rgba(0, 0, 0, 0.06); - --tblr-navbar-bg: transparent; - color: var(--tblr-body-color); -} -.navbar-collapse .navbar { - flex-grow: 1; -} -.navbar.collapsing { - min-height: 0; -} -.navbar .navbar-brand { - color: var(--tblr-body-color); -} -.navbar .navbar-brand:hover, .navbar .navbar-brand:focus { - color: var(--tblr-body-color); - opacity: 0.8; -} -.navbar .navbar-nav .nav-link { - color: var(--tblr-body-color); -} -.navbar .navbar-nav .nav-link:hover, .navbar .navbar-nav .nav-link:focus { - color: var(--tblr-body-color) color; -} -.navbar .navbar-nav .nav-link.disabled { - color: var(--tblr-disabled-color); -} -.navbar .navbar-nav .show > .nav-link, -.navbar .navbar-nav .active > .nav-link, -.navbar .navbar-nav .nav-link.show, -.navbar .navbar-nav .nav-link.active { - color: var(--tblr-body-color) color; -} -.navbar .navbar-toggler { - color: var(--tblr-body-color); - border-color: transparent; -} -.navbar .navbar-text { - color: var(--tblr-body-color); -} -.navbar .navbar-text a, -.navbar .navbar-text a:hover, -.navbar .navbar-text a:focus { - color: var(--tblr-body-color); -} -@media not print { - .theme-dark .navbar { - --tblr-navbar-border-color: #243049; - --tblr-navbar-bg: #1d273b; - --tblr-navbar-active-bg: rgba(255, 255, 255, 0.06); - --tblr-navbar-bg: #1d273b; - color: rgba(255, 255, 255, 0.7); - } - .theme-dark .navbar .navbar-brand { - color: #ffffff; - } - .theme-dark .navbar .navbar-brand:hover, .theme-dark .navbar .navbar-brand:focus { - color: #ffffff; - opacity: 0.8; - } - .theme-dark .navbar .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.7); - } - .theme-dark .navbar .navbar-nav .nav-link:hover, .theme-dark .navbar .navbar-nav .nav-link:focus { - color: #ffffff; - } - .theme-dark .navbar .navbar-nav .nav-link.disabled { - color: var(--tblr-disabled-color); - } - .theme-dark .navbar .navbar-nav .show > .nav-link, -.theme-dark .navbar .navbar-nav .active > .nav-link, -.theme-dark .navbar .navbar-nav .nav-link.show, -.theme-dark .navbar .navbar-nav .nav-link.active { - color: #ffffff; - } - .theme-dark .navbar .navbar-toggler { - color: #ffffff; - border-color: transparent; - } - .theme-dark .navbar .navbar-text { - color: rgba(255, 255, 255, 0.7); - } - .theme-dark .navbar .navbar-text a, -.theme-dark .navbar .navbar-text a:hover, -.theme-dark .navbar .navbar-text a:focus { - color: rgba(255, 255, 255, 0.7); - } - .theme-dark .navbar::-webkit-scrollbar { - width: 0.5rem; - height: 0.5rem; - -webkit-transition: background 0.3s; - transition: background 0.3s; - } - @media (prefers-reduced-motion: reduce) { - .theme-dark .navbar::-webkit-scrollbar { - -webkit-transition: none; - transition: none; - } - } - .theme-dark .navbar::-webkit-scrollbar-thumb { - border-radius: 5px; - background: rgba(var(--tblr-body-color-rgb), 0.16); - } - .theme-dark .navbar::-webkit-scrollbar-track { - background: rgba(var(--tblr-body-color-rgb), 0.06); - } - .theme-dark .navbar:hover::-webkit-scrollbar-thumb { - background: rgba(var(--tblr-body-color-rgb), 0.32); - } - .theme-dark .navbar::-webkit-scrollbar-corner { - background: transparent; - } -} -@media not print { - @media (prefers-color-scheme: dark) { - .theme-dark-auto .navbar { - --tblr-navbar-border-color: #243049; - --tblr-navbar-bg: #1d273b; - --tblr-navbar-active-bg: rgba(255, 255, 255, 0.06); - --tblr-navbar-bg: #1d273b; - color: rgba(255, 255, 255, 0.7); - } - .theme-dark-auto .navbar .navbar-brand { - color: #ffffff; - } - .theme-dark-auto .navbar .navbar-brand:hover, .theme-dark-auto .navbar .navbar-brand:focus { - color: #ffffff; - opacity: 0.8; - } - .theme-dark-auto .navbar .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.7); - } - .theme-dark-auto .navbar .navbar-nav .nav-link:hover, .theme-dark-auto .navbar .navbar-nav .nav-link:focus { - color: #ffffff; - } - .theme-dark-auto .navbar .navbar-nav .nav-link.disabled { - color: var(--tblr-disabled-color); - } - .theme-dark-auto .navbar .navbar-nav .show > .nav-link, -.theme-dark-auto .navbar .navbar-nav .active > .nav-link, -.theme-dark-auto .navbar .navbar-nav .nav-link.show, -.theme-dark-auto .navbar .navbar-nav .nav-link.active { - color: #ffffff; - } - .theme-dark-auto .navbar .navbar-toggler { - color: #ffffff; - border-color: transparent; - } - .theme-dark-auto .navbar .navbar-text { - color: rgba(255, 255, 255, 0.7); - } - .theme-dark-auto .navbar .navbar-text a, -.theme-dark-auto .navbar .navbar-text a:hover, -.theme-dark-auto .navbar .navbar-text a:focus { - color: rgba(255, 255, 255, 0.7); - } - .theme-dark-auto .navbar::-webkit-scrollbar { - width: 0.5rem; - height: 0.5rem; - -webkit-transition: background 0.3s; - transition: background 0.3s; - } - } - @media (prefers-color-scheme: dark) and (prefers-reduced-motion: reduce) { - .theme-dark-auto .navbar::-webkit-scrollbar { - -webkit-transition: none; - transition: none; - } - } - @media (prefers-color-scheme: dark) { - .theme-dark-auto .navbar::-webkit-scrollbar-thumb { - border-radius: 5px; - background: rgba(var(--tblr-body-color-rgb), 0.16); - } - } - @media (prefers-color-scheme: dark) { - .theme-dark-auto .navbar::-webkit-scrollbar-track { - background: rgba(var(--tblr-body-color-rgb), 0.06); - } - } - @media (prefers-color-scheme: dark) { - .theme-dark-auto .navbar:hover::-webkit-scrollbar-thumb { - background: rgba(var(--tblr-body-color-rgb), 0.32); - } - } - @media (prefers-color-scheme: dark) { - .theme-dark-auto .navbar::-webkit-scrollbar-corner { - background: transparent; - } - } -} -.navbar .dropdown-menu { - position: absolute; - z-index: 1030; -} -.navbar .navbar-nav { - min-height: 3rem; -} -.navbar .navbar-nav .nav-link { - position: relative; - min-width: 2rem; - min-height: 2rem; - justify-content: center; - border-radius: var(--tblr-border-radius); -} -.navbar .navbar-nav .nav-link .badge { - position: absolute; - top: 0.375rem; - right: 0.375rem; - transform: translate(50%, -50%); -} - -.navbar-nav { - margin: 0; - padding: 0; -} - -@media (max-width: 575.98px) { - .navbar-expand-sm .navbar-collapse { - flex-direction: column; - } - .navbar-expand-sm .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-expand-sm .navbar-collapse .navbar-nav { - margin-left: 0; - margin-right: 0; - } - .navbar-expand-sm .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-expand-sm .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-expand-sm .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-left: 2.5rem; - color: inherit; - } - .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 4rem; - } - .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 5.5rem; - } - .navbar-expand-sm .navbar-collapse .dropdown-toggle:after { - margin-left: auto; - } - .navbar-expand-sm .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-left-width: 3px; - right: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 576px) { - .navbar-expand-sm .navbar-collapse { - width: auto; - flex: 1 1 auto; - } - .navbar-expand-sm.navbar-light .nav-item.active, -.navbar-expand-sm .navbar-light .nav-item.active { - position: relative; - } - .navbar-expand-sm.navbar-light .nav-item.active:after, -.navbar-expand-sm .navbar-light .nav-item.active:after { - content: ""; - position: absolute; - left: 0; - right: 0; - bottom: -0.25rem; - border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); - border-bottom-width: 2px; - } - .navbar-expand-sm.navbar-vertical { - box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-sm.navbar-vertical.navbar-right { - box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-sm.navbar-vertical ~ .navbar, -.navbar-expand-sm.navbar-vertical ~ .page-wrapper { - margin-left: 15rem; - } - .navbar-expand-sm.navbar-vertical.navbar-right ~ .navbar, -.navbar-expand-sm.navbar-vertical.navbar-right ~ .page-wrapper { - margin-left: 0; - margin-right: 15rem; - } -} -@media (max-width: 767.98px) { - .navbar-expand-md .navbar-collapse { - flex-direction: column; - } - .navbar-expand-md .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-expand-md .navbar-collapse .navbar-nav { - margin-left: 0; - margin-right: 0; - } - .navbar-expand-md .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-expand-md .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-expand-md .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-left: 2.5rem; - color: inherit; - } - .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 4rem; - } - .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 5.5rem; - } - .navbar-expand-md .navbar-collapse .dropdown-toggle:after { - margin-left: auto; - } - .navbar-expand-md .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-left-width: 3px; - right: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 768px) { - .navbar-expand-md .navbar-collapse { - width: auto; - flex: 1 1 auto; - } - .navbar-expand-md.navbar-light .nav-item.active, -.navbar-expand-md .navbar-light .nav-item.active { - position: relative; - } - .navbar-expand-md.navbar-light .nav-item.active:after, -.navbar-expand-md .navbar-light .nav-item.active:after { - content: ""; - position: absolute; - left: 0; - right: 0; - bottom: -0.25rem; - border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); - border-bottom-width: 2px; - } - .navbar-expand-md.navbar-vertical { - box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-md.navbar-vertical.navbar-right { - box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-md.navbar-vertical ~ .navbar, -.navbar-expand-md.navbar-vertical ~ .page-wrapper { - margin-left: 15rem; - } - .navbar-expand-md.navbar-vertical.navbar-right ~ .navbar, -.navbar-expand-md.navbar-vertical.navbar-right ~ .page-wrapper { - margin-left: 0; - margin-right: 15rem; - } -} -@media (max-width: 991.98px) { - .navbar-expand-lg .navbar-collapse { - flex-direction: column; - } - .navbar-expand-lg .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-expand-lg .navbar-collapse .navbar-nav { - margin-left: 0; - margin-right: 0; - } - .navbar-expand-lg .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-expand-lg .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-expand-lg .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-left: 2.5rem; - color: inherit; - } - .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 4rem; - } - .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 5.5rem; - } - .navbar-expand-lg .navbar-collapse .dropdown-toggle:after { - margin-left: auto; - } - .navbar-expand-lg .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-left-width: 3px; - right: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 992px) { - .navbar-expand-lg .navbar-collapse { - width: auto; - flex: 1 1 auto; - } - .navbar-expand-lg.navbar-light .nav-item.active, -.navbar-expand-lg .navbar-light .nav-item.active { - position: relative; - } - .navbar-expand-lg.navbar-light .nav-item.active:after, -.navbar-expand-lg .navbar-light .nav-item.active:after { - content: ""; - position: absolute; - left: 0; - right: 0; - bottom: -0.25rem; - border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); - border-bottom-width: 2px; - } - .navbar-expand-lg.navbar-vertical { - box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-lg.navbar-vertical.navbar-right { - box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-lg.navbar-vertical ~ .navbar, -.navbar-expand-lg.navbar-vertical ~ .page-wrapper { - margin-left: 15rem; - } - .navbar-expand-lg.navbar-vertical.navbar-right ~ .navbar, -.navbar-expand-lg.navbar-vertical.navbar-right ~ .page-wrapper { - margin-left: 0; - margin-right: 15rem; - } -} -@media (max-width: 1199.98px) { - .navbar-expand-xl .navbar-collapse { - flex-direction: column; - } - .navbar-expand-xl .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-expand-xl .navbar-collapse .navbar-nav { - margin-left: 0; - margin-right: 0; - } - .navbar-expand-xl .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-expand-xl .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-expand-xl .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-left: 2.5rem; - color: inherit; - } - .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 4rem; - } - .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 5.5rem; - } - .navbar-expand-xl .navbar-collapse .dropdown-toggle:after { - margin-left: auto; - } - .navbar-expand-xl .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-left-width: 3px; - right: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 1200px) { - .navbar-expand-xl .navbar-collapse { - width: auto; - flex: 1 1 auto; - } - .navbar-expand-xl.navbar-light .nav-item.active, -.navbar-expand-xl .navbar-light .nav-item.active { - position: relative; - } - .navbar-expand-xl.navbar-light .nav-item.active:after, -.navbar-expand-xl .navbar-light .nav-item.active:after { - content: ""; - position: absolute; - left: 0; - right: 0; - bottom: -0.25rem; - border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); - border-bottom-width: 2px; - } - .navbar-expand-xl.navbar-vertical { - box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-xl.navbar-vertical.navbar-right { - box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-xl.navbar-vertical ~ .navbar, -.navbar-expand-xl.navbar-vertical ~ .page-wrapper { - margin-left: 15rem; - } - .navbar-expand-xl.navbar-vertical.navbar-right ~ .navbar, -.navbar-expand-xl.navbar-vertical.navbar-right ~ .page-wrapper { - margin-left: 0; - margin-right: 15rem; - } -} -@media (max-width: 1399.98px) { - .navbar-expand-xxl .navbar-collapse { - flex-direction: column; - } - .navbar-expand-xxl .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-expand-xxl .navbar-collapse .navbar-nav { - margin-left: 0; - margin-right: 0; - } - .navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-expand-xxl .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-expand-xxl .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-left: 2.5rem; - color: inherit; - } - .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 4rem; - } - .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 5.5rem; - } - .navbar-expand-xxl .navbar-collapse .dropdown-toggle:after { - margin-left: auto; - } - .navbar-expand-xxl .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-left-width: 3px; - right: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 1400px) { - .navbar-expand-xxl .navbar-collapse { - width: auto; - flex: 1 1 auto; - } - .navbar-expand-xxl.navbar-light .nav-item.active, -.navbar-expand-xxl .navbar-light .nav-item.active { - position: relative; - } - .navbar-expand-xxl.navbar-light .nav-item.active:after, -.navbar-expand-xxl .navbar-light .nav-item.active:after { - content: ""; - position: absolute; - left: 0; - right: 0; - bottom: -0.25rem; - border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); - border-bottom-width: 2px; - } - .navbar-expand-xxl.navbar-vertical { - box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-xxl.navbar-vertical.navbar-right { - box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-xxl.navbar-vertical ~ .navbar, -.navbar-expand-xxl.navbar-vertical ~ .page-wrapper { - margin-left: 15rem; - } - .navbar-expand-xxl.navbar-vertical.navbar-right ~ .navbar, -.navbar-expand-xxl.navbar-vertical.navbar-right ~ .page-wrapper { - margin-left: 0; - margin-right: 15rem; - } -} -.navbar-expand .navbar-collapse { - flex-direction: column; -} -.navbar-expand .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; -} -.navbar-expand .navbar-collapse .navbar-nav { - margin-left: 0; - margin-right: 0; -} -.navbar-expand .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; -} -.navbar-expand .navbar-collapse .dropdown-menu-columns { - flex-direction: column; -} -.navbar-expand .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; -} -.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-left: 2.5rem; - color: inherit; -} -.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); -} -.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 4rem; -} -.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 5.5rem; -} -.navbar-expand .navbar-collapse .dropdown-toggle:after { - margin-left: auto; -} -.navbar-expand .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-left-width: 3px; - right: auto; - top: 0; - bottom: 0; -} -.navbar-expand .navbar-collapse { - width: auto; - flex: 1 1 auto; -} -.navbar-expand.navbar-light .nav-item.active, -.navbar-expand .navbar-light .nav-item.active { - position: relative; -} -.navbar-expand.navbar-light .nav-item.active:after, -.navbar-expand .navbar-light .nav-item.active:after { - content: ""; - position: absolute; - left: 0; - right: 0; - bottom: -0.25rem; - border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); - border-bottom-width: 2px; -} -.navbar-expand.navbar-vertical { - box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); -} -.navbar-expand.navbar-vertical.navbar-right { - box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); -} -.navbar-expand.navbar-vertical ~ .navbar, -.navbar-expand.navbar-vertical ~ .page-wrapper { - margin-left: 15rem; -} -.navbar-expand.navbar-vertical.navbar-right ~ .navbar, -.navbar-expand.navbar-vertical.navbar-right ~ .page-wrapper { - margin-left: 0; - margin-right: 15rem; -} - -/** -Navbar brand - */ -.navbar-brand { - display: inline-flex; - align-items: center; - font-weight: var(--tblr-font-weight-bold); - margin: 0; - line-height: 1; -} - -.navbar-brand-image { - height: 2rem; - width: auto; -} - -/** -Navbar toggler - */ -.navbar-toggler { - border: 0; - width: 2rem; - height: 2rem; - position: relative; - display: flex; - align-items: center; - justify-content: center; -} - -.navbar-toggler-icon { - height: 2px; - width: 1.25em; - background: currentColor; - border-radius: 10px; - transition: top 0.2s 0.2s, bottom 0.2s 0.2s, transform 0.2s, opacity 0s 0.2s; - position: relative; -} -@media (prefers-reduced-motion: reduce) { - .navbar-toggler-icon { - transition: none; - } -} -.navbar-toggler-icon:before, .navbar-toggler-icon:after { - content: ""; - display: block; - height: inherit; - width: inherit; - border-radius: inherit; - background: inherit; - position: absolute; - left: 0; - transition: inherit; -} -@media (prefers-reduced-motion: reduce) { - .navbar-toggler-icon:before, .navbar-toggler-icon:after { - transition: none; - } -} -.navbar-toggler-icon:before { - top: -0.45em; -} -.navbar-toggler-icon:after { - bottom: -0.45em; -} -.navbar-toggler[aria-expanded=true] .navbar-toggler-icon { - transform: rotate(45deg); - transition: top 0.3s, bottom 0.3s, transform 0.3s 0.3s, opacity 0s 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .navbar-toggler[aria-expanded=true] .navbar-toggler-icon { - transition: none; - } -} -.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before { - top: 0; - transform: rotate(-90deg); -} -.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after { - bottom: 0; - opacity: 0; -} - -/** -Navbar light - */ -.navbar-light { - --tblr-navbar-border-color: var(--tblr-border-color); - --tblr-navbar-bg: var(--tblr-bg-surface); -} - -/** -Navbar dark - */ -.navbar-dark { - --tblr-navbar-border-color: #243049; - --tblr-navbar-bg: #1d273b; - --tblr-navbar-active-bg: rgba(255, 255, 255, 0.06); - --tblr-navbar-bg: #1d273b; - color: rgba(255, 255, 255, 0.7); -} -.navbar-dark .navbar-brand { - color: #ffffff; -} -.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { - color: #ffffff; - opacity: 0.8; -} -.navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.7); -} -.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { - color: #ffffff; -} -.navbar-dark .navbar-nav .nav-link.disabled { - color: var(--tblr-disabled-color); -} -.navbar-dark .navbar-nav .show > .nav-link, -.navbar-dark .navbar-nav .active > .nav-link, -.navbar-dark .navbar-nav .nav-link.show, -.navbar-dark .navbar-nav .nav-link.active { - color: #ffffff; -} -.navbar-dark .navbar-toggler { - color: #ffffff; - border-color: transparent; -} -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, 0.7); -} -.navbar-dark .navbar-text a, -.navbar-dark .navbar-text a:hover, -.navbar-dark .navbar-text a:focus { - color: rgba(255, 255, 255, 0.7); -} -.navbar-dark::-webkit-scrollbar { - width: 0.5rem; - height: 0.5rem; - -webkit-transition: background 0.3s; - transition: background 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .navbar-dark::-webkit-scrollbar { - -webkit-transition: none; - transition: none; - } -} -.navbar-dark::-webkit-scrollbar-thumb { - border-radius: 5px; - background: rgba(var(--tblr-body-color-rgb), 0.16); -} -.navbar-dark::-webkit-scrollbar-track { - background: rgba(var(--tblr-body-color-rgb), 0.06); -} -.navbar-dark:hover::-webkit-scrollbar-thumb { - background: rgba(var(--tblr-body-color-rgb), 0.32); -} -.navbar-dark::-webkit-scrollbar-corner { - background: transparent; -} - -/** -Navbar transparent - */ -.navbar-transparent { - --tblr-navbar-border-color: transparent !important; - background: transparent !important; -} - -/** -Navbar nav - */ -.navbar-nav { - align-items: stretch; -} -.navbar-nav .nav-item { - display: flex; - flex-direction: column; - justify-content: center; -} - -/** -Navbar side - */ -.navbar-side { - margin: 0; - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-around; -} - -/** -Navbar vertical - */ -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm { - width: 15rem; - position: fixed; - top: 0; - left: 0; - bottom: 0; - z-index: 1030; - align-items: flex-start; - transition: transform 0.3s; - overflow-x: auto; - padding: 0; - } -} -@media (min-width: 576px) and (prefers-reduced-motion: reduce) { - .navbar-vertical.navbar-expand-sm { - transition: none; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm.navbar-right { - left: auto; - right: 0; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm .navbar-brand { - padding: 0.75rem 0; - justify-content: center; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm .navbar-collapse { - align-items: stretch; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm .navbar-nav { - flex-direction: column; - flex-grow: 1; - min-height: auto; - } - .navbar-vertical.navbar-expand-sm .navbar-nav .nav-link { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm > [class^=container] { - flex-direction: column; - align-items: stretch; - min-height: 100%; - justify-content: flex-start; - padding: 0; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm ~ .page { - padding-left: 15rem; - } - .navbar-vertical.navbar-expand-sm ~ .page [class^=container] { - padding-left: 1.5rem; - padding-right: 1.5rem; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm.navbar-right ~ .page { - padding-left: 0; - padding-right: 15rem; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm .navbar-collapse { - flex-direction: column; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav { - margin-left: 0; - margin-right: 0; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-left: 2.5rem; - color: inherit; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 4rem; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 5.5rem; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after { - margin-left: auto; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-left-width: 3px; - right: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md { - width: 15rem; - position: fixed; - top: 0; - left: 0; - bottom: 0; - z-index: 1030; - align-items: flex-start; - transition: transform 0.3s; - overflow-x: auto; - padding: 0; - } -} -@media (min-width: 768px) and (prefers-reduced-motion: reduce) { - .navbar-vertical.navbar-expand-md { - transition: none; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md.navbar-right { - left: auto; - right: 0; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md .navbar-brand { - padding: 0.75rem 0; - justify-content: center; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md .navbar-collapse { - align-items: stretch; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md .navbar-nav { - flex-direction: column; - flex-grow: 1; - min-height: auto; - } - .navbar-vertical.navbar-expand-md .navbar-nav .nav-link { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md > [class^=container] { - flex-direction: column; - align-items: stretch; - min-height: 100%; - justify-content: flex-start; - padding: 0; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md ~ .page { - padding-left: 15rem; - } - .navbar-vertical.navbar-expand-md ~ .page [class^=container] { - padding-left: 1.5rem; - padding-right: 1.5rem; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md.navbar-right ~ .page { - padding-left: 0; - padding-right: 15rem; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md .navbar-collapse { - flex-direction: column; - } - .navbar-vertical.navbar-expand-md .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav { - margin-left: 0; - margin-right: 0; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-left: 2.5rem; - color: inherit; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 4rem; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 5.5rem; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after { - margin-left: auto; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-left-width: 3px; - right: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg { - width: 15rem; - position: fixed; - top: 0; - left: 0; - bottom: 0; - z-index: 1030; - align-items: flex-start; - transition: transform 0.3s; - overflow-x: auto; - padding: 0; - } -} -@media (min-width: 992px) and (prefers-reduced-motion: reduce) { - .navbar-vertical.navbar-expand-lg { - transition: none; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg.navbar-right { - left: auto; - right: 0; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg .navbar-brand { - padding: 0.75rem 0; - justify-content: center; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg .navbar-collapse { - align-items: stretch; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg .navbar-nav { - flex-direction: column; - flex-grow: 1; - min-height: auto; - } - .navbar-vertical.navbar-expand-lg .navbar-nav .nav-link { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg > [class^=container] { - flex-direction: column; - align-items: stretch; - min-height: 100%; - justify-content: flex-start; - padding: 0; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg ~ .page { - padding-left: 15rem; - } - .navbar-vertical.navbar-expand-lg ~ .page [class^=container] { - padding-left: 1.5rem; - padding-right: 1.5rem; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg.navbar-right ~ .page { - padding-left: 0; - padding-right: 15rem; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg .navbar-collapse { - flex-direction: column; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav { - margin-left: 0; - margin-right: 0; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-left: 2.5rem; - color: inherit; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 4rem; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 5.5rem; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after { - margin-left: auto; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-left-width: 3px; - right: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl { - width: 15rem; - position: fixed; - top: 0; - left: 0; - bottom: 0; - z-index: 1030; - align-items: flex-start; - transition: transform 0.3s; - overflow-x: auto; - padding: 0; - } -} -@media (min-width: 1200px) and (prefers-reduced-motion: reduce) { - .navbar-vertical.navbar-expand-xl { - transition: none; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl.navbar-right { - left: auto; - right: 0; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl .navbar-brand { - padding: 0.75rem 0; - justify-content: center; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl .navbar-collapse { - align-items: stretch; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl .navbar-nav { - flex-direction: column; - flex-grow: 1; - min-height: auto; - } - .navbar-vertical.navbar-expand-xl .navbar-nav .nav-link { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl > [class^=container] { - flex-direction: column; - align-items: stretch; - min-height: 100%; - justify-content: flex-start; - padding: 0; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl ~ .page { - padding-left: 15rem; - } - .navbar-vertical.navbar-expand-xl ~ .page [class^=container] { - padding-left: 1.5rem; - padding-right: 1.5rem; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl.navbar-right ~ .page { - padding-left: 0; - padding-right: 15rem; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl .navbar-collapse { - flex-direction: column; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav { - margin-left: 0; - margin-right: 0; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-left: 2.5rem; - color: inherit; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 4rem; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 5.5rem; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after { - margin-left: auto; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-left-width: 3px; - right: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl { - width: 15rem; - position: fixed; - top: 0; - left: 0; - bottom: 0; - z-index: 1030; - align-items: flex-start; - transition: transform 0.3s; - overflow-x: auto; - padding: 0; - } -} -@media (min-width: 1400px) and (prefers-reduced-motion: reduce) { - .navbar-vertical.navbar-expand-xxl { - transition: none; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl.navbar-right { - left: auto; - right: 0; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl .navbar-brand { - padding: 0.75rem 0; - justify-content: center; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl .navbar-collapse { - align-items: stretch; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl .navbar-nav { - flex-direction: column; - flex-grow: 1; - min-height: auto; - } - .navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl > [class^=container] { - flex-direction: column; - align-items: stretch; - min-height: 100%; - justify-content: flex-start; - padding: 0; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl ~ .page { - padding-left: 15rem; - } - .navbar-vertical.navbar-expand-xxl ~ .page [class^=container] { - padding-left: 1.5rem; - padding-right: 1.5rem; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl.navbar-right ~ .page { - padding-left: 0; - padding-right: 15rem; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl .navbar-collapse { - flex-direction: column; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav { - margin-left: 0; - margin-right: 0; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-left: 2.5rem; - color: inherit; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 4rem; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 5.5rem; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after { - margin-left: auto; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-left-width: 3px; - right: auto; - top: 0; - bottom: 0; - } -} -.navbar-vertical.navbar-expand { - width: 15rem; - position: fixed; - top: 0; - left: 0; - bottom: 0; - z-index: 1030; - align-items: flex-start; - transition: transform 0.3s; - overflow-x: auto; - padding: 0; -} -@media (prefers-reduced-motion: reduce) { - .navbar-vertical.navbar-expand { - transition: none; - } -} -.navbar-vertical.navbar-expand.navbar-right { - left: auto; - right: 0; -} -.navbar-vertical.navbar-expand .navbar-brand { - padding: 0.75rem 0; - justify-content: center; -} -.navbar-vertical.navbar-expand .navbar-collapse { - align-items: stretch; -} -.navbar-vertical.navbar-expand .navbar-nav { - flex-direction: column; - flex-grow: 1; - min-height: auto; -} -.navbar-vertical.navbar-expand .navbar-nav .nav-link { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} -.navbar-vertical.navbar-expand > [class^=container] { - flex-direction: column; - align-items: stretch; - min-height: 100%; - justify-content: flex-start; - padding: 0; -} -.navbar-vertical.navbar-expand ~ .page { - padding-left: 15rem; -} -.navbar-vertical.navbar-expand ~ .page [class^=container] { - padding-left: 1.5rem; - padding-right: 1.5rem; -} -.navbar-vertical.navbar-expand.navbar-right ~ .page { - padding-left: 0; - padding-right: 15rem; -} -.navbar-vertical.navbar-expand .navbar-collapse { - flex-direction: column; -} -.navbar-vertical.navbar-expand .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; -} -.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav { - margin-left: 0; - margin-right: 0; -} -.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns { - flex-direction: column; -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-left: 2.5rem; - color: inherit; -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 4rem; -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-left: 5.5rem; -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after { - margin-left: auto; -} -.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-left-width: 3px; - right: auto; - top: 0; - bottom: 0; -} - -.navbar-overlap:after { - content: ""; - height: 9rem; - position: absolute; - top: 100%; - left: 0; - right: 0; - background: inherit; - z-index: -1; - box-shadow: inherit; -} - -.page { - display: flex; - flex-direction: column; - position: relative; - min-height: 100%; -} - -.page-center { - justify-content: center; -} - -.page-wrapper { - flex: 1; - display: flex; - flex-direction: column; -} -@media print { - .page-wrapper { - margin: 0 !important; - } -} - -.page-wrapper-full .page-body:first-child { - margin: 0; - border-top: 0; -} - -.page-body { - margin-top: 1.25rem; - margin-bottom: 1.25rem; -} - -.page-body-card { - background: var(--tblr-bg-surface); - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - padding: 1.25rem 0; - margin-bottom: 0; - flex: 1; -} -.page-body ~ .page-body-card { - margin-top: 0; -} - -.page-cover { - background: no-repeat center/cover; - min-height: 9rem; -} -@media (min-width: 768px) { - .page-cover { - min-height: 12rem; - } -} -@media (min-width: 992px) { - .page-cover { - min-height: 15rem; - } -} - -.page-cover-overlay { - position: relative; -} -.page-cover-overlay:after { - content: ""; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%); -} - -.page-header { - display: flex; - flex-wrap: wrap; - min-height: 2.25rem; - flex-direction: column; - justify-content: center; -} -.page-wrapper .page-header { - margin: 1.25rem 0 0; -} - -.page-header-border { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - padding: 1.25rem 0; - margin: 0 !important; - background-color: var(--tblr-bg-surface); -} - -.page-pretitle { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); -} - -.page-title { - margin: 0; - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: var(--tblr-font-weight-bold); - color: inherit; - display: flex; - align-items: center; -} -.page-title svg { - width: 1.5rem; - height: 1.5rem; - margin-right: 0.25rem; -} - -.page-title-lg { - font-size: 1.5rem; - line-height: 2rem; -} - -.page-subtitle { - margin-top: 0.25rem; - color: #616876; -} - -.page-tabs { - margin-top: 0.5rem; - position: relative; -} - -.page-header-tabs .nav-bordered { - border: 0; -} -.page-header-tabs + .page-body-card { - margin-top: 0; -} - -.footer { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - background-color: #ffffff; - padding: 2rem 0; - color: var(--tblr-muted); - margin-top: auto; -} - -.footer-transparent { - background-color: transparent; - border-top: 0; -} - -/*! - * Tabler (v0.9.0): _dark.scss - * Copyright 2018-2021 The Tabler Authors - * Copyright 2018-2021 codecalm - * Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) - */ -body:not(.theme-dark) .hide-theme-light { - display: none !important; -} - -@media not print { - .theme-dark { - --tblr-body-color: #f8fafc; - --tblr-body-color-rgb: 248, 250, 252; - --tblr-muted: rgba(153, 159, 164, 1); - --tblr-body-bg: #1a2234; - --tblr-body-bg-rgb: 26, 34, 52; - --tblr-bg-forms: #1a2234; - --tblr-bg-surface: #1d273b; - --tblr-bg-surface-dark: #1a2234; - --tblr-bg-surface-secondary: #1a2234; - --tblr-link-color: #307fdd; - --tblr-link-hover-color: #206bc4; - --tblr-active-bg: #202c42; - --tblr-disabled-color: var(--tblr-gray-700); - --tblr-card-bg: #1a2234; - --tblr-card-bg-hover: #1a2234; - --tblr-card-bg-rgb: 26, 34, 52; - --tblr-card-color: #f8fafc; - --tblr-border-color: var(--tblr-dark-mode-border-color); - --tblr-border-color-light: var(--tblr-dark-mode-border-color-light); - --tblr-border-color-active: var(--tblr-dark-mode-border-color-active); - --tblr-btn-color: #1a2234; - --tblr-code-color: var(--tblr-body-color); - --tblr-code-bg: #243049; - color: #f8fafc; - background-color: #1a2234; - } - .theme-dark .page { - color: #f8fafc; - } - .theme-dark .hide-theme-dark { - display: none !important; - } - .theme-dark .text-body { - color: #f8fafc !important; - } - .theme-dark .card, -.theme-dark .card-footer, -.theme-dark .card-stacked::after, -.theme-dark .footer:not(.footer-transparent), -.theme-dark .modal-content, -.theme-dark .modal-header, -.theme-dark .dropdown-menu, -.theme-dark .toast, -.theme-dark .toast-header, -.theme-dark .alert:not(.alert-important) { - background-color: var(--tblr-bg-surface); - color: inherit; - } - .theme-dark .modal { - --tblr-modal-border-color: var(--tblr-border-color); - } - .theme-dark .bg-light { - background-color: #1a2234 !important; - } - .theme-dark .card-tabs .nav-tabs .nav-link { - background-color: #1a2234; - color: inherit; - } - .theme-dark .card-tabs .nav-tabs .nav-link.active { - background-color: #1d273b; - color: inherit; - } - .theme-dark .form-check-input:not(:checked), -.theme-dark .form-select, -.theme-dark .form-file-text, -.theme-dark .form-control, -.theme-dark .form-selectgroup-check { - background-color: #1a2234; - color: #f8fafc; - border-color: #243049; - } - .theme-dark .form-control-plaintext { - color: #f8fafc; - } - .theme-dark .input-group-flat .input-group-text { - background-color: #1a2234; - } - .theme-dark .input-group-text { - border-color: #243049; - } - .theme-dark .highlight { - background-color: #1a2234; - } - .theme-dark .avatar { - --tblr-avatar-bg: #202c42; - } - .theme-dark .markdown, -.theme-dark .markdown > *, -.theme-dark .accordion-button { - color: inherit; - } - .theme-dark .btn-close, -.theme-dark .accordion-button:after { - filter: invert(1) grayscale(100%) brightness(200%); - } - .theme-dark .apexcharts-text { - fill: #f8fafc; - } - .theme-dark .apexcharts-gridline { - stroke: var(--tblr-border-color); - } - .theme-dark .apexcharts-legend-text { - color: inherit !important; - } - .theme-dark .navbar-brand-autodark { - filter: brightness(0) invert(1); - } - .theme-dark .table thead th, .theme-dark .markdown > table thead th, -.theme-dark .input-group-text { - background: transparent; - } - .theme-dark .list-group-header { - background: #1a2234; - } - .theme-dark .list-group-item:not(.disabled):not(:disabled) { - color: #f8fafc; - } - .theme-dark .list-group-item.disabled, .theme-dark .list-group-item:disabled { - color: #49566c; - } - .theme-dark .apexcharts-radialbar-area { - stroke: #243049; - } - .theme-dark .form-control.is-invalid, -.theme-dark .was-validated .form-control:invalid { - border-color: var(--tblr-danger); - } - .theme-dark .form-control.is-valid, -.theme-dark .was-validated .form-control:valid { - border-color: var(--tblr-success); - } -} -@media not print { - @media (prefers-color-scheme: dark) { - .theme-dark-auto { - --tblr-body-color: #f8fafc; - --tblr-body-color-rgb: 248, 250, 252; - --tblr-muted: rgba(153, 159, 164, 1); - --tblr-body-bg: #1a2234; - --tblr-body-bg-rgb: 26, 34, 52; - --tblr-bg-forms: #1a2234; - --tblr-bg-surface: #1d273b; - --tblr-bg-surface-dark: #1a2234; - --tblr-bg-surface-secondary: #1a2234; - --tblr-link-color: #307fdd; - --tblr-link-hover-color: #206bc4; - --tblr-active-bg: #202c42; - --tblr-disabled-color: var(--tblr-gray-700); - --tblr-card-bg: #1a2234; - --tblr-card-bg-hover: #1a2234; - --tblr-card-bg-rgb: 26, 34, 52; - --tblr-card-color: #f8fafc; - --tblr-border-color: var(--tblr-dark-mode-border-color); - --tblr-border-color-light: var(--tblr-dark-mode-border-color-light); - --tblr-border-color-active: var(--tblr-dark-mode-border-color-active); - --tblr-btn-color: #1a2234; - --tblr-code-color: var(--tblr-body-color); - --tblr-code-bg: #243049; - color: #f8fafc; - background-color: #1a2234; - } - .theme-dark-auto .page { - color: #f8fafc; - } - .theme-dark-auto .hide-theme-dark { - display: none !important; - } - .theme-dark-auto .text-body { - color: #f8fafc !important; - } - .theme-dark-auto .card, -.theme-dark-auto .card-footer, -.theme-dark-auto .card-stacked::after, -.theme-dark-auto .footer:not(.footer-transparent), -.theme-dark-auto .modal-content, -.theme-dark-auto .modal-header, -.theme-dark-auto .dropdown-menu, -.theme-dark-auto .toast, -.theme-dark-auto .toast-header, -.theme-dark-auto .alert:not(.alert-important) { - background-color: var(--tblr-bg-surface); - color: inherit; - } - .theme-dark-auto .modal { - --tblr-modal-border-color: var(--tblr-border-color); - } - .theme-dark-auto .bg-light { - background-color: #1a2234 !important; - } - .theme-dark-auto .card-tabs .nav-tabs .nav-link { - background-color: #1a2234; - color: inherit; - } - .theme-dark-auto .card-tabs .nav-tabs .nav-link.active { - background-color: #1d273b; - color: inherit; - } - .theme-dark-auto .form-check-input:not(:checked), -.theme-dark-auto .form-select, -.theme-dark-auto .form-file-text, -.theme-dark-auto .form-control, -.theme-dark-auto .form-selectgroup-check { - background-color: #1a2234; - color: #f8fafc; - border-color: #243049; - } - .theme-dark-auto .form-control-plaintext { - color: #f8fafc; - } - .theme-dark-auto .input-group-flat .input-group-text { - background-color: #1a2234; - } - .theme-dark-auto .input-group-text { - border-color: #243049; - } - .theme-dark-auto .highlight { - background-color: #1a2234; - } - .theme-dark-auto .avatar { - --tblr-avatar-bg: #202c42; - } - .theme-dark-auto .markdown, -.theme-dark-auto .markdown > *, -.theme-dark-auto .accordion-button { - color: inherit; - } - .theme-dark-auto .btn-close, -.theme-dark-auto .accordion-button:after { - filter: invert(1) grayscale(100%) brightness(200%); - } - .theme-dark-auto .apexcharts-text { - fill: #f8fafc; - } - .theme-dark-auto .apexcharts-gridline { - stroke: var(--tblr-border-color); - } - .theme-dark-auto .apexcharts-legend-text { - color: inherit !important; - } - .theme-dark-auto .navbar-brand-autodark { - filter: brightness(0) invert(1); - } - .theme-dark-auto .table thead th, .theme-dark-auto .markdown > table thead th, -.theme-dark-auto .input-group-text { - background: transparent; - } - .theme-dark-auto .list-group-header { - background: #1a2234; - } - .theme-dark-auto .list-group-item:not(.disabled):not(:disabled) { - color: #f8fafc; - } - .theme-dark-auto .list-group-item.disabled, .theme-dark-auto .list-group-item:disabled { - color: #49566c; - } - .theme-dark-auto .apexcharts-radialbar-area { - stroke: #243049; - } - .theme-dark-auto .form-control.is-invalid, -.theme-dark-auto .was-validated .form-control:invalid { - border-color: var(--tblr-danger); - } - .theme-dark-auto .form-control.is-valid, -.theme-dark-auto .was-validated .form-control:valid { - border-color: var(--tblr-success); - } - } -} -.accordion { - --tblr-accordion-color: var(--tblr-body-color); -} - -.accordion-button:focus:not(:focus-visible) { - outline: none; - box-shadow: none; -} -.accordion-button:after { - opacity: 0.7; -} -.accordion-button:not(.collapsed) { - font-weight: var(--tblr-font-weight-bold); - border-bottom-color: transparent; - box-shadow: none; -} -.accordion-button:not(.collapsed):after { - opacity: 1; -} - -.alert { - --tblr-alert-color: #616876; - background: #ffffff; - border: 1px var(--tblr-border-style) var(--tblr-border-color-translucent); - border-left: 0.25rem var(--tblr-border-style) var(--tblr-alert-color); - box-shadow: rgba(29, 39, 59, 0.04) 0 2px 4px 0; -} -.alert > :last-child { - margin-bottom: 0; -} - -.alert-important { - border-color: transparent; - background: var(--tblr-alert-color); - color: #fff; -} -.alert-important .alert-icon, -.alert-important .alert-link { - color: inherit; -} -.alert-important .alert-link:hover { - color: inherit; -} - -.alert-link, .alert-link:hover { - color: var(--tblr-alert-color); -} - -.alert-primary { - --tblr-alert-color: #206bc4; -} - -.alert-secondary { - --tblr-alert-color: #616876; -} - -.alert-success { - --tblr-alert-color: #2fb344; -} - -.alert-info { - --tblr-alert-color: #4299e1; -} - -.alert-warning { - --tblr-alert-color: #f76707; -} - -.alert-danger { - --tblr-alert-color: #d63939; -} - -.alert-light { - --tblr-alert-color: #f8fafc; -} - -.alert-dark { - --tblr-alert-color: #1d273b; -} - -.alert-muted { - --tblr-alert-color: #616876; -} - -.alert-blue { - --tblr-alert-color: #206bc4; -} - -.alert-azure { - --tblr-alert-color: #4299e1; -} - -.alert-indigo { - --tblr-alert-color: #4263eb; -} - -.alert-purple { - --tblr-alert-color: #ae3ec9; -} - -.alert-pink { - --tblr-alert-color: #d6336c; -} - -.alert-red { - --tblr-alert-color: #d63939; -} - -.alert-orange { - --tblr-alert-color: #f76707; -} - -.alert-yellow { - --tblr-alert-color: #f59f00; -} - -.alert-lime { - --tblr-alert-color: #74b816; -} - -.alert-green { - --tblr-alert-color: #2fb344; -} - -.alert-teal { - --tblr-alert-color: #0ca678; -} - -.alert-cyan { - --tblr-alert-color: #17a2b8; -} - -.alert-facebook { - --tblr-alert-color: #3b5998; -} - -.alert-twitter { - --tblr-alert-color: #1da1f2; -} - -.alert-linkedin { - --tblr-alert-color: #0a66c2; -} - -.alert-google { - --tblr-alert-color: #dc4e41; -} - -.alert-youtube { - --tblr-alert-color: #ff0000; -} - -.alert-vimeo { - --tblr-alert-color: #1ab7ea; -} - -.alert-dribbble { - --tblr-alert-color: #ea4c89; -} - -.alert-github { - --tblr-alert-color: #181717; -} - -.alert-instagram { - --tblr-alert-color: #e4405f; -} - -.alert-pinterest { - --tblr-alert-color: #bd081c; -} - -.alert-vk { - --tblr-alert-color: #6383a8; -} - -.alert-rss { - --tblr-alert-color: #ffa500; -} - -.alert-flickr { - --tblr-alert-color: #0063dc; -} - -.alert-bitbucket { - --tblr-alert-color: #0052cc; -} - -.alert-tabler { - --tblr-alert-color: #206bc4; -} - -.alert-icon { - color: var(--tblr-alert-color); - width: 1.5rem !important; - height: 1.5rem !important; - margin: -0.125rem 1rem -0.125rem 0; -} - -.alert-title { - font-size: 0.875rem; - line-height: 1.25rem; - font-weight: var(--tblr-font-weight-bold); - margin-bottom: 0.25rem; - color: var(--tblr-alert-color); -} - -.avatar { - --tblr-avatar-size: 2.5rem; - --tblr-avatar-bg: var(--tblr-gray-100); - position: relative; - width: var(--tblr-avatar-size); - height: var(--tblr-avatar-size); - font-size: calc(var(--tblr-avatar-size) / 2.8571428572); - font-weight: var(--tblr-font-weight-medium); - display: inline-flex; - align-items: center; - justify-content: center; - color: #616876; - text-align: center; - text-transform: uppercase; - vertical-align: bottom; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background: var(--tblr-avatar-bg) no-repeat center/cover; - border-radius: var(--tblr-border-radius); -} -.avatar svg { - width: calc(var(--tblr-avatar-size) / 1.6666666667); - height: calc(var(--tblr-avatar-size) / 1.6666666667); -} -.avatar .badge { - position: absolute; - right: 0; - bottom: 0; - border-radius: 100rem; - box-shadow: 0 0 0 2px var(--tblr-bg-surface); -} -a.avatar { - cursor: pointer; -} - -.avatar-rounded { - border-radius: 100rem; -} - -.avatar-xs { - --tblr-avatar-size: 1.5rem; -} - -.avatar-xs .badge:empty { - width: 0.375rem; - height: 0.375rem; -} - -.avatar-sm { - --tblr-avatar-size: 2rem; -} - -.avatar-sm .badge:empty { - width: 0.5rem; - height: 0.5rem; -} - -.avatar-md { - --tblr-avatar-size: 3.75rem; -} - -.avatar-md .badge:empty { - width: 0.9375rem; - height: 0.9375rem; -} - -.avatar-lg { - --tblr-avatar-size: 5rem; -} - -.avatar-lg .badge:empty { - width: 1.25rem; - height: 1.25rem; -} - -.avatar-xl { - --tblr-avatar-size: 7rem; -} - -.avatar-xl .badge:empty { - width: 1.75rem; - height: 1.75rem; -} - -.avatar-2xl { - --tblr-avatar-size: 11rem; -} - -.avatar-2xl .badge:empty { - width: 2.75rem; - height: 2.75rem; -} - -.avatar-list { - display: inline-flex; - padding: 0; - margin: 0 0 -0.5rem; - flex-wrap: wrap; -} -.avatar-list .avatar { - margin-bottom: 0.5rem; -} -.avatar-list .avatar:not(:last-child) { - margin-right: 0.5rem; -} -.avatar-list a.avatar:hover { - z-index: 1; -} - -.avatar-list-stacked .avatar { - margin-right: -0.5rem !important; - box-shadow: 0 0 0 2px 0 0 0 2px var(--tblr-card-cap-bg, var(--tblr-card-bg, var(--tblr-bg-surface))); -} - -.avatar-upload { - width: 4rem; - height: 4rem; - border: 1px dashed var(--tblr-border-color); - background: var(--tblr-bg-forms); - flex-direction: column; - transition: color 0.3s, background-color 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .avatar-upload { - transition: none; - } -} -.avatar-upload svg { - width: 1.5rem; - height: 1.5rem; - stroke-width: 1; -} -.avatar-upload:hover { - border-color: var(--tblr-primary); - color: var(--tblr-primary); - text-decoration: none; -} - -.avatar-upload-text { - font-size: 0.625rem; - line-height: 1; - margin-top: 0.25rem; -} - -.page-cover ~ * .page-avatar { - margin-top: calc(calc(-1 * calc(var(--tblr-avatar-size) * .5)) - 1.25rem); - box-shadow: 0 0 0 0.25rem #f1f5f9; -} - -.badge { - justify-content: center; - align-items: center; - background: #6c7a91; - overflow: hidden; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: var(--tblr-border-width) var(--tblr-border-style) transparent; - min-width: 1.35714285em; - font-weight: var(--tblr-font-weight-medium); - letter-spacing: 0.04em; - vertical-align: bottom; -} -a.badge { - color: var(--tblr-bg-surface); -} - -.badge:empty { - display: inline-block; - width: 0.5rem; - height: 0.5rem; - min-width: 0; - min-height: auto; - padding: 0; - border-radius: 100rem; - vertical-align: baseline; -} -.badge .avatar { - box-sizing: content-box; - width: 1.25rem; - height: 1.25rem; - margin: 0 0.5rem 0 -0.5rem; -} -.badge .icon { - width: 1em; - height: 1em; - font-size: 1rem; - stroke-width: 2; -} - -.badge-sm { - font-size: 0.625rem; - line-height: 1rem; - padding: 0 0.25rem; -} - -.badge-outline { - background-color: transparent; - border: var(--tblr-border-width) var(--tblr-border-style) currentColor; -} - -.badge-pill { - border-radius: 100rem; -} - -.breadcrumb { - padding: 0; - margin: 0; - background: transparent; -} -.breadcrumb a { - color: #616876; -} -.breadcrumb a:hover { - text-decoration: underline; -} - -.breadcrumb-item.active a { - color: inherit; - pointer-events: none; -} - -.breadcrumb-dots { - --tblr-breadcrumb-divider: "·"; -} - -.breadcrumb-arrows { - --tblr-breadcrumb-divider: "›"; -} - -.breadcrumb-bullets { - --tblr-breadcrumb-divider: "•"; -} - -.btn { - --tblr-btn-icon-size: 1.25rem; - --tblr-btn-bg: var(--tblr-bg-surface); - --tblr-btn-color: var(--tblr-body-color); - --tblr-btn-border-color: var(--tblr-border-color); - --tblr-btn-hover-bg: var(--tblr-bg-surface); - --tblr-btn-hover-border-color: var(--tblr-border-color-active); - --tblr-btn-box-shadow: var(--tblr-shadow-button); - display: inline-flex; - align-items: center; - justify-content: center; - white-space: nowrap; - box-shadow: var(--tblr-btn-box-shadow); -} -.btn .icon { - width: var(--tblr-btn-icon-size); - height: var(--tblr-btn-icon-size); - min-width: var(--tblr-btn-icon-size); - margin: 0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4); - vertical-align: bottom; - color: inherit; -} -.btn .avatar { - width: var(--tblr-btn-icon-size); - height: var(--tblr-btn-icon-size); - margin: 0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4); -} -.btn .icon-right { - margin: 0 calc(var(--tblr-btn-padding-x) / -4) 0 calc(var(--tblr-btn-padding-x) / 2); -} -.btn .badge { - top: auto; -} - -.btn-link { - color: var(--tblr-primary); - background-color: transparent; - border-color: transparent; - box-shadow: none; -} -.btn-link .icon { - color: inherit; -} -.btn-link:hover { - color: var(--tblr-primary-darken); - border-color: transparent; -} - -.btn-primary { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-primary-fg); - --tblr-btn-bg: var(--tblr-primary); - --tblr-btn-hover-color: var(--tblr-primary-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-primary-rgb), .8); - --tblr-btn-active-color: var(--tblr-primary-fg); - --tblr-btn-active-bg: rgba(var(--tblr-primary-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-primary); - --tblr-btn-disabled-color: var(--tblr-primary-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-primary { - --tblr-btn-color: var(--tblr-primary); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-primary); - --tblr-btn-hover-color: var(--tblr-primary-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-primary); - --tblr-btn-active-color: var(--tblr-primary-fg); - --tblr-btn-active-bg: var(--tblr-primary); - --tblr-btn-disabled-color: var(--tblr-primary); - --tblr-btn-disabled-border-color: var(--tblr-primary); -} - -.btn-secondary { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-secondary-fg); - --tblr-btn-bg: var(--tblr-secondary); - --tblr-btn-hover-color: var(--tblr-secondary-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-secondary-rgb), .8); - --tblr-btn-active-color: var(--tblr-secondary-fg); - --tblr-btn-active-bg: rgba(var(--tblr-secondary-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-secondary); - --tblr-btn-disabled-color: var(--tblr-secondary-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-secondary { - --tblr-btn-color: var(--tblr-secondary); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-secondary); - --tblr-btn-hover-color: var(--tblr-secondary-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-secondary); - --tblr-btn-active-color: var(--tblr-secondary-fg); - --tblr-btn-active-bg: var(--tblr-secondary); - --tblr-btn-disabled-color: var(--tblr-secondary); - --tblr-btn-disabled-border-color: var(--tblr-secondary); -} - -.btn-success { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-success-fg); - --tblr-btn-bg: var(--tblr-success); - --tblr-btn-hover-color: var(--tblr-success-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-success-rgb), .8); - --tblr-btn-active-color: var(--tblr-success-fg); - --tblr-btn-active-bg: rgba(var(--tblr-success-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-success); - --tblr-btn-disabled-color: var(--tblr-success-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-success { - --tblr-btn-color: var(--tblr-success); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-success); - --tblr-btn-hover-color: var(--tblr-success-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-success); - --tblr-btn-active-color: var(--tblr-success-fg); - --tblr-btn-active-bg: var(--tblr-success); - --tblr-btn-disabled-color: var(--tblr-success); - --tblr-btn-disabled-border-color: var(--tblr-success); -} - -.btn-info { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-info-fg); - --tblr-btn-bg: var(--tblr-info); - --tblr-btn-hover-color: var(--tblr-info-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-info-rgb), .8); - --tblr-btn-active-color: var(--tblr-info-fg); - --tblr-btn-active-bg: rgba(var(--tblr-info-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-info); - --tblr-btn-disabled-color: var(--tblr-info-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-info { - --tblr-btn-color: var(--tblr-info); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-info); - --tblr-btn-hover-color: var(--tblr-info-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-info); - --tblr-btn-active-color: var(--tblr-info-fg); - --tblr-btn-active-bg: var(--tblr-info); - --tblr-btn-disabled-color: var(--tblr-info); - --tblr-btn-disabled-border-color: var(--tblr-info); -} - -.btn-warning { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-warning-fg); - --tblr-btn-bg: var(--tblr-warning); - --tblr-btn-hover-color: var(--tblr-warning-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-warning-rgb), .8); - --tblr-btn-active-color: var(--tblr-warning-fg); - --tblr-btn-active-bg: rgba(var(--tblr-warning-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-warning); - --tblr-btn-disabled-color: var(--tblr-warning-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-warning { - --tblr-btn-color: var(--tblr-warning); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-warning); - --tblr-btn-hover-color: var(--tblr-warning-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-warning); - --tblr-btn-active-color: var(--tblr-warning-fg); - --tblr-btn-active-bg: var(--tblr-warning); - --tblr-btn-disabled-color: var(--tblr-warning); - --tblr-btn-disabled-border-color: var(--tblr-warning); -} - -.btn-danger { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-danger-fg); - --tblr-btn-bg: var(--tblr-danger); - --tblr-btn-hover-color: var(--tblr-danger-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-danger-rgb), .8); - --tblr-btn-active-color: var(--tblr-danger-fg); - --tblr-btn-active-bg: rgba(var(--tblr-danger-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-danger); - --tblr-btn-disabled-color: var(--tblr-danger-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-danger { - --tblr-btn-color: var(--tblr-danger); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-danger); - --tblr-btn-hover-color: var(--tblr-danger-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-danger); - --tblr-btn-active-color: var(--tblr-danger-fg); - --tblr-btn-active-bg: var(--tblr-danger); - --tblr-btn-disabled-color: var(--tblr-danger); - --tblr-btn-disabled-border-color: var(--tblr-danger); -} - -.btn-light { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-light-fg); - --tblr-btn-bg: var(--tblr-light); - --tblr-btn-hover-color: var(--tblr-light-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-light-rgb), .8); - --tblr-btn-active-color: var(--tblr-light-fg); - --tblr-btn-active-bg: rgba(var(--tblr-light-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-light); - --tblr-btn-disabled-color: var(--tblr-light-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-light { - --tblr-btn-color: var(--tblr-light); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-light); - --tblr-btn-hover-color: var(--tblr-light-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-light); - --tblr-btn-active-color: var(--tblr-light-fg); - --tblr-btn-active-bg: var(--tblr-light); - --tblr-btn-disabled-color: var(--tblr-light); - --tblr-btn-disabled-border-color: var(--tblr-light); -} - -.btn-dark { - --tblr-btn-border-color: var(--tblr-dark-mode-border-color); - --tblr-btn-hover-border-color: var(--tblr-dark-mode-border-color-active); - --tblr-btn-active-border-color: var(--tblr-dark-mode-border-color-active); - --tblr-btn-color: var(--tblr-dark-fg); - --tblr-btn-bg: var(--tblr-dark); - --tblr-btn-hover-color: var(--tblr-dark-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-dark-rgb), .8); - --tblr-btn-active-color: var(--tblr-dark-fg); - --tblr-btn-active-bg: rgba(var(--tblr-dark-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-dark); - --tblr-btn-disabled-color: var(--tblr-dark-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-dark { - --tblr-btn-color: var(--tblr-dark); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-dark); - --tblr-btn-hover-color: var(--tblr-dark-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-dark); - --tblr-btn-active-color: var(--tblr-dark-fg); - --tblr-btn-active-bg: var(--tblr-dark); - --tblr-btn-disabled-color: var(--tblr-dark); - --tblr-btn-disabled-border-color: var(--tblr-dark); -} - -.btn-muted { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-muted-fg); - --tblr-btn-bg: var(--tblr-muted); - --tblr-btn-hover-color: var(--tblr-muted-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-muted-rgb), .8); - --tblr-btn-active-color: var(--tblr-muted-fg); - --tblr-btn-active-bg: rgba(var(--tblr-muted-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-muted); - --tblr-btn-disabled-color: var(--tblr-muted-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-muted { - --tblr-btn-color: var(--tblr-muted); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-muted); - --tblr-btn-hover-color: var(--tblr-muted-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-muted); - --tblr-btn-active-color: var(--tblr-muted-fg); - --tblr-btn-active-bg: var(--tblr-muted); - --tblr-btn-disabled-color: var(--tblr-muted); - --tblr-btn-disabled-border-color: var(--tblr-muted); -} - -.btn-blue { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-blue-fg); - --tblr-btn-bg: var(--tblr-blue); - --tblr-btn-hover-color: var(--tblr-blue-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-blue-rgb), .8); - --tblr-btn-active-color: var(--tblr-blue-fg); - --tblr-btn-active-bg: rgba(var(--tblr-blue-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-blue); - --tblr-btn-disabled-color: var(--tblr-blue-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-blue { - --tblr-btn-color: var(--tblr-blue); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-blue); - --tblr-btn-hover-color: var(--tblr-blue-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-blue); - --tblr-btn-active-color: var(--tblr-blue-fg); - --tblr-btn-active-bg: var(--tblr-blue); - --tblr-btn-disabled-color: var(--tblr-blue); - --tblr-btn-disabled-border-color: var(--tblr-blue); -} - -.btn-azure { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-azure-fg); - --tblr-btn-bg: var(--tblr-azure); - --tblr-btn-hover-color: var(--tblr-azure-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-azure-rgb), .8); - --tblr-btn-active-color: var(--tblr-azure-fg); - --tblr-btn-active-bg: rgba(var(--tblr-azure-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-azure); - --tblr-btn-disabled-color: var(--tblr-azure-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-azure { - --tblr-btn-color: var(--tblr-azure); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-azure); - --tblr-btn-hover-color: var(--tblr-azure-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-azure); - --tblr-btn-active-color: var(--tblr-azure-fg); - --tblr-btn-active-bg: var(--tblr-azure); - --tblr-btn-disabled-color: var(--tblr-azure); - --tblr-btn-disabled-border-color: var(--tblr-azure); -} - -.btn-indigo { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-indigo-fg); - --tblr-btn-bg: var(--tblr-indigo); - --tblr-btn-hover-color: var(--tblr-indigo-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-indigo-rgb), .8); - --tblr-btn-active-color: var(--tblr-indigo-fg); - --tblr-btn-active-bg: rgba(var(--tblr-indigo-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-indigo); - --tblr-btn-disabled-color: var(--tblr-indigo-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-indigo { - --tblr-btn-color: var(--tblr-indigo); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-indigo); - --tblr-btn-hover-color: var(--tblr-indigo-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-indigo); - --tblr-btn-active-color: var(--tblr-indigo-fg); - --tblr-btn-active-bg: var(--tblr-indigo); - --tblr-btn-disabled-color: var(--tblr-indigo); - --tblr-btn-disabled-border-color: var(--tblr-indigo); -} - -.btn-purple { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-purple-fg); - --tblr-btn-bg: var(--tblr-purple); - --tblr-btn-hover-color: var(--tblr-purple-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-purple-rgb), .8); - --tblr-btn-active-color: var(--tblr-purple-fg); - --tblr-btn-active-bg: rgba(var(--tblr-purple-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-purple); - --tblr-btn-disabled-color: var(--tblr-purple-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-purple { - --tblr-btn-color: var(--tblr-purple); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-purple); - --tblr-btn-hover-color: var(--tblr-purple-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-purple); - --tblr-btn-active-color: var(--tblr-purple-fg); - --tblr-btn-active-bg: var(--tblr-purple); - --tblr-btn-disabled-color: var(--tblr-purple); - --tblr-btn-disabled-border-color: var(--tblr-purple); -} - -.btn-pink { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-pink-fg); - --tblr-btn-bg: var(--tblr-pink); - --tblr-btn-hover-color: var(--tblr-pink-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-pink-rgb), .8); - --tblr-btn-active-color: var(--tblr-pink-fg); - --tblr-btn-active-bg: rgba(var(--tblr-pink-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-pink); - --tblr-btn-disabled-color: var(--tblr-pink-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-pink { - --tblr-btn-color: var(--tblr-pink); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-pink); - --tblr-btn-hover-color: var(--tblr-pink-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-pink); - --tblr-btn-active-color: var(--tblr-pink-fg); - --tblr-btn-active-bg: var(--tblr-pink); - --tblr-btn-disabled-color: var(--tblr-pink); - --tblr-btn-disabled-border-color: var(--tblr-pink); -} - -.btn-red { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-red-fg); - --tblr-btn-bg: var(--tblr-red); - --tblr-btn-hover-color: var(--tblr-red-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-red-rgb), .8); - --tblr-btn-active-color: var(--tblr-red-fg); - --tblr-btn-active-bg: rgba(var(--tblr-red-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-red); - --tblr-btn-disabled-color: var(--tblr-red-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-red { - --tblr-btn-color: var(--tblr-red); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-red); - --tblr-btn-hover-color: var(--tblr-red-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-red); - --tblr-btn-active-color: var(--tblr-red-fg); - --tblr-btn-active-bg: var(--tblr-red); - --tblr-btn-disabled-color: var(--tblr-red); - --tblr-btn-disabled-border-color: var(--tblr-red); -} - -.btn-orange { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-orange-fg); - --tblr-btn-bg: var(--tblr-orange); - --tblr-btn-hover-color: var(--tblr-orange-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-orange-rgb), .8); - --tblr-btn-active-color: var(--tblr-orange-fg); - --tblr-btn-active-bg: rgba(var(--tblr-orange-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-orange); - --tblr-btn-disabled-color: var(--tblr-orange-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-orange { - --tblr-btn-color: var(--tblr-orange); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-orange); - --tblr-btn-hover-color: var(--tblr-orange-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-orange); - --tblr-btn-active-color: var(--tblr-orange-fg); - --tblr-btn-active-bg: var(--tblr-orange); - --tblr-btn-disabled-color: var(--tblr-orange); - --tblr-btn-disabled-border-color: var(--tblr-orange); -} - -.btn-yellow { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-yellow-fg); - --tblr-btn-bg: var(--tblr-yellow); - --tblr-btn-hover-color: var(--tblr-yellow-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-yellow-rgb), .8); - --tblr-btn-active-color: var(--tblr-yellow-fg); - --tblr-btn-active-bg: rgba(var(--tblr-yellow-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-yellow); - --tblr-btn-disabled-color: var(--tblr-yellow-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-yellow { - --tblr-btn-color: var(--tblr-yellow); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-yellow); - --tblr-btn-hover-color: var(--tblr-yellow-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-yellow); - --tblr-btn-active-color: var(--tblr-yellow-fg); - --tblr-btn-active-bg: var(--tblr-yellow); - --tblr-btn-disabled-color: var(--tblr-yellow); - --tblr-btn-disabled-border-color: var(--tblr-yellow); -} - -.btn-lime { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-lime-fg); - --tblr-btn-bg: var(--tblr-lime); - --tblr-btn-hover-color: var(--tblr-lime-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-lime-rgb), .8); - --tblr-btn-active-color: var(--tblr-lime-fg); - --tblr-btn-active-bg: rgba(var(--tblr-lime-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-lime); - --tblr-btn-disabled-color: var(--tblr-lime-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-lime { - --tblr-btn-color: var(--tblr-lime); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-lime); - --tblr-btn-hover-color: var(--tblr-lime-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-lime); - --tblr-btn-active-color: var(--tblr-lime-fg); - --tblr-btn-active-bg: var(--tblr-lime); - --tblr-btn-disabled-color: var(--tblr-lime); - --tblr-btn-disabled-border-color: var(--tblr-lime); -} - -.btn-green { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-green-fg); - --tblr-btn-bg: var(--tblr-green); - --tblr-btn-hover-color: var(--tblr-green-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-green-rgb), .8); - --tblr-btn-active-color: var(--tblr-green-fg); - --tblr-btn-active-bg: rgba(var(--tblr-green-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-green); - --tblr-btn-disabled-color: var(--tblr-green-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-green { - --tblr-btn-color: var(--tblr-green); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-green); - --tblr-btn-hover-color: var(--tblr-green-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-green); - --tblr-btn-active-color: var(--tblr-green-fg); - --tblr-btn-active-bg: var(--tblr-green); - --tblr-btn-disabled-color: var(--tblr-green); - --tblr-btn-disabled-border-color: var(--tblr-green); -} - -.btn-teal { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-teal-fg); - --tblr-btn-bg: var(--tblr-teal); - --tblr-btn-hover-color: var(--tblr-teal-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-teal-rgb), .8); - --tblr-btn-active-color: var(--tblr-teal-fg); - --tblr-btn-active-bg: rgba(var(--tblr-teal-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-teal); - --tblr-btn-disabled-color: var(--tblr-teal-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-teal { - --tblr-btn-color: var(--tblr-teal); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-teal); - --tblr-btn-hover-color: var(--tblr-teal-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-teal); - --tblr-btn-active-color: var(--tblr-teal-fg); - --tblr-btn-active-bg: var(--tblr-teal); - --tblr-btn-disabled-color: var(--tblr-teal); - --tblr-btn-disabled-border-color: var(--tblr-teal); -} - -.btn-cyan { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-cyan-fg); - --tblr-btn-bg: var(--tblr-cyan); - --tblr-btn-hover-color: var(--tblr-cyan-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-cyan-rgb), .8); - --tblr-btn-active-color: var(--tblr-cyan-fg); - --tblr-btn-active-bg: rgba(var(--tblr-cyan-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-cyan); - --tblr-btn-disabled-color: var(--tblr-cyan-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-cyan { - --tblr-btn-color: var(--tblr-cyan); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-cyan); - --tblr-btn-hover-color: var(--tblr-cyan-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-cyan); - --tblr-btn-active-color: var(--tblr-cyan-fg); - --tblr-btn-active-bg: var(--tblr-cyan); - --tblr-btn-disabled-color: var(--tblr-cyan); - --tblr-btn-disabled-border-color: var(--tblr-cyan); -} - -.btn-facebook { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-facebook-fg); - --tblr-btn-bg: var(--tblr-facebook); - --tblr-btn-hover-color: var(--tblr-facebook-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-facebook-rgb), .8); - --tblr-btn-active-color: var(--tblr-facebook-fg); - --tblr-btn-active-bg: rgba(var(--tblr-facebook-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-facebook); - --tblr-btn-disabled-color: var(--tblr-facebook-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-facebook { - --tblr-btn-color: var(--tblr-facebook); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-facebook); - --tblr-btn-hover-color: var(--tblr-facebook-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-facebook); - --tblr-btn-active-color: var(--tblr-facebook-fg); - --tblr-btn-active-bg: var(--tblr-facebook); - --tblr-btn-disabled-color: var(--tblr-facebook); - --tblr-btn-disabled-border-color: var(--tblr-facebook); -} - -.btn-twitter { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-twitter-fg); - --tblr-btn-bg: var(--tblr-twitter); - --tblr-btn-hover-color: var(--tblr-twitter-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-twitter-rgb), .8); - --tblr-btn-active-color: var(--tblr-twitter-fg); - --tblr-btn-active-bg: rgba(var(--tblr-twitter-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-twitter); - --tblr-btn-disabled-color: var(--tblr-twitter-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-twitter { - --tblr-btn-color: var(--tblr-twitter); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-twitter); - --tblr-btn-hover-color: var(--tblr-twitter-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-twitter); - --tblr-btn-active-color: var(--tblr-twitter-fg); - --tblr-btn-active-bg: var(--tblr-twitter); - --tblr-btn-disabled-color: var(--tblr-twitter); - --tblr-btn-disabled-border-color: var(--tblr-twitter); -} - -.btn-linkedin { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-linkedin-fg); - --tblr-btn-bg: var(--tblr-linkedin); - --tblr-btn-hover-color: var(--tblr-linkedin-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-linkedin-rgb), .8); - --tblr-btn-active-color: var(--tblr-linkedin-fg); - --tblr-btn-active-bg: rgba(var(--tblr-linkedin-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-linkedin); - --tblr-btn-disabled-color: var(--tblr-linkedin-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-linkedin { - --tblr-btn-color: var(--tblr-linkedin); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-linkedin); - --tblr-btn-hover-color: var(--tblr-linkedin-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-linkedin); - --tblr-btn-active-color: var(--tblr-linkedin-fg); - --tblr-btn-active-bg: var(--tblr-linkedin); - --tblr-btn-disabled-color: var(--tblr-linkedin); - --tblr-btn-disabled-border-color: var(--tblr-linkedin); -} - -.btn-google { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-google-fg); - --tblr-btn-bg: var(--tblr-google); - --tblr-btn-hover-color: var(--tblr-google-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-google-rgb), .8); - --tblr-btn-active-color: var(--tblr-google-fg); - --tblr-btn-active-bg: rgba(var(--tblr-google-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-google); - --tblr-btn-disabled-color: var(--tblr-google-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-google { - --tblr-btn-color: var(--tblr-google); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-google); - --tblr-btn-hover-color: var(--tblr-google-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-google); - --tblr-btn-active-color: var(--tblr-google-fg); - --tblr-btn-active-bg: var(--tblr-google); - --tblr-btn-disabled-color: var(--tblr-google); - --tblr-btn-disabled-border-color: var(--tblr-google); -} - -.btn-youtube { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-youtube-fg); - --tblr-btn-bg: var(--tblr-youtube); - --tblr-btn-hover-color: var(--tblr-youtube-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-youtube-rgb), .8); - --tblr-btn-active-color: var(--tblr-youtube-fg); - --tblr-btn-active-bg: rgba(var(--tblr-youtube-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-youtube); - --tblr-btn-disabled-color: var(--tblr-youtube-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-youtube { - --tblr-btn-color: var(--tblr-youtube); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-youtube); - --tblr-btn-hover-color: var(--tblr-youtube-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-youtube); - --tblr-btn-active-color: var(--tblr-youtube-fg); - --tblr-btn-active-bg: var(--tblr-youtube); - --tblr-btn-disabled-color: var(--tblr-youtube); - --tblr-btn-disabled-border-color: var(--tblr-youtube); -} - -.btn-vimeo { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-vimeo-fg); - --tblr-btn-bg: var(--tblr-vimeo); - --tblr-btn-hover-color: var(--tblr-vimeo-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-vimeo-rgb), .8); - --tblr-btn-active-color: var(--tblr-vimeo-fg); - --tblr-btn-active-bg: rgba(var(--tblr-vimeo-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-vimeo); - --tblr-btn-disabled-color: var(--tblr-vimeo-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-vimeo { - --tblr-btn-color: var(--tblr-vimeo); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-vimeo); - --tblr-btn-hover-color: var(--tblr-vimeo-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-vimeo); - --tblr-btn-active-color: var(--tblr-vimeo-fg); - --tblr-btn-active-bg: var(--tblr-vimeo); - --tblr-btn-disabled-color: var(--tblr-vimeo); - --tblr-btn-disabled-border-color: var(--tblr-vimeo); -} - -.btn-dribbble { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-dribbble-fg); - --tblr-btn-bg: var(--tblr-dribbble); - --tblr-btn-hover-color: var(--tblr-dribbble-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-dribbble-rgb), .8); - --tblr-btn-active-color: var(--tblr-dribbble-fg); - --tblr-btn-active-bg: rgba(var(--tblr-dribbble-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-dribbble); - --tblr-btn-disabled-color: var(--tblr-dribbble-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-dribbble { - --tblr-btn-color: var(--tblr-dribbble); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-dribbble); - --tblr-btn-hover-color: var(--tblr-dribbble-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-dribbble); - --tblr-btn-active-color: var(--tblr-dribbble-fg); - --tblr-btn-active-bg: var(--tblr-dribbble); - --tblr-btn-disabled-color: var(--tblr-dribbble); - --tblr-btn-disabled-border-color: var(--tblr-dribbble); -} - -.btn-github { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-github-fg); - --tblr-btn-bg: var(--tblr-github); - --tblr-btn-hover-color: var(--tblr-github-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-github-rgb), .8); - --tblr-btn-active-color: var(--tblr-github-fg); - --tblr-btn-active-bg: rgba(var(--tblr-github-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-github); - --tblr-btn-disabled-color: var(--tblr-github-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-github { - --tblr-btn-color: var(--tblr-github); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-github); - --tblr-btn-hover-color: var(--tblr-github-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-github); - --tblr-btn-active-color: var(--tblr-github-fg); - --tblr-btn-active-bg: var(--tblr-github); - --tblr-btn-disabled-color: var(--tblr-github); - --tblr-btn-disabled-border-color: var(--tblr-github); -} - -.btn-instagram { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-instagram-fg); - --tblr-btn-bg: var(--tblr-instagram); - --tblr-btn-hover-color: var(--tblr-instagram-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-instagram-rgb), .8); - --tblr-btn-active-color: var(--tblr-instagram-fg); - --tblr-btn-active-bg: rgba(var(--tblr-instagram-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-instagram); - --tblr-btn-disabled-color: var(--tblr-instagram-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-instagram { - --tblr-btn-color: var(--tblr-instagram); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-instagram); - --tblr-btn-hover-color: var(--tblr-instagram-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-instagram); - --tblr-btn-active-color: var(--tblr-instagram-fg); - --tblr-btn-active-bg: var(--tblr-instagram); - --tblr-btn-disabled-color: var(--tblr-instagram); - --tblr-btn-disabled-border-color: var(--tblr-instagram); -} - -.btn-pinterest { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-pinterest-fg); - --tblr-btn-bg: var(--tblr-pinterest); - --tblr-btn-hover-color: var(--tblr-pinterest-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-pinterest-rgb), .8); - --tblr-btn-active-color: var(--tblr-pinterest-fg); - --tblr-btn-active-bg: rgba(var(--tblr-pinterest-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-pinterest); - --tblr-btn-disabled-color: var(--tblr-pinterest-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-pinterest { - --tblr-btn-color: var(--tblr-pinterest); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-pinterest); - --tblr-btn-hover-color: var(--tblr-pinterest-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-pinterest); - --tblr-btn-active-color: var(--tblr-pinterest-fg); - --tblr-btn-active-bg: var(--tblr-pinterest); - --tblr-btn-disabled-color: var(--tblr-pinterest); - --tblr-btn-disabled-border-color: var(--tblr-pinterest); -} - -.btn-vk { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-vk-fg); - --tblr-btn-bg: var(--tblr-vk); - --tblr-btn-hover-color: var(--tblr-vk-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-vk-rgb), .8); - --tblr-btn-active-color: var(--tblr-vk-fg); - --tblr-btn-active-bg: rgba(var(--tblr-vk-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-vk); - --tblr-btn-disabled-color: var(--tblr-vk-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-vk { - --tblr-btn-color: var(--tblr-vk); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-vk); - --tblr-btn-hover-color: var(--tblr-vk-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-vk); - --tblr-btn-active-color: var(--tblr-vk-fg); - --tblr-btn-active-bg: var(--tblr-vk); - --tblr-btn-disabled-color: var(--tblr-vk); - --tblr-btn-disabled-border-color: var(--tblr-vk); -} - -.btn-rss { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-rss-fg); - --tblr-btn-bg: var(--tblr-rss); - --tblr-btn-hover-color: var(--tblr-rss-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-rss-rgb), .8); - --tblr-btn-active-color: var(--tblr-rss-fg); - --tblr-btn-active-bg: rgba(var(--tblr-rss-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-rss); - --tblr-btn-disabled-color: var(--tblr-rss-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-rss { - --tblr-btn-color: var(--tblr-rss); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-rss); - --tblr-btn-hover-color: var(--tblr-rss-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-rss); - --tblr-btn-active-color: var(--tblr-rss-fg); - --tblr-btn-active-bg: var(--tblr-rss); - --tblr-btn-disabled-color: var(--tblr-rss); - --tblr-btn-disabled-border-color: var(--tblr-rss); -} - -.btn-flickr { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-flickr-fg); - --tblr-btn-bg: var(--tblr-flickr); - --tblr-btn-hover-color: var(--tblr-flickr-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-flickr-rgb), .8); - --tblr-btn-active-color: var(--tblr-flickr-fg); - --tblr-btn-active-bg: rgba(var(--tblr-flickr-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-flickr); - --tblr-btn-disabled-color: var(--tblr-flickr-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-flickr { - --tblr-btn-color: var(--tblr-flickr); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-flickr); - --tblr-btn-hover-color: var(--tblr-flickr-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-flickr); - --tblr-btn-active-color: var(--tblr-flickr-fg); - --tblr-btn-active-bg: var(--tblr-flickr); - --tblr-btn-disabled-color: var(--tblr-flickr); - --tblr-btn-disabled-border-color: var(--tblr-flickr); -} - -.btn-bitbucket { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-bitbucket-fg); - --tblr-btn-bg: var(--tblr-bitbucket); - --tblr-btn-hover-color: var(--tblr-bitbucket-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-bitbucket-rgb), .8); - --tblr-btn-active-color: var(--tblr-bitbucket-fg); - --tblr-btn-active-bg: rgba(var(--tblr-bitbucket-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-bitbucket); - --tblr-btn-disabled-color: var(--tblr-bitbucket-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-bitbucket { - --tblr-btn-color: var(--tblr-bitbucket); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-bitbucket); - --tblr-btn-hover-color: var(--tblr-bitbucket-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-bitbucket); - --tblr-btn-active-color: var(--tblr-bitbucket-fg); - --tblr-btn-active-bg: var(--tblr-bitbucket); - --tblr-btn-disabled-color: var(--tblr-bitbucket); - --tblr-btn-disabled-border-color: var(--tblr-bitbucket); -} - -.btn-tabler { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-tabler-fg); - --tblr-btn-bg: var(--tblr-tabler); - --tblr-btn-hover-color: var(--tblr-tabler-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-tabler-rgb), .8); - --tblr-btn-active-color: var(--tblr-tabler-fg); - --tblr-btn-active-bg: rgba(var(--tblr-tabler-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-tabler); - --tblr-btn-disabled-color: var(--tblr-tabler-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-tabler { - --tblr-btn-color: var(--tblr-tabler); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-tabler); - --tblr-btn-hover-color: var(--tblr-tabler-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-tabler); - --tblr-btn-active-color: var(--tblr-tabler-fg); - --tblr-btn-active-bg: var(--tblr-tabler); - --tblr-btn-disabled-color: var(--tblr-tabler); - --tblr-btn-disabled-border-color: var(--tblr-tabler); -} - -.btn-ghost-primary { - --tblr-btn-color: #206bc4; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #206bc4; - --tblr-btn-hover-border-color: #206bc4; - --tblr-btn-focus-shadow-rgb: 32, 107, 196; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #206bc4; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #206bc4; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-secondary { - --tblr-btn-color: #616876; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #616876; - --tblr-btn-hover-border-color: #616876; - --tblr-btn-focus-shadow-rgb: 97, 104, 118; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #616876; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #616876; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-success { - --tblr-btn-color: #2fb344; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #2fb344; - --tblr-btn-hover-border-color: #2fb344; - --tblr-btn-focus-shadow-rgb: 47, 179, 68; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #2fb344; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #2fb344; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-info { - --tblr-btn-color: #4299e1; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #4299e1; - --tblr-btn-hover-border-color: #4299e1; - --tblr-btn-focus-shadow-rgb: 66, 153, 225; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #4299e1; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #4299e1; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-warning { - --tblr-btn-color: #f76707; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #f76707; - --tblr-btn-hover-border-color: #f76707; - --tblr-btn-focus-shadow-rgb: 247, 103, 7; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #f76707; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #f76707; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-danger { - --tblr-btn-color: #d63939; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #d63939; - --tblr-btn-hover-border-color: #d63939; - --tblr-btn-focus-shadow-rgb: 214, 57, 57; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #d63939; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #d63939; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-light { - --tblr-btn-color: #f8fafc; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #1d273b; - --tblr-btn-hover-bg: #f8fafc; - --tblr-btn-hover-border-color: #f8fafc; - --tblr-btn-focus-shadow-rgb: 248, 250, 252; - --tblr-btn-active-color: #1d273b; - --tblr-btn-active-bg: #f8fafc; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #f8fafc; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-dark { - --tblr-btn-color: #1d273b; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #1d273b; - --tblr-btn-hover-border-color: #1d273b; - --tblr-btn-focus-shadow-rgb: 29, 39, 59; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #1d273b; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #1d273b; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-muted { - --tblr-btn-color: #616876; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #616876; - --tblr-btn-hover-border-color: #616876; - --tblr-btn-focus-shadow-rgb: 97, 104, 118; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #616876; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #616876; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-blue { - --tblr-btn-color: #206bc4; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #206bc4; - --tblr-btn-hover-border-color: #206bc4; - --tblr-btn-focus-shadow-rgb: 32, 107, 196; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #206bc4; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #206bc4; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-azure { - --tblr-btn-color: #4299e1; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #4299e1; - --tblr-btn-hover-border-color: #4299e1; - --tblr-btn-focus-shadow-rgb: 66, 153, 225; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #4299e1; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #4299e1; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-indigo { - --tblr-btn-color: #4263eb; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #4263eb; - --tblr-btn-hover-border-color: #4263eb; - --tblr-btn-focus-shadow-rgb: 66, 99, 235; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #4263eb; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #4263eb; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-purple { - --tblr-btn-color: #ae3ec9; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #ae3ec9; - --tblr-btn-hover-border-color: #ae3ec9; - --tblr-btn-focus-shadow-rgb: 174, 62, 201; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #ae3ec9; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #ae3ec9; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-pink { - --tblr-btn-color: #d6336c; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #d6336c; - --tblr-btn-hover-border-color: #d6336c; - --tblr-btn-focus-shadow-rgb: 214, 51, 108; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #d6336c; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #d6336c; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-red { - --tblr-btn-color: #d63939; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #d63939; - --tblr-btn-hover-border-color: #d63939; - --tblr-btn-focus-shadow-rgb: 214, 57, 57; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #d63939; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #d63939; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-orange { - --tblr-btn-color: #f76707; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #f76707; - --tblr-btn-hover-border-color: #f76707; - --tblr-btn-focus-shadow-rgb: 247, 103, 7; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #f76707; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #f76707; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-yellow { - --tblr-btn-color: #f59f00; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #f59f00; - --tblr-btn-hover-border-color: #f59f00; - --tblr-btn-focus-shadow-rgb: 245, 159, 0; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #f59f00; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #f59f00; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-lime { - --tblr-btn-color: #74b816; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #74b816; - --tblr-btn-hover-border-color: #74b816; - --tblr-btn-focus-shadow-rgb: 116, 184, 22; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #74b816; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #74b816; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-green { - --tblr-btn-color: #2fb344; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #2fb344; - --tblr-btn-hover-border-color: #2fb344; - --tblr-btn-focus-shadow-rgb: 47, 179, 68; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #2fb344; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #2fb344; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-teal { - --tblr-btn-color: #0ca678; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #0ca678; - --tblr-btn-hover-border-color: #0ca678; - --tblr-btn-focus-shadow-rgb: 12, 166, 120; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #0ca678; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #0ca678; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-cyan { - --tblr-btn-color: #17a2b8; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #17a2b8; - --tblr-btn-hover-border-color: #17a2b8; - --tblr-btn-focus-shadow-rgb: 23, 162, 184; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #17a2b8; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #17a2b8; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-facebook { - --tblr-btn-color: #3b5998; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #3b5998; - --tblr-btn-hover-border-color: #3b5998; - --tblr-btn-focus-shadow-rgb: 59, 89, 152; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #3b5998; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #3b5998; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-twitter { - --tblr-btn-color: #1da1f2; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #1da1f2; - --tblr-btn-hover-border-color: #1da1f2; - --tblr-btn-focus-shadow-rgb: 29, 161, 242; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #1da1f2; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #1da1f2; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-linkedin { - --tblr-btn-color: #0a66c2; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #0a66c2; - --tblr-btn-hover-border-color: #0a66c2; - --tblr-btn-focus-shadow-rgb: 10, 102, 194; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #0a66c2; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #0a66c2; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-google { - --tblr-btn-color: #dc4e41; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #dc4e41; - --tblr-btn-hover-border-color: #dc4e41; - --tblr-btn-focus-shadow-rgb: 220, 78, 65; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #dc4e41; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #dc4e41; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-youtube { - --tblr-btn-color: #ff0000; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #ff0000; - --tblr-btn-hover-border-color: #ff0000; - --tblr-btn-focus-shadow-rgb: 255, 0, 0; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #ff0000; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #ff0000; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-vimeo { - --tblr-btn-color: #1ab7ea; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #1ab7ea; - --tblr-btn-hover-border-color: #1ab7ea; - --tblr-btn-focus-shadow-rgb: 26, 183, 234; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #1ab7ea; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #1ab7ea; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-dribbble { - --tblr-btn-color: #ea4c89; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #ea4c89; - --tblr-btn-hover-border-color: #ea4c89; - --tblr-btn-focus-shadow-rgb: 234, 76, 137; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #ea4c89; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #ea4c89; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-github { - --tblr-btn-color: #181717; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #181717; - --tblr-btn-hover-border-color: #181717; - --tblr-btn-focus-shadow-rgb: 24, 23, 23; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #181717; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #181717; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-instagram { - --tblr-btn-color: #e4405f; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #e4405f; - --tblr-btn-hover-border-color: #e4405f; - --tblr-btn-focus-shadow-rgb: 228, 64, 95; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #e4405f; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #e4405f; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-pinterest { - --tblr-btn-color: #bd081c; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #bd081c; - --tblr-btn-hover-border-color: #bd081c; - --tblr-btn-focus-shadow-rgb: 189, 8, 28; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #bd081c; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #bd081c; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-vk { - --tblr-btn-color: #6383a8; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #6383a8; - --tblr-btn-hover-border-color: #6383a8; - --tblr-btn-focus-shadow-rgb: 99, 131, 168; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #6383a8; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #6383a8; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-rss { - --tblr-btn-color: #ffa500; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #ffa500; - --tblr-btn-hover-border-color: #ffa500; - --tblr-btn-focus-shadow-rgb: 255, 165, 0; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #ffa500; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #ffa500; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-flickr { - --tblr-btn-color: #0063dc; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #0063dc; - --tblr-btn-hover-border-color: #0063dc; - --tblr-btn-focus-shadow-rgb: 0, 99, 220; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #0063dc; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #0063dc; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-bitbucket { - --tblr-btn-color: #0052cc; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #0052cc; - --tblr-btn-hover-border-color: #0052cc; - --tblr-btn-focus-shadow-rgb: 0, 82, 204; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #0052cc; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #0052cc; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-tabler { - --tblr-btn-color: #206bc4; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #206bc4; - --tblr-btn-hover-border-color: #206bc4; - --tblr-btn-focus-shadow-rgb: 32, 107, 196; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #206bc4; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #206bc4; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-sm, .btn-group-sm > .btn { - --tblr-btn-line-height: 1.5; - --tblr-btn-icon-size: .75rem; -} - -.btn-lg, .btn-group-lg > .btn { - --tblr-btn-line-height: 1.5; - --tblr-btn-icon-size: 2rem; -} - -.btn-pill { - padding-right: 1.5em; - padding-left: 1.5em; - border-radius: 10rem; -} -.btn-pill[class*=btn-icon] { - padding: 0.375rem 15px; -} - -.btn-square { - border-radius: 0; -} - -.btn-icon { - min-width: calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2); - min-height: calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2); - padding-left: 0; - padding-right: 0; -} -.btn-icon .icon { - margin: calc(-1 * var(--tblr-btn-padding-x)); -} - -.btn-list { - display: flex; - flex-wrap: wrap; - margin-bottom: -0.5rem !important; - margin-right: -0.5rem; -} -.btn-list > * { - margin: 0 0.5rem 0.5rem 0 !important; -} - -.btn-floating { - position: fixed; - z-index: 1030; - bottom: 1.5rem; - right: 1.5rem; - border-radius: 100rem; -} - -.btn-loading { - position: relative; - color: transparent !important; - text-shadow: none !important; - pointer-events: none; -} -.btn-loading > * { - opacity: 0; -} -.btn-loading:after { - content: ""; - display: inline-block; - vertical-align: text-bottom; - border: 2px var(--tblr-border-style) currentColor; - border-right-color: transparent; - border-radius: 100rem; - color: var(--tblr-btn-color); - position: absolute; - width: var(--tblr-btn-icon-size); - height: var(--tblr-btn-icon-size); - left: calc(50% - var(--tblr-btn-icon-size) / 2); - top: calc(50% - var(--tblr-btn-icon-size) / 2); - -webkit-animation: spinner-border 0.75s linear infinite; - animation: spinner-border 0.75s linear infinite; -} - -.btn-action { - padding: 0; - border: 0; - color: #616876; - display: inline-flex; - width: 2rem; - height: 2rem; - align-items: center; - justify-content: center; - border-radius: var(--tblr-border-radius); -} -.btn-action:after { - content: none; -} -.btn-action:focus { - outline: none; - box-shadow: none; -} -.btn-action:hover, .btn-action.show { - color: #1d273b; - background: #f1f5f9; -} -.btn-action.show { - color: var(--tblr-primary); -} -.btn-action .icon { - margin: 0; - width: 1.25rem; - height: 1.25rem; - font-size: 1.25rem; - stroke-width: 1; -} - -.btn-actions { - display: flex; -} - -.calendar { - display: block; - font-size: 0.765625rem; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: var(--tblr-border-radius); -} - -.calendar-nav { - display: flex; - align-items: center; -} - -.calendar-title { - flex: 1; - text-align: center; -} - -.calendar-body, -.calendar-header { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - padding: 0.5rem 0; -} - -.calendar-header { - color: #616876; -} - -.calendar-date { - flex: 0 0 14.2857142857%; - max-width: 14.2857142857%; - padding: 0.2rem; - text-align: center; - border: 0; -} -.calendar-date.prev-month, .calendar-date.next-month { - opacity: 0.25; -} -.calendar-date .date-item { - position: relative; - display: inline-block; - width: 1.4rem; - height: 1.4rem; - line-height: 1.4rem; - color: #66758c; - text-align: center; - text-decoration: none; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: 0 0; - border: var(--tblr-border-width) var(--tblr-border-style) transparent; - border-radius: 100rem; - outline: 0; - transition: background 0.3s, border 0.3s, box-shadow 0.32s, color 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .calendar-date .date-item { - transition: none; - } -} -.calendar-date .date-item:hover { - color: var(--tblr-primary); - text-decoration: none; - background: #fefeff; - border-color: var(--tblr-border-color); -} -.calendar-date .date-today { - color: var(--tblr-primary); - border-color: var(--tblr-border-color); -} - -.calendar-range { - position: relative; -} -.calendar-range:before { - position: absolute; - top: 50%; - right: 0; - left: 0; - height: 1.4rem; - content: ""; - background: rgba(var(--tblr-primary-rgb), 0.1); - transform: translateY(-50%); -} -.calendar-range.range-start .date-item, .calendar-range.range-end .date-item { - color: #ffffff; - background: var(--tblr-primary); - border-color: var(--tblr-primary); -} -.calendar-range.range-start:before { - left: 50%; -} -.calendar-range.range-end:before { - right: 50%; -} - -.carousel-indicators-vertical { - left: auto; - top: 0; - margin: 0 1rem 0 0; - flex-direction: column; -} -.carousel-indicators-vertical [data-bs-target] { - margin: 3px 0 3px; - width: 3px; - height: 30px; - border: 0; - border-left: 10px var(--tblr-border-style) transparent; - border-right: 10px var(--tblr-border-style) transparent; -} - -.carousel-indicators-dot [data-bs-target] { - width: 0.5rem; - height: 0.5rem; - border-radius: 100rem; - border: 10px var(--tblr-border-style) transparent; - margin: 0; -} - -.carousel-indicators-thumb [data-bs-target] { - width: 2rem; - height: auto; - background: no-repeat center/cover; - border: 0; - border-radius: var(--tblr-border-radius); - box-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; - margin: 0 3px; - opacity: 0.75; -} -@media (min-width: 992px) { - .carousel-indicators-thumb [data-bs-target] { - width: 4rem; - } -} -.carousel-indicators-thumb [data-bs-target]:before { - content: ""; - padding-top: var(--tblr-aspect-ratio, 100%); - display: block; -} -.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target] { - margin: 3px 0; -} - -.carousel-caption-background { - background: red; - position: absolute; - left: 0; - right: 0; - bottom: 0; - height: 90%; - background: linear-gradient(0deg, rgba(29, 39, 59, 0.9), rgba(29, 39, 59, 0)); -} - -.card { - transition: transform 0.3s ease-out, opacity 0.3s ease-out, box-shadow 0.3s ease-out; -} -@media (prefers-reduced-motion: reduce) { - .card { - transition: none; - } -} -@media print { - .card { - border: none; - box-shadow: none; - } -} -a.card { - color: inherit; -} -a.card:hover { - text-decoration: none; - box-shadow: rgba(var(--tblr-body-color-rgb), 0.16) 0 2px 16px 0; -} - -.card .card { - box-shadow: none; -} - -.card-borderless, -.card-borderless .card-header, -.card-borderless .card-footer { - border-color: transparent; -} - -.card-stamp { - --tblr-stamp-size: 7rem; - position: absolute; - top: 0; - right: 0; - width: calc(var(--tblr-stamp-size) * 1); - height: calc(var(--tblr-stamp-size) * 1); - max-height: 100%; - border-top-right-radius: 4px; - opacity: 0.2; - overflow: hidden; - pointer-events: none; -} - -.card-stamp-lg { - --tblr-stamp-size: 13rem; -} - -.card-stamp-icon { - background: var(--tblr-muted); - color: var(--tblr-card-bg, var(--tblr-bg-surface)); - display: flex; - align-items: center; - justify-content: center; - border-radius: 100rem; - width: calc(var(--tblr-stamp-size) * 1); - height: calc(var(--tblr-stamp-size) * 1); - position: relative; - top: calc(var(--tblr-stamp-size) * -0.25); - right: calc(var(--tblr-stamp-size) * -0.25); - font-size: calc(var(--tblr-stamp-size) * 0.75); - transform: rotate(10deg); -} -.card-stamp-icon .icon { - stroke-width: 2; - width: calc(var(--tblr-stamp-size) * 0.75); - height: calc(var(--tblr-stamp-size) * 0.75); -} - -.card-img, -.card-img-start { - border-top-left-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); - border-bottom-left-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); -} - -.card-img, -.card-img-end { - border-top-right-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); - border-bottom-right-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); -} - -.card-img-overlay { - display: flex; - flex-direction: column; - justify-content: flex-end; -} - -.card-img-overlay-dark { - background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%); -} - -.card-inactive { - pointer-events: none; - box-shadow: none; -} -.card-inactive .card-body { - opacity: 0.64; -} - -.card-active { - --tblr-card-border-color: var(--tblr-primary); - --tblr-card-bg: var(--tblr-active-bg); -} - -.card-btn { - display: flex; - align-items: center; - justify-content: center; - padding: 1rem 1.5rem; - text-align: center; - transition: background 0.3s; - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - flex: 1; - color: inherit; - font-weight: var(--tblr-font-weight-medium); -} -@media (prefers-reduced-motion: reduce) { - .card-btn { - transition: none; - } -} -.card-btn:hover { - text-decoration: none; - background: var(--tblr-gray-100); -} -.card-btn + .card-btn { - border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} - -/** -Stacked card - */ -.card-stacked { - --tblr-card-stacked-offset: .25rem; - position: relative; -} -.card-stacked:after { - position: absolute; - top: calc(-1 * var(--tblr-card-stacked-offset)); - right: var(--tblr-card-stacked-offset); - left: var(--tblr-card-stacked-offset); - height: var(--tblr-card-stacked-offset); - content: ""; - background: var(--tblr-card-bg, var(--tblr-bg-surface)); - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color); - border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; -} - -.card-cover { - position: relative; - padding: 1rem 1.5rem; - background: #666666 no-repeat center/cover; -} -.card-cover:before { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - content: ""; - background: rgba(29, 39, 59, 0.48); -} -.card-cover:first-child, .card-cover:first-child:before { - border-radius: 4px 4px 0 0; -} - -.card-cover-blurred:before { - -webkit-backdrop-filter: blur(2px); - backdrop-filter: blur(2px); -} - -.card-actions { - margin: -0.5rem -0.5rem -0.5rem auto; - padding-left: 0.5rem; -} -.card-actions a { - text-decoration: none; -} - -.card-header { - color: inherit; - display: flex; - align-items: center; - background: transparent; -} -.card-header:first-child { - border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; -} - -.card-header-light { - border-bottom-color: transparent; - background: var(--tblr-bg-surface-secondary); -} - -.card-header-tabs { - background: var(--tblr-bg-surface-secondary); - flex: 1; - margin: calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1); - padding: calc(var(--tblr-card-cap-padding-y) * 0.5) calc(var(--tblr-card-cap-padding-x) * 0.5) 0; -} - -.card-header-pills { - flex: 1; - margin-top: -0.5rem; - margin-bottom: -0.5rem; -} - -.card-rotate-left { - transform: rotate(-1.5deg); -} - -.card-rotate-right { - transform: rotate(1.5deg); -} - -.card-link { - color: inherit; -} -.card-link:hover { - color: inherit; - text-decoration: none; - box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.08); -} - -.card-link-rotate:hover { - transform: rotate(1.5deg); - opacity: 1; -} - -.card-link-pop:hover { - transform: translateY(-2px); - opacity: 1; -} - -.card-footer { - margin-top: auto; -} -.card-footer:last-child { - border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius); -} - -.card-footer-transparent { - background: transparent; - border-color: transparent; - padding-top: 0; -} - -.card-footer-borderless { - border-top: none; -} - -.card-progress { - height: 0.25rem; -} -.card-progress:last-child { - border-radius: 0 0 2px 2px; -} -.card-progress:first-child { - border-radius: 2px 2px 0 0; -} - -.card-meta { - color: #616876; -} - -.card-title { - display: block; - margin: 0 0 1rem; - font-size: 1rem; - font-weight: var(--tblr-font-weight-medium); - line-height: 1.5rem; -} -a.card-title:hover { - color: inherit; -} - -.card-header .card-title { - margin: 0; -} - -.card-subtitle { - margin-bottom: 1.25rem; - color: #616876; - font-weight: normal; -} -.card-header .card-subtitle { - margin: 0; -} -.card-title .card-subtitle { - margin: 0 0 0 0.25rem; - font-size: 0.875rem; -} - -.card-body { - position: relative; -} -.card-body > :last-child { - margin-bottom: 0; -} -.card-sm > .card-body { - padding: 1rem; -} -@media (min-width: 768px) { - .card-md > .card-body { - padding: 2.5rem; - } -} -@media (min-width: 768px) { - .card-lg > .card-body { - padding: 2rem; - } -} -@media (min-width: 992px) { - .card-lg > .card-body { - padding: 4rem; - } -} -@media print { - .card-body { - padding: 0; - } -} -.card-body + .card-body { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} - -.card-body-scrollable { - overflow: auto; -} - -/** -Card optinos - */ -.card-options { - top: 1.5rem; - right: 0.75rem; - display: flex; - margin-left: auto; -} - -.card-options-link { - display: inline-block; - min-width: 1rem; - margin-left: 0.25rem; - color: #616876; -} - -/** -Card status - */ -.card-status-top { - position: absolute; - top: 0; - right: 0; - left: 0; - height: 2px; - border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; -} - -.card-status-start { - position: absolute; - right: auto; - bottom: 0; - width: 2px; - height: 100%; - border-radius: var(--tblr-card-border-radius) 0 0 var(--tblr-card-border-radius); -} - -.card-status-bottom { - position: absolute; - top: initial; - bottom: 0; - width: 100%; - height: 2px; - border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius); -} - -/** -Card table - */ -.card-table { - margin-bottom: 0 !important; -} -.card-table tr td:first-child, -.card-table tr th:first-child { - padding-left: 1.5rem; - border-left: 0; -} -.card-table tr td:last-child, -.card-table tr th:last-child { - padding-right: 1.5rem; - border-right: 0; -} -.card-table thead tr:first-child, -.card-table tbody tr:first-child, -.card-table tfoot tr:first-child { - border-top: 0; -} -.card-table thead tr:first-child td, -.card-table thead tr:first-child th, -.card-table tbody tr:first-child td, -.card-table tbody tr:first-child th, -.card-table tfoot tr:first-child td, -.card-table tfoot tr:first-child th { - border-top: 0; -} -.card-body + .card-table { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color); -} - -/* -Card code - */ -.card-code { - padding: 0; -} -.card-code .highlight { - margin: 0; - border: 0; -} -.card-code pre { - margin: 0 !important; - border: 0 !important; -} - -/* -Card chart - */ -.card-chart { - position: relative; - z-index: 1; - height: 3.5rem; -} - -/** -Card avatar - */ -.card-avatar { - margin-left: auto; - margin-right: auto; - box-shadow: 0 0 0 0.25rem var(--tblr-card-bg, var(--tblr-bg-surface)); - margin-top: calc(-1 * var(--tblr-avatar-size) * 0.5); -} - -/* -Card list group - */ -.card-body + .card-list-group { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} -.card-list-group .list-group-item { - padding-right: 1.5rem; - padding-left: 1.5rem; - border-right: 0; - border-left: 0; - border-radius: 0; -} -.card-list-group .list-group-item:last-child { - border-bottom: 0; -} -.card-list-group .list-group-item:first-child { - border-top: 0; -} - -.card-tabs .nav-tabs { - position: relative; - z-index: 1000; - border-bottom: 0; -} -.card-tabs .nav-tabs .nav-link { - background: var(--tblr-bg-surface-secondary); - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} -.card-tabs .nav-tabs .nav-link.active, .card-tabs .nav-tabs .nav-link:active, .card-tabs .nav-tabs .nav-link:hover { - border-color: var(--tblr-border-color); - color: #1d273b; -} -.card-tabs .nav-tabs .nav-link.active { - background: var(--tblr-card-bg, var(--tblr-bg-surface)); - border-bottom-color: transparent; -} -.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link { - border-top-left-radius: 0; -} -.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link { - border-top-right-radius: 0; -} -.card-tabs .nav-tabs .nav-item + .nav-item { - margin-left: calc(-1 * var(--tblr-border-width)); -} -.card-tabs .nav-tabs-bottom { - margin-bottom: 0; -} -.card-tabs .nav-tabs-bottom .nav-link { - margin-bottom: 0; -} -.card-tabs .nav-tabs-bottom .nav-link.active { - border-top-color: transparent; -} -.card-tabs .nav-tabs-bottom .nav-item { - margin-top: calc(-1 * var(--tblr-border-width)); - margin-bottom: 0; -} -.card-tabs .nav-tabs-bottom .nav-item .nav-link { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: 0 0 var(--tblr-border-radius) var(--tblr-border-radius); -} -.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link { - border-bottom-left-radius: 0; -} -.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link { - border-bottom-right-radius: 0; -} -.card-tabs .card { - border-bottom-left-radius: 0; -} -.card-tabs .nav-tabs + .tab-content .card { - border-bottom-left-radius: var(--tblr-card-border-radius); - border-top-left-radius: 0; -} - -.btn-close { - cursor: pointer; -} -.btn-close:focus { - outline: none; -} - -.dropdown-menu { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin: 0 !important; -} -.dropdown-menu.card { - padding: 0; - min-width: 25rem; - display: none; -} -.dropdown-menu.card.show { - display: flex; -} - -.dropdown-item { - min-width: 11rem; - display: flex; - align-items: center; - margin: 0; - line-height: 1.4285714286; -} - -.dropdown-item-icon { - width: 1.25rem !important; - height: 1.25rem !important; - margin-right: 0.5rem; - color: #616876; - opacity: 0.7; - text-align: center; -} - -.dropdown-item-indicator { - margin-right: 0.5rem; - margin-left: -0.25rem; - height: 1.25rem; - display: inline-flex; - line-height: 1; - vertical-align: bottom; - align-items: center; -} - -.dropdown-header { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - padding-bottom: 0.25rem; - pointer-events: none; -} - -.dropdown-menu-scrollable { - height: auto; - max-height: 13rem; - overflow-x: hidden; -} - -.dropdown-menu-column { - min-width: 11rem; -} -.dropdown-menu-column .dropdown-item { - min-width: 0; -} - -.dropdown-menu-columns { - display: flex; - flex: 0 0.25rem; -} - -.dropdown-menu-arrow:before { - content: ""; - position: absolute; - top: -0.25rem; - left: 0.75rem; - display: block; - background: inherit; - width: 14px; - height: 14px; - transform: rotate(45deg); - transform-origin: center; - border: 1px solid; - border-color: inherit; - z-index: -1; - clip: rect(0px, 9px, 9px, 0px); -} -.dropdown-menu-arrow.dropdown-menu-end:before { - right: 0.75rem; - left: auto; -} - -.dropend > .dropdown-menu { - margin-top: calc(-0.25rem - 1px); - margin-left: -0.25rem; -} -.dropend .dropdown-toggle:after { - margin-left: auto; -} - -.dropdown-menu-card { - padding: 0; -} -.dropdown-menu-card > .card { - margin: 0; - border: 0; - box-shadow: none; -} - -.datagrid { - --tblr-datagrid-padding: 1.5rem; - --tblr-datagrid-item-width: 15rem; - display: grid; - grid-gap: var(--tblr-datagrid-padding); - grid-template-columns: repeat(auto-fit, minmax(var(--tblr-datagrid-item-width), 1fr)); -} - -.datagrid-title { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - margin-bottom: 0.25rem; -} - -.empty { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - height: 100%; - padding: 1rem; - text-align: center; -} -@media (min-width: 768px) { - .empty { - padding: 3rem; - } -} - -.empty-icon { - margin: 0 0 1rem; - width: 3rem; - height: 3rem; - line-height: 1; - color: #616876; -} -.empty-icon svg { - width: 100%; - height: 100%; -} - -.empty-img { - margin: 0 0 2rem; - line-height: 1; -} -.empty-img img { - height: 8rem; - width: auto; -} - -.empty-header { - margin: 0 0 1rem; - font-size: 4rem; - font-weight: var(--tblr-font-weight-light); - line-height: 1; - color: #616876; -} - -.empty-title { - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: var(--tblr-font-weight-medium); -} - -.empty-title, -.empty-subtitle { - margin: 0 0 0.5rem; -} - -.empty-action { - margin-top: 1.5rem; -} - -.empty-bordered { - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: var(--tblr-border-radius); -} - -.row > * { - min-width: 0; -} - -.col-separator { - border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} - -@media (max-width: 991.98px) { - .container, -.container-fluid, -.container-sm, -.container-md, -.container-lg, -.container-xl, -.container-xxl { - --tblr-gutter-x: 1rem; - } -} - -.container-tight { - --tblr-gutter-x: 1.5rem; - --tblr-gutter-y: 0; - width: 100%; - padding-right: calc(var(--tblr-gutter-x) * 0.5); - padding-left: calc(var(--tblr-gutter-x) * 0.5); - margin-right: auto; - margin-left: auto; - max-width: 30rem; -} -.container-narrow { - --tblr-gutter-x: 1.5rem; - --tblr-gutter-y: 0; - width: 100%; - padding-right: calc(var(--tblr-gutter-x) * 0.5); - padding-left: calc(var(--tblr-gutter-x) * 0.5); - margin-right: auto; - margin-left: auto; - max-width: 45rem; -} - -.row-0 { - margin-right: 0; - margin-left: 0; -} -.row-0 > .col, -.row-0 > [class*=col-] { - padding-right: 0; - padding-left: 0; -} -.row-0 .card { - margin-bottom: 0; -} - -.row-sm { - margin-right: -0.375rem; - margin-left: -0.375rem; -} -.row-sm > .col, -.row-sm > [class*=col-] { - padding-right: 0.375rem; - padding-left: 0.375rem; -} -.row-sm .card { - margin-bottom: 0.75rem; -} - -.row-md { - margin-right: -1.5rem; - margin-left: -1.5rem; -} -.row-md > .col, -.row-md > [class*=col-] { - padding-right: 1.5rem; - padding-left: 1.5rem; -} -.row-md .card { - margin-bottom: 3rem; -} - -.row-lg { - margin-right: -3rem; - margin-left: -3rem; -} -.row-lg > .col, -.row-lg > [class*=col-] { - padding-right: 3rem; - padding-left: 3rem; -} -.row-lg .card { - margin-bottom: 6rem; -} - -.row-deck > .col, -.row-deck > [class*=col-] { - display: flex; - align-items: stretch; -} -.row-deck > .col .card, -.row-deck > [class*=col-] .card { - flex: 1 1 auto; -} - -.row-cards { - --tblr-gutter-x: 1rem; - --tblr-gutter-y: 1rem; - min-width: 0; -} -.row-cards .row-cards { - flex: 1; -} -@media (max-width: 991.98px) { - .row-cards { - --tblr-gutter-x: 0.5rem; - --tblr-gutter-y: 0.5rem; - } -} - -.space-y { - display: flex; - flex-direction: column; - gap: 1rem; -} - -.space-x { - display: flex; - gap: 1rem; -} - -.space-y-0 { - display: flex; - flex-direction: column; - gap: 0; -} - -.space-x-0 { - display: flex; - gap: 0; -} - -.space-y-1 { - display: flex; - flex-direction: column; - gap: 0.25rem; -} - -.space-x-1 { - display: flex; - gap: 0.25rem; -} - -.space-y-2 { - display: flex; - flex-direction: column; - gap: 0.5rem; -} - -.space-x-2 { - display: flex; - gap: 0.5rem; -} - -.space-y-3 { - display: flex; - flex-direction: column; - gap: 1rem; -} - -.space-x-3 { - display: flex; - gap: 1rem; -} - -.space-y-4 { - display: flex; - flex-direction: column; - gap: 2rem; -} - -.space-x-4 { - display: flex; - gap: 2rem; -} - -.space-y-5 { - display: flex; - flex-direction: column; - gap: 4rem; -} - -.space-x-5 { - display: flex; - gap: 4rem; -} - -.divide-y > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y > :not(template):not(:first-child) { - padding-top: 1rem !important; -} -.divide-y > :not(template):not(:last-child) { - padding-bottom: 1rem !important; -} - -.divide-x > :not(template) ~ :not(template) { - border-left: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x > :not(template):not(:first-child) { - padding-left: 1rem !important; -} -.divide-x > :not(template):not(:last-child) { - padding-right: 1rem !important; -} - -.divide-y-0 > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y-0 > :not(template):not(:first-child) { - padding-top: 0 !important; -} -.divide-y-0 > :not(template):not(:last-child) { - padding-bottom: 0 !important; -} - -.divide-x-0 > :not(template) ~ :not(template) { - border-left: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x-0 > :not(template):not(:first-child) { - padding-left: 0 !important; -} -.divide-x-0 > :not(template):not(:last-child) { - padding-right: 0 !important; -} - -.divide-y-1 > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y-1 > :not(template):not(:first-child) { - padding-top: 0.25rem !important; -} -.divide-y-1 > :not(template):not(:last-child) { - padding-bottom: 0.25rem !important; -} - -.divide-x-1 > :not(template) ~ :not(template) { - border-left: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x-1 > :not(template):not(:first-child) { - padding-left: 0.25rem !important; -} -.divide-x-1 > :not(template):not(:last-child) { - padding-right: 0.25rem !important; -} - -.divide-y-2 > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y-2 > :not(template):not(:first-child) { - padding-top: 0.5rem !important; -} -.divide-y-2 > :not(template):not(:last-child) { - padding-bottom: 0.5rem !important; -} - -.divide-x-2 > :not(template) ~ :not(template) { - border-left: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x-2 > :not(template):not(:first-child) { - padding-left: 0.5rem !important; -} -.divide-x-2 > :not(template):not(:last-child) { - padding-right: 0.5rem !important; -} - -.divide-y-3 > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y-3 > :not(template):not(:first-child) { - padding-top: 1rem !important; -} -.divide-y-3 > :not(template):not(:last-child) { - padding-bottom: 1rem !important; -} - -.divide-x-3 > :not(template) ~ :not(template) { - border-left: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x-3 > :not(template):not(:first-child) { - padding-left: 1rem !important; -} -.divide-x-3 > :not(template):not(:last-child) { - padding-right: 1rem !important; -} - -.divide-y-4 > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y-4 > :not(template):not(:first-child) { - padding-top: 2rem !important; -} -.divide-y-4 > :not(template):not(:last-child) { - padding-bottom: 2rem !important; -} - -.divide-x-4 > :not(template) ~ :not(template) { - border-left: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x-4 > :not(template):not(:first-child) { - padding-left: 2rem !important; -} -.divide-x-4 > :not(template):not(:last-child) { - padding-right: 2rem !important; -} - -.divide-y-5 > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y-5 > :not(template):not(:first-child) { - padding-top: 4rem !important; -} -.divide-y-5 > :not(template):not(:last-child) { - padding-bottom: 4rem !important; -} - -.divide-x-5 > :not(template) ~ :not(template) { - border-left: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x-5 > :not(template):not(:first-child) { - padding-left: 4rem !important; -} -.divide-x-5 > :not(template):not(:last-child) { - padding-right: 4rem !important; -} - -.divide-y-fill { - display: flex; - flex-direction: column; - height: 100%; -} -.divide-y-fill > :not(template) { - flex: 1; - display: flex; - justify-content: center; - flex-direction: column; -} - -.icon { - width: 1.25rem; - height: 1.25rem; - font-size: 1.25rem; - vertical-align: bottom; - stroke-width: 1.5; -} -.icon:hover { - text-decoration: none; -} - -.icon-inline { - width: 1rem; - height: 1rem; - font-size: 1rem; - vertical-align: -0.2rem; -} - -.icon-filled { - fill: currentColor; -} - -.icon-sm { - width: 1rem; - height: 1rem; - stroke-width: 1; -} - -.icon-md { - width: 2.5rem; - height: 2.5rem; - stroke-width: 1; -} - -.icon-lg { - width: 3.5rem; - height: 3.5rem; - stroke-width: 1; -} - -@-webkit-keyframes icon-pulse { - from { - opacity: 1; - transform: scale3d(0.8, 0.8, 0.8); - } - 50% { - transform: scale3d(1, 1, 1); - opacity: 1; - } - to { - opacity: 1; - transform: scale3d(0.8, 0.8, 0.8); - } -} - -@keyframes icon-pulse { - from { - opacity: 1; - transform: scale3d(0.8, 0.8, 0.8); - } - 50% { - transform: scale3d(1, 1, 1); - opacity: 1; - } - to { - opacity: 1; - transform: scale3d(0.8, 0.8, 0.8); - } -} -.icon-pulse { - transition: all 0.15s ease 0s; - -webkit-animation: icon-pulse 2s ease infinite; - animation: icon-pulse 2s ease infinite; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -@-webkit-keyframes icon-tada { - 0% { - transform: scale3d(1, 1, 1); - } - 10%, 5% { - transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -5deg); - } - 15%, 25%, 35%, 45% { - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 5deg); - } - 20%, 30%, 40% { - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -5deg); - } - 50% { - transform: scale3d(1, 1, 1); - } -} - -@keyframes icon-tada { - 0% { - transform: scale3d(1, 1, 1); - } - 10%, 5% { - transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -5deg); - } - 15%, 25%, 35%, 45% { - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 5deg); - } - 20%, 30%, 40% { - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -5deg); - } - 50% { - transform: scale3d(1, 1, 1); - } -} -.icon-tada { - transition: all 0.15s ease 0s; - -webkit-animation: icon-tada 3s ease infinite; - animation: icon-tada 3s ease infinite; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -@-webkit-keyframes icon-rotate { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} - -@keyframes icon-rotate { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} -.icon-rotate { - transition: all 0.15s ease 0s; - -webkit-animation: icon-rotate 3s linear infinite; - animation: icon-rotate 3s linear infinite; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -.img-responsive { - background: no-repeat center/cover; - padding-top: 75%; -} - -.img-responsive-1x1 { - padding-top: 100%; -} - -.img-responsive-4x3 { - padding-top: 75%; -} - -.img-responsive-3x4 { - padding-top: 133.3333333333%; -} - -.img-responsive-16x9 { - padding-top: 56.25%; -} - -.img-responsive-9x16 { - padding-top: 177.7777777778%; -} - -.img-responsive-21x9 { - padding-top: 42.8571428571%; -} - -.img-responsive-9x21 { - padding-top: 233.3333333333%; -} - -textarea[cols] { - height: auto; -} - -/** -Form label - */ -.col-form-label, -.form-label { - display: block; - font-weight: var(--tblr-font-weight-medium); -} -.col-form-label.required:after, -.form-label.required:after { - content: "*"; - margin-left: 0.25rem; - color: #d63939; -} - -.form-label-description { - float: right; - font-weight: var(--tblr-font-weight-normal); - color: #616876; -} - -/** -Form hint - */ -.form-hint { - display: block; - color: #616876; -} -.form-hint:last-child { - margin-bottom: 0; -} -.form-hint + .form-control { - margin-top: 0.25rem; -} -.form-label + .form-hint { - margin-top: -0.25rem; -} -.input-group + .form-hint, .form-control + .form-hint, .form-select + .form-hint { - margin-top: 0.5rem; -} - -/** -Form select - */ -.form-select:-moz-focusring { - color: var(--tblr-body-color); -} - -/** -Form control - */ -.form-control:-webkit-autofill { - box-shadow: 0 0 0 1000px var(--tblr-body-bg) inset; - color: var(--tblr-body-color); -} -.form-control:disabled, .form-control.disabled { - color: #616876; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.form-control[size] { - width: auto; -} -.form-control[type=number]::-webkit-inner-spin-button { - opacity: 1; - cursor: pointer; - height: calc(calc(1.4285714286em + 0.875rem + 2px) - 1px); - margin: 0 -0.75rem 0 0; -} -.form-control[type=number]::-moz-inner-spin-button { - opacity: 1; - cursor: pointer; - height: calc(calc(1.4285714286em + 0.875rem + 2px) - 1px); - margin: 0 -0.75rem 0 0; -} - -.form-control-light { - background-color: #f1f5f9; - border-color: transparent; -} - -.form-control-dark { - background-color: rgba(0, 0, 0, 0.1); - color: #ffffff; - border-color: transparent; -} -.form-control-dark:focus { - background-color: rgba(0, 0, 0, 0.1); - box-shadow: none; - border-color: rgba(255, 255, 255, 0.24); -} -.form-control-dark::-webkit-input-placeholder { - color: rgba(255, 255, 255, 0.6); -} -.form-control-dark::-moz-placeholder { - color: rgba(255, 255, 255, 0.6); -} -.form-control-dark:-ms-input-placeholder { - color: rgba(255, 255, 255, 0.6); -} -.form-control-dark::-ms-input-placeholder { - color: rgba(255, 255, 255, 0.6); -} -.form-control-dark::placeholder { - color: rgba(255, 255, 255, 0.6); -} - -.form-control-rounded { - border-radius: 10rem; -} - -.form-control-flush { - padding: 0; - background: none !important; - border-color: transparent !important; - resize: none; - box-shadow: none !important; - line-height: inherit; -} - -.form-footer { - margin-top: 2rem; -} - -.form-fieldset { - padding: 1rem; - margin-bottom: 1rem; - background: var(--tblr-body-bg); - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: var(--tblr-border-radius); -} - -/** -Form help - */ -.form-help { - display: inline-flex; - font-weight: var(--tblr-font-weight-bold); - align-items: center; - justify-content: center; - width: 1.125rem; - height: 1.125rem; - font-size: 0.75rem; - color: #616876; - text-align: center; - text-decoration: none; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background: var(--tblr-gray-100); - border-radius: 100rem; - transition: background-color 0.3s, color 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-help { - transition: none; - } -} -.form-help:hover, .form-help[aria-describedby] { - color: #ffffff; - background: var(--tblr-primary); -} - -/** -Input group - */ -.input-group-link { - font-size: 0.75rem; -} - -.input-group-flat:focus-within { - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); - border-radius: var(--tblr-border-radius); -} -.input-group-flat:focus-within .form-control, -.input-group-flat:focus-within .input-group-text { - border-color: #90b5e2 !important; -} -.input-group-flat .form-control:focus { - border-color: var(--tblr-border-color); - box-shadow: none; -} -.input-group-flat .form-control:not(:last-child) { - border-right: 0; -} -.input-group-flat .form-control:not(:first-child) { - border-left: 0; -} -.input-group-flat .input-group-text { - background: var(--tblr-bg-forms); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .input-group-flat .input-group-text { - transition: none; - } -} -.input-group-flat .input-group-text:first-child { - padding-right: 0; -} -.input-group-flat .input-group-text:last-child { - padding-left: 0; -} - -/** -Upload files - */ -.form-file-button { - margin-left: 0; - border-left: 0; -} - -/** -Icon input - */ -.input-icon { - position: relative; -} -.input-icon .form-control:not(:last-child), -.input-icon .form-select:not(:last-child) { - padding-right: 2.5rem; -} -.input-icon .form-control:not(:first-child), -.input-icon .form-select:not(:last-child) { - padding-left: 2.5rem; -} - -.input-icon-addon { - position: absolute; - top: 0; - bottom: 0; - left: 0; - display: flex; - align-items: center; - justify-content: center; - min-width: 2.5rem; - color: var(--tblr-icon-color); - pointer-events: none; - font-size: 1.2em; -} -.input-icon-addon:last-child { - right: 0; - left: auto; -} - -/* -Color Input - */ -.form-colorinput { - position: relative; - display: inline-block; - margin: 0; - line-height: 1; - cursor: pointer; -} - -.form-colorinput-input { - position: absolute; - z-index: -1; - opacity: 0; -} - -.form-colorinput-color { - display: block; - width: 1.5rem; - height: 1.5rem; - color: #ffffff; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - border-radius: 3px; - box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); -} -.form-colorinput-color:before { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - content: ""; - background: no-repeat center center/1rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); - opacity: 0; - transition: opacity 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-colorinput-color:before { - transition: none; - } -} -.form-colorinput-input:checked ~ .form-colorinput-color:before { - opacity: 1; -} -.form-colorinput-input:focus ~ .form-colorinput-color { - border-color: var(--tblr-primary); - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-colorinput-light .form-colorinput-color:before { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); -} - -/** -Image check - */ -.form-imagecheck { - position: relative; - margin: 0; - cursor: pointer; -} - -.form-imagecheck-input { - position: absolute; - z-index: -1; - opacity: 0; -} - -.form-imagecheck-figure { - position: relative; - display: block; - margin: 0; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: 3px; -} -.form-imagecheck-input:focus ~ .form-imagecheck-figure { - border-color: var(--tblr-primary); - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-imagecheck-input:checked ~ .form-imagecheck-figure { - border-color: var(--tblr-primary); -} -.form-imagecheck-figure:before { - position: absolute; - top: 0.25rem; - left: 0.25rem; - z-index: 1; - display: block; - width: 1rem; - height: 1rem; - color: #ffffff; - pointer-events: none; - content: ""; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background: var(--tblr-bg-forms); - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: var(--tblr-border-radius); - transition: opacity 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-imagecheck-figure:before { - transition: none; - } -} -.form-imagecheck-input:checked ~ .form-imagecheck-figure:before { - background-color: var(--tblr-primary); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); - background-repeat: repeat; - background-position: center; - background-size: 1rem; - border-color: var(--tblr-border-color-translucent); -} -.form-imagecheck-input[type=radio] ~ .form-imagecheck-figure:before { - border-radius: 50%; -} -.form-imagecheck-input[type=radio]:checked ~ .form-imagecheck-figure:before { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); -} - -.form-imagecheck-image { - max-width: 100%; - display: block; - opacity: 0.64; - transition: opacity 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-imagecheck-image { - transition: none; - } -} -.form-imagecheck-image:first-child { - border-top-left-radius: 2px; - border-top-right-radius: 2px; -} -.form-imagecheck-image:last-child { - border-bottom-right-radius: 2px; - border-bottom-left-radius: 2px; -} -.form-imagecheck:hover .form-imagecheck-image, .form-imagecheck-input:focus ~ .form-imagecheck-figure .form-imagecheck-image, .form-imagecheck-input:checked ~ .form-imagecheck-figure .form-imagecheck-image { - opacity: 1; -} - -.form-imagecheck-caption { - padding: 0.25rem; - font-size: 0.765625rem; - color: #616876; - text-align: center; - transition: color 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-imagecheck-caption { - transition: none; - } -} -.form-imagecheck:hover .form-imagecheck-caption, .form-imagecheck-input:focus ~ .form-imagecheck-figure .form-imagecheck-caption, .form-imagecheck-input:checked ~ .form-imagecheck-figure .form-imagecheck-caption { - color: #1d273b; -} - -/* -Select group - */ -.form-selectgroup { - display: inline-flex; - margin: 0 -0.5rem -0.5rem 0; - flex-wrap: wrap; -} -.form-selectgroup .form-selectgroup-item { - margin: 0 0.5rem 0.5rem 0; -} - -.form-selectgroup-vertical { - flex-direction: column; -} - -.form-selectgroup-item { - display: block; - position: relative; -} - -.form-selectgroup-input { - position: absolute; - top: 0; - left: 0; - z-index: -1; - opacity: 0; -} - -.form-selectgroup-label { - position: relative; - display: block; - min-width: calc(1.4285714286em + 0.875rem + 2px); - margin: 0; - padding: 0.4375rem 0.75rem; - font-size: 0.875rem; - line-height: 1.4285714286; - color: #616876; - background: var(--tblr-bg-forms); - text-align: center; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: 3px; - transition: border-color 0.3s, background 0.3s, color 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-selectgroup-label { - transition: none; - } -} -.form-selectgroup-label .icon:only-child { - margin: 0 -0.25rem; -} -.form-selectgroup-label:hover { - color: var(--tblr-body-color); -} - -.form-selectgroup-check { - display: inline-block; - width: 1rem; - height: 1rem; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - vertical-align: middle; -} -.form-selectgroup-input[type=checkbox] + .form-selectgroup-label .form-selectgroup-check { - border-radius: var(--tblr-border-radius); -} -.form-selectgroup-input[type=radio] + .form-selectgroup-label .form-selectgroup-check { - border-radius: 50%; -} -.form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-check { - background-color: var(--tblr-primary); - background-repeat: repeat; - background-position: center; - background-size: 1rem; - border-color: var(--tblr-border-color-translucent); -} -.form-selectgroup-input[type=checkbox]:checked + .form-selectgroup-label .form-selectgroup-check { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); -} -.form-selectgroup-input[type=radio]:checked + .form-selectgroup-label .form-selectgroup-check { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); -} - -.form-selectgroup-check-floated { - position: absolute; - top: 0.4375rem; - right: 0.4375rem; -} - -.form-selectgroup-input:checked + .form-selectgroup-label { - z-index: 1; - color: var(--tblr-primary); - background: rgba(var(--tblr-primary-rgb), 0.04); - border-color: var(--tblr-primary); -} - -.form-selectgroup-input:focus + .form-selectgroup-label { - z-index: 2; - color: var(--tblr-primary); - border-color: var(--tblr-primary); - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} - -/** -Alternate version of form select group - */ -.form-selectgroup-boxes .form-selectgroup-label { - text-align: left; - padding: 1.5rem 1rem; - color: inherit; -} -.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label { - color: inherit; -} -.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-title { - color: var(--tblr-primary); -} -.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-label-content { - opacity: 1; -} - -/** -Select group - */ -.form-selectgroup-pills { - flex-wrap: wrap; - align-items: flex-start; -} -.form-selectgroup-pills .form-selectgroup-item { - flex-grow: 0; -} -.form-selectgroup-pills .form-selectgroup-label { - border-radius: 50px; -} - -/** -Bootstrap color input - */ -.form-control-color::-webkit-color-swatch { - border: none; -} - -/** -Remove the cancel buttons in Chrome and Safari on macOS. - */ -[type=search]::-webkit-search-cancel-button { - -webkit-appearance: none; -} - -/** -Form control dark theme fix - */ -.form-control::-webkit-file-upload-button { - background-color: var(--tblr-btn-color, #f8fafc); -} -.form-control::file-selector-button { - background-color: var(--tblr-btn-color, #f8fafc); -} -.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { - background-color: var(--tblr-btn-color, #eceeef); -} -.form-control:hover:not(:disabled):not([readonly])::file-selector-button { - background-color: var(--tblr-btn-color, #eceeef); -} - -/* -Form check - */ -.form-check { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.form-check.form-check-highlight .form-check-input:not(:checked) ~ .form-check-label { - color: var(--tblr-muted); -} -.form-check .form-check-label-off { - color: var(--tblr-muted); -} -.form-check .form-check-input:checked ~ .form-check-label-off { - display: none; -} -.form-check .form-check-input:not(:checked) ~ .form-check-label-on { - display: none; -} - -.form-check-input { - background-size: 1rem; - margin-top: 0.125rem; -} -.form-switch .form-check-input { - transition: background-color 0.3s, background-position 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-switch .form-check-input { - transition: none; - } -} - -.form-check-label { - display: block; -} -.form-check-label.required:after { - content: "*"; - margin-left: 0.25rem; - color: #d63939; -} - -.form-check-description { - display: block; - color: #616876; - font-size: 0.75rem; - margin-top: 0.25rem; -} - -.form-check-single { - margin: 0; -} -.form-check-single .form-check-input { - margin: 0; -} - -/* -Form switch - */ -.form-switch .form-check-input { - height: 1.125rem; - margin-top: 0.0625rem; -} - -.form-switch-lg { - padding-left: 3.5rem; - min-height: 1.5rem; -} -.form-switch-lg .form-check-input { - height: 1.5rem; - width: 2.75rem; - background-size: 1.5rem; - margin-left: -3.5rem; -} -.form-switch-lg .form-check-label { - padding-top: 0.125rem; -} - -/*Correction of Form-check position*/ -.form-check-input:checked { - border: none; -} - -.form-select.is-invalid-lite, .form-control.is-invalid-lite, .form-select.is-valid-lite, .form-control.is-valid-lite { - border-color: var(--tblr-border-color) !important; -} - -/** -Legend - */ -.legend { - --tblr-legend-size: 0.75em; - display: inline-block; - background: var(--tblr-border-color); - width: var(--tblr-legend-size); - height: var(--tblr-legend-size); - border-radius: var(--tblr-border-radius-sm); -} - -.list-group { - margin-left: 0; - margin-right: 0; -} - -.list-group-header { - background: var(--tblr-light); - padding: 0.5rem 1.5rem; - font-size: 0.75rem; - font-weight: var(--tblr-font-weight-medium); - line-height: 1; - text-transform: uppercase; - color: var(--tblr-muted); - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} -.list-group-flush > .list-group-header:last-child { - border-bottom-width: 0; -} - -.list-group-item { - background-color: inherit; -} - -.list-group-item.active { - background-color: rgba(var(--tblr-muted-rgb), 0.04); - border-left-color: #206bc4; - border-left-width: 2px; -} - -.list-group-item:active, .list-group-item:focus, .list-group-item:hover { - background-color: rgba(var(--tblr-muted-rgb), 0.04); -} - -.list-group-item.disabled, .list-group-item:disabled { - color: #6c7a91; - background-color: rgba(var(--tblr-muted-rgb), 0.04); -} - -.list-bordered .list-item { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - margin-top: -1px; -} -.list-bordered .list-item:first-child { - border-top: none; -} - -.list-group-hoverable .list-group-item-actions { - opacity: 0; - transition: opacity 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .list-group-hoverable .list-group-item-actions { - transition: none; - } -} -.list-group-hoverable .list-group-item:hover .list-group-item-actions, -.list-group-hoverable .list-group-item-actions.show { - opacity: 1; -} - -/** -Timeline - */ -.list-timeline { - position: relative; - padding: 0; - margin: 0; - list-style: none; -} -.list-timeline > li { - position: relative; - margin-bottom: 1.5rem; -} -.list-timeline > li:last-child { - margin-bottom: 0; -} - -.list-timeline-time { - float: right; - margin-left: 1rem; - color: #616876; -} - -.list-timeline-icon { - position: absolute; - top: 0; - left: 0; - display: flex; - align-items: center; - justify-content: center; - width: 2.5rem; - height: 2.5rem; - color: #ffffff; - text-align: center; - background: #616876; - border-radius: 100rem; -} -.list-timeline-icon .icon { - width: 1rem; - height: 1rem; - font-size: 1rem; -} - -.list-timeline-title { - margin: 0; - font-weight: var(--tblr-font-weight-bold); -} - -.list-timeline-content { - margin-left: 3.5rem; -} - -@media screen and (min-width: 768px) { - .list-timeline:not(.list-timeline-simple):before { - position: absolute; - top: 0; - bottom: 0; - left: calc(7.5rem + 2px); - z-index: 1; - display: block; - width: 4px; - content: ""; - background-color: #f1f5f9; - } - .list-timeline:not(.list-timeline-simple) > li { - z-index: 2; - min-height: 40px; - } - .list-timeline:not(.list-timeline-simple) .list-timeline-time { - position: absolute; - top: 0.5rem; - left: 0; - width: 5.5rem; - margin: 0; - text-align: right; - } - .list-timeline:not(.list-timeline-simple) .list-timeline-icon { - top: 0; - left: 6.5rem; - } - .list-timeline:not(.list-timeline-simple) .list-timeline-content { - padding: 0.625rem 0 0 10rem; - margin: 0; - } -} -.list-group-transparent { - --tblr-list-group-border-radius: 0; - margin: 0 -1.5rem; -} -.list-group-transparent .list-group-item { - background: none; - border: 0; -} -.list-group-transparent .list-group-item .icon { - color: #616876; -} -.list-group-transparent .list-group-item.active { - font-weight: var(--tblr-font-weight-bold); - color: inherit; - background: var(--tblr-active-bg); -} -.list-group-transparent .list-group-item.active .icon { - color: inherit; -} - -.list-separated-item { - padding: 1rem 0; -} -.list-separated-item:first-child { - padding-top: 0; -} -.list-separated-item:last-child { - padding-bottom: 0; -} -.list-separated-item + .list-separated-item { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} - -/** -Inline list - */ -.list-inline-item:not(:last-child) { - margin-right: auto; - -webkit-margin-end: 0.5rem; - margin-inline-end: 0.5rem; -} - -.list-inline-dots .list-inline-item + .list-inline-item:before { - content: " · "; - -webkit-margin-end: 0.5rem; - margin-inline-end: 0.5rem; -} - -@-webkit-keyframes loader { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} - -@keyframes loader { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} -.loader { - position: relative; - display: block; - width: 2.5rem; - height: 2.5rem; - color: #206bc4; - vertical-align: middle; -} -.loader:after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - content: ""; - border: 1px solid; - border-color: transparent; - border-top-color: currentColor; - border-left-color: currentColor; - border-radius: 100rem; - -webkit-animation: loader 0.6s linear; - animation: loader 0.6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; -} - -/** -Dimmer -*/ -.dimmer { - position: relative; -} -.dimmer .loader { - position: absolute; - top: 50%; - right: 0; - left: 0; - display: none; - margin: 0 auto; - transform: translateY(-50%); -} -.dimmer.active .loader { - display: block; -} -.dimmer.active .dimmer-content { - pointer-events: none; - opacity: 0.1; -} - -@-webkit-keyframes animated-dots { - 0% { - transform: translateX(-100%); - } -} - -@keyframes animated-dots { - 0% { - transform: translateX(-100%); - } -} -.animated-dots { - display: inline-block; - overflow: hidden; - vertical-align: bottom; -} -.animated-dots:after { - display: inline-block; - content: "..."; - -webkit-animation: animated-dots 1.2s steps(4, jump-none) infinite; - animation: animated-dots 1.2s steps(4, jump-none) infinite; -} - -.modal-content .btn-close { - position: absolute; - top: 0; - right: 0; - width: 3.5rem; - height: 3.5rem; - margin: 0; - padding: 0; - z-index: 10; -} - -.modal-body::-webkit-scrollbar { - width: 0.5rem; - height: 0.5rem; - -webkit-transition: background 0.3s; - transition: background 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .modal-body::-webkit-scrollbar { - -webkit-transition: none; - transition: none; - } -} -.modal-body::-webkit-scrollbar-thumb { - border-radius: 5px; - background: rgba(var(--tblr-body-color-rgb), 0.16); -} -.modal-body::-webkit-scrollbar-track { - background: rgba(var(--tblr-body-color-rgb), 0.06); -} -.modal-body:hover::-webkit-scrollbar-thumb { - background: rgba(var(--tblr-body-color-rgb), 0.32); -} -.modal-body::-webkit-scrollbar-corner { - background: transparent; -} -.modal-body .modal-title { - margin-bottom: 1rem; -} -.modal-body + .modal-body { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} - -.modal-status { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 2px; - background: #616876; - border-radius: var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0; -} - -.modal-header { - align-items: center; - min-height: 3.5rem; - background: #ffffff; - padding: 0 3.5rem 0 1.5rem; -} - -.modal-title { - font-size: 1rem; - font-weight: var(--tblr-font-weight-medium); - line-height: 1.4285714286; -} - -.modal-footer { - padding-top: 0; - padding-bottom: 0.75rem; -} - -.modal-blur { - -webkit-backdrop-filter: blur(4px); - backdrop-filter: blur(4px); -} - -.modal-full-width { - max-width: none; - margin: 0 0.5rem; -} - -.nav-vertical, -.nav-vertical .nav { - flex-direction: column; - flex-wrap: nowrap; -} -.nav-vertical .nav { - margin-left: 1.25rem; - border-left: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - padding-left: 0.5rem; -} -.nav-vertical .nav-link.active, -.nav-vertical .nav-item.show .nav-link { - font-weight: var(--tblr-font-weight-bold); -} -.nav-vertical.nav-pills { - margin: 0 -0.75rem; -} - -.nav-bordered { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} -.nav-bordered .nav-item + .nav-item { - margin-left: 1.25rem; -} -.nav-bordered .nav-link { - padding-left: 0; - padding-right: 0; - margin: 0 0 -var(--tblr-border-width); - border: 0; - border-bottom: 2px var(--tblr-border-style) transparent; - color: #616876; -} -.nav-bordered .nav-link.active, -.nav-bordered .nav-item.show .nav-link { - color: var(--tblr-primary); - border-color: var(--tblr-primary); -} - -.nav-link { - display: flex; - transition: color 0.3s; - align-items: center; -} -@media (prefers-reduced-motion: reduce) { - .nav-link { - transition: none; - } -} - -.nav-link-toggle { - margin-left: auto; - padding: 0 0.25rem; - transition: transform 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .nav-link-toggle { - transition: none; - } -} -.nav-link-toggle:after { - content: ""; - display: inline-block; - vertical-align: 0.306em; - width: 0.36em; - height: 0.36em; - border-bottom: 1px solid; - border-left: 1px solid; - margin-right: 0.1em; - margin-left: 0.4em; - transform: rotate(-45deg); -} -.nav-link-toggle:after { - margin: 0; -} -.nav-link[aria-expanded=true] .nav-link-toggle { - transform: rotate(180deg); -} - -.nav-link-icon { - width: 1.25rem; - height: 1.25rem; - margin-right: 0.5rem; - color: var(--tblr-icon-color); -} -.nav-link-icon svg { - display: block; - height: 100%; -} - -.nav-fill .nav-item .nav-link { - justify-content: center; -} - -.stars { - display: inline-flex; - color: #9ba9be; - font-size: 0.75rem; -} -.stars .star:not(:first-child) { - margin-left: 0.25rem; -} - -.pagination { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.page-link { - min-width: 1.75rem; - border-radius: var(--tblr-border-radius); -} - -.page-item { - text-align: center; -} -.page-item:not(.active) .page-link:hover { - background: transparent; -} -.page-item.page-prev, .page-item.page-next { - flex: 0 0 50%; - text-align: left; -} -.page-item.page-next { - margin-left: auto; - text-align: right; -} - -.page-item-subtitle { - margin-bottom: 2px; - font-size: 12px; - color: #616876; - text-transform: uppercase; -} -.page-item.disabled .page-item-subtitle { - color: var(--tblr-disabled-color); -} - -.page-item-title { - font-size: 1rem; - font-weight: var(--tblr-font-weight-normal); - color: #1d273b; -} -.page-link:hover .page-item-title { - color: var(--tblr-primary); -} -.page-item.disabled .page-item-title { - color: var(--tblr-disabled-color); -} - -@-webkit-keyframes progress-indeterminate { - 0% { - right: 100%; - left: -35%; - } - 100%, 60% { - right: -90%; - left: 100%; - } -} - -@keyframes progress-indeterminate { - 0% { - right: 100%; - left: -35%; - } - 100%, 60% { - right: -90%; - left: 100%; - } -} -/** -Progress - */ -.progress { - position: relative; - width: 100%; - line-height: 0.5rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} -.progress::-webkit-progress-bar { - background: var(--tblr-progress-bg); -} -.progress::-webkit-progress-value { - background-color: var(--tblr-primary); -} -.progress::-moz-progress-bar { - background-color: var(--tblr-primary); -} -.progress::-ms-fill { - background-color: var(--tblr-primary); - border: none; -} - -.progress-sm { - height: 0.25rem; -} - -/** -Progress bar - */ -.progress-bar { - height: 100%; -} - -.progress-bar-indeterminate:after, .progress-bar-indeterminate:before { - position: absolute; - top: 0; - bottom: 0; - left: 0; - content: ""; - background-color: inherit; - will-change: left, right; -} -.progress-bar-indeterminate:before { - -webkit-animation: progress-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; - animation: progress-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; -} - -.progress-separated .progress-bar { - box-shadow: 0 0 0 2px var(--tblr-card-bg, var(--tblr-bg-surface)); -} - -/** -Progressbg - */ -.progressbg { - position: relative; - padding: 0.25rem 0.5rem; - display: flex; -} - -.progressbg-text { - position: relative; - z-index: 1; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.progressbg-progress { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 0; - height: 100%; - background: transparent; - pointer-events: none; -} - -.progressbg-value { - font-weight: var(--tblr-font-weight-medium); - margin-left: auto; - padding-left: 2rem; -} - -.ribbon { - --tblr-ribbon-margin: 0.25rem; - --tblr-ribbon-border-radius: var(--tblr-border-radius); - position: absolute; - top: 0.75rem; - right: calc(-1 * var(--tblr-ribbon-margin)); - z-index: 1; - padding: 0.25rem 0.75rem; - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - line-height: 1; - color: #ffffff; - text-align: center; - text-transform: uppercase; - background: var(--tblr-primary); - border-color: var(--tblr-primary); - border-radius: var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius); - display: inline-flex; - align-items: center; - justify-content: center; - min-height: 2rem; - min-width: 2rem; -} -.ribbon:before { - position: absolute; - right: 0; - bottom: 100%; - width: 0; - height: 0; - content: ""; - filter: brightness(70%); - border: calc(var(--tblr-ribbon-margin) * 0.5) solid; - border-color: inherit; - border-top-color: transparent; - border-right-color: transparent; -} -.ribbon.bg-blue { - border-color: var(--tblr-blue); -} -.ribbon.bg-blue-lt { - border-color: rgba(var(--tblr-blue-rgb), 0.1) !important; -} -.ribbon.bg-azure { - border-color: var(--tblr-azure); -} -.ribbon.bg-azure-lt { - border-color: rgba(var(--tblr-azure-rgb), 0.1) !important; -} -.ribbon.bg-indigo { - border-color: var(--tblr-indigo); -} -.ribbon.bg-indigo-lt { - border-color: rgba(var(--tblr-indigo-rgb), 0.1) !important; -} -.ribbon.bg-purple { - border-color: var(--tblr-purple); -} -.ribbon.bg-purple-lt { - border-color: rgba(var(--tblr-purple-rgb), 0.1) !important; -} -.ribbon.bg-pink { - border-color: var(--tblr-pink); -} -.ribbon.bg-pink-lt { - border-color: rgba(var(--tblr-pink-rgb), 0.1) !important; -} -.ribbon.bg-red { - border-color: var(--tblr-red); -} -.ribbon.bg-red-lt { - border-color: rgba(var(--tblr-red-rgb), 0.1) !important; -} -.ribbon.bg-orange { - border-color: var(--tblr-orange); -} -.ribbon.bg-orange-lt { - border-color: rgba(var(--tblr-orange-rgb), 0.1) !important; -} -.ribbon.bg-yellow { - border-color: var(--tblr-yellow); -} -.ribbon.bg-yellow-lt { - border-color: rgba(var(--tblr-yellow-rgb), 0.1) !important; -} -.ribbon.bg-lime { - border-color: var(--tblr-lime); -} -.ribbon.bg-lime-lt { - border-color: rgba(var(--tblr-lime-rgb), 0.1) !important; -} -.ribbon.bg-green { - border-color: var(--tblr-green); -} -.ribbon.bg-green-lt { - border-color: rgba(var(--tblr-green-rgb), 0.1) !important; -} -.ribbon.bg-teal { - border-color: var(--tblr-teal); -} -.ribbon.bg-teal-lt { - border-color: rgba(var(--tblr-teal-rgb), 0.1) !important; -} -.ribbon.bg-cyan { - border-color: var(--tblr-cyan); -} -.ribbon.bg-cyan-lt { - border-color: rgba(var(--tblr-cyan-rgb), 0.1) !important; -} -.ribbon .icon { - width: 1.25rem; - height: 1.25rem; - font-size: 1.25rem; -} - -.ribbon-top { - top: calc(-1 * var(--tblr-ribbon-margin)); - right: 0.75rem; - width: 2rem; - padding: 0.5rem 0; - border-radius: 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius); -} -.ribbon-top:before { - top: 0; - right: 100%; - bottom: auto; - border-color: inherit; - border-top-color: transparent; - border-left-color: transparent; -} -.ribbon-top.ribbon-start { - right: auto; - left: 0.75rem; -} -.ribbon-top.ribbon-start:before { - top: 0; - right: 100%; - left: auto; -} - -.ribbon-start { - right: auto; - left: calc(-1 * var(--tblr-ribbon-margin)); -} -.ribbon-start:before { - top: auto; - bottom: 100%; - left: 0; - border-color: inherit; - border-top-color: transparent; - border-left-color: transparent; -} - -.ribbon-bottom { - top: auto; - bottom: 0.75rem; -} - -.ribbon-bookmark { - padding-left: 0.25rem; - border-radius: 0 0 var(--tblr-ribbon-border-radius) 0; -} -.ribbon-bookmark:after { - position: absolute; - top: 0; - right: 100%; - display: block; - width: 0; - height: 0; - content: ""; - border: 1rem solid; - border-color: inherit; - border-right-width: 0; - border-left-color: transparent; - border-left-width: 0.5rem; -} -.ribbon-bookmark.ribbon-left { - padding-right: 0.5rem; -} -.ribbon-bookmark.ribbon-left:after { - right: auto; - left: 100%; - border-right-color: transparent; - border-right-width: 0.5rem; - border-left-width: 0; -} -.ribbon-bookmark.ribbon-top { - padding-right: 0; - padding-bottom: 0.25rem; - padding-left: 0; - border-radius: 0 var(--tblr-ribbon-border-radius) 0 0; -} -.ribbon-bookmark.ribbon-top:after { - top: 100%; - right: 0; - left: 0; - border-color: inherit; - border-width: 1rem; - border-top-width: 0; - border-bottom-color: transparent; - border-bottom-width: 0.5rem; -} - -/** -Markdown - */ -.markdown { - line-height: 1.7142857143; -} -.markdown > :first-child { - margin-top: 0; -} -.markdown > :last-child, -.markdown > :last-child .highlight { - margin-bottom: 0; -} -@media (min-width: 768px) { - .markdown > hr, .markdown > .hr { - margin-top: 3em; - margin-bottom: 3em; - } -} -.markdown > h1, .markdown > .h1, .markdown > h2, .markdown > .h2, .markdown > h3, .markdown > .h3, .markdown > h4, .markdown > .h4, .markdown > h5, .markdown > .h5, .markdown > h6, .markdown > .h6 { - font-weight: var(--tblr-font-weight-bold); -} -.markdown > blockquote { - font-size: 1rem; - margin: 1.5rem 0; - padding: 0.5rem 1.5rem; -} -.markdown > img { - border-radius: var(--tblr-border-radius); -} - -.placeholder:not(.btn):not([class*=bg-]) { - background-color: currentColor !important; -} -.placeholder:not(.avatar):not([class*=card-img-]) { - border-radius: var(--tblr-border-radius); -} - -.steps { - display: flex; - flex-wrap: nowrap; - width: 100%; - padding: 0; - margin: 2rem 0; - list-style: none; -} -.steps .step-item { - padding-top: calc(0.5rem + 4px); -} -.steps .step-item:after { - top: calc(0.25rem + 2px); - height: 2px; -} -.steps .step-item:before { - width: 0.5rem; - height: 0.5rem; -} -.steps .step-item:after, .steps .step-item:before { - color: #ffffff; - background: var(--tblr-primary); -} -.steps .step-item.active:before { - color: inherit; - border-color: var(--tblr-primary); -} - -.steps-blue .step-item:after, .steps-blue .step-item:before { - color: #ffffff; - background: #206bc4; -} -.steps-blue .step-item.active:before { - color: inherit; - border-color: #206bc4; -} - -.steps-azure .step-item:after, .steps-azure .step-item:before { - color: #ffffff; - background: #4299e1; -} -.steps-azure .step-item.active:before { - color: inherit; - border-color: #4299e1; -} - -.steps-indigo .step-item:after, .steps-indigo .step-item:before { - color: #ffffff; - background: #4263eb; -} -.steps-indigo .step-item.active:before { - color: inherit; - border-color: #4263eb; -} - -.steps-purple .step-item:after, .steps-purple .step-item:before { - color: #ffffff; - background: #ae3ec9; -} -.steps-purple .step-item.active:before { - color: inherit; - border-color: #ae3ec9; -} - -.steps-pink .step-item:after, .steps-pink .step-item:before { - color: #ffffff; - background: #d6336c; -} -.steps-pink .step-item.active:before { - color: inherit; - border-color: #d6336c; -} - -.steps-red .step-item:after, .steps-red .step-item:before { - color: #ffffff; - background: #d63939; -} -.steps-red .step-item.active:before { - color: inherit; - border-color: #d63939; -} - -.steps-orange .step-item:after, .steps-orange .step-item:before { - color: #ffffff; - background: #f76707; -} -.steps-orange .step-item.active:before { - color: inherit; - border-color: #f76707; -} - -.steps-yellow .step-item:after, .steps-yellow .step-item:before { - color: #ffffff; - background: #f59f00; -} -.steps-yellow .step-item.active:before { - color: inherit; - border-color: #f59f00; -} - -.steps-lime .step-item:after, .steps-lime .step-item:before { - color: #ffffff; - background: #74b816; -} -.steps-lime .step-item.active:before { - color: inherit; - border-color: #74b816; -} - -.steps-green .step-item:after, .steps-green .step-item:before { - color: #ffffff; - background: #2fb344; -} -.steps-green .step-item.active:before { - color: inherit; - border-color: #2fb344; -} - -.steps-teal .step-item:after, .steps-teal .step-item:before { - color: #ffffff; - background: #0ca678; -} -.steps-teal .step-item.active:before { - color: inherit; - border-color: #0ca678; -} - -.steps-cyan .step-item:after, .steps-cyan .step-item:before { - color: #ffffff; - background: #17a2b8; -} -.steps-cyan .step-item.active:before { - color: inherit; - border-color: #17a2b8; -} - -.step-item { - position: relative; - flex: 1 1 0; - min-height: 1rem; - margin-top: 0; - color: inherit; - text-align: center; - cursor: default; -} -a.step-item { - cursor: pointer; -} -a.step-item:hover { - color: inherit; -} - -.step-item:not(:first-child):after { - position: absolute; - left: -50%; - width: 100%; - content: ""; - transform: translateY(-50%); -} -.step-item:before { - position: absolute; - top: 0; - left: 50%; - z-index: 1; - box-sizing: content-box; - display: block; - content: ""; - border: 2px var(--tblr-border-style) var(--tblr-bg-surface); - border-radius: 100rem; - transform: translateX(-50%); -} -.step-item.active { - font-weight: var(--tblr-font-weight-bold); -} -.step-item.active:before { - background: var(--tblr-bg-surface); -} -.step-item.active ~ .step-item { - color: #616876; -} -.step-item.active ~ .step-item:after, .step-item.active ~ .step-item:before { - background: #f3f5f5; -} -.step-item.active ~ .step-item:before { - color: #616876 !important; -} - -.steps-counter { - counter-reset: steps; -} -.steps-counter .step-item { - padding-top: calc(1.5rem + 4px); -} -.steps-counter .step-item:after { - top: calc(0.75rem + 2px); - height: 2px; -} -.steps-counter .step-item:before { - width: 1.5rem; - height: 1.5rem; -} -.steps-counter .step-item { - counter-increment: steps; -} -.steps-counter .step-item:before { - font-size: 0.75rem; - line-height: 1.5rem; - content: counter(steps); -} -.steps-counter .step-item.active ~ .step-item:before { - background: #ffffff; -} - -@-webkit-keyframes status-pulsate-main { - 40% { - transform: scale(1.25, 1.25); - } - 60% { - transform: scale(1.25, 1.25); - } -} - -@keyframes status-pulsate-main { - 40% { - transform: scale(1.25, 1.25); - } - 60% { - transform: scale(1.25, 1.25); - } -} -@-webkit-keyframes status-pulsate-secondary { - 10% { - transform: scale(1, 1); - } - 30% { - transform: scale(3, 3); - } - 80% { - transform: scale(3, 3); - } - 100% { - transform: scale(1, 1); - } -} -@keyframes status-pulsate-secondary { - 10% { - transform: scale(1, 1); - } - 30% { - transform: scale(3, 3); - } - 80% { - transform: scale(3, 3); - } - 100% { - transform: scale(1, 1); - } -} -@-webkit-keyframes status-pulsate-tertiary { - 25% { - transform: scale(1, 1); - } - 80% { - transform: scale(3, 3); - opacity: 0; - } - 100% { - transform: scale(3, 3); - opacity: 0; - } -} -@keyframes status-pulsate-tertiary { - 25% { - transform: scale(1, 1); - } - 80% { - transform: scale(3, 3); - opacity: 0; - } - 100% { - transform: scale(3, 3); - opacity: 0; - } -} -.status { - --tblr-status-height: 1.5rem; - --tblr-status-color: #616876; - --tblr-status-color-rgb: 97, 104, 118; - display: inline-flex; - align-items: center; - height: var(--tblr-status-height); - padding: 0.25rem 0.75rem; - gap: 0.5rem; - color: var(--tblr-status-color); - background: rgba(var(--tblr-status-color-rgb), 0.1); - font-size: 0.875rem; - text-transform: none; - letter-spacing: normal; - border-radius: 100rem; - font-weight: var(--tblr-font-weight-medium); - line-height: 1; - margin: 0; -} -.status .status-dot { - background: var(--tblr-status-color); -} -.status .icon { - font-size: 1.25rem; -} - -.status-lite { - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; - background: transparent !important; - color: var(--tblr-body-text) !important; -} - -.status-primary { - --tblr-status-color: #206bc4; - --tblr-status-color-rgb: 32, 107, 196; -} - -.status-secondary { - --tblr-status-color: #616876; - --tblr-status-color-rgb: 97, 104, 118; -} - -.status-success { - --tblr-status-color: #2fb344; - --tblr-status-color-rgb: 47, 179, 68; -} - -.status-info { - --tblr-status-color: #4299e1; - --tblr-status-color-rgb: 66, 153, 225; -} - -.status-warning { - --tblr-status-color: #f76707; - --tblr-status-color-rgb: 247, 103, 7; -} - -.status-danger { - --tblr-status-color: #d63939; - --tblr-status-color-rgb: 214, 57, 57; -} - -.status-light { - --tblr-status-color: #f8fafc; - --tblr-status-color-rgb: 248, 250, 252; -} - -.status-dark { - --tblr-status-color: #1d273b; - --tblr-status-color-rgb: 29, 39, 59; -} - -.status-muted { - --tblr-status-color: #616876; - --tblr-status-color-rgb: 97, 104, 118; -} - -.status-blue { - --tblr-status-color: #206bc4; - --tblr-status-color-rgb: 32, 107, 196; -} - -.status-azure { - --tblr-status-color: #4299e1; - --tblr-status-color-rgb: 66, 153, 225; -} - -.status-indigo { - --tblr-status-color: #4263eb; - --tblr-status-color-rgb: 66, 99, 235; -} - -.status-purple { - --tblr-status-color: #ae3ec9; - --tblr-status-color-rgb: 174, 62, 201; -} - -.status-pink { - --tblr-status-color: #d6336c; - --tblr-status-color-rgb: 214, 51, 108; -} - -.status-red { - --tblr-status-color: #d63939; - --tblr-status-color-rgb: 214, 57, 57; -} - -.status-orange { - --tblr-status-color: #f76707; - --tblr-status-color-rgb: 247, 103, 7; -} - -.status-yellow { - --tblr-status-color: #f59f00; - --tblr-status-color-rgb: 245, 159, 0; -} - -.status-lime { - --tblr-status-color: #74b816; - --tblr-status-color-rgb: 116, 184, 22; -} - -.status-green { - --tblr-status-color: #2fb344; - --tblr-status-color-rgb: 47, 179, 68; -} - -.status-teal { - --tblr-status-color: #0ca678; - --tblr-status-color-rgb: 12, 166, 120; -} - -.status-cyan { - --tblr-status-color: #17a2b8; - --tblr-status-color-rgb: 23, 162, 184; -} - -.status-facebook { - --tblr-status-color: #3b5998; - --tblr-status-color-rgb: 59, 89, 152; -} - -.status-twitter { - --tblr-status-color: #1da1f2; - --tblr-status-color-rgb: 29, 161, 242; -} - -.status-linkedin { - --tblr-status-color: #0a66c2; - --tblr-status-color-rgb: 10, 102, 194; -} - -.status-google { - --tblr-status-color: #dc4e41; - --tblr-status-color-rgb: 220, 78, 65; -} - -.status-youtube { - --tblr-status-color: #ff0000; - --tblr-status-color-rgb: 255, 0, 0; -} - -.status-vimeo { - --tblr-status-color: #1ab7ea; - --tblr-status-color-rgb: 26, 183, 234; -} - -.status-dribbble { - --tblr-status-color: #ea4c89; - --tblr-status-color-rgb: 234, 76, 137; -} - -.status-github { - --tblr-status-color: #181717; - --tblr-status-color-rgb: 24, 23, 23; -} - -.status-instagram { - --tblr-status-color: #e4405f; - --tblr-status-color-rgb: 228, 64, 95; -} - -.status-pinterest { - --tblr-status-color: #bd081c; - --tblr-status-color-rgb: 189, 8, 28; -} - -.status-vk { - --tblr-status-color: #6383a8; - --tblr-status-color-rgb: 99, 131, 168; -} - -.status-rss { - --tblr-status-color: #ffa500; - --tblr-status-color-rgb: 255, 165, 0; -} - -.status-flickr { - --tblr-status-color: #0063dc; - --tblr-status-color-rgb: 0, 99, 220; -} - -.status-bitbucket { - --tblr-status-color: #0052cc; - --tblr-status-color-rgb: 0, 82, 204; -} - -.status-tabler { - --tblr-status-color: #206bc4; - --tblr-status-color-rgb: 32, 107, 196; -} - -.status-dot { - --tblr-status-dot-color: var(--tblr-status-color, #616876); - --tblr-status-size: 0.5rem; - position: relative; - display: inline-block; - width: var(--tblr-status-size); - height: var(--tblr-status-size); - background: var(--tblr-status-dot-color); - border-radius: 100rem; -} - -.status-dot-animated:before { - content: ""; - position: absolute; - inset: 0; - z-index: 0; - background: inherit; - border-radius: inherit; - opacity: 0.6; - -webkit-animation: 1s linear 2s backwards infinite status-pulsate-tertiary; - animation: 1s linear 2s backwards infinite status-pulsate-tertiary; -} - -.status-indicator { - --tblr-status-indicator-size: 2.5rem; - --tblr-status-indicator-color: var(--tblr-status-color, #616876); - display: block; - position: relative; - width: var(--tblr-status-indicator-size); - height: var(--tblr-status-indicator-size); -} - -.status-indicator-circle { - --tblr-status-circle-size: .75rem; - position: absolute; - left: 50%; - top: 50%; - margin: calc(var(--tblr-status-circle-size) / -2) 0 0 calc(var(--tblr-status-circle-size) / -2); - width: var(--tblr-status-circle-size); - height: var(--tblr-status-circle-size); - border-radius: 100rem; - background: var(--tblr-status-color); -} -.status-indicator-circle:nth-child(1) { - z-index: 3; -} -.status-indicator-circle:nth-child(2) { - z-index: 2; - opacity: 0.1; -} -.status-indicator-circle:nth-child(3) { - z-index: 1; - opacity: 0.3; -} - -.status-indicator-animated .status-indicator-circle:nth-child(1) { - -webkit-animation: 2s linear 1s infinite backwards status-pulsate-main; - animation: 2s linear 1s infinite backwards status-pulsate-main; -} -.status-indicator-animated .status-indicator-circle:nth-child(2) { - -webkit-animation: 2s linear 1s infinite backwards status-pulsate-secondary; - animation: 2s linear 1s infinite backwards status-pulsate-secondary; -} -.status-indicator-animated .status-indicator-circle:nth-child(3) { - -webkit-animation: 2s linear 1s infinite backwards status-pulsate-tertiary; - animation: 2s linear 1s infinite backwards status-pulsate-tertiary; -} - -.switch-icon { - display: inline-block; - line-height: 1; - border: 0; - padding: 0; - background: transparent; - width: 1.25rem; - height: 1.25rem; - vertical-align: bottom; - position: relative; - cursor: pointer; -} -.switch-icon.disabled { - pointer-events: none; - opacity: 0.4; -} -.switch-icon:focus { - outline: none; -} -.switch-icon svg { - display: block; - width: 100%; - height: 100%; -} -.switch-icon .switch-icon-a, -.switch-icon .switch-icon-b { - display: block; - width: 100%; - height: 100%; -} -.switch-icon .switch-icon-a { - opacity: 1; -} -.switch-icon .switch-icon-b { - position: absolute; - top: 0; - left: 0; - opacity: 0; -} -.switch-icon.active .switch-icon-a { - opacity: 0; -} -.switch-icon.active .switch-icon-b { - opacity: 1; -} - -.switch-icon-fade .switch-icon-a, -.switch-icon-fade .switch-icon-b { - transition: opacity 0.5s; -} -@media (prefers-reduced-motion: reduce) { - .switch-icon-fade .switch-icon-a, -.switch-icon-fade .switch-icon-b { - transition: none; - } -} - -.switch-icon-scale .switch-icon-a, -.switch-icon-scale .switch-icon-b { - transition: opacity 0.5s, transform 0s 0.5s; -} -@media (prefers-reduced-motion: reduce) { - .switch-icon-scale .switch-icon-a, -.switch-icon-scale .switch-icon-b { - transition: none; - } -} -.switch-icon-scale .switch-icon-b { - transform: scale(1.5); -} -.switch-icon-scale.active .switch-icon-a, -.switch-icon-scale.active .switch-icon-b { - transition: opacity 0s, transform 0.5s; -} -@media (prefers-reduced-motion: reduce) { - .switch-icon-scale.active .switch-icon-a, -.switch-icon-scale.active .switch-icon-b { - transition: none; - } -} -.switch-icon-scale.active .switch-icon-b { - transform: scale(1); -} - -.switch-icon-flip { - perspective: 10em; -} -.switch-icon-flip .switch-icon-a, -.switch-icon-flip .switch-icon-b { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - transform-style: preserve-3d; - transition: opacity 0s 0.2s, transform 0.4s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .switch-icon-flip .switch-icon-a, -.switch-icon-flip .switch-icon-b { - transition: none; - } -} -.switch-icon-flip .switch-icon-a { - opacity: 1; - transform: rotateY(0deg); -} -.switch-icon-flip .switch-icon-b { - opacity: 1; - transform: rotateY(-180deg); -} -.switch-icon-flip.active .switch-icon-a { - opacity: 1; - transform: rotateY(180deg); -} -.switch-icon-flip.active .switch-icon-b { - opacity: 1; - transform: rotateY(0deg); -} - -.switch-icon-slide-up, -.switch-icon-slide-left, -.switch-icon-slide-right, -.switch-icon-slide-down { - overflow: hidden; -} -.switch-icon-slide-up .switch-icon-a, -.switch-icon-slide-up .switch-icon-b, -.switch-icon-slide-left .switch-icon-a, -.switch-icon-slide-left .switch-icon-b, -.switch-icon-slide-right .switch-icon-a, -.switch-icon-slide-right .switch-icon-b, -.switch-icon-slide-down .switch-icon-a, -.switch-icon-slide-down .switch-icon-b { - transition: opacity 0.3s, transform 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .switch-icon-slide-up .switch-icon-a, -.switch-icon-slide-up .switch-icon-b, -.switch-icon-slide-left .switch-icon-a, -.switch-icon-slide-left .switch-icon-b, -.switch-icon-slide-right .switch-icon-a, -.switch-icon-slide-right .switch-icon-b, -.switch-icon-slide-down .switch-icon-a, -.switch-icon-slide-down .switch-icon-b { - transition: none; - } -} -.switch-icon-slide-up .switch-icon-a, -.switch-icon-slide-left .switch-icon-a, -.switch-icon-slide-right .switch-icon-a, -.switch-icon-slide-down .switch-icon-a { - transform: translateY(0); -} -.switch-icon-slide-up .switch-icon-b, -.switch-icon-slide-left .switch-icon-b, -.switch-icon-slide-right .switch-icon-b, -.switch-icon-slide-down .switch-icon-b { - transform: translateY(100%); -} -.switch-icon-slide-up.active .switch-icon-a, -.switch-icon-slide-left.active .switch-icon-a, -.switch-icon-slide-right.active .switch-icon-a, -.switch-icon-slide-down.active .switch-icon-a { - transform: translateY(-100%); -} -.switch-icon-slide-up.active .switch-icon-b, -.switch-icon-slide-left.active .switch-icon-b, -.switch-icon-slide-right.active .switch-icon-b, -.switch-icon-slide-down.active .switch-icon-b { - transform: translateY(0); -} - -.switch-icon-slide-left .switch-icon-a { - transform: translateX(0); -} -.switch-icon-slide-left .switch-icon-b { - transform: translateX(100%); -} -.switch-icon-slide-left.active .switch-icon-a { - transform: translateX(-100%); -} -.switch-icon-slide-left.active .switch-icon-b { - transform: translateX(0); -} - -.switch-icon-slide-right .switch-icon-a { - transform: translateX(0); -} -.switch-icon-slide-right .switch-icon-b { - transform: translateX(-100%); -} -.switch-icon-slide-right.active .switch-icon-a { - transform: translateX(100%); -} -.switch-icon-slide-right.active .switch-icon-b { - transform: translateX(0); -} - -.switch-icon-slide-down .switch-icon-a { - transform: translateY(0); -} -.switch-icon-slide-down .switch-icon-b { - transform: translateY(-100%); -} -.switch-icon-slide-down.active .switch-icon-a { - transform: translateY(100%); -} -.switch-icon-slide-down.active .switch-icon-b { - transform: translateY(0); -} - -@media not print { - .theme-dark .table-primary { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #134076; - --tblr-table-border-color: #2a5383; - --tblr-table-striped-bg: #1e497d; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #2a5383; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #244e80; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark .table-secondary { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #3a3e47; - --tblr-table-border-color: #4d5159; - --tblr-table-striped-bg: #444750; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #4d5159; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #484c55; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark .table-success { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #1c6b29; - --tblr-table-border-color: #32793e; - --tblr-table-striped-bg: #277234; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #32793e; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #2d7639; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark .table-info { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #285c87; - --tblr-table-border-color: #3d6c93; - --tblr-table-striped-bg: #32648d; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #3d6c93; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #386890; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark .table-warning { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #943e04; - --tblr-table-border-color: #9e511d; - --tblr-table-striped-bg: #994710; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #9e511d; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #9c4c17; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark .table-danger { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #802222; - --tblr-table-border-color: #8c3838; - --tblr-table-striped-bg: #862d2d; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #8c3838; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #893232; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } -} -@media not print { - @media (prefers-color-scheme: dark) { - .theme-dark-auto .table-primary { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #134076; - --tblr-table-border-color: #2a5383; - --tblr-table-striped-bg: #1e497d; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #2a5383; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #244e80; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark-auto .table-secondary { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #3a3e47; - --tblr-table-border-color: #4d5159; - --tblr-table-striped-bg: #444750; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #4d5159; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #484c55; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark-auto .table-success { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #1c6b29; - --tblr-table-border-color: #32793e; - --tblr-table-striped-bg: #277234; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #32793e; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #2d7639; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark-auto .table-info { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #285c87; - --tblr-table-border-color: #3d6c93; - --tblr-table-striped-bg: #32648d; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #3d6c93; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #386890; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark-auto .table-warning { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #943e04; - --tblr-table-border-color: #9e511d; - --tblr-table-striped-bg: #994710; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #9e511d; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #9c4c17; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark-auto .table-danger { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #802222; - --tblr-table-border-color: #8c3838; - --tblr-table-striped-bg: #862d2d; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #8c3838; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #893232; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - } -} -.table thead th, .markdown > table thead th { - color: var(--tblr-muted); - background: var(--tblr-gray-50); - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - padding-top: 0.5rem; - padding-bottom: 0.5rem; - white-space: nowrap; -} -@media print { - .table thead th, .markdown > table thead th { - background: transparent; - } -} - -.table-responsive .table, .table-responsive .markdown > table { - margin-bottom: 0; -} -.table-responsive + .card-footer { - border-top: 0; -} - -.table-transparent thead th { - background: transparent; -} - -.table-nowrap > :not(caption) > * > * { - white-space: nowrap; -} - -.table-vcenter > :not(caption) > * > * { - vertical-align: middle; -} - -.table-center > :not(caption) > * > * { - text-align: center; -} - -.td-truncate { - max-width: 1px; - width: 100%; -} - -.table-mobile { - display: block; -} -.table-mobile thead { - display: none; -} -.table-mobile tbody, -.table-mobile tr { - display: flex; - flex-direction: column; -} -.table-mobile td { - display: block; - padding: 0.75rem 0.75rem !important; - border: none; - color: #1d273b !important; -} -.table-mobile td[data-label]:before { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - content: attr(data-label); - display: block; -} -.table-mobile tr { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); -} -.table-mobile .btn { - display: block; -} -@media (max-width: 575.98px) { - .table-mobile-sm { - display: block; - } - .table-mobile-sm thead { - display: none; - } - .table-mobile-sm tbody, -.table-mobile-sm tr { - display: flex; - flex-direction: column; - } - .table-mobile-sm td { - display: block; - padding: 0.75rem 0.75rem !important; - border: none; - color: #1d273b !important; - } - .table-mobile-sm td[data-label]:before { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - content: attr(data-label); - display: block; - } - .table-mobile-sm tr { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - } - .table-mobile-sm .btn { - display: block; - } -} -@media (max-width: 767.98px) { - .table-mobile-md { - display: block; - } - .table-mobile-md thead { - display: none; - } - .table-mobile-md tbody, -.table-mobile-md tr { - display: flex; - flex-direction: column; - } - .table-mobile-md td { - display: block; - padding: 0.75rem 0.75rem !important; - border: none; - color: #1d273b !important; - } - .table-mobile-md td[data-label]:before { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - content: attr(data-label); - display: block; - } - .table-mobile-md tr { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - } - .table-mobile-md .btn { - display: block; - } -} -@media (max-width: 991.98px) { - .table-mobile-lg { - display: block; - } - .table-mobile-lg thead { - display: none; - } - .table-mobile-lg tbody, -.table-mobile-lg tr { - display: flex; - flex-direction: column; - } - .table-mobile-lg td { - display: block; - padding: 0.75rem 0.75rem !important; - border: none; - color: #1d273b !important; - } - .table-mobile-lg td[data-label]:before { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - content: attr(data-label); - display: block; - } - .table-mobile-lg tr { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - } - .table-mobile-lg .btn { - display: block; - } -} -@media (max-width: 1199.98px) { - .table-mobile-xl { - display: block; - } - .table-mobile-xl thead { - display: none; - } - .table-mobile-xl tbody, -.table-mobile-xl tr { - display: flex; - flex-direction: column; - } - .table-mobile-xl td { - display: block; - padding: 0.75rem 0.75rem !important; - border: none; - color: #1d273b !important; - } - .table-mobile-xl td[data-label]:before { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - content: attr(data-label); - display: block; - } - .table-mobile-xl tr { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - } - .table-mobile-xl .btn { - display: block; - } -} -@media (max-width: 1399.98px) { - .table-mobile-xxl { - display: block; - } - .table-mobile-xxl thead { - display: none; - } - .table-mobile-xxl tbody, -.table-mobile-xxl tr { - display: flex; - flex-direction: column; - } - .table-mobile-xxl td { - display: block; - padding: 0.75rem 0.75rem !important; - border: none; - color: #1d273b !important; - } - .table-mobile-xxl td[data-label]:before { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - content: attr(data-label); - display: block; - } - .table-mobile-xxl tr { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - } - .table-mobile-xxl .btn { - display: block; - } -} - -.table-sort { - font: inherit; - color: inherit; - text-transform: inherit; - letter-spacing: inherit; - border: 0; - background: inherit; - display: block; - width: 100%; - text-align: inherit; - transition: color 0.3s; - margin: -0.5rem -0.75rem; - padding: 0.5rem 0.75rem; -} -@media (prefers-reduced-motion: reduce) { - .table-sort { - transition: none; - } -} -.table-sort:hover, .table-sort.asc, .table-sort.desc { - color: #1d273b; -} -.table-sort:after, .table-sort.asc:after, .table-sort.desc:after { - content: ""; - display: inline-flex; - width: 1rem; - height: 1rem; - vertical-align: bottom; - background: url("data:image/svg+xml,") no-repeat center; - opacity: 0.2; -} -.table-sort.asc:after { - background: url("data:image/svg+xml,") no-repeat center; - opacity: 1; -} -.table-sort.desc:after { - background: url("data:image/svg+xml,") no-repeat center; - opacity: 1; -} - -.table-borderless thead th { - background: transparent; -} - -.toast { - background: #ffffff; - border: 1px var(--tblr-border-style) var(--tblr-border-color-translucent); - box-shadow: rgba(29, 39, 59, 0.04) 0 2px 4px 0; -} -.toast .toast-header { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.toast button[data-bs-dismiss=toast] { - outline: none; -} - -.toast-primary { - --tblr-toast-color: #206bc4; -} - -.toast-secondary { - --tblr-toast-color: #616876; -} - -.toast-success { - --tblr-toast-color: #2fb344; -} - -.toast-info { - --tblr-toast-color: #4299e1; -} - -.toast-warning { - --tblr-toast-color: #f76707; -} - -.toast-danger { - --tblr-toast-color: #d63939; -} - -.toast-light { - --tblr-toast-color: #f8fafc; -} - -.toast-dark { - --tblr-toast-color: #1d273b; -} - -.toast-muted { - --tblr-toast-color: #616876; -} - -.toast-blue { - --tblr-toast-color: #206bc4; -} - -.toast-azure { - --tblr-toast-color: #4299e1; -} - -.toast-indigo { - --tblr-toast-color: #4263eb; -} - -.toast-purple { - --tblr-toast-color: #ae3ec9; -} - -.toast-pink { - --tblr-toast-color: #d6336c; -} - -.toast-red { - --tblr-toast-color: #d63939; -} - -.toast-orange { - --tblr-toast-color: #f76707; -} - -.toast-yellow { - --tblr-toast-color: #f59f00; -} - -.toast-lime { - --tblr-toast-color: #74b816; -} - -.toast-green { - --tblr-toast-color: #2fb344; -} - -.toast-teal { - --tblr-toast-color: #0ca678; -} - -.toast-cyan { - --tblr-toast-color: #17a2b8; -} - -.toast-facebook { - --tblr-toast-color: #3b5998; -} - -.toast-twitter { - --tblr-toast-color: #1da1f2; -} - -.toast-linkedin { - --tblr-toast-color: #0a66c2; -} - -.toast-google { - --tblr-toast-color: #dc4e41; -} - -.toast-youtube { - --tblr-toast-color: #ff0000; -} - -.toast-vimeo { - --tblr-toast-color: #1ab7ea; -} - -.toast-dribbble { - --tblr-toast-color: #ea4c89; -} - -.toast-github { - --tblr-toast-color: #181717; -} - -.toast-instagram { - --tblr-toast-color: #e4405f; -} - -.toast-pinterest { - --tblr-toast-color: #bd081c; -} - -.toast-vk { - --tblr-toast-color: #6383a8; -} - -.toast-rss { - --tblr-toast-color: #ffa500; -} - -.toast-flickr { - --tblr-toast-color: #0063dc; -} - -.toast-bitbucket { - --tblr-toast-color: #0052cc; -} - -.toast-tabler { - --tblr-toast-color: #206bc4; -} - -.toolbar { - display: flex; - flex-wrap: nowrap; - flex-shrink: 0; - margin: 0 -0.5rem; -} -.toolbar > * { - margin: 0 0.5rem; -} - -.tracking { - --tblr-tracking-height: 1.5rem; - --tblr-tracking-gap-width: 0.125rem; - --tblr-tracking-block-border-radius: var(--tblr-border-radius); - display: flex; - gap: var(--tblr-tracking-gap-width); -} - -.tracking-squares { - --tblr-tracking-block-border-radius: var(--tblr-border-radius-sm); -} -.tracking-squares .tracking-block { - height: auto; -} -.tracking-squares .tracking-block:before { - content: ""; - display: block; - padding-top: 100%; -} - -.tracking-block { - flex: 1; - border-radius: var(--tblr-tracking-block-border-radius); - height: var(--tblr-tracking-height); - min-width: 0.25rem; - background: var(--tblr-border-color); -} - -/** -Horizontal rules - */ -/** -Hr text - */ -.hr-text { - display: flex; - align-items: center; - margin: 2rem 0; - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - height: 1px; -} -.hr-text:after, .hr-text:before { - flex: 1 1 auto; - height: 1px; - background-color: var(--tblr-border-color); -} -.hr-text:before { - content: ""; - margin-right: 0.5rem; -} -.hr-text:after { - content: ""; - margin-left: 0.5rem; -} -.hr-text > *:first-child { - padding-right: 0.5rem; - padding-left: 0; - color: #616876; -} -.hr-text.hr-text-left:before { - content: none; -} -.hr-text.hr-text-left > *:first-child { - padding-right: 0.5rem; - padding-left: 0.5rem; -} -.hr-text.hr-text-right:before { - content: ""; -} -.hr-text.hr-text-right:after { - content: none; -} -.hr-text.hr-text-right > *:first-child { - padding-right: 0; - padding-left: 0.5rem; -} -.card > .hr-text { - margin: 0; -} - -.hr-text-spaceless { - margin: -0.5rem 0; -} - -.lead { - line-height: 1.4; -} - -a { - -webkit-text-decoration-skip: ink; - text-decoration-skip-ink: auto; -} - -h1 a, -h2 a, -h3 a, -h4 a, -h5 a, -h6 a, -.h1 a, -.h2 a, -.h3 a, -.h4 a, -.h5 a, -.h6 a { - color: inherit; -} -h1 a:hover, -h2 a:hover, -h3 a:hover, -h4 a:hover, -h5 a:hover, -h6 a:hover, -.h1 a:hover, -.h2 a:hover, -.h3 a:hover, -.h4 a:hover, -.h5 a:hover, -.h6 a:hover { - color: inherit; -} - -h1, -.h1 { - font-size: var(--tblr-font-size-h1); - line-height: var(--tblr-line-height-h1); -} - -h2, -.h2 { - font-size: var(--tblr-font-size-h2); - line-height: var(--tblr-line-height-h2); -} - -h3, -.h3 { - font-size: var(--tblr-font-size-h3); - line-height: var(--tblr-line-height-h3); -} - -h4, -.h4 { - font-size: var(--tblr-font-size-h4); - line-height: var(--tblr-line-height-h4); -} - -h5, -.h5 { - font-size: var(--tblr-font-size-h5); - line-height: var(--tblr-line-height-h5); -} - -h6, -.h6 { - font-size: var(--tblr-font-size-h6); - line-height: var(--tblr-line-height-h6); -} - -strong, -.strong, -b { - font-weight: var(--tblr-font-weight-bold); -} - -blockquote { - padding-left: 1rem; - border-left: 2px var(--tblr-border-style) var(--tblr-border-color); -} -blockquote p { - margin-bottom: 1rem; -} -blockquote cite { - display: block; - text-align: right; -} -blockquote cite:before { - content: "— "; -} - -ul, ol { - padding-left: 1.5rem; -} - -hr, .hr { - margin: 2rem 0; -} - -dl dd:last-child { - margin-bottom: 0; -} - -pre { - padding: 1rem; - background: var(--tblr-bg-surface-dark); - color: var(--tblr-light); - border-radius: var(--tblr-border-radius); -} -pre code { - background: transparent; -} - -code { - background: var(--tblr-code-bg); - padding: 2px 4px; - border-radius: var(--tblr-border-radius); -} - -kbd { - font: inherit; - box-shadow: 0 0 0 1px var(--tblr-border-color), 0 3px 0 0 var(--tblr-bg-surface), 0 3px 0 1px var(--tblr-border-color); -} - -img { - max-width: 100%; -} - -.list-unstyled { - margin-left: 0; -} - -/** -Selection - */ -::-moz-selection { - background-color: rgba(var(--tblr-primary-rgb), 0.16); -} -::selection { - background-color: rgba(var(--tblr-primary-rgb), 0.16); -} - -/** -Links - */ -[class^=link-].disabled, [class*=" link-"].disabled { - color: var(--tblr-disabled-color); - pointer-events: none; -} - -/** -Subheader - */ -.subheader { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); -} - -.chart { - display: block; - min-height: 10rem; -} -.chart text { - font-family: inherit; -} - -.chart-sm { - height: 2.5rem; -} - -.chart-lg { - height: 15rem; -} - -.chart-square { - height: 5.75rem; -} - -/** -Chart sparkline - */ -.chart-sparkline { - position: relative; - width: 4rem; - height: 2.5rem; - line-height: 1; - min-height: 0 !important; -} - -.chart-sparkline-sm { - height: 1.5rem; -} - -.chart-sparkline-square { - width: 2.5rem; -} - -.chart-sparkline-wide { - width: 6rem; -} - -.chart-sparkline-label { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: flex; - align-items: center; - justify-content: center; - font-size: 0.625rem; -} -.chart-sparkline-label .icon { - width: 1rem; - height: 1rem; - font-size: 1rem; -} - -.offcanvas-header { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16); -} - -.offcanvas-footer { - padding: 1.5rem 1.5rem; -} - -.offcanvas-title { - font-size: 1rem; - font-weight: var(--tblr-font-weight-medium); - line-height: 1.5rem; -} - -.offcanvas-narrow { - width: 20rem; -} - -.bg-white-overlay { - color: #ffffff; - background-color: rgba(248, 250, 252, 0.24); -} - -.bg-dark-overlay { - color: #ffffff; - background-color: rgba(29, 39, 59, 0.24); -} - -.bg-cover { - background-repeat: no-repeat; - background-size: cover; - background-position: center; -} - -.bg-primary { - background-color: var(--tblr-primary) !important; -} - -.bg-primary-lt { - color: var(--tblr-primary) !important; - background-color: rgba(var(--tblr-primary-rgb), 0.1) !important; -} - -.bg-secondary { - background-color: var(--tblr-secondary) !important; -} - -.bg-secondary-lt { - color: var(--tblr-secondary) !important; - background-color: rgba(var(--tblr-secondary-rgb), 0.1) !important; -} - -.bg-success { - background-color: var(--tblr-success) !important; -} - -.bg-success-lt { - color: var(--tblr-success) !important; - background-color: rgba(var(--tblr-success-rgb), 0.1) !important; -} - -.bg-info { - background-color: var(--tblr-info) !important; -} - -.bg-info-lt { - color: var(--tblr-info) !important; - background-color: rgba(var(--tblr-info-rgb), 0.1) !important; -} - -.bg-warning { - background-color: var(--tblr-warning) !important; -} - -.bg-warning-lt { - color: var(--tblr-warning) !important; - background-color: rgba(var(--tblr-warning-rgb), 0.1) !important; -} - -.bg-danger { - background-color: var(--tblr-danger) !important; -} - -.bg-danger-lt { - color: var(--tblr-danger) !important; - background-color: rgba(var(--tblr-danger-rgb), 0.1) !important; -} - -.bg-light { - background-color: var(--tblr-light) !important; -} - -.bg-light-lt { - color: var(--tblr-light) !important; - background-color: rgba(var(--tblr-light-rgb), 0.1) !important; -} - -.bg-dark { - background-color: var(--tblr-dark) !important; -} - -.bg-dark-lt { - color: var(--tblr-dark) !important; - background-color: rgba(var(--tblr-dark-rgb), 0.1) !important; -} - -.bg-muted { - background-color: var(--tblr-muted) !important; -} - -.bg-muted-lt { - color: var(--tblr-muted) !important; - background-color: rgba(var(--tblr-muted-rgb), 0.1) !important; -} - -.bg-blue { - background-color: var(--tblr-blue) !important; -} - -.bg-blue-lt { - color: var(--tblr-blue) !important; - background-color: rgba(var(--tblr-blue-rgb), 0.1) !important; -} - -.bg-azure { - background-color: var(--tblr-azure) !important; -} - -.bg-azure-lt { - color: var(--tblr-azure) !important; - background-color: rgba(var(--tblr-azure-rgb), 0.1) !important; -} - -.bg-indigo { - background-color: var(--tblr-indigo) !important; -} - -.bg-indigo-lt { - color: var(--tblr-indigo) !important; - background-color: rgba(var(--tblr-indigo-rgb), 0.1) !important; -} - -.bg-purple { - background-color: var(--tblr-purple) !important; -} - -.bg-purple-lt { - color: var(--tblr-purple) !important; - background-color: rgba(var(--tblr-purple-rgb), 0.1) !important; -} - -.bg-pink { - background-color: var(--tblr-pink) !important; -} - -.bg-pink-lt { - color: var(--tblr-pink) !important; - background-color: rgba(var(--tblr-pink-rgb), 0.1) !important; -} - -.bg-red { - background-color: var(--tblr-red) !important; -} - -.bg-red-lt { - color: var(--tblr-red) !important; - background-color: rgba(var(--tblr-red-rgb), 0.1) !important; -} - -.bg-orange { - background-color: var(--tblr-orange) !important; -} - -.bg-orange-lt { - color: var(--tblr-orange) !important; - background-color: rgba(var(--tblr-orange-rgb), 0.1) !important; -} - -.bg-yellow { - background-color: var(--tblr-yellow) !important; -} - -.bg-yellow-lt { - color: var(--tblr-yellow) !important; - background-color: rgba(var(--tblr-yellow-rgb), 0.1) !important; -} - -.bg-lime { - background-color: var(--tblr-lime) !important; -} - -.bg-lime-lt { - color: var(--tblr-lime) !important; - background-color: rgba(var(--tblr-lime-rgb), 0.1) !important; -} - -.bg-green { - background-color: var(--tblr-green) !important; -} - -.bg-green-lt { - color: var(--tblr-green) !important; - background-color: rgba(var(--tblr-green-rgb), 0.1) !important; -} - -.bg-teal { - background-color: var(--tblr-teal) !important; -} - -.bg-teal-lt { - color: var(--tblr-teal) !important; - background-color: rgba(var(--tblr-teal-rgb), 0.1) !important; -} - -.bg-cyan { - background-color: var(--tblr-cyan) !important; -} - -.bg-cyan-lt { - color: var(--tblr-cyan) !important; - background-color: rgba(var(--tblr-cyan-rgb), 0.1) !important; -} - -.bg-facebook { - background-color: var(--tblr-facebook) !important; -} - -.bg-facebook-lt { - color: var(--tblr-facebook) !important; - background-color: rgba(var(--tblr-facebook-rgb), 0.1) !important; -} - -.bg-twitter { - background-color: var(--tblr-twitter) !important; -} - -.bg-twitter-lt { - color: var(--tblr-twitter) !important; - background-color: rgba(var(--tblr-twitter-rgb), 0.1) !important; -} - -.bg-linkedin { - background-color: var(--tblr-linkedin) !important; -} - -.bg-linkedin-lt { - color: var(--tblr-linkedin) !important; - background-color: rgba(var(--tblr-linkedin-rgb), 0.1) !important; -} - -.bg-google { - background-color: var(--tblr-google) !important; -} - -.bg-google-lt { - color: var(--tblr-google) !important; - background-color: rgba(var(--tblr-google-rgb), 0.1) !important; -} - -.bg-youtube { - background-color: var(--tblr-youtube) !important; -} - -.bg-youtube-lt { - color: var(--tblr-youtube) !important; - background-color: rgba(var(--tblr-youtube-rgb), 0.1) !important; -} - -.bg-vimeo { - background-color: var(--tblr-vimeo) !important; -} - -.bg-vimeo-lt { - color: var(--tblr-vimeo) !important; - background-color: rgba(var(--tblr-vimeo-rgb), 0.1) !important; -} - -.bg-dribbble { - background-color: var(--tblr-dribbble) !important; -} - -.bg-dribbble-lt { - color: var(--tblr-dribbble) !important; - background-color: rgba(var(--tblr-dribbble-rgb), 0.1) !important; -} - -.bg-github { - background-color: var(--tblr-github) !important; -} - -.bg-github-lt { - color: var(--tblr-github) !important; - background-color: rgba(var(--tblr-github-rgb), 0.1) !important; -} - -.bg-instagram { - background-color: var(--tblr-instagram) !important; -} - -.bg-instagram-lt { - color: var(--tblr-instagram) !important; - background-color: rgba(var(--tblr-instagram-rgb), 0.1) !important; -} - -.bg-pinterest { - background-color: var(--tblr-pinterest) !important; -} - -.bg-pinterest-lt { - color: var(--tblr-pinterest) !important; - background-color: rgba(var(--tblr-pinterest-rgb), 0.1) !important; -} - -.bg-vk { - background-color: var(--tblr-vk) !important; -} - -.bg-vk-lt { - color: var(--tblr-vk) !important; - background-color: rgba(var(--tblr-vk-rgb), 0.1) !important; -} - -.bg-rss { - background-color: var(--tblr-rss) !important; -} - -.bg-rss-lt { - color: var(--tblr-rss) !important; - background-color: rgba(var(--tblr-rss-rgb), 0.1) !important; -} - -.bg-flickr { - background-color: var(--tblr-flickr) !important; -} - -.bg-flickr-lt { - color: var(--tblr-flickr) !important; - background-color: rgba(var(--tblr-flickr-rgb), 0.1) !important; -} - -.bg-bitbucket { - background-color: var(--tblr-bitbucket) !important; -} - -.bg-bitbucket-lt { - color: var(--tblr-bitbucket) !important; - background-color: rgba(var(--tblr-bitbucket-rgb), 0.1) !important; -} - -.bg-tabler { - background-color: var(--tblr-tabler) !important; -} - -.bg-tabler-lt { - color: var(--tblr-tabler) !important; - background-color: rgba(var(--tblr-tabler-rgb), 0.1) !important; -} - -.text-primary { - color: var(--tblr-primary) !important; -} - -.text-primary-fg { - color: var(--tblr-primary-fg) !important; -} - -.text-secondary { - color: var(--tblr-secondary) !important; -} - -.text-secondary-fg { - color: var(--tblr-secondary-fg) !important; -} - -.text-success { - color: var(--tblr-success) !important; -} - -.text-success-fg { - color: var(--tblr-success-fg) !important; -} - -.text-info { - color: var(--tblr-info) !important; -} - -.text-info-fg { - color: var(--tblr-info-fg) !important; -} - -.text-warning { - color: var(--tblr-warning) !important; -} - -.text-warning-fg { - color: var(--tblr-warning-fg) !important; -} - -.text-danger { - color: var(--tblr-danger) !important; -} - -.text-danger-fg { - color: var(--tblr-danger-fg) !important; -} - -.text-light { - color: var(--tblr-light) !important; -} - -.text-light-fg { - color: var(--tblr-light-fg) !important; -} - -.text-dark { - color: var(--tblr-dark) !important; -} - -.text-dark-fg { - color: var(--tblr-dark-fg) !important; -} - -.text-muted { - color: var(--tblr-muted) !important; -} - -.text-muted-fg { - color: var(--tblr-muted-fg) !important; -} - -.text-blue { - color: var(--tblr-blue) !important; -} - -.text-blue-fg { - color: var(--tblr-blue-fg) !important; -} - -.text-azure { - color: var(--tblr-azure) !important; -} - -.text-azure-fg { - color: var(--tblr-azure-fg) !important; -} - -.text-indigo { - color: var(--tblr-indigo) !important; -} - -.text-indigo-fg { - color: var(--tblr-indigo-fg) !important; -} - -.text-purple { - color: var(--tblr-purple) !important; -} - -.text-purple-fg { - color: var(--tblr-purple-fg) !important; -} - -.text-pink { - color: var(--tblr-pink) !important; -} - -.text-pink-fg { - color: var(--tblr-pink-fg) !important; -} - -.text-red { - color: var(--tblr-red) !important; -} - -.text-red-fg { - color: var(--tblr-red-fg) !important; -} - -.text-orange { - color: var(--tblr-orange) !important; -} - -.text-orange-fg { - color: var(--tblr-orange-fg) !important; -} - -.text-yellow { - color: var(--tblr-yellow) !important; -} - -.text-yellow-fg { - color: var(--tblr-yellow-fg) !important; -} - -.text-lime { - color: var(--tblr-lime) !important; -} - -.text-lime-fg { - color: var(--tblr-lime-fg) !important; -} - -.text-green { - color: var(--tblr-green) !important; -} - -.text-green-fg { - color: var(--tblr-green-fg) !important; -} - -.text-teal { - color: var(--tblr-teal) !important; -} - -.text-teal-fg { - color: var(--tblr-teal-fg) !important; -} - -.text-cyan { - color: var(--tblr-cyan) !important; -} - -.text-cyan-fg { - color: var(--tblr-cyan-fg) !important; -} - -.text-facebook { - color: var(--tblr-facebook) !important; -} - -.text-facebook-fg { - color: var(--tblr-facebook-fg) !important; -} - -.text-twitter { - color: var(--tblr-twitter) !important; -} - -.text-twitter-fg { - color: var(--tblr-twitter-fg) !important; -} - -.text-linkedin { - color: var(--tblr-linkedin) !important; -} - -.text-linkedin-fg { - color: var(--tblr-linkedin-fg) !important; -} - -.text-google { - color: var(--tblr-google) !important; -} - -.text-google-fg { - color: var(--tblr-google-fg) !important; -} - -.text-youtube { - color: var(--tblr-youtube) !important; -} - -.text-youtube-fg { - color: var(--tblr-youtube-fg) !important; -} - -.text-vimeo { - color: var(--tblr-vimeo) !important; -} - -.text-vimeo-fg { - color: var(--tblr-vimeo-fg) !important; -} - -.text-dribbble { - color: var(--tblr-dribbble) !important; -} - -.text-dribbble-fg { - color: var(--tblr-dribbble-fg) !important; -} - -.text-github { - color: var(--tblr-github) !important; -} - -.text-github-fg { - color: var(--tblr-github-fg) !important; -} - -.text-instagram { - color: var(--tblr-instagram) !important; -} - -.text-instagram-fg { - color: var(--tblr-instagram-fg) !important; -} - -.text-pinterest { - color: var(--tblr-pinterest) !important; -} - -.text-pinterest-fg { - color: var(--tblr-pinterest-fg) !important; -} - -.text-vk { - color: var(--tblr-vk) !important; -} - -.text-vk-fg { - color: var(--tblr-vk-fg) !important; -} - -.text-rss { - color: var(--tblr-rss) !important; -} - -.text-rss-fg { - color: var(--tblr-rss-fg) !important; -} - -.text-flickr { - color: var(--tblr-flickr) !important; -} - -.text-flickr-fg { - color: var(--tblr-flickr-fg) !important; -} - -.text-bitbucket { - color: var(--tblr-bitbucket) !important; -} - -.text-bitbucket-fg { - color: var(--tblr-bitbucket-fg) !important; -} - -.text-tabler { - color: var(--tblr-tabler) !important; -} - -.text-tabler-fg { - color: var(--tblr-tabler-fg) !important; -} - -.bg-gray-50 { - background-color: var(--tblr-gray-50) !important; -} - -.text-gray-50-fg { - color: #1d273b !important; -} - -.bg-gray-100 { - background-color: var(--tblr-gray-100) !important; -} - -.text-gray-100-fg { - color: #1d273b !important; -} - -.bg-gray-200 { - background-color: var(--tblr-gray-200) !important; -} - -.text-gray-200-fg { - color: #1d273b !important; -} - -.bg-gray-300 { - background-color: var(--tblr-gray-300) !important; -} - -.text-gray-300-fg { - color: #1d273b !important; -} - -.bg-gray-400 { - background-color: var(--tblr-gray-400) !important; -} - -.text-gray-400-fg { - color: #f8fafc !important; -} - -.bg-gray-500 { - background-color: var(--tblr-gray-500) !important; -} - -.text-gray-500-fg { - color: #f8fafc !important; -} - -.bg-gray-600 { - background-color: var(--tblr-gray-600) !important; -} - -.text-gray-600-fg { - color: #f8fafc !important; -} - -.bg-gray-700 { - background-color: var(--tblr-gray-700) !important; -} - -.text-gray-700-fg { - color: #f8fafc !important; -} - -.bg-gray-800 { - background-color: var(--tblr-gray-800) !important; -} - -.text-gray-800-fg { - color: #f8fafc !important; -} - -.bg-gray-900 { - background-color: var(--tblr-gray-900) !important; -} - -.text-gray-900-fg { - color: #f8fafc !important; -} - -/* -Scrollable -*/ -.scrollable { - overflow-x: hidden; - overflow-y: auto; - -webkit-overflow-scrolling: touch; -} -.scrollable.hover { - overflow-y: hidden; -} -.scrollable.hover > * { - margin-top: -1px; -} -.scrollable.hover:hover, .scrollable.hover:focus, .scrollable.hover:active { - overflow: visible; - overflow-y: auto; -} -.touch .scrollable { - overflow-y: auto !important; -} - -.scroll-x, -.scroll-y { - overflow: hidden; - -webkit-overflow-scrolling: touch; -} - -.scroll-y { - overflow-y: auto; -} - -.scroll-x { - overflow-x: auto; -} - -.no-scroll { - overflow: hidden; -} - -.w-0 { - width: 0 !important; -} - -.h-0 { - height: 0 !important; -} - -.w-1 { - width: 0.25rem !important; -} - -.h-1 { - height: 0.25rem !important; -} - -.w-2 { - width: 0.5rem !important; -} - -.h-2 { - height: 0.5rem !important; -} - -.w-3 { - width: 1rem !important; -} - -.h-3 { - height: 1rem !important; -} - -.w-4 { - width: 2rem !important; -} - -.h-4 { - height: 2rem !important; -} - -.w-5 { - width: 4rem !important; -} - -.h-5 { - height: 4rem !important; -} - -.w-auto { - width: auto !important; -} - -.h-auto { - height: auto !important; -} - -.w-px { - width: 1px !important; -} - -.h-px { - height: 1px !important; -} - -.w-full { - width: 100% !important; -} - -.h-full { - height: 100% !important; -} - -.opacity-0 { - opacity: 0 !important; -} - -.opacity-5 { - opacity: 0.05 !important; -} - -.opacity-10 { - opacity: 0.1 !important; -} - -.opacity-15 { - opacity: 0.15 !important; -} - -.opacity-20 { - opacity: 0.2 !important; -} - -.opacity-25 { - opacity: 0.25 !important; -} - -.opacity-30 { - opacity: 0.3 !important; -} - -.opacity-35 { - opacity: 0.35 !important; -} - -.opacity-40 { - opacity: 0.4 !important; -} - -.opacity-45 { - opacity: 0.45 !important; -} - -.opacity-50 { - opacity: 0.5 !important; -} - -.opacity-55 { - opacity: 0.55 !important; -} - -.opacity-60 { - opacity: 0.6 !important; -} - -.opacity-65 { - opacity: 0.65 !important; -} - -.opacity-70 { - opacity: 0.7 !important; -} - -.opacity-75 { - opacity: 0.75 !important; -} - -.opacity-80 { - opacity: 0.8 !important; -} - -.opacity-85 { - opacity: 0.85 !important; -} - -.opacity-90 { - opacity: 0.9 !important; -} - -.opacity-95 { - opacity: 0.95 !important; -} - -.opacity-100 { - opacity: 1 !important; -} - -.hover-shadow-sm:hover { - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; -} - -.hover-shadow:hover { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; -} - -.hover-shadow-lg:hover { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; -} - -.hover-shadow-none:hover { - box-shadow: none !important; -} - -/** -Antialiasing - */ -.antialiased { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.subpixel-antialiased { - -webkit-font-smoothing: auto; - -moz-osx-font-smoothing: auto; -} \ No newline at end of file diff --git a/demo/dist/css/tabler.min.css b/demo/dist/css/tabler.min.css deleted file mode 100644 index 3bf57e1f4..000000000 --- a/demo/dist/css/tabler.min.css +++ /dev/null @@ -1,14 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -@charset "UTF-8";:root{--tblr-blue:#206bc4;--tblr-indigo:#4263eb;--tblr-purple:#ae3ec9;--tblr-pink:#d6336c;--tblr-red:#d63939;--tblr-orange:#f76707;--tblr-yellow:#f59f00;--tblr-green:#2fb344;--tblr-teal:#0ca678;--tblr-cyan:#17a2b8;--tblr-black:#000000;--tblr-white:#ffffff;--tblr-gray:#49566c;--tblr-gray-dark:#1d273b;--tblr-gray-100:#f1f5f9;--tblr-gray-200:#e2e8f0;--tblr-gray-300:#c8d3e1;--tblr-gray-400:#9ba9be;--tblr-gray-500:#6c7a91;--tblr-gray-600:#49566c;--tblr-gray-700:#313c52;--tblr-gray-800:#1d273b;--tblr-gray-900:#0f172a;--tblr-primary:#206bc4;--tblr-secondary:#616876;--tblr-success:#2fb344;--tblr-info:#4299e1;--tblr-warning:#f76707;--tblr-danger:#d63939;--tblr-light:#f8fafc;--tblr-dark:#1d273b;--tblr-muted:#616876;--tblr-blue:#206bc4;--tblr-azure:#4299e1;--tblr-indigo:#4263eb;--tblr-purple:#ae3ec9;--tblr-pink:#d6336c;--tblr-red:#d63939;--tblr-orange:#f76707;--tblr-yellow:#f59f00;--tblr-lime:#74b816;--tblr-green:#2fb344;--tblr-teal:#0ca678;--tblr-cyan:#17a2b8;--tblr-facebook:#3b5998;--tblr-twitter:#1da1f2;--tblr-linkedin:#0a66c2;--tblr-google:#dc4e41;--tblr-youtube:#ff0000;--tblr-vimeo:#1ab7ea;--tblr-dribbble:#ea4c89;--tblr-github:#181717;--tblr-instagram:#e4405f;--tblr-pinterest:#bd081c;--tblr-vk:#6383a8;--tblr-rss:#ffa500;--tblr-flickr:#0063dc;--tblr-bitbucket:#0052cc;--tblr-tabler:#206bc4;--tblr-primary-rgb:32,107,196;--tblr-secondary-rgb:97,104,118;--tblr-success-rgb:47,179,68;--tblr-info-rgb:66,153,225;--tblr-warning-rgb:247,103,7;--tblr-danger-rgb:214,57,57;--tblr-light-rgb:248,250,252;--tblr-dark-rgb:29,39,59;--tblr-muted-rgb:97,104,118;--tblr-blue-rgb:32,107,196;--tblr-azure-rgb:66,153,225;--tblr-indigo-rgb:66,99,235;--tblr-purple-rgb:174,62,201;--tblr-pink-rgb:214,51,108;--tblr-red-rgb:214,57,57;--tblr-orange-rgb:247,103,7;--tblr-yellow-rgb:245,159,0;--tblr-lime-rgb:116,184,22;--tblr-green-rgb:47,179,68;--tblr-teal-rgb:12,166,120;--tblr-cyan-rgb:23,162,184;--tblr-facebook-rgb:59,89,152;--tblr-twitter-rgb:29,161,242;--tblr-linkedin-rgb:10,102,194;--tblr-google-rgb:220,78,65;--tblr-youtube-rgb:255,0,0;--tblr-vimeo-rgb:26,183,234;--tblr-dribbble-rgb:234,76,137;--tblr-github-rgb:24,23,23;--tblr-instagram-rgb:228,64,95;--tblr-pinterest-rgb:189,8,28;--tblr-vk-rgb:99,131,168;--tblr-rss-rgb:255,165,0;--tblr-flickr-rgb:0,99,220;--tblr-bitbucket-rgb:0,82,204;--tblr-tabler-rgb:32,107,196;--tblr-white-rgb:255,255,255;--tblr-black-rgb:0,0,0;--tblr-body-color-rgb:29,39,59;--tblr-body-bg-rgb:241,245,249;--tblr-font-sans-serif:-apple-system,BlinkMacSystemFont,San Francisco,Segoe UI,Roboto,Helvetica Neue,sans-serif;--tblr-font-monospace:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;--tblr-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--tblr-body-font-family:var(--tblr-font-sans-serif);--tblr-body-font-size:0.875rem;--tblr-body-font-weight:400;--tblr-body-line-height:1.4285714286;--tblr-body-color:#1d273b;--tblr-body-bg:#f1f5f9;--tblr-border-width:1px;--tblr-border-style:solid;--tblr-border-color:#e6e7e9;--tblr-border-color-translucent:rgba(97, 104, 118, 0.16);--tblr-border-radius:4px;--tblr-border-radius-sm:2px;--tblr-border-radius-lg:8px;--tblr-border-radius-xl:1rem;--tblr-border-radius-2xl:2rem;--tblr-border-radius-pill:100rem;--tblr-link-color:var(--tblr-primary);--tblr-link-hover-color:var(--tblr-primary-darken);--tblr-code-color:var(--tblr-gray-600);--tblr-highlight-bg:#fdeccc}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--tblr-body-font-family);font-size:var(--tblr-body-font-size);font-weight:var(--tblr-body-font-weight);line-height:var(--tblr-body-line-height);color:var(--tblr-body-color);text-align:var(--tblr-body-text-align);background-color:var(--tblr-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.hr,hr{margin:2rem 0;color:inherit;border:0;border-top:1px solid;opacity:.16}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:var(--tblr-font-weight-medium);line-height:1.2}.h1,h1{font-size:1.5rem}.h2,h2{font-size:1.25rem}.h3,h3{font-size:1rem}.h4,h4{font-size:.875rem}.h5,h5{font-size:.75rem}.h6,h6{font-size:.625rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:600}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:85.714285%}.mark,mark{padding:.1875em;background-color:var(--tblr-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--tblr-link-color);text-decoration:none}a:hover{color:var(--tblr-link-hover-color);text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--tblr-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:85.714285%;color:var(--tblr-light)}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:85.714285%;color:var(--tblr-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:2px .375rem;font-size:85.714285%;color:var(--tblr-muted);background-color:transparent;border-radius:2px}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#616876;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:.875rem;font-weight:var(--tblr-font-weight-normal)}.display-1{font-size:5rem;font-weight:300;line-height:1.2}.display-2{font-size:4.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}.display-5{font-size:3rem;font-weight:300;line-height:1.2}.display-6{font-size:2rem;font-weight:300;line-height:1.2}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:85.714285%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:.875rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:85.714285%;color:#49566c}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#f1f5f9;border:1px solid var(--tblr-border-color);border-radius:4px;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:85.714285%;color:#49566c}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--tblr-gutter-x:1.5rem;--tblr-gutter-y:0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--tblr-gutter-x:1rem;--tblr-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--tblr-gutter-y));margin-right:calc(-.5 * var(--tblr-gutter-x));margin-left:calc(-.5 * var(--tblr-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-top:var(--tblr-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--tblr-gutter-x:0}.g-0,.gy-0{--tblr-gutter-y:0}.g-1,.gx-1{--tblr-gutter-x:0.25rem}.g-1,.gy-1{--tblr-gutter-y:0.25rem}.g-2,.gx-2{--tblr-gutter-x:0.5rem}.g-2,.gy-2{--tblr-gutter-y:0.5rem}.g-3,.gx-3{--tblr-gutter-x:1rem}.g-3,.gy-3{--tblr-gutter-y:1rem}.g-4,.gx-4{--tblr-gutter-x:2rem}.g-4,.gy-4{--tblr-gutter-y:2rem}.g-5,.gx-5{--tblr-gutter-x:4rem}.g-5,.gy-5{--tblr-gutter-y:4rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--tblr-gutter-x:0}.g-sm-0,.gy-sm-0{--tblr-gutter-y:0}.g-sm-1,.gx-sm-1{--tblr-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--tblr-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--tblr-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--tblr-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--tblr-gutter-x:1rem}.g-sm-3,.gy-sm-3{--tblr-gutter-y:1rem}.g-sm-4,.gx-sm-4{--tblr-gutter-x:2rem}.g-sm-4,.gy-sm-4{--tblr-gutter-y:2rem}.g-sm-5,.gx-sm-5{--tblr-gutter-x:4rem}.g-sm-5,.gy-sm-5{--tblr-gutter-y:4rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--tblr-gutter-x:0}.g-md-0,.gy-md-0{--tblr-gutter-y:0}.g-md-1,.gx-md-1{--tblr-gutter-x:0.25rem}.g-md-1,.gy-md-1{--tblr-gutter-y:0.25rem}.g-md-2,.gx-md-2{--tblr-gutter-x:0.5rem}.g-md-2,.gy-md-2{--tblr-gutter-y:0.5rem}.g-md-3,.gx-md-3{--tblr-gutter-x:1rem}.g-md-3,.gy-md-3{--tblr-gutter-y:1rem}.g-md-4,.gx-md-4{--tblr-gutter-x:2rem}.g-md-4,.gy-md-4{--tblr-gutter-y:2rem}.g-md-5,.gx-md-5{--tblr-gutter-x:4rem}.g-md-5,.gy-md-5{--tblr-gutter-y:4rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--tblr-gutter-x:0}.g-lg-0,.gy-lg-0{--tblr-gutter-y:0}.g-lg-1,.gx-lg-1{--tblr-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--tblr-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--tblr-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--tblr-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--tblr-gutter-x:1rem}.g-lg-3,.gy-lg-3{--tblr-gutter-y:1rem}.g-lg-4,.gx-lg-4{--tblr-gutter-x:2rem}.g-lg-4,.gy-lg-4{--tblr-gutter-y:2rem}.g-lg-5,.gx-lg-5{--tblr-gutter-x:4rem}.g-lg-5,.gy-lg-5{--tblr-gutter-y:4rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--tblr-gutter-x:0}.g-xl-0,.gy-xl-0{--tblr-gutter-y:0}.g-xl-1,.gx-xl-1{--tblr-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--tblr-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--tblr-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--tblr-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--tblr-gutter-x:1rem}.g-xl-3,.gy-xl-3{--tblr-gutter-y:1rem}.g-xl-4,.gx-xl-4{--tblr-gutter-x:2rem}.g-xl-4,.gy-xl-4{--tblr-gutter-y:2rem}.g-xl-5,.gx-xl-5{--tblr-gutter-x:4rem}.g-xl-5,.gy-xl-5{--tblr-gutter-y:4rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--tblr-gutter-x:0}.g-xxl-0,.gy-xxl-0{--tblr-gutter-y:0}.g-xxl-1,.gx-xxl-1{--tblr-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--tblr-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--tblr-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--tblr-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--tblr-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--tblr-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--tblr-gutter-x:2rem}.g-xxl-4,.gy-xxl-4{--tblr-gutter-y:2rem}.g-xxl-5,.gx-xxl-5{--tblr-gutter-x:4rem}.g-xxl-5,.gy-xxl-5{--tblr-gutter-y:4rem}}.markdown>table,.table{--tblr-table-color:inherit;--tblr-table-bg:transparent;--tblr-table-border-color:var(--tblr-border-color-translucent);--tblr-table-accent-bg:transparent;--tblr-table-striped-color:inherit;--tblr-table-striped-bg:var(--tblr-bg-surface-secondary);--tblr-table-active-color:inherit;--tblr-table-active-bg:rgba(0, 0, 0, 0.1);--tblr-table-hover-color:inherit;--tblr-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--tblr-table-color);vertical-align:top;border-color:var(--tblr-table-border-color)}.markdown>table>:not(caption)>*>*,.table>:not(caption)>*>*{padding:.75rem .75rem;background-color:var(--tblr-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--tblr-table-accent-bg)}.markdown>table>tbody,.table>tbody{vertical-align:inherit}.markdown>table>thead,.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid var(--tblr-border-color-translucent)}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.markdown>table>:not(caption)>*,.table-bordered>:not(caption)>*{border-width:1px 0}.markdown>table>:not(caption)>*>*,.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(even)>*{--tblr-table-accent-bg:var(--tblr-table-striped-bg);color:var(--tblr-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--tblr-table-accent-bg:var(--tblr-table-striped-bg);color:var(--tblr-table-striped-color)}.table-active{--tblr-table-accent-bg:var(--tblr-table-active-bg);color:var(--tblr-table-active-color)}.table-hover>tbody>tr:hover>*{--tblr-table-accent-bg:var(--tblr-table-hover-bg);color:var(--tblr-table-hover-color)}.table-primary{--tblr-table-color:#1d273b;--tblr-table-bg:#d2e1f3;--tblr-table-border-color:#c0cee1;--tblr-table-striped-bg:#c9d8ea;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#c0cee1;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#c4d3e5;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-secondary{--tblr-table-color:#1d273b;--tblr-table-bg:#dfe1e4;--tblr-table-border-color:#ccced3;--tblr-table-striped-bg:#d5d8dc;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#ccced3;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#d0d3d7;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-success{--tblr-table-color:#1d273b;--tblr-table-bg:#d5f0da;--tblr-table-border-color:#c3dcca;--tblr-table-striped-bg:#cce6d2;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#c3dcca;--tblr-table-active-color:#1d273b;--tblr-table-hover-bg:#c7e1ce;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-info{--tblr-table-color:#1d273b;--tblr-table-bg:#d9ebf9;--tblr-table-border-color:#c6d7e6;--tblr-table-striped-bg:#d0e1f0;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#c6d7e6;--tblr-table-active-color:#1d273b;--tblr-table-hover-bg:#cbdceb;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-warning{--tblr-table-color:#1d273b;--tblr-table-bg:#fde1cd;--tblr-table-border-color:#e7cebe;--tblr-table-striped-bg:#f2d8c6;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#e7cebe;--tblr-table-active-color:#1d273b;--tblr-table-hover-bg:#ecd3c2;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-danger{--tblr-table-color:#1d273b;--tblr-table-bg:#f7d7d7;--tblr-table-border-color:#e1c5c7;--tblr-table-striped-bg:#eccecf;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#e1c5c7;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#e7cacb;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-light{--tblr-table-color:#1d273b;--tblr-table-bg:#f8fafc;--tblr-table-border-color:#e2e5e9;--tblr-table-striped-bg:#edeff2;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#e2e5e9;--tblr-table-active-color:#1d273b;--tblr-table-hover-bg:#e8eaee;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-dark{--tblr-table-color:#f8fafc;--tblr-table-bg:#1d273b;--tblr-table-border-color:#333c4e;--tblr-table-striped-bg:#283245;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#333c4e;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#2d3749;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem;font-size:.875rem;font-weight:var(--tblr-font-weight-medium)}.col-form-label{padding-top:calc(.4375rem + 1px);padding-bottom:calc(.4375rem + 1px);margin-bottom:0;font-size:inherit;font-weight:var(--tblr-font-weight-medium);line-height:1.4285714286}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.125rem + 1px);padding-bottom:calc(.125rem + 1px);font-size:.75rem}.form-text{margin-top:.25rem;font-size:85.714285%;color:#616876}.form-control{display:block;width:100%;padding:.4375rem .75rem;font-family:var(--tblr-font-sans-serif);font-size:.875rem;font-weight:400;line-height:1.4285714286;color:inherit;background-color:var(--tblr-bg-forms);background-clip:padding-box;border:1px solid var(--tblr-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--tblr-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:inherit;background-color:var(--tblr-bg-forms);border-color:#90b5e2;outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-control::-webkit-date-and-time-value{height:1.4285714286em}.form-control::-webkit-input-placeholder{color:#a5a9b1;opacity:1}.form-control::-moz-placeholder{color:#a5a9b1;opacity:1}.form-control:-ms-input-placeholder{color:#a5a9b1;opacity:1}.form-control::-ms-input-placeholder{color:#a5a9b1;opacity:1}.form-control::placeholder{color:#a5a9b1;opacity:1}.form-control:disabled{background-color:var(--tblr-gray-100);opacity:1}.form-control::-webkit-file-upload-button{padding:.4375rem .75rem;margin:-.4375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:inherit;background-color:#f8fafc;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.4375rem .75rem;margin:-.4375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:inherit;background-color:#f8fafc;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#eceeef}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#eceeef}.form-control-plaintext{display:block;width:100%;padding:.4375rem 0;margin-bottom:0;line-height:1.4285714286;color:#1d273b;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.4285714286em + .25rem + 2px);padding:.125rem .5rem;font-size:.75rem;border-radius:2px}.form-control-sm::-webkit-file-upload-button{padding:.125rem .5rem;margin:-.125rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.125rem .5rem;margin:-.125rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.4285714286em + 1rem + 2px);padding:.5rem 1.5rem;font-size:1.25rem;border-radius:8px}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1.5rem;margin:-.5rem -1.5rem;-webkit-margin-end:1.5rem;margin-inline-end:1.5rem}.form-control-lg::file-selector-button{padding:.5rem 1.5rem;margin:-.5rem -1.5rem;-webkit-margin-end:1.5rem;margin-inline-end:1.5rem}textarea.form-control{min-height:calc(1.4285714286em + .875rem + 2px)}textarea.form-control-sm{min-height:calc(1.4285714286em + .25rem + 2px)}textarea.form-control-lg{min-height:calc(1.4285714286em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.4285714286em + .875rem + 2px);padding:.4375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--tblr-border-radius)}.form-control-color::-webkit-color-swatch{border-radius:var(--tblr-border-radius)}.form-control-color.form-control-sm{height:calc(1.4285714286em + .25rem + 2px)}.form-control-color.form-control-lg{height:calc(1.4285714286em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.4375rem 2.25rem .4375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-family:var(--tblr-font-sans-serif);font-size:.875rem;font-weight:400;line-height:1.4285714286;color:inherit;background-color:var(--tblr-bg-forms);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#90b5e2;outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e2e8f0}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 inherit}.form-select-sm{padding-top:.125rem;padding-bottom:.125rem;padding-left:.5rem;font-size:.75rem;border-radius:2px}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1.5rem;font-size:1.25rem;border-radius:8px}.form-check{display:block;min-height:1.25rem;padding-left:1.5rem;margin-bottom:.5rem}.form-check .form-check-input{float:left;margin-left:-1.5rem}.form-check-reverse{padding-right:1.5rem;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5rem;margin-left:0}.form-check-input{width:1rem;height:1rem;margin-top:.2142857143rem;vertical-align:top;background-color:var(--tblr-bg-forms);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:var(--tblr-border-radius)}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#90b5e2;outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-check-input:checked{background-color:var(--tblr-primary);border-color:var(--tblr-border-color-translucent)}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#206bc4;border-color:#206bc4;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.7}.form-switch{padding-left:2.5rem}.form-switch .form-check-input{width:2rem;margin-left:-2.5rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23e6e7e9'/%3e%3c/svg%3e");background-position:left center;border-radius:2rem;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2390b5e2'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5rem;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5rem;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.4}.form-range{width:100%;height:1.25rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f1f5f9,0 0 0 .25rem rgba(32,107,196,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f1f5f9,0 0 0 .25rem rgba(32,107,196,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.375rem;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #fff;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#bcd3ed}.form-range::-webkit-slider-runnable-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #fff;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#bcd3ed}.form-range::-moz-range-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#6c7a91}.form-range:disabled::-moz-range-thumb{background-color:#6c7a91}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-webkit-input-placeholder,.form-floating>.form-control::-webkit-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext:-ms-input-placeholder,.form-floating>.form-control:-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::-ms-input-placeholder,.form-floating>.form-control::-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:not(:-ms-input-placeholder),.form-floating>.form-control:not(:-ms-input-placeholder){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.4375rem .75rem;font-size:.875rem;font-weight:400;line-height:1.4285714286;color:var(--tblr-muted);text-align:center;white-space:nowrap;background-color:#f8fafc;border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1.5rem;font-size:1.25rem;border-radius:8px}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.125rem .5rem;font-size:.75rem;border-radius:2px}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:85.714285%;color:#2fb344}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.765625rem;color:#f8fafc;background-color:rgba(47,179,68,.9);border-radius:4px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#2fb344;padding-right:calc(1.4285714286em + .875rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#2fb344;box-shadow:0 0 0 .25rem rgba(47,179,68,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.4285714286em + .875rem);background-position:top calc(.3571428572em + .21875rem) right calc(.3571428572em + .21875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#2fb344}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#2fb344;box-shadow:0 0 0 .25rem rgba(47,179,68,.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.4285714286em + .875rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#2fb344}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#2fb344}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(47,179,68,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#2fb344}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:85.714285%;color:#d63939}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.765625rem;color:#f8fafc;background-color:rgba(214,57,57,.9);border-radius:4px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#d63939;padding-right:calc(1.4285714286em + .875rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#d63939;box-shadow:0 0 0 .25rem rgba(214,57,57,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.4285714286em + .875rem);background-position:top calc(.3571428572em + .21875rem) right calc(.3571428572em + .21875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#d63939}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#d63939;box-shadow:0 0 0 .25rem rgba(214,57,57,.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.4285714286em + .875rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#d63939}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#d63939}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(214,57,57,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#d63939}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--tblr-btn-padding-x:1rem;--tblr-btn-padding-y:0.4375rem;--tblr-btn-font-family:var(--tblr-font-sans-serif);--tblr-btn-font-size:0.875rem;--tblr-btn-font-weight:var(--tblr-font-weight-medium);--tblr-btn-line-height:1.4285714286;--tblr-btn-color:#1d273b;--tblr-btn-bg:transparent;--tblr-btn-border-width:1px;--tblr-btn-border-color:transparent;--tblr-btn-border-radius:var(--tblr-border-radius);--tblr-btn-hover-border-color:transparent;--tblr-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--tblr-btn-disabled-opacity:0.4;--tblr-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--tblr-btn-padding-y) var(--tblr-btn-padding-x);font-family:var(--tblr-btn-font-family);font-size:var(--tblr-btn-font-size);font-weight:var(--tblr-btn-font-weight);line-height:var(--tblr-btn-line-height);color:var(--tblr-btn-color);text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-btn-border-width) solid var(--tblr-btn-border-color);border-radius:var(--tblr-btn-border-radius);background-color:var(--tblr-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--tblr-btn-hover-color);text-decoration:none;background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--tblr-btn-color);background-color:var(--tblr-btn-bg);border-color:var(--tblr-btn-border-color)}.btn:focus-visible{color:var(--tblr-btn-hover-color);background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--tblr-btn-active-color);background-color:var(--tblr-btn-active-bg);border-color:var(--tblr-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--tblr-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--tblr-btn-disabled-color);pointer-events:none;background-color:var(--tblr-btn-disabled-bg);border-color:var(--tblr-btn-disabled-border-color);opacity:var(--tblr-btn-disabled-opacity)}.btn-link{--tblr-btn-font-weight:400;--tblr-btn-color:var(--tblr-link-color);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-link-hover-color);--tblr-btn-hover-border-color:transparent;--tblr-btn-active-color:var(--tblr-link-hover-color);--tblr-btn-active-border-color:transparent;--tblr-btn-disabled-color:#49566c;--tblr-btn-disabled-border-color:transparent;--tblr-btn-box-shadow:none;--tblr-btn-focus-shadow-rgb:64,128,204;text-decoration:none}.btn-link:focus-visible,.btn-link:hover{text-decoration:underline}.btn-link:focus-visible{color:var(--tblr-btn-color)}.btn-link:hover{color:var(--tblr-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--tblr-btn-padding-y:0.5rem;--tblr-btn-padding-x:1.5rem;--tblr-btn-font-size:1.25rem;--tblr-btn-border-radius:8px}.btn-group-sm>.btn,.btn-sm{--tblr-btn-padding-y:0.125rem;--tblr-btn-padding-x:0.5rem;--tblr-btn-font-size:0.75rem;--tblr-btn-border-radius:2px}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px solid;border-left:1px solid;margin-right:.1em;margin-left:.4em;transform:rotate(-45deg)}.dropdown-menu{--tblr-dropdown-zindex:1000;--tblr-dropdown-min-width:11rem;--tblr-dropdown-padding-x:0;--tblr-dropdown-padding-y:0.25rem;--tblr-dropdown-spacer:1px;--tblr-dropdown-font-size:0.875rem;--tblr-dropdown-color:#1d273b;--tblr-dropdown-bg:#ffffff;--tblr-dropdown-border-color:var(--tblr-border-color-translucent);--tblr-dropdown-border-radius:4px;--tblr-dropdown-border-width:1px;--tblr-dropdown-inner-border-radius:3px;--tblr-dropdown-divider-bg:var(--tblr-border-color-translucent);--tblr-dropdown-divider-margin-y:0.5rem;--tblr-dropdown-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--tblr-dropdown-link-color:inherit;--tblr-dropdown-link-hover-color:inherit;--tblr-dropdown-link-hover-bg:rgba(var(--tblr-muted-rgb), 0.04);--tblr-dropdown-link-active-color:var(--tblr-primary);--tblr-dropdown-link-active-bg:var(--tblr-active-bg);--tblr-dropdown-link-disabled-color:#6c7a91;--tblr-dropdown-item-padding-x:0.75rem;--tblr-dropdown-item-padding-y:0.5rem;--tblr-dropdown-header-color:#49566c;--tblr-dropdown-header-padding-x:0.75rem;--tblr-dropdown-header-padding-y:0.25rem;position:absolute;z-index:var(--tblr-dropdown-zindex);display:none;min-width:var(--tblr-dropdown-min-width);padding:var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x);margin:0;font-size:var(--tblr-dropdown-font-size);color:var(--tblr-dropdown-color);text-align:left;list-style:none;background-color:var(--tblr-dropdown-bg);background-clip:padding-box;border:var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color);border-radius:var(--tblr-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--tblr-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--tblr-dropdown-spacer)}.dropup .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px solid;border-left:1px solid;margin-right:.1em;margin-left:.4em;transform:rotate(135deg)}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--tblr-dropdown-spacer)}.dropend .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px solid;border-left:1px solid;margin-right:.1em;margin-left:.4em;transform:rotate(-135deg)}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--tblr-dropdown-spacer)}.dropstart .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px solid;border-left:1px solid;margin-right:.1em;margin-left:.4em;transform:rotate(45deg)}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--tblr-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--tblr-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--tblr-dropdown-link-color);text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:var(--tblr-dropdown-link-hover-color);text-decoration:none;background-color:var(--tblr-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--tblr-dropdown-link-active-color);text-decoration:none;background-color:var(--tblr-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--tblr-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x);margin-bottom:0;font-size:.765625rem;color:var(--tblr-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);color:var(--tblr-dropdown-link-color)}.dropdown-menu-dark{--tblr-dropdown-color:#c8d3e1;--tblr-dropdown-bg:#1d273b;--tblr-dropdown-border-color:var(--tblr-border-color-translucent);--tblr-dropdown-link-color:#c8d3e1;--tblr-dropdown-link-hover-color:#ffffff;--tblr-dropdown-divider-bg:var(--tblr-border-color-translucent);--tblr-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--tblr-dropdown-link-active-color:var(--tblr-primary);--tblr-dropdown-link-active-bg:var(--tblr-active-bg);--tblr-dropdown-link-disabled-color:#6c7a91;--tblr-dropdown-header-color:#6c7a91}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--tblr-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--tblr-nav-link-padding-x:0.75rem;--tblr-nav-link-padding-y:0.5rem;--tblr-nav-link-color:var(--tblr-muted);--tblr-nav-link-hover-color:var(--tblr-link-hover-color);--tblr-nav-link-disabled-color:var(--tblr-disabled-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x);font-size:var(--tblr-nav-link-font-size);font-weight:var(--tblr-nav-link-font-weight);color:var(--tblr-nav-link-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--tblr-nav-link-hover-color);text-decoration:none}.nav-link.disabled{color:var(--tblr-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--tblr-nav-tabs-border-width:1px;--tblr-nav-tabs-border-color:var(--tblr-border-color);--tblr-nav-tabs-border-radius:var(--tblr-border-radius);--tblr-nav-tabs-link-hover-border-color:var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);--tblr-nav-tabs-link-active-color:var(--tblr-body-color);--tblr-nav-tabs-link-active-bg:#f1f5f9;--tblr-nav-tabs-link-active-border-color:var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);border-bottom:var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--tblr-nav-tabs-border-width));background:0 0;border:var(--tblr-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--tblr-nav-tabs-border-radius);border-top-right-radius:var(--tblr-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--tblr-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--tblr-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--tblr-nav-tabs-link-active-color);background-color:var(--tblr-nav-tabs-link-active-bg);border-color:var(--tblr-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--tblr-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--tblr-nav-pills-border-radius:4px;--tblr-nav-pills-link-active-color:var(--tblr-primary);--tblr-nav-pills-link-active-bg:var(--tblr-active-bg)}.nav-pills .nav-link{background:0 0;border:0;border-radius:var(--tblr-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--tblr-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--tblr-nav-pills-link-active-color);background-color:var(--tblr-nav-pills-link-active-bg)}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--tblr-navbar-padding-x:0;--tblr-navbar-padding-y:0.25rem;--tblr-navbar-color:var(--tblr-body-color);--tblr-navbar-hover-color:rgba(0, 0, 0, 0.7);--tblr-navbar-disabled-color:var(--tblr-disabled-color);--tblr-navbar-active-color:var(--tblr-body-color) color;--tblr-navbar-brand-padding-y:0.5rem;--tblr-navbar-brand-margin-end:1rem;--tblr-navbar-brand-font-size:1rem;--tblr-navbar-brand-color:var(--tblr-body-color);--tblr-navbar-brand-hover-color:var(--tblr-body-color) color;--tblr-navbar-nav-link-padding-x:0.75rem;--tblr-navbar-toggler-padding-y:0;--tblr-navbar-toggler-padding-x:0;--tblr-navbar-toggler-font-size:1rem;--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='var%28--tblr-body-color%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--tblr-navbar-toggler-border-color:rgba(0, 0, 0, 0.1);--tblr-navbar-toggler-border-radius:var(--tblr-border-radius);--tblr-navbar-toggler-focus-width:0;--tblr-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--tblr-navbar-brand-padding-y);padding-bottom:var(--tblr-navbar-brand-padding-y);margin-right:var(--tblr-navbar-brand-margin-end);font-size:var(--tblr-navbar-brand-font-size);color:var(--tblr-navbar-brand-color);white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--tblr-navbar-brand-hover-color);text-decoration:none}.navbar-nav{--tblr-nav-link-padding-x:0;--tblr-nav-link-padding-y:0.5rem;--tblr-nav-link-color:var(--tblr-navbar-color);--tblr-nav-link-hover-color:var(--tblr-navbar-hover-color);--tblr-nav-link-disabled-color:var(--tblr-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link{color:var(--tblr-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--tblr-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--tblr-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x);font-size:var(--tblr-navbar-toggler-font-size);line-height:1;color:var(--tblr-navbar-color);background-color:transparent;border:var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color);border-radius:var(--tblr-navbar-toggler-border-radius);transition:var(--tblr-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--tblr-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--tblr-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--tblr-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--tblr-navbar-nav-link-padding-x);padding-left:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark{--tblr-navbar-color:rgba(255, 255, 255, 0.7);--tblr-navbar-hover-color:rgba(255, 255, 255, 0.75);--tblr-navbar-disabled-color:var(--tblr-disabled-color);--tblr-navbar-active-color:#ffffff;--tblr-navbar-brand-color:#ffffff;--tblr-navbar-brand-hover-color:#ffffff;--tblr-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--tblr-card-spacer-y:1rem;--tblr-card-spacer-x:1.5rem;--tblr-card-title-spacer-y:1.25rem;--tblr-card-border-width:var(--tblr-border-width);--tblr-card-border-color:var(--tblr-border-color);--tblr-card-border-radius:var(--tblr-border-radius);--tblr-card-box-shadow:var(--tblr-shadow-card);--tblr-card-inner-border-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));--tblr-card-cap-padding-y:1rem;--tblr-card-cap-padding-x:1.5rem;--tblr-card-cap-bg:var(--tblr-bg-surface-secondary);--tblr-card-cap-color:inherit;--tblr-card-color:inherit;--tblr-card-bg:var(--tblr-bg-surface);--tblr-card-img-overlay-padding:1rem;--tblr-card-group-margin:1.5rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--tblr-card-height);word-wrap:break-word;background-color:var(--tblr-card-bg);background-clip:border-box;border:var(--tblr-card-border-width) solid var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius)}.card>.hr,.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--tblr-card-inner-border-radius);border-top-right-radius:var(--tblr-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--tblr-card-inner-border-radius);border-bottom-left-radius:var(--tblr-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--tblr-card-spacer-y) var(--tblr-card-spacer-x);color:var(--tblr-card-color)}.card-title{margin-bottom:var(--tblr-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--tblr-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:var(--tblr-card-spacer-x)}.card-header{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);margin-bottom:0;color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-bottom:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-header:first-child{border-radius:var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0}.card-footer{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-top:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--tblr-card-cap-padding-x));margin-bottom:calc(-1 * var(--tblr-card-cap-padding-y));margin-left:calc(-.5 * var(--tblr-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--tblr-card-bg);border-bottom-color:var(--tblr-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--tblr-card-cap-padding-x));margin-left:calc(-.5 * var(--tblr-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--tblr-card-img-overlay-padding);border-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--tblr-card-inner-border-radius);border-top-right-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--tblr-card-inner-border-radius);border-bottom-left-radius:var(--tblr-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--tblr-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--tblr-accordion-color:var(--tblr-body-color);--tblr-accordion-bg:transparent;--tblr-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--tblr-accordion-border-color:var(--tblr-border-color-translucent);--tblr-accordion-border-width:1px;--tblr-accordion-border-radius:4px;--tblr-accordion-inner-border-radius:3px;--tblr-accordion-btn-padding-x:1.25rem;--tblr-accordion-btn-padding-y:1rem;--tblr-accordion-btn-color:var(--tblr-body-color);--tblr-accordion-btn-bg:transparent;--tblr-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--tblr-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-icon-width:1rem;--tblr-accordion-btn-icon-transform:rotate(-180deg);--tblr-accordion-btn-icon-transition:transform 0.2s ease-in-out;--tblr-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='inherit'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-focus-border-color:var(--tblr-border-color-translucent);--tblr-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(32, 107, 196, 0.25);--tblr-accordion-body-padding-x:1.25rem;--tblr-accordion-body-padding-y:1rem;--tblr-accordion-active-color:inherit;--tblr-accordion-active-bg:transparent}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-btn-padding-x);font-size:.875rem;color:var(--tblr-accordion-btn-color);text-align:left;background-color:var(--tblr-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--tblr-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--tblr-accordion-active-color);background-color:var(--tblr-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--tblr-accordion-border-width)) 0 var(--tblr-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--tblr-accordion-btn-active-icon);transform:var(--tblr-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--tblr-accordion-btn-icon-width);height:var(--tblr-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--tblr-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--tblr-accordion-btn-icon-width);transition:var(--tblr-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--tblr-accordion-btn-focus-border-color);outline:0;box-shadow:var(--tblr-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--tblr-accordion-color);background-color:var(--tblr-accordion-bg);border:var(--tblr-accordion-border-width) solid var(--tblr-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--tblr-accordion-border-radius);border-top-right-radius:var(--tblr-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--tblr-accordion-inner-border-radius);border-top-right-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--tblr-accordion-border-radius);border-bottom-left-radius:var(--tblr-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--tblr-accordion-inner-border-radius);border-bottom-left-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--tblr-accordion-border-radius);border-bottom-left-radius:var(--tblr-accordion-border-radius)}.accordion-body{padding:var(--tblr-accordion-body-padding-y) var(--tblr-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--tblr-breadcrumb-padding-x:0;--tblr-breadcrumb-padding-y:0;--tblr-breadcrumb-margin-bottom:1rem;--tblr-breadcrumb-divider-color:var(--tblr-muted);--tblr-breadcrumb-item-padding-x:0.5rem;--tblr-breadcrumb-item-active-color:inherit;display:flex;flex-wrap:wrap;padding:var(--tblr-breadcrumb-padding-y) var(--tblr-breadcrumb-padding-x);margin-bottom:var(--tblr-breadcrumb-margin-bottom);font-size:var(--tblr-breadcrumb-font-size);list-style:none;background-color:var(--tblr-breadcrumb-bg);border-radius:var(--tblr-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--tblr-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--tblr-breadcrumb-item-padding-x);color:var(--tblr-breadcrumb-divider-color);content:var(--tblr-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--tblr-breadcrumb-item-active-color)}.pagination{--tblr-pagination-padding-x:0.25rem;--tblr-pagination-padding-y:0.25rem;--tblr-pagination-font-size:0.875rem;--tblr-pagination-color:var(--tblr-muted);--tblr-pagination-bg:transparent;--tblr-pagination-border-width:0;--tblr-pagination-border-color:#c8d3e1;--tblr-pagination-border-radius:4px;--tblr-pagination-hover-color:var(--tblr-link-hover-color);--tblr-pagination-hover-bg:#e2e8f0;--tblr-pagination-hover-border-color:#c8d3e1;--tblr-pagination-focus-color:var(--tblr-link-hover-color);--tblr-pagination-focus-bg:#e2e8f0;--tblr-pagination-focus-box-shadow:0 0 0 0.25rem rgba(32, 107, 196, 0.25);--tblr-pagination-active-color:#ffffff;--tblr-pagination-active-bg:var(--tblr-primary);--tblr-pagination-active-border-color:var(--tblr-primary);--tblr-pagination-disabled-color:var(--tblr-disabled-color);--tblr-pagination-disabled-bg:transparent;--tblr-pagination-disabled-border-color:#c8d3e1;display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x);font-size:var(--tblr-pagination-font-size);color:var(--tblr-pagination-color);background-color:var(--tblr-pagination-bg);border:var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--tblr-pagination-hover-color);text-decoration:none;background-color:var(--tblr-pagination-hover-bg);border-color:var(--tblr-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--tblr-pagination-focus-color);background-color:var(--tblr-pagination-focus-bg);outline:0;box-shadow:var(--tblr-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--tblr-pagination-active-color);background-color:var(--tblr-pagination-active-bg);border-color:var(--tblr-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--tblr-pagination-disabled-color);pointer-events:none;background-color:var(--tblr-pagination-disabled-bg);border-color:var(--tblr-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:0}.page-item:first-child .page-link{border-top-left-radius:var(--tblr-pagination-border-radius);border-bottom-left-radius:var(--tblr-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--tblr-pagination-border-radius);border-bottom-right-radius:var(--tblr-pagination-border-radius)}.pagination-lg{--tblr-pagination-padding-x:1.5rem;--tblr-pagination-padding-y:0.75rem;--tblr-pagination-font-size:1.09375rem;--tblr-pagination-border-radius:8px}.pagination-sm{--tblr-pagination-padding-x:0.5rem;--tblr-pagination-padding-y:0.25rem;--tblr-pagination-font-size:0.765625rem;--tblr-pagination-border-radius:2px}.badge{--tblr-badge-padding-x:0.5em;--tblr-badge-padding-y:0.25em;--tblr-badge-font-size:85.714285%;--tblr-badge-font-weight:var(--tblr-font-weight-medium);--tblr-badge-color:#ffffff;--tblr-badge-border-radius:4px;display:inline-block;padding:var(--tblr-badge-padding-y) var(--tblr-badge-padding-x);font-size:var(--tblr-badge-font-size);font-weight:var(--tblr-badge-font-weight);line-height:1;color:var(--tblr-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--tblr-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--tblr-alert-bg:transparent;--tblr-alert-padding-x:1rem;--tblr-alert-padding-y:1rem;--tblr-alert-margin-bottom:1rem;--tblr-alert-color:inherit;--tblr-alert-border-color:transparent;--tblr-alert-border:1px solid var(--tblr-alert-border-color);--tblr-alert-border-radius:4px;position:relative;padding:var(--tblr-alert-padding-y) var(--tblr-alert-padding-x);margin-bottom:var(--tblr-alert-margin-bottom);color:var(--tblr-alert-color);background-color:var(--tblr-alert-bg);border:var(--tblr-alert-border);border-radius:var(--tblr-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:var(--tblr-font-weight-bold)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:.5rem}}@keyframes progress-bar-stripes{0%{background-position-x:.5rem}}.progress{--tblr-progress-height:0.5rem;--tblr-progress-font-size:0.65625rem;--tblr-progress-bg:var(--tblr-border-color);--tblr-progress-border-radius:var(--tblr-border-radius);--tblr-progress-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.075);--tblr-progress-bar-color:#ffffff;--tblr-progress-bar-bg:var(--tblr-primary);--tblr-progress-bar-transition:width 0.6s ease;display:flex;height:var(--tblr-progress-height);overflow:hidden;font-size:var(--tblr-progress-font-size);background-color:var(--tblr-progress-bg);border-radius:var(--tblr-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--tblr-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--tblr-progress-bar-bg);transition:var(--tblr-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--tblr-progress-height) var(--tblr-progress-height)}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{--tblr-list-group-color:#0f172a;--tblr-list-group-bg:inherit;--tblr-list-group-border-color:var(--tblr-border-color);--tblr-list-group-border-width:1px;--tblr-list-group-border-radius:4px;--tblr-list-group-item-padding-x:1.5rem;--tblr-list-group-item-padding-y:1rem;--tblr-list-group-action-color:inherit;--tblr-list-group-action-hover-color:inherit;--tblr-list-group-action-hover-bg:rgba(var(--tblr-muted-rgb), 0.04);--tblr-list-group-action-active-color:#1d273b;--tblr-list-group-action-active-bg:#e2e8f0;--tblr-list-group-disabled-color:#49566c;--tblr-list-group-disabled-bg:inherit;--tblr-list-group-active-color:inherit;--tblr-list-group-active-bg:var(--tblr-active-bg);--tblr-list-group-active-border-color:var(--tblr-border-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--tblr-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--tblr-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--tblr-list-group-action-hover-color);text-decoration:none;background-color:var(--tblr-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--tblr-list-group-action-active-color);background-color:var(--tblr-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x);color:var(--tblr-list-group-color);background-color:var(--tblr-list-group-bg);border:var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--tblr-list-group-disabled-color);pointer-events:none;background-color:var(--tblr-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--tblr-list-group-active-color);background-color:var(--tblr-list-group-active-bg);border-color:var(--tblr-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--tblr-list-group-border-width));border-top-width:var(--tblr-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--tblr-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--tblr-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--tblr-list-group-border-width));border-left-width:var(--tblr-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--tblr-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#134076;background-color:#d2e1f3}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#134076;background-color:#bdcbdb}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#134076;border-color:#134076}.list-group-item-secondary{color:#3a3e47;background-color:#dfe1e4}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#3a3e47;background-color:#c9cbcd}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#3a3e47;border-color:#3a3e47}.list-group-item-success{color:#1c6b29;background-color:#d5f0da}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#1c6b29;background-color:#c0d8c4}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#1c6b29;border-color:#1c6b29}.list-group-item-info{color:#285c87;background-color:#d9ebf9}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#285c87;background-color:#c3d4e0}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#285c87;border-color:#285c87}.list-group-item-warning{color:#943e04;background-color:#fde1cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#943e04;background-color:#e4cbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#943e04;border-color:#943e04}.list-group-item-danger{color:#802222;background-color:#f7d7d7}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#802222;background-color:#dec2c2}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#802222;border-color:#802222}.list-group-item-light{color:#959697;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#959697;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#959697;border-color:#959697}.list-group-item-dark{color:#111723;background-color:#d2d4d8}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#111723;background-color:#bdbfc2}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#111723;border-color:#111723}.list-group-item-muted{color:#3a3e47;background-color:#dfe1e4}.list-group-item-muted.list-group-item-action:focus,.list-group-item-muted.list-group-item-action:hover{color:#3a3e47;background-color:#c9cbcd}.list-group-item-muted.list-group-item-action.active{color:#fff;background-color:#3a3e47;border-color:#3a3e47}.list-group-item-blue{color:#134076;background-color:#d2e1f3}.list-group-item-blue.list-group-item-action:focus,.list-group-item-blue.list-group-item-action:hover{color:#134076;background-color:#bdcbdb}.list-group-item-blue.list-group-item-action.active{color:#fff;background-color:#134076;border-color:#134076}.list-group-item-azure{color:#285c87;background-color:#d9ebf9}.list-group-item-azure.list-group-item-action:focus,.list-group-item-azure.list-group-item-action:hover{color:#285c87;background-color:#c3d4e0}.list-group-item-azure.list-group-item-action.active{color:#fff;background-color:#285c87;border-color:#285c87}.list-group-item-indigo{color:#283b8d;background-color:#d9e0fb}.list-group-item-indigo.list-group-item-action:focus,.list-group-item-indigo.list-group-item-action:hover{color:#283b8d;background-color:#c3cae2}.list-group-item-indigo.list-group-item-action.active{color:#fff;background-color:#283b8d;border-color:#283b8d}.list-group-item-purple{color:#682579;background-color:#efd8f4}.list-group-item-purple.list-group-item-action:focus,.list-group-item-purple.list-group-item-action:hover{color:#682579;background-color:#d7c2dc}.list-group-item-purple.list-group-item-action.active{color:#fff;background-color:#682579;border-color:#682579}.list-group-item-pink{color:#801f41;background-color:#f7d6e2}.list-group-item-pink.list-group-item-action:focus,.list-group-item-pink.list-group-item-action:hover{color:#801f41;background-color:#dec1cb}.list-group-item-pink.list-group-item-action.active{color:#fff;background-color:#801f41;border-color:#801f41}.list-group-item-red{color:#802222;background-color:#f7d7d7}.list-group-item-red.list-group-item-action:focus,.list-group-item-red.list-group-item-action:hover{color:#802222;background-color:#dec2c2}.list-group-item-red.list-group-item-action.active{color:#fff;background-color:#802222;border-color:#802222}.list-group-item-orange{color:#943e04;background-color:#fde1cd}.list-group-item-orange.list-group-item-action:focus,.list-group-item-orange.list-group-item-action:hover{color:#943e04;background-color:#e4cbb9}.list-group-item-orange.list-group-item-action.active{color:#fff;background-color:#943e04;border-color:#943e04}.list-group-item-yellow{color:#935f00;background-color:#fdeccc}.list-group-item-yellow.list-group-item-action:focus,.list-group-item-yellow.list-group-item-action:hover{color:#935f00;background-color:#e4d4b8}.list-group-item-yellow.list-group-item-action.active{color:#fff;background-color:#935f00;border-color:#935f00}.list-group-item-lime{color:#466e0d;background-color:#e3f1d0}.list-group-item-lime.list-group-item-action:focus,.list-group-item-lime.list-group-item-action:hover{color:#466e0d;background-color:#ccd9bb}.list-group-item-lime.list-group-item-action.active{color:#fff;background-color:#466e0d;border-color:#466e0d}.list-group-item-green{color:#1c6b29;background-color:#d5f0da}.list-group-item-green.list-group-item-action:focus,.list-group-item-green.list-group-item-action:hover{color:#1c6b29;background-color:#c0d8c4}.list-group-item-green.list-group-item-action.active{color:#fff;background-color:#1c6b29;border-color:#1c6b29}.list-group-item-teal{color:#076448;background-color:#ceede4}.list-group-item-teal.list-group-item-action:focus,.list-group-item-teal.list-group-item-action:hover{color:#076448;background-color:#b9d5cd}.list-group-item-teal.list-group-item-action.active{color:#fff;background-color:#076448;border-color:#076448}.list-group-item-cyan{color:#0e616e;background-color:#d1ecf1}.list-group-item-cyan.list-group-item-action:focus,.list-group-item-cyan.list-group-item-action:hover{color:#0e616e;background-color:#bcd4d9}.list-group-item-cyan.list-group-item-action.active{color:#fff;background-color:#0e616e;border-color:#0e616e}.list-group-item-facebook{color:#23355b;background-color:#d8deea}.list-group-item-facebook.list-group-item-action:focus,.list-group-item-facebook.list-group-item-action:hover{color:#23355b;background-color:#c2c8d3}.list-group-item-facebook.list-group-item-action.active{color:#fff;background-color:#23355b;border-color:#23355b}.list-group-item-twitter{color:#116191;background-color:#d2ecfc}.list-group-item-twitter.list-group-item-action:focus,.list-group-item-twitter.list-group-item-action:hover{color:#116191;background-color:#bdd4e3}.list-group-item-twitter.list-group-item-action.active{color:#fff;background-color:#116191;border-color:#116191}.list-group-item-linkedin{color:#063d74;background-color:#cee0f3}.list-group-item-linkedin.list-group-item-action:focus,.list-group-item-linkedin.list-group-item-action:hover{color:#063d74;background-color:#b9cadb}.list-group-item-linkedin.list-group-item-action.active{color:#fff;background-color:#063d74;border-color:#063d74}.list-group-item-google{color:#842f27;background-color:#f8dcd9}.list-group-item-google.list-group-item-action:focus,.list-group-item-google.list-group-item-action:hover{color:#842f27;background-color:#dfc6c3}.list-group-item-google.list-group-item-action.active{color:#fff;background-color:#842f27;border-color:#842f27}.list-group-item-youtube{color:#900;background-color:#fcc}.list-group-item-youtube.list-group-item-action:focus,.list-group-item-youtube.list-group-item-action:hover{color:#900;background-color:#e6b8b8}.list-group-item-youtube.list-group-item-action.active{color:#fff;background-color:#900;border-color:#900}.list-group-item-vimeo{color:#106e8c;background-color:#d1f1fb}.list-group-item-vimeo.list-group-item-action:focus,.list-group-item-vimeo.list-group-item-action:hover{color:#106e8c;background-color:#bcd9e2}.list-group-item-vimeo.list-group-item-action.active{color:#fff;background-color:#106e8c;border-color:#106e8c}.list-group-item-dribbble{color:#8c2e52;background-color:#fbdbe7}.list-group-item-dribbble.list-group-item-action:focus,.list-group-item-dribbble.list-group-item-action:hover{color:#8c2e52;background-color:#e2c5d0}.list-group-item-dribbble.list-group-item-action.active{color:#fff;background-color:#8c2e52;border-color:#8c2e52}.list-group-item-github{color:#0e0e0e;background-color:#d1d1d1}.list-group-item-github.list-group-item-action:focus,.list-group-item-github.list-group-item-action:hover{color:#0e0e0e;background-color:#bcbcbc}.list-group-item-github.list-group-item-action.active{color:#fff;background-color:#0e0e0e;border-color:#0e0e0e}.list-group-item-instagram{color:#892639;background-color:#fad9df}.list-group-item-instagram.list-group-item-action:focus,.list-group-item-instagram.list-group-item-action:hover{color:#892639;background-color:#e1c3c9}.list-group-item-instagram.list-group-item-action.active{color:#fff;background-color:#892639;border-color:#892639}.list-group-item-pinterest{color:#710511;background-color:#f2ced2}.list-group-item-pinterest.list-group-item-action:focus,.list-group-item-pinterest.list-group-item-action:hover{color:#710511;background-color:#dab9bd}.list-group-item-pinterest.list-group-item-action.active{color:#fff;background-color:#710511;border-color:#710511}.list-group-item-vk{color:#3b4f65;background-color:#e0e6ee}.list-group-item-vk.list-group-item-action:focus,.list-group-item-vk.list-group-item-action:hover{color:#3b4f65;background-color:#cacfd6}.list-group-item-vk.list-group-item-action.active{color:#fff;background-color:#3b4f65;border-color:#3b4f65}.list-group-item-rss{color:#996300;background-color:#ffedcc}.list-group-item-rss.list-group-item-action:focus,.list-group-item-rss.list-group-item-action:hover{color:#996300;background-color:#e6d5b8}.list-group-item-rss.list-group-item-action.active{color:#fff;background-color:#996300;border-color:#996300}.list-group-item-flickr{color:#003b84;background-color:#cce0f8}.list-group-item-flickr.list-group-item-action:focus,.list-group-item-flickr.list-group-item-action:hover{color:#003b84;background-color:#b8cadf}.list-group-item-flickr.list-group-item-action.active{color:#fff;background-color:#003b84;border-color:#003b84}.list-group-item-bitbucket{color:#00317a;background-color:#ccdcf5}.list-group-item-bitbucket.list-group-item-action:focus,.list-group-item-bitbucket.list-group-item-action:hover{color:#00317a;background-color:#b8c6dd}.list-group-item-bitbucket.list-group-item-action.active{color:#fff;background-color:#00317a;border-color:#00317a}.list-group-item-tabler{color:#134076;background-color:#d2e1f3}.list-group-item-tabler.list-group-item-action:focus,.list-group-item-tabler.list-group-item-action:hover{color:#134076;background-color:#bdcbdb}.list-group-item-tabler.list-group-item-action.active{color:#fff;background-color:#134076;border-color:#134076}.btn-close{box-sizing:content-box;width:.75rem;height:.75rem;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/.75rem auto no-repeat;border:0;border-radius:4px;opacity:.3}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--tblr-toast-zindex:1090;--tblr-toast-padding-x:0.75rem;--tblr-toast-padding-y:0.5rem;--tblr-toast-spacing:1.5rem;--tblr-toast-max-width:350px;--tblr-toast-font-size:0.875rem;--tblr-toast-bg:rgba(255, 255, 255, 0.85);--tblr-toast-border-width:1px;--tblr-toast-border-color:var(--tblr-border-color);--tblr-toast-border-radius:4px;--tblr-toast-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--tblr-toast-header-color:var(--tblr-muted);--tblr-toast-header-bg:rgba(255, 255, 255, 0.85);--tblr-toast-header-border-color:rgba(0, 0, 0, 0.05);width:var(--tblr-toast-max-width);max-width:100%;font-size:var(--tblr-toast-font-size);color:var(--tblr-toast-color);pointer-events:auto;background-color:var(--tblr-toast-bg);background-clip:padding-box;border:var(--tblr-toast-border-width) solid var(--tblr-toast-border-color);box-shadow:var(--tblr-toast-box-shadow);border-radius:var(--tblr-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--tblr-toast-zindex:1090;position:absolute;z-index:var(--tblr-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--tblr-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--tblr-toast-padding-y) var(--tblr-toast-padding-x);color:var(--tblr-toast-header-color);background-color:var(--tblr-toast-header-bg);background-clip:padding-box;border-bottom:var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color);border-top-left-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width));border-top-right-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--tblr-toast-padding-x));margin-left:var(--tblr-toast-padding-x)}.toast-body{padding:var(--tblr-toast-padding-x);word-wrap:break-word}.modal{--tblr-modal-zindex:1055;--tblr-modal-width:540px;--tblr-modal-padding:1.5rem;--tblr-modal-margin:0.5rem;--tblr-modal-bg:var(--tblr-bg-surface);--tblr-modal-border-color:transparent;--tblr-modal-border-width:1px;--tblr-modal-border-radius:var(--tblr-border-radius-lg);--tblr-modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--tblr-modal-inner-border-radius:calc(var(--tblr-modal-border-radius) - 1px);--tblr-modal-header-padding-x:1.5rem;--tblr-modal-header-padding-y:1.5rem;--tblr-modal-header-padding:1.5rem;--tblr-modal-header-border-color:var(--tblr-border-color);--tblr-modal-header-border-width:1px;--tblr-modal-title-line-height:1.4285714286;--tblr-modal-footer-gap:0.75rem;--tblr-modal-footer-border-color:var(--tblr-border-color);--tblr-modal-footer-border-width:0;position:fixed;top:0;left:0;z-index:var(--tblr-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--tblr-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-1rem)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--tblr-modal-color);pointer-events:auto;background-color:var(--tblr-modal-bg);background-clip:padding-box;border:var(--tblr-modal-border-width) solid var(--tblr-modal-border-color);border-radius:var(--tblr-modal-border-radius);outline:0}.modal-backdrop{--tblr-backdrop-zindex:1050;--tblr-backdrop-bg:#1d273b;--tblr-backdrop-opacity:0.24;position:fixed;top:0;left:0;z-index:var(--tblr-backdrop-zindex);width:100vw;height:100vh;background-color:var(--tblr-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--tblr-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--tblr-modal-header-padding);border-bottom:var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color);border-top-left-radius:var(--tblr-modal-inner-border-radius);border-top-right-radius:var(--tblr-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--tblr-modal-header-padding-y) * .5) calc(var(--tblr-modal-header-padding-x) * .5);margin:calc(-.5 * var(--tblr-modal-header-padding-y)) calc(-.5 * var(--tblr-modal-header-padding-x)) calc(-.5 * var(--tblr-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--tblr-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--tblr-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * .5);background-color:var(--tblr-modal-footer-bg);border-top:var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color);border-bottom-right-radius:var(--tblr-modal-inner-border-radius);border-bottom-left-radius:var(--tblr-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--tblr-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--tblr-modal-margin:1.75rem;--tblr-modal-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--tblr-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--tblr-modal-width:380px}}@media (min-width:992px){.modal-lg,.modal-xl{--tblr-modal-width:720px}}@media (min-width:1200px){.modal-xl{--tblr-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--tblr-tooltip-zindex:1080;--tblr-tooltip-max-width:200px;--tblr-tooltip-padding-x:0.5rem;--tblr-tooltip-padding-y:0.25rem;--tblr-tooltip-font-size:0.765625rem;--tblr-tooltip-color:var(--tblr-light);--tblr-tooltip-bg:var(--tblr-bg-surface-dark);--tblr-tooltip-border-radius:4px;--tblr-tooltip-opacity:0.9;--tblr-tooltip-arrow-width:0.8rem;--tblr-tooltip-arrow-height:0.4rem;z-index:var(--tblr-tooltip-zindex);display:block;padding:var(--tblr-tooltip-arrow-height);margin:var(--tblr-tooltip-margin);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--tblr-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--tblr-tooltip-arrow-width);height:var(--tblr-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-top-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-right-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-bottom-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) 0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-left-color:var(--tblr-tooltip-bg)}.tooltip-inner{max-width:var(--tblr-tooltip-max-width);padding:var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x);color:var(--tblr-tooltip-color);text-align:center;background-color:var(--tblr-tooltip-bg);border-radius:var(--tblr-tooltip-border-radius)}.popover{--tblr-popover-zindex:1070;--tblr-popover-max-width:276px;--tblr-popover-font-size:0.765625rem;--tblr-popover-bg:var(--tblr-bg-surface);--tblr-popover-border-width:1px;--tblr-popover-border-color:var(--tblr-border-color);--tblr-popover-border-radius:8px;--tblr-popover-inner-border-radius:7px;--tblr-popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--tblr-popover-header-padding-x:1rem;--tblr-popover-header-padding-y:0.5rem;--tblr-popover-header-font-size:0.875rem;--tblr-popover-header-bg:transparent;--tblr-popover-body-padding-x:1rem;--tblr-popover-body-padding-y:1rem;--tblr-popover-body-color:inherit;--tblr-popover-arrow-width:1rem;--tblr-popover-arrow-height:0.5rem;--tblr-popover-arrow-border:var(--tblr-popover-border-color);z-index:var(--tblr-popover-zindex);display:block;max-width:var(--tblr-popover-max-width);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-popover-font-size);word-wrap:break-word;background-color:var(--tblr-popover-bg);background-clip:padding-box;border:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-radius:var(--tblr-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--tblr-popover-arrow-width);height:var(--tblr-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--tblr-popover-border-width);border-top-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--tblr-popover-border-width);border-right-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--tblr-popover-border-width);border-bottom-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--tblr-popover-arrow-width);margin-left:calc(-.5 * var(--tblr-popover-arrow-width));content:"";border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--tblr-popover-arrow-width) * .5) 0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--tblr-popover-border-width);border-left-color:var(--tblr-popover-bg)}.popover-header{padding:var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x);margin-bottom:0;font-size:var(--tblr-popover-header-font-size);color:var(--tblr-popover-header-color);background-color:var(--tblr-popover-header-bg);border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-top-left-radius:var(--tblr-popover-inner-border-radius);border-top-right-radius:var(--tblr-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x);color:var(--tblr-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:1.5rem;height:1.5rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--tblr-spinner-width);height:var(--tblr-spinner-height);vertical-align:var(--tblr-spinner-vertical-align);border-radius:50%;-webkit-animation:var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name);animation:var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name)}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--tblr-spinner-width:1.5rem;--tblr-spinner-height:1.5rem;--tblr-spinner-vertical-align:-0.125em;--tblr-spinner-border-width:2px;--tblr-spinner-animation-speed:0.75s;--tblr-spinner-animation-name:spinner-border;border:var(--tblr-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--tblr-spinner-width:1rem;--tblr-spinner-height:1rem;--tblr-spinner-border-width:1px}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--tblr-spinner-width:1.5rem;--tblr-spinner-height:1.5rem;--tblr-spinner-vertical-align:-0.125em;--tblr-spinner-animation-speed:0.75s;--tblr-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--tblr-spinner-width:1rem;--tblr-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--tblr-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--tblr-offcanvas-zindex:1045;--tblr-offcanvas-width:400px;--tblr-offcanvas-height:30vh;--tblr-offcanvas-padding-x:1.5rem;--tblr-offcanvas-padding-y:1.5rem;--tblr-offcanvas-bg:var(--tblr-bg-surface);--tblr-offcanvas-border-width:1px;--tblr-offcanvas-border-color:var(--tblr-border-color);--tblr-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:575.98px){.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}}@media (max-width:575.98px){.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:767.98px){.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}}@media (max-width:767.98px){.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:991.98px){.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}}@media (max-width:991.98px){.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1199.98px){.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}}@media (max-width:1199.98px){.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}}@media (max-width:1399.98px){.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#1d273b}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.24}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--tblr-offcanvas-padding-y) * .5) calc(var(--tblr-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--tblr-offcanvas-padding-y));margin-right:calc(-.5 * var(--tblr-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--tblr-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.4285714286}.offcanvas-body{flex-grow:1;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.2}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.1}}@keyframes placeholder-glow{50%{opacity:.1}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.9) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.9) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0;mask-position:-200% 0}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0;mask-position:-200% 0}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#f8fafc!important;background-color:RGBA(32,107,196,var(--tblr-bg-opacity,1))!important}.text-bg-secondary{color:#f8fafc!important;background-color:RGBA(97,104,118,var(--tblr-bg-opacity,1))!important}.text-bg-success{color:#f8fafc!important;background-color:RGBA(47,179,68,var(--tblr-bg-opacity,1))!important}.text-bg-info{color:#f8fafc!important;background-color:RGBA(66,153,225,var(--tblr-bg-opacity,1))!important}.text-bg-warning{color:#f8fafc!important;background-color:RGBA(247,103,7,var(--tblr-bg-opacity,1))!important}.text-bg-danger{color:#f8fafc!important;background-color:RGBA(214,57,57,var(--tblr-bg-opacity,1))!important}.text-bg-light{color:#1d273b!important;background-color:RGBA(248,250,252,var(--tblr-bg-opacity,1))!important}.text-bg-dark{color:#f8fafc!important;background-color:RGBA(29,39,59,var(--tblr-bg-opacity,1))!important}.text-bg-muted{color:#f8fafc!important;background-color:RGBA(97,104,118,var(--tblr-bg-opacity,1))!important}.text-bg-blue{color:#f8fafc!important;background-color:RGBA(32,107,196,var(--tblr-bg-opacity,1))!important}.text-bg-azure{color:#f8fafc!important;background-color:RGBA(66,153,225,var(--tblr-bg-opacity,1))!important}.text-bg-indigo{color:#f8fafc!important;background-color:RGBA(66,99,235,var(--tblr-bg-opacity,1))!important}.text-bg-purple{color:#f8fafc!important;background-color:RGBA(174,62,201,var(--tblr-bg-opacity,1))!important}.text-bg-pink{color:#f8fafc!important;background-color:RGBA(214,51,108,var(--tblr-bg-opacity,1))!important}.text-bg-red{color:#f8fafc!important;background-color:RGBA(214,57,57,var(--tblr-bg-opacity,1))!important}.text-bg-orange{color:#f8fafc!important;background-color:RGBA(247,103,7,var(--tblr-bg-opacity,1))!important}.text-bg-yellow{color:#f8fafc!important;background-color:RGBA(245,159,0,var(--tblr-bg-opacity,1))!important}.text-bg-lime{color:#f8fafc!important;background-color:RGBA(116,184,22,var(--tblr-bg-opacity,1))!important}.text-bg-green{color:#f8fafc!important;background-color:RGBA(47,179,68,var(--tblr-bg-opacity,1))!important}.text-bg-teal{color:#f8fafc!important;background-color:RGBA(12,166,120,var(--tblr-bg-opacity,1))!important}.text-bg-cyan{color:#f8fafc!important;background-color:RGBA(23,162,184,var(--tblr-bg-opacity,1))!important}.text-bg-facebook{color:#f8fafc!important;background-color:RGBA(59,89,152,var(--tblr-bg-opacity,1))!important}.text-bg-twitter{color:#f8fafc!important;background-color:RGBA(29,161,242,var(--tblr-bg-opacity,1))!important}.text-bg-linkedin{color:#f8fafc!important;background-color:RGBA(10,102,194,var(--tblr-bg-opacity,1))!important}.text-bg-google{color:#f8fafc!important;background-color:RGBA(220,78,65,var(--tblr-bg-opacity,1))!important}.text-bg-youtube{color:#f8fafc!important;background-color:RGBA(255,0,0,var(--tblr-bg-opacity,1))!important}.text-bg-vimeo{color:#f8fafc!important;background-color:RGBA(26,183,234,var(--tblr-bg-opacity,1))!important}.text-bg-dribbble{color:#f8fafc!important;background-color:RGBA(234,76,137,var(--tblr-bg-opacity,1))!important}.text-bg-github{color:#f8fafc!important;background-color:RGBA(24,23,23,var(--tblr-bg-opacity,1))!important}.text-bg-instagram{color:#f8fafc!important;background-color:RGBA(228,64,95,var(--tblr-bg-opacity,1))!important}.text-bg-pinterest{color:#f8fafc!important;background-color:RGBA(189,8,28,var(--tblr-bg-opacity,1))!important}.text-bg-vk{color:#f8fafc!important;background-color:RGBA(99,131,168,var(--tblr-bg-opacity,1))!important}.text-bg-rss{color:#f8fafc!important;background-color:RGBA(255,165,0,var(--tblr-bg-opacity,1))!important}.text-bg-flickr{color:#f8fafc!important;background-color:RGBA(0,99,220,var(--tblr-bg-opacity,1))!important}.text-bg-bitbucket{color:#f8fafc!important;background-color:RGBA(0,82,204,var(--tblr-bg-opacity,1))!important}.text-bg-tabler{color:#f8fafc!important;background-color:RGBA(32,107,196,var(--tblr-bg-opacity,1))!important}.link-primary{color:#206bc4!important}.link-primary:focus,.link-primary:hover{color:#1a569d!important}.link-secondary{color:#616876!important}.link-secondary:focus,.link-secondary:hover{color:#4e535e!important}.link-success{color:#2fb344!important}.link-success:focus,.link-success:hover{color:#268f36!important}.link-info{color:#4299e1!important}.link-info:focus,.link-info:hover{color:#357ab4!important}.link-warning{color:#f76707!important}.link-warning:focus,.link-warning:hover{color:#c65206!important}.link-danger{color:#d63939!important}.link-danger:focus,.link-danger:hover{color:#ab2e2e!important}.link-light{color:#f8fafc!important}.link-light:focus,.link-light:hover{color:#f9fbfd!important}.link-dark{color:#1d273b!important}.link-dark:focus,.link-dark:hover{color:#171f2f!important}.link-muted{color:#616876!important}.link-muted:focus,.link-muted:hover{color:#4e535e!important}.link-blue{color:#206bc4!important}.link-blue:focus,.link-blue:hover{color:#1a569d!important}.link-azure{color:#4299e1!important}.link-azure:focus,.link-azure:hover{color:#357ab4!important}.link-indigo{color:#4263eb!important}.link-indigo:focus,.link-indigo:hover{color:#354fbc!important}.link-purple{color:#ae3ec9!important}.link-purple:focus,.link-purple:hover{color:#8b32a1!important}.link-pink{color:#d6336c!important}.link-pink:focus,.link-pink:hover{color:#ab2956!important}.link-red{color:#d63939!important}.link-red:focus,.link-red:hover{color:#ab2e2e!important}.link-orange{color:#f76707!important}.link-orange:focus,.link-orange:hover{color:#c65206!important}.link-yellow{color:#f59f00!important}.link-yellow:focus,.link-yellow:hover{color:#c47f00!important}.link-lime{color:#74b816!important}.link-lime:focus,.link-lime:hover{color:#5d9312!important}.link-green{color:#2fb344!important}.link-green:focus,.link-green:hover{color:#268f36!important}.link-teal{color:#0ca678!important}.link-teal:focus,.link-teal:hover{color:#0a8560!important}.link-cyan{color:#17a2b8!important}.link-cyan:focus,.link-cyan:hover{color:#128293!important}.link-facebook{color:#3b5998!important}.link-facebook:focus,.link-facebook:hover{color:#2f477a!important}.link-twitter{color:#1da1f2!important}.link-twitter:focus,.link-twitter:hover{color:#1781c2!important}.link-linkedin{color:#0a66c2!important}.link-linkedin:focus,.link-linkedin:hover{color:#08529b!important}.link-google{color:#dc4e41!important}.link-google:focus,.link-google:hover{color:#b03e34!important}.link-youtube{color:red!important}.link-youtube:focus,.link-youtube:hover{color:#c00!important}.link-vimeo{color:#1ab7ea!important}.link-vimeo:focus,.link-vimeo:hover{color:#1592bb!important}.link-dribbble{color:#ea4c89!important}.link-dribbble:focus,.link-dribbble:hover{color:#bb3d6e!important}.link-github{color:#181717!important}.link-github:focus,.link-github:hover{color:#131212!important}.link-instagram{color:#e4405f!important}.link-instagram:focus,.link-instagram:hover{color:#b6334c!important}.link-pinterest{color:#bd081c!important}.link-pinterest:focus,.link-pinterest:hover{color:#970616!important}.link-vk{color:#6383a8!important}.link-vk:focus,.link-vk:hover{color:#4f6986!important}.link-rss{color:orange!important}.link-rss:focus,.link-rss:hover{color:#cc8400!important}.link-flickr{color:#0063dc!important}.link-flickr:focus,.link-flickr:hover{color:#004fb0!important}.link-bitbucket{color:#0052cc!important}.link-bitbucket:focus,.link-bitbucket:hover{color:#0042a3!important}.link-tabler{color:#206bc4!important}.link-tabler:focus,.link-tabler:hover{color:#1a569d!important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--tblr-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--tblr-aspect-ratio:100%}.ratio-4x3{--tblr-aspect-ratio:75%}.ratio-3x4{--tblr-aspect-ratio:133.3333333333%}.ratio-16x9{--tblr-aspect-ratio:56.25%}.ratio-9x16{--tblr-aspect-ratio:177.7777777778%}.ratio-21x9{--tblr-aspect-ratio:42.8571428571%}.ratio-9x21{--tblr-aspect-ratio:233.3333333333%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.16}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-wide{border:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-0{border:0!important}.border-top{border-top:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-top-wide{border-top:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-top-0{border-top:0!important}.border-end{border-right:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-end-wide{border-right:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-bottom-wide{border-bottom:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-start-wide{border-left:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-start-0{border-left:0!important}.border-primary{--tblr-border-opacity:1;border-color:rgba(var(--tblr-primary-rgb),var(--tblr-border-opacity))!important}.border-secondary{--tblr-border-opacity:1;border-color:rgba(var(--tblr-secondary-rgb),var(--tblr-border-opacity))!important}.border-success{--tblr-border-opacity:1;border-color:rgba(var(--tblr-success-rgb),var(--tblr-border-opacity))!important}.border-info{--tblr-border-opacity:1;border-color:rgba(var(--tblr-info-rgb),var(--tblr-border-opacity))!important}.border-warning{--tblr-border-opacity:1;border-color:rgba(var(--tblr-warning-rgb),var(--tblr-border-opacity))!important}.border-danger{--tblr-border-opacity:1;border-color:rgba(var(--tblr-danger-rgb),var(--tblr-border-opacity))!important}.border-light{--tblr-border-opacity:1;border-color:rgba(var(--tblr-light-rgb),var(--tblr-border-opacity))!important}.border-dark{--tblr-border-opacity:1;border-color:rgba(var(--tblr-dark-rgb),var(--tblr-border-opacity))!important}.border-muted{--tblr-border-opacity:1;border-color:rgba(var(--tblr-muted-rgb),var(--tblr-border-opacity))!important}.border-blue{--tblr-border-opacity:1;border-color:rgba(var(--tblr-blue-rgb),var(--tblr-border-opacity))!important}.border-azure{--tblr-border-opacity:1;border-color:rgba(var(--tblr-azure-rgb),var(--tblr-border-opacity))!important}.border-indigo{--tblr-border-opacity:1;border-color:rgba(var(--tblr-indigo-rgb),var(--tblr-border-opacity))!important}.border-purple{--tblr-border-opacity:1;border-color:rgba(var(--tblr-purple-rgb),var(--tblr-border-opacity))!important}.border-pink{--tblr-border-opacity:1;border-color:rgba(var(--tblr-pink-rgb),var(--tblr-border-opacity))!important}.border-red{--tblr-border-opacity:1;border-color:rgba(var(--tblr-red-rgb),var(--tblr-border-opacity))!important}.border-orange{--tblr-border-opacity:1;border-color:rgba(var(--tblr-orange-rgb),var(--tblr-border-opacity))!important}.border-yellow{--tblr-border-opacity:1;border-color:rgba(var(--tblr-yellow-rgb),var(--tblr-border-opacity))!important}.border-lime{--tblr-border-opacity:1;border-color:rgba(var(--tblr-lime-rgb),var(--tblr-border-opacity))!important}.border-green{--tblr-border-opacity:1;border-color:rgba(var(--tblr-green-rgb),var(--tblr-border-opacity))!important}.border-teal{--tblr-border-opacity:1;border-color:rgba(var(--tblr-teal-rgb),var(--tblr-border-opacity))!important}.border-cyan{--tblr-border-opacity:1;border-color:rgba(var(--tblr-cyan-rgb),var(--tblr-border-opacity))!important}.border-facebook{--tblr-border-opacity:1;border-color:rgba(var(--tblr-facebook-rgb),var(--tblr-border-opacity))!important}.border-twitter{--tblr-border-opacity:1;border-color:rgba(var(--tblr-twitter-rgb),var(--tblr-border-opacity))!important}.border-linkedin{--tblr-border-opacity:1;border-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-border-opacity))!important}.border-google{--tblr-border-opacity:1;border-color:rgba(var(--tblr-google-rgb),var(--tblr-border-opacity))!important}.border-youtube{--tblr-border-opacity:1;border-color:rgba(var(--tblr-youtube-rgb),var(--tblr-border-opacity))!important}.border-vimeo{--tblr-border-opacity:1;border-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-border-opacity))!important}.border-dribbble{--tblr-border-opacity:1;border-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-border-opacity))!important}.border-github{--tblr-border-opacity:1;border-color:rgba(var(--tblr-github-rgb),var(--tblr-border-opacity))!important}.border-instagram{--tblr-border-opacity:1;border-color:rgba(var(--tblr-instagram-rgb),var(--tblr-border-opacity))!important}.border-pinterest{--tblr-border-opacity:1;border-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-border-opacity))!important}.border-vk{--tblr-border-opacity:1;border-color:rgba(var(--tblr-vk-rgb),var(--tblr-border-opacity))!important}.border-rss{--tblr-border-opacity:1;border-color:rgba(var(--tblr-rss-rgb),var(--tblr-border-opacity))!important}.border-flickr{--tblr-border-opacity:1;border-color:rgba(var(--tblr-flickr-rgb),var(--tblr-border-opacity))!important}.border-bitbucket{--tblr-border-opacity:1;border-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-border-opacity))!important}.border-tabler{--tblr-border-opacity:1;border-color:rgba(var(--tblr-tabler-rgb),var(--tblr-border-opacity))!important}.border-white{--tblr-border-opacity:1;border-color:rgba(var(--tblr-white-rgb),var(--tblr-border-opacity))!important}.border-1{--tblr-border-width:1px}.border-2{--tblr-border-width:2px}.border-3{--tblr-border-width:3px}.border-4{--tblr-border-width:4px}.border-5{--tblr-border-width:5px}.border-opacity-10{--tblr-border-opacity:0.1}.border-opacity-25{--tblr-border-opacity:0.25}.border-opacity-50{--tblr-border-opacity:0.5}.border-opacity-75{--tblr-border-opacity:0.75}.border-opacity-100{--tblr-border-opacity:1}.w-0{width:0!important}.w-1{width:.25rem!important}.w-2{width:.5rem!important}.w-3{width:1rem!important}.w-4{width:2rem!important}.w-5{width:4rem!important}.w-25{width:25%!important}.w-33{width:33.33333%!important}.w-50{width:50%!important}.w-66{width:66.66666%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-0{height:0!important}.h-1{height:.25rem!important}.h-2{height:.5rem!important}.h-3{height:1rem!important}.h-4{height:2rem!important}.h-5{height:4rem!important}.h-25{height:25%!important}.h-33{height:33.33333%!important}.h-50{height:50%!important}.h-66{height:66.66666%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:2rem!important}.m-5{margin:4rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:2rem!important;margin-left:2rem!important}.mx-5{margin-right:4rem!important;margin-left:4rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:2rem!important;margin-bottom:2rem!important}.my-5{margin-top:4rem!important;margin-bottom:4rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:2rem!important}.mt-5{margin-top:4rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:2rem!important}.me-5{margin-right:4rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:2rem!important}.mb-5{margin-bottom:4rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:2rem!important}.ms-5{margin-left:4rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:2rem!important}.p-5{padding:4rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:2rem!important;padding-left:2rem!important}.px-5{padding-right:4rem!important;padding-left:4rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-5{padding-top:4rem!important;padding-bottom:4rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:2rem!important}.pt-5{padding-top:4rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:2rem!important}.pe-5{padding-right:4rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:2rem!important}.pb-5{padding-bottom:4rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:2rem!important}.ps-5{padding-left:4rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:2rem!important}.gap-5{gap:4rem!important}.font-monospace{font-family:var(--tblr-font-monospace)!important}.fs-h1{font-size:1.5rem!important}.fs-h2{font-size:1.25rem!important}.fs-h3{font-size:1rem!important}.fs-h4{font-size:.875rem!important}.fs-h5{font-size:.75rem!important}.fs-h6{font-size:.625rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:600!important}.fw-semibold{font-weight:600!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.1428571429!important}.lh-base{line-height:1.4285714286!important}.lh-lg{line-height:1.7142857143!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--tblr-text-opacity:1;color:rgba(var(--tblr-primary-rgb),var(--tblr-text-opacity))!important}.text-secondary{--tblr-text-opacity:1;color:rgba(var(--tblr-secondary-rgb),var(--tblr-text-opacity))!important}.text-success{--tblr-text-opacity:1;color:rgba(var(--tblr-success-rgb),var(--tblr-text-opacity))!important}.text-info{--tblr-text-opacity:1;color:rgba(var(--tblr-info-rgb),var(--tblr-text-opacity))!important}.text-warning{--tblr-text-opacity:1;color:rgba(var(--tblr-warning-rgb),var(--tblr-text-opacity))!important}.text-danger{--tblr-text-opacity:1;color:rgba(var(--tblr-danger-rgb),var(--tblr-text-opacity))!important}.text-light{--tblr-text-opacity:1;color:rgba(var(--tblr-light-rgb),var(--tblr-text-opacity))!important}.text-dark{--tblr-text-opacity:1;color:rgba(var(--tblr-dark-rgb),var(--tblr-text-opacity))!important}.text-muted{--tblr-text-opacity:1;color:#616876!important}.text-blue{--tblr-text-opacity:1;color:rgba(var(--tblr-blue-rgb),var(--tblr-text-opacity))!important}.text-azure{--tblr-text-opacity:1;color:rgba(var(--tblr-azure-rgb),var(--tblr-text-opacity))!important}.text-indigo{--tblr-text-opacity:1;color:rgba(var(--tblr-indigo-rgb),var(--tblr-text-opacity))!important}.text-purple{--tblr-text-opacity:1;color:rgba(var(--tblr-purple-rgb),var(--tblr-text-opacity))!important}.text-pink{--tblr-text-opacity:1;color:rgba(var(--tblr-pink-rgb),var(--tblr-text-opacity))!important}.text-red{--tblr-text-opacity:1;color:rgba(var(--tblr-red-rgb),var(--tblr-text-opacity))!important}.text-orange{--tblr-text-opacity:1;color:rgba(var(--tblr-orange-rgb),var(--tblr-text-opacity))!important}.text-yellow{--tblr-text-opacity:1;color:rgba(var(--tblr-yellow-rgb),var(--tblr-text-opacity))!important}.text-lime{--tblr-text-opacity:1;color:rgba(var(--tblr-lime-rgb),var(--tblr-text-opacity))!important}.text-green{--tblr-text-opacity:1;color:rgba(var(--tblr-green-rgb),var(--tblr-text-opacity))!important}.text-teal{--tblr-text-opacity:1;color:rgba(var(--tblr-teal-rgb),var(--tblr-text-opacity))!important}.text-cyan{--tblr-text-opacity:1;color:rgba(var(--tblr-cyan-rgb),var(--tblr-text-opacity))!important}.text-facebook{--tblr-text-opacity:1;color:rgba(var(--tblr-facebook-rgb),var(--tblr-text-opacity))!important}.text-twitter{--tblr-text-opacity:1;color:rgba(var(--tblr-twitter-rgb),var(--tblr-text-opacity))!important}.text-linkedin{--tblr-text-opacity:1;color:rgba(var(--tblr-linkedin-rgb),var(--tblr-text-opacity))!important}.text-google{--tblr-text-opacity:1;color:rgba(var(--tblr-google-rgb),var(--tblr-text-opacity))!important}.text-youtube{--tblr-text-opacity:1;color:rgba(var(--tblr-youtube-rgb),var(--tblr-text-opacity))!important}.text-vimeo{--tblr-text-opacity:1;color:rgba(var(--tblr-vimeo-rgb),var(--tblr-text-opacity))!important}.text-dribbble{--tblr-text-opacity:1;color:rgba(var(--tblr-dribbble-rgb),var(--tblr-text-opacity))!important}.text-github{--tblr-text-opacity:1;color:rgba(var(--tblr-github-rgb),var(--tblr-text-opacity))!important}.text-instagram{--tblr-text-opacity:1;color:rgba(var(--tblr-instagram-rgb),var(--tblr-text-opacity))!important}.text-pinterest{--tblr-text-opacity:1;color:rgba(var(--tblr-pinterest-rgb),var(--tblr-text-opacity))!important}.text-vk{--tblr-text-opacity:1;color:rgba(var(--tblr-vk-rgb),var(--tblr-text-opacity))!important}.text-rss{--tblr-text-opacity:1;color:rgba(var(--tblr-rss-rgb),var(--tblr-text-opacity))!important}.text-flickr{--tblr-text-opacity:1;color:rgba(var(--tblr-flickr-rgb),var(--tblr-text-opacity))!important}.text-bitbucket{--tblr-text-opacity:1;color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-text-opacity))!important}.text-tabler{--tblr-text-opacity:1;color:rgba(var(--tblr-tabler-rgb),var(--tblr-text-opacity))!important}.text-black{--tblr-text-opacity:1;color:rgba(var(--tblr-black-rgb),var(--tblr-text-opacity))!important}.text-white{--tblr-text-opacity:1;color:rgba(var(--tblr-white-rgb),var(--tblr-text-opacity))!important}.text-body{--tblr-text-opacity:1;color:rgba(var(--tblr-body-color-rgb),var(--tblr-text-opacity))!important}.text-black-50{--tblr-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--tblr-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--tblr-text-opacity:1;color:inherit!important}.text-opacity-25{--tblr-text-opacity:0.25}.text-opacity-50{--tblr-text-opacity:0.5}.text-opacity-75{--tblr-text-opacity:0.75}.text-opacity-100{--tblr-text-opacity:1}.bg-primary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-primary-rgb),var(--tblr-bg-opacity))!important}.bg-secondary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-secondary-rgb),var(--tblr-bg-opacity))!important}.bg-success{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-success-rgb),var(--tblr-bg-opacity))!important}.bg-info{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-info-rgb),var(--tblr-bg-opacity))!important}.bg-warning{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-warning-rgb),var(--tblr-bg-opacity))!important}.bg-danger{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-danger-rgb),var(--tblr-bg-opacity))!important}.bg-light{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-light-rgb),var(--tblr-bg-opacity))!important}.bg-dark{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dark-rgb),var(--tblr-bg-opacity))!important}.bg-muted{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-muted-rgb),var(--tblr-bg-opacity))!important}.bg-blue{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-blue-rgb),var(--tblr-bg-opacity))!important}.bg-azure{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-azure-rgb),var(--tblr-bg-opacity))!important}.bg-indigo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-indigo-rgb),var(--tblr-bg-opacity))!important}.bg-purple{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-purple-rgb),var(--tblr-bg-opacity))!important}.bg-pink{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pink-rgb),var(--tblr-bg-opacity))!important}.bg-red{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-red-rgb),var(--tblr-bg-opacity))!important}.bg-orange{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-orange-rgb),var(--tblr-bg-opacity))!important}.bg-yellow{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-yellow-rgb),var(--tblr-bg-opacity))!important}.bg-lime{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-lime-rgb),var(--tblr-bg-opacity))!important}.bg-green{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-green-rgb),var(--tblr-bg-opacity))!important}.bg-teal{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-teal-rgb),var(--tblr-bg-opacity))!important}.bg-cyan{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-cyan-rgb),var(--tblr-bg-opacity))!important}.bg-facebook{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-facebook-rgb),var(--tblr-bg-opacity))!important}.bg-twitter{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-twitter-rgb),var(--tblr-bg-opacity))!important}.bg-linkedin{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-bg-opacity))!important}.bg-google{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-google-rgb),var(--tblr-bg-opacity))!important}.bg-youtube{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-youtube-rgb),var(--tblr-bg-opacity))!important}.bg-vimeo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-bg-opacity))!important}.bg-dribbble{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-bg-opacity))!important}.bg-github{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-github-rgb),var(--tblr-bg-opacity))!important}.bg-instagram{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-instagram-rgb),var(--tblr-bg-opacity))!important}.bg-pinterest{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-bg-opacity))!important}.bg-vk{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vk-rgb),var(--tblr-bg-opacity))!important}.bg-rss{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-rss-rgb),var(--tblr-bg-opacity))!important}.bg-flickr{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-flickr-rgb),var(--tblr-bg-opacity))!important}.bg-bitbucket{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-bg-opacity))!important}.bg-tabler{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-tabler-rgb),var(--tblr-bg-opacity))!important}.bg-black{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-black-rgb),var(--tblr-bg-opacity))!important}.bg-white{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-white-rgb),var(--tblr-bg-opacity))!important}.bg-body{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-body-bg-rgb),var(--tblr-bg-opacity))!important}.bg-transparent{--tblr-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--tblr-bg-opacity:0.1}.bg-opacity-25{--tblr-bg-opacity:0.25}.bg-opacity-50{--tblr-bg-opacity:0.5}.bg-opacity-75{--tblr-bg-opacity:0.75}.bg-opacity-100{--tblr-bg-opacity:1}.bg-gradient{background-image:var(--tblr-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--tblr-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--tblr-border-radius-sm)!important}.rounded-2{border-radius:var(--tblr-border-radius)!important}.rounded-3{border-radius:var(--tblr-border-radius-lg)!important}.rounded-4{border-radius:var(--tblr-border-radius-xl)!important}.rounded-5{border-radius:var(--tblr-border-radius-2xl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--tblr-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--tblr-border-radius)!important;border-top-right-radius:var(--tblr-border-radius)!important}.rounded-end{border-top-right-radius:var(--tblr-border-radius)!important;border-bottom-right-radius:var(--tblr-border-radius)!important}.rounded-bottom{border-bottom-right-radius:var(--tblr-border-radius)!important;border-bottom-left-radius:var(--tblr-border-radius)!important}.rounded-start{border-bottom-left-radius:var(--tblr-border-radius)!important;border-top-left-radius:var(--tblr-border-radius)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.object-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-scale-down{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-none{-o-object-fit:none!important;object-fit:none!important}.tracking-tight{letter-spacing:-.05em!important}.tracking-normal{letter-spacing:0!important}.tracking-wide{letter-spacing:.05em!important}.cursor-auto{cursor:auto!important}.cursor-pointer{cursor:pointer!important}.cursor-move{cursor:move!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-zoom-in{cursor:zoom-in!important}.cursor-zoom-out{cursor:zoom-out!important}.cursor-default{cursor:default!important}.cursor-none{cursor:none!important}.cursor-help{cursor:help!important}.cursor-progress{cursor:progress!important}.cursor-wait{cursor:wait!important}.cursor-text{cursor:text!important}.cursor-v-text{cursor:vertical-text!important}.cursor-grab{cursor:-webkit-grab!important;cursor:grab!important}.cursor-grabbing{cursor:-webkit-grabbing!important;cursor:grabbing!important}.border-x{border-left:1px var(--tblr-border-style) rgba(97,104,118,.16)!important;border-right:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-x-wide{border-left:2px var(--tblr-border-style) rgba(97,104,118,.16)!important;border-right:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-x-0{border-left:0!important;border-right:0!important}.border-y{border-top:1px var(--tblr-border-style) rgba(97,104,118,.16)!important;border-bottom:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-y-wide{border-top:2px var(--tblr-border-style) rgba(97,104,118,.16)!important;border-bottom:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-y-0{border-top:0!important;border-bottom:0!important}.columns-2{-moz-columns:2!important;columns:2!important}.columns-3{-moz-columns:3!important;columns:3!important}.columns-4{-moz-columns:4!important;columns:4!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:2rem!important}.m-sm-5{margin:4rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:2rem!important;margin-left:2rem!important}.mx-sm-5{margin-right:4rem!important;margin-left:4rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:2rem!important;margin-bottom:2rem!important}.my-sm-5{margin-top:4rem!important;margin-bottom:4rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:2rem!important}.mt-sm-5{margin-top:4rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:2rem!important}.me-sm-5{margin-right:4rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:2rem!important}.mb-sm-5{margin-bottom:4rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:2rem!important}.ms-sm-5{margin-left:4rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:2rem!important}.p-sm-5{padding:4rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:2rem!important;padding-left:2rem!important}.px-sm-5{padding-right:4rem!important;padding-left:4rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-sm-5{padding-top:4rem!important;padding-bottom:4rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:2rem!important}.pt-sm-5{padding-top:4rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:2rem!important}.pe-sm-5{padding-right:4rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:2rem!important}.pb-sm-5{padding-bottom:4rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:2rem!important}.ps-sm-5{padding-left:4rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:2rem!important}.gap-sm-5{gap:4rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}.columns-sm-2{-moz-columns:2!important;columns:2!important}.columns-sm-3{-moz-columns:3!important;columns:3!important}.columns-sm-4{-moz-columns:4!important;columns:4!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:2rem!important}.m-md-5{margin:4rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:2rem!important;margin-left:2rem!important}.mx-md-5{margin-right:4rem!important;margin-left:4rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:2rem!important;margin-bottom:2rem!important}.my-md-5{margin-top:4rem!important;margin-bottom:4rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:2rem!important}.mt-md-5{margin-top:4rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:2rem!important}.me-md-5{margin-right:4rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:2rem!important}.mb-md-5{margin-bottom:4rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:2rem!important}.ms-md-5{margin-left:4rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:2rem!important}.p-md-5{padding:4rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:2rem!important;padding-left:2rem!important}.px-md-5{padding-right:4rem!important;padding-left:4rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-md-5{padding-top:4rem!important;padding-bottom:4rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:2rem!important}.pt-md-5{padding-top:4rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:2rem!important}.pe-md-5{padding-right:4rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:2rem!important}.pb-md-5{padding-bottom:4rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:2rem!important}.ps-md-5{padding-left:4rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:2rem!important}.gap-md-5{gap:4rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}.columns-md-2{-moz-columns:2!important;columns:2!important}.columns-md-3{-moz-columns:3!important;columns:3!important}.columns-md-4{-moz-columns:4!important;columns:4!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:2rem!important}.m-lg-5{margin:4rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:2rem!important;margin-left:2rem!important}.mx-lg-5{margin-right:4rem!important;margin-left:4rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:2rem!important;margin-bottom:2rem!important}.my-lg-5{margin-top:4rem!important;margin-bottom:4rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:2rem!important}.mt-lg-5{margin-top:4rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:2rem!important}.me-lg-5{margin-right:4rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:2rem!important}.mb-lg-5{margin-bottom:4rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:2rem!important}.ms-lg-5{margin-left:4rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:2rem!important}.p-lg-5{padding:4rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:2rem!important;padding-left:2rem!important}.px-lg-5{padding-right:4rem!important;padding-left:4rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-lg-5{padding-top:4rem!important;padding-bottom:4rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:2rem!important}.pt-lg-5{padding-top:4rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:2rem!important}.pe-lg-5{padding-right:4rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:2rem!important}.pb-lg-5{padding-bottom:4rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:2rem!important}.ps-lg-5{padding-left:4rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:2rem!important}.gap-lg-5{gap:4rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}.columns-lg-2{-moz-columns:2!important;columns:2!important}.columns-lg-3{-moz-columns:3!important;columns:3!important}.columns-lg-4{-moz-columns:4!important;columns:4!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:2rem!important}.m-xl-5{margin:4rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:2rem!important;margin-left:2rem!important}.mx-xl-5{margin-right:4rem!important;margin-left:4rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:2rem!important;margin-bottom:2rem!important}.my-xl-5{margin-top:4rem!important;margin-bottom:4rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:2rem!important}.mt-xl-5{margin-top:4rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:2rem!important}.me-xl-5{margin-right:4rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:2rem!important}.mb-xl-5{margin-bottom:4rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:2rem!important}.ms-xl-5{margin-left:4rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:2rem!important}.p-xl-5{padding:4rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:2rem!important;padding-left:2rem!important}.px-xl-5{padding-right:4rem!important;padding-left:4rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-xl-5{padding-top:4rem!important;padding-bottom:4rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:2rem!important}.pt-xl-5{padding-top:4rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:2rem!important}.pe-xl-5{padding-right:4rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:2rem!important}.pb-xl-5{padding-bottom:4rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:2rem!important}.ps-xl-5{padding-left:4rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:2rem!important}.gap-xl-5{gap:4rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}.columns-xl-2{-moz-columns:2!important;columns:2!important}.columns-xl-3{-moz-columns:3!important;columns:3!important}.columns-xl-4{-moz-columns:4!important;columns:4!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:2rem!important}.m-xxl-5{margin:4rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:2rem!important;margin-left:2rem!important}.mx-xxl-5{margin-right:4rem!important;margin-left:4rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:2rem!important;margin-bottom:2rem!important}.my-xxl-5{margin-top:4rem!important;margin-bottom:4rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:2rem!important}.mt-xxl-5{margin-top:4rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:2rem!important}.me-xxl-5{margin-right:4rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:2rem!important}.mb-xxl-5{margin-bottom:4rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:2rem!important}.ms-xxl-5{margin-left:4rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:2rem!important}.p-xxl-5{padding:4rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:2rem!important;padding-left:2rem!important}.px-xxl-5{padding-right:4rem!important;padding-left:4rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-xxl-5{padding-top:4rem!important;padding-bottom:4rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:2rem!important}.pt-xxl-5{padding-top:4rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:2rem!important}.pe-xxl-5{padding-right:4rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:2rem!important}.pb-xxl-5{padding-bottom:4rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:2rem!important}.ps-xxl-5{padding-left:4rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:2rem!important}.gap-xxl-5{gap:4rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}.columns-xxl-2{-moz-columns:2!important;columns:2!important}.columns-xxl-3{-moz-columns:3!important;columns:3!important}.columns-xxl-4{-moz-columns:4!important;columns:4!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}:host,:root{font-size:16px;height:100%;--tblr-primary:#206bc4;--tblr-primary-fg:var(--tblr-light);--tblr-primary-darken:#1d60b0;--tblr-primary-rgb:32,107,196;--tblr-secondary:#616876;--tblr-secondary-fg:var(--tblr-light);--tblr-secondary-darken:#575e6a;--tblr-secondary-rgb:97,104,118;--tblr-success:#2fb344;--tblr-success-fg:var(--tblr-light);--tblr-success-darken:#2aa13d;--tblr-success-rgb:47,179,68;--tblr-info:#4299e1;--tblr-info-fg:var(--tblr-light);--tblr-info-darken:#3b8acb;--tblr-info-rgb:66,153,225;--tblr-warning:#f76707;--tblr-warning-fg:var(--tblr-light);--tblr-warning-darken:#de5d06;--tblr-warning-rgb:247,103,7;--tblr-danger:#d63939;--tblr-danger-fg:var(--tblr-light);--tblr-danger-darken:#c13333;--tblr-danger-rgb:214,57,57;--tblr-light:#f8fafc;--tblr-light-fg:var(--tblr-dark);--tblr-light-darken:#dfe1e3;--tblr-light-rgb:248,250,252;--tblr-dark:#1d273b;--tblr-dark-fg:var(--tblr-light);--tblr-dark-darken:#1a2335;--tblr-dark-rgb:29,39,59;--tblr-muted:#616876;--tblr-muted-fg:var(--tblr-light);--tblr-muted-darken:#575e6a;--tblr-muted-rgb:97,104,118;--tblr-blue:#206bc4;--tblr-blue-fg:var(--tblr-light);--tblr-blue-darken:#1d60b0;--tblr-blue-rgb:32,107,196;--tblr-azure:#4299e1;--tblr-azure-fg:var(--tblr-light);--tblr-azure-darken:#3b8acb;--tblr-azure-rgb:66,153,225;--tblr-indigo:#4263eb;--tblr-indigo-fg:var(--tblr-light);--tblr-indigo-darken:#3b59d4;--tblr-indigo-rgb:66,99,235;--tblr-purple:#ae3ec9;--tblr-purple-fg:var(--tblr-light);--tblr-purple-darken:#9d38b5;--tblr-purple-rgb:174,62,201;--tblr-pink:#d6336c;--tblr-pink-fg:var(--tblr-light);--tblr-pink-darken:#c12e61;--tblr-pink-rgb:214,51,108;--tblr-red:#d63939;--tblr-red-fg:var(--tblr-light);--tblr-red-darken:#c13333;--tblr-red-rgb:214,57,57;--tblr-orange:#f76707;--tblr-orange-fg:var(--tblr-light);--tblr-orange-darken:#de5d06;--tblr-orange-rgb:247,103,7;--tblr-yellow:#f59f00;--tblr-yellow-fg:var(--tblr-light);--tblr-yellow-darken:#dd8f00;--tblr-yellow-rgb:245,159,0;--tblr-lime:#74b816;--tblr-lime-fg:var(--tblr-light);--tblr-lime-darken:#68a614;--tblr-lime-rgb:116,184,22;--tblr-green:#2fb344;--tblr-green-fg:var(--tblr-light);--tblr-green-darken:#2aa13d;--tblr-green-rgb:47,179,68;--tblr-teal:#0ca678;--tblr-teal-fg:var(--tblr-light);--tblr-teal-darken:#0b956c;--tblr-teal-rgb:12,166,120;--tblr-cyan:#17a2b8;--tblr-cyan-fg:var(--tblr-light);--tblr-cyan-darken:#1592a6;--tblr-cyan-rgb:23,162,184;--tblr-facebook:#3b5998;--tblr-facebook-fg:var(--tblr-light);--tblr-facebook-darken:#355089;--tblr-facebook-rgb:59,89,152;--tblr-twitter:#1da1f2;--tblr-twitter-fg:var(--tblr-light);--tblr-twitter-darken:#1a91da;--tblr-twitter-rgb:29,161,242;--tblr-linkedin:#0a66c2;--tblr-linkedin-fg:var(--tblr-light);--tblr-linkedin-darken:#095caf;--tblr-linkedin-rgb:10,102,194;--tblr-google:#dc4e41;--tblr-google-fg:var(--tblr-light);--tblr-google-darken:#c6463b;--tblr-google-rgb:220,78,65;--tblr-youtube:#ff0000;--tblr-youtube-fg:var(--tblr-light);--tblr-youtube-darken:#e60000;--tblr-youtube-rgb:255,0,0;--tblr-vimeo:#1ab7ea;--tblr-vimeo-fg:var(--tblr-light);--tblr-vimeo-darken:#17a5d3;--tblr-vimeo-rgb:26,183,234;--tblr-dribbble:#ea4c89;--tblr-dribbble-fg:var(--tblr-light);--tblr-dribbble-darken:#d3447b;--tblr-dribbble-rgb:234,76,137;--tblr-github:#181717;--tblr-github-fg:var(--tblr-light);--tblr-github-darken:#161515;--tblr-github-rgb:24,23,23;--tblr-instagram:#e4405f;--tblr-instagram-fg:var(--tblr-light);--tblr-instagram-darken:#cd3a56;--tblr-instagram-rgb:228,64,95;--tblr-pinterest:#bd081c;--tblr-pinterest-fg:var(--tblr-light);--tblr-pinterest-darken:#aa0719;--tblr-pinterest-rgb:189,8,28;--tblr-vk:#6383a8;--tblr-vk-fg:var(--tblr-light);--tblr-vk-darken:#597697;--tblr-vk-rgb:99,131,168;--tblr-rss:#ffa500;--tblr-rss-fg:var(--tblr-light);--tblr-rss-darken:#e69500;--tblr-rss-rgb:255,165,0;--tblr-flickr:#0063dc;--tblr-flickr-fg:var(--tblr-light);--tblr-flickr-darken:#0059c6;--tblr-flickr-rgb:0,99,220;--tblr-bitbucket:#0052cc;--tblr-bitbucket-fg:var(--tblr-light);--tblr-bitbucket-darken:#004ab8;--tblr-bitbucket-rgb:0,82,204;--tblr-tabler:#206bc4;--tblr-tabler-fg:var(--tblr-light);--tblr-tabler-darken:#1d60b0;--tblr-tabler-rgb:32,107,196;--tblr-gray-50:#f8fafc;--tblr-gray-50-fg:var(--tblr-dark);--tblr-gray-50-darken:#dfe1e3;--tblr-gray-50-rgb:248,250,252;--tblr-gray-100:#f1f5f9;--tblr-gray-100-fg:var(--tblr-dark);--tblr-gray-100-darken:#d9dde0;--tblr-gray-100-rgb:241,245,249;--tblr-gray-200:#e2e8f0;--tblr-gray-200-fg:var(--tblr-dark);--tblr-gray-200-darken:#cbd1d8;--tblr-gray-200-rgb:226,232,240;--tblr-gray-300:#c8d3e1;--tblr-gray-300-fg:var(--tblr-dark);--tblr-gray-300-darken:#b4becb;--tblr-gray-300-rgb:200,211,225;--tblr-gray-400:#9ba9be;--tblr-gray-400-fg:var(--tblr-light);--tblr-gray-400-darken:#8c98ab;--tblr-gray-400-rgb:155,169,190;--tblr-gray-500:#6c7a91;--tblr-gray-500-fg:var(--tblr-light);--tblr-gray-500-darken:#616e83;--tblr-gray-500-rgb:108,122,145;--tblr-gray-600:#49566c;--tblr-gray-600-fg:var(--tblr-light);--tblr-gray-600-darken:#424d61;--tblr-gray-600-rgb:73,86,108;--tblr-gray-700:#313c52;--tblr-gray-700-fg:var(--tblr-light);--tblr-gray-700-darken:#2c364a;--tblr-gray-700-rgb:49,60,82;--tblr-gray-800:#1d273b;--tblr-gray-800-fg:var(--tblr-light);--tblr-gray-800-darken:#1a2335;--tblr-gray-800-rgb:29,39,59;--tblr-gray-900:#0f172a;--tblr-gray-900-fg:var(--tblr-light);--tblr-gray-900-darken:#0e1526;--tblr-gray-900-rgb:15,23,42;--tblr-bg-surface:var(--tblr-white);--tblr-bg-surface-secondary:var(--tblr-light);--tblr-bg-surface-dark:var(--tblr-dark);--tblr-bg-forms:var(--tblr-bg-surface);--tblr-border-color:#e6e7e9;--tblr-border-color-light:#f2f3f4;--tblr-border-color-active:#b3b7bd;--tblr-icon-color:var(--tblr-gray-500);--tblr-active-bg:var(--tblr-gray-100);--tblr-disabled-bg:var(--tblr-gray-100);--tblr-disabled-color:var(--tblr-gray-300);--tblr-code-color:var(--tblr-gray-600);--tblr-code-bg:var(--tblr-gray-100);--tblr-dark-mode-border-color:#243049;--tblr-dark-mode-border-color-light:#243049;--tblr-dark-mode-border-color-active:#314264;--tblr-font-weight-light:300;--tblr-font-weight-normal:400;--tblr-font-weight-medium:500;--tblr-font-weight-bold:600;--tblr-font-weight-headings:var(--tblr-font-weight-medium);--tblr-font-size-h1:1.5rem;--tblr-font-size-h2:1.25rem;--tblr-font-size-h3:1rem;--tblr-font-size-h4:0.875rem;--tblr-font-size-h5:0.75rem;--tblr-font-size-h6:0.625rem;--tblr-line-height-h1:2rem;--tblr-line-height-h2:1.75rem;--tblr-line-height-h3:1.5rem;--tblr-line-height-h4:1.25rem;--tblr-line-height-h5:1rem;--tblr-line-height-h6:1rem;--tblr-shadow:rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0;--tblr-shadow-transparent:0 0 0 0 transparent;--tblr-shadow-button:0 1px 0 rgba(var(--tblr-body-color-rgb), 0.04);--tblr-shadow-button-inset:inset 0 -1px 0 rgba(var(--tblr-body-color-rgb), 0.2);--tblr-shadow-card:0 0 4px rgba(var(--tblr-body-color-rgb), 0.04);--tblr-shadow-card-hover:rgba(var(--tblr-body-color-rgb), 0.16) 0 2px 16px 0}body{overflow-y:scroll;letter-spacing:0;touch-action:manipulation;text-rendering:optimizeLegibility;font-feature-settings:"liga" 0;position:relative;min-height:100%;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media print{body{background:0 0}}::-webkit-scrollbar{width:.5rem;height:.5rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){::-webkit-scrollbar{-webkit-transition:none;transition:none}}::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(var(--tblr-body-color-rgb),.16)}::-webkit-scrollbar-track{background:rgba(var(--tblr-body-color-rgb),.06)}:hover::-webkit-scrollbar-thumb{background:rgba(var(--tblr-body-color-rgb),.32)}::-webkit-scrollbar-corner{background:0 0}.layout-fluid .container,.layout-fluid [class*=" container-"],.layout-fluid [class^=container-]{max-width:100%}.layout-boxed{--tblr-theme-boxed-border-radius:0;--tblr-theme-boxed-width:1320px}@media (min-width:768px){.layout-boxed{background:#1d273b linear-gradient(to right,rgba(255,255,255,.1),transparent) fixed;padding:1rem;--tblr-theme-boxed-border-radius:4px}}.layout-boxed .page{margin:0 auto;max-width:var(--tblr-theme-boxed-width);border-radius:var(--tblr-theme-boxed-border-radius);color:#1d273b}@media (min-width:768px){.layout-boxed .page{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background:var(--tblr-body-bg)}}.layout-boxed .page>.navbar:first-child{border-top-left-radius:var(--tblr-theme-boxed-border-radius);border-top-right-radius:var(--tblr-theme-boxed-border-radius)}.navbar{--tblr-navbar-border-width:var(--tblr-border-width);--tblr-navbar-active-border-color:var(--tblr-primary);--tblr-navbar-active-bg:rgba(0, 0, 0, 0.06);--tblr-navbar-bg:transparent;align-items:stretch;min-height:3.5rem;box-shadow:inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color);background:var(--tblr-navbar-bg);--tblr-navbar-active-bg:rgba(0, 0, 0, 0.06);--tblr-navbar-bg:transparent;color:var(--tblr-body-color)}.navbar-collapse .navbar{flex-grow:1}.navbar.collapsing{min-height:0}.navbar .navbar-brand{color:var(--tblr-body-color)}.navbar .navbar-brand:focus,.navbar .navbar-brand:hover{color:var(--tblr-body-color);opacity:.8}.navbar .navbar-nav .nav-link{color:var(--tblr-body-color)}.navbar .navbar-nav .nav-link:focus,.navbar .navbar-nav .nav-link:hover{color:var(--tblr-body-color) color}.navbar .navbar-nav .nav-link.disabled{color:var(--tblr-disabled-color)}.navbar .navbar-nav .active>.nav-link,.navbar .navbar-nav .nav-link.active,.navbar .navbar-nav .nav-link.show,.navbar .navbar-nav .show>.nav-link{color:var(--tblr-body-color) color}.navbar .navbar-toggler{color:var(--tblr-body-color);border-color:transparent}.navbar .navbar-text{color:var(--tblr-body-color)}.navbar .navbar-text a,.navbar .navbar-text a:focus,.navbar .navbar-text a:hover{color:var(--tblr-body-color)}@media not print{.theme-dark .navbar{--tblr-navbar-border-color:#243049;--tblr-navbar-bg:#1d273b;--tblr-navbar-active-bg:rgba(255, 255, 255, 0.06);--tblr-navbar-bg:#1d273b;color:rgba(255,255,255,.7)}.theme-dark .navbar .navbar-brand{color:#fff}.theme-dark .navbar .navbar-brand:focus,.theme-dark .navbar .navbar-brand:hover{color:#fff;opacity:.8}.theme-dark .navbar .navbar-nav .nav-link{color:rgba(255,255,255,.7)}.theme-dark .navbar .navbar-nav .nav-link:focus,.theme-dark .navbar .navbar-nav .nav-link:hover{color:#fff}.theme-dark .navbar .navbar-nav .nav-link.disabled{color:var(--tblr-disabled-color)}.theme-dark .navbar .navbar-nav .active>.nav-link,.theme-dark .navbar .navbar-nav .nav-link.active,.theme-dark .navbar .navbar-nav .nav-link.show,.theme-dark .navbar .navbar-nav .show>.nav-link{color:#fff}.theme-dark .navbar .navbar-toggler{color:#fff;border-color:transparent}.theme-dark .navbar .navbar-text{color:rgba(255,255,255,.7)}.theme-dark .navbar .navbar-text a,.theme-dark .navbar .navbar-text a:focus,.theme-dark .navbar .navbar-text a:hover{color:rgba(255,255,255,.7)}.theme-dark .navbar::-webkit-scrollbar{width:.5rem;height:.5rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.theme-dark .navbar::-webkit-scrollbar{-webkit-transition:none;transition:none}}.theme-dark .navbar::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(var(--tblr-body-color-rgb),.16)}.theme-dark .navbar::-webkit-scrollbar-track{background:rgba(var(--tblr-body-color-rgb),.06)}.theme-dark .navbar:hover::-webkit-scrollbar-thumb{background:rgba(var(--tblr-body-color-rgb),.32)}.theme-dark .navbar::-webkit-scrollbar-corner{background:0 0}}@media not print{@media (prefers-color-scheme:dark){.theme-dark-auto .navbar{--tblr-navbar-border-color:#243049;--tblr-navbar-bg:#1d273b;--tblr-navbar-active-bg:rgba(255, 255, 255, 0.06);--tblr-navbar-bg:#1d273b;color:rgba(255,255,255,.7)}.theme-dark-auto .navbar .navbar-brand{color:#fff}.theme-dark-auto .navbar .navbar-brand:focus,.theme-dark-auto .navbar .navbar-brand:hover{color:#fff;opacity:.8}.theme-dark-auto .navbar .navbar-nav .nav-link{color:rgba(255,255,255,.7)}.theme-dark-auto .navbar .navbar-nav .nav-link:focus,.theme-dark-auto .navbar .navbar-nav .nav-link:hover{color:#fff}.theme-dark-auto .navbar .navbar-nav .nav-link.disabled{color:var(--tblr-disabled-color)}.theme-dark-auto .navbar .navbar-nav .active>.nav-link,.theme-dark-auto .navbar .navbar-nav .nav-link.active,.theme-dark-auto .navbar .navbar-nav .nav-link.show,.theme-dark-auto .navbar .navbar-nav .show>.nav-link{color:#fff}.theme-dark-auto .navbar .navbar-toggler{color:#fff;border-color:transparent}.theme-dark-auto .navbar .navbar-text{color:rgba(255,255,255,.7)}.theme-dark-auto .navbar .navbar-text a,.theme-dark-auto .navbar .navbar-text a:focus,.theme-dark-auto .navbar .navbar-text a:hover{color:rgba(255,255,255,.7)}.theme-dark-auto .navbar::-webkit-scrollbar{width:.5rem;height:.5rem;-webkit-transition:background .3s;transition:background .3s}}@media (prefers-color-scheme:dark) and (prefers-reduced-motion:reduce){.theme-dark-auto .navbar::-webkit-scrollbar{-webkit-transition:none;transition:none}}@media (prefers-color-scheme:dark){.theme-dark-auto .navbar::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(var(--tblr-body-color-rgb),.16)}}@media (prefers-color-scheme:dark){.theme-dark-auto .navbar::-webkit-scrollbar-track{background:rgba(var(--tblr-body-color-rgb),.06)}}@media (prefers-color-scheme:dark){.theme-dark-auto .navbar:hover::-webkit-scrollbar-thumb{background:rgba(var(--tblr-body-color-rgb),.32)}}@media (prefers-color-scheme:dark){.theme-dark-auto .navbar::-webkit-scrollbar-corner{background:0 0}}}.navbar .dropdown-menu{position:absolute;z-index:1030}.navbar .navbar-nav{min-height:3rem}.navbar .navbar-nav .nav-link{position:relative;min-width:2rem;min-height:2rem;justify-content:center;border-radius:var(--tblr-border-radius)}.navbar .navbar-nav .nav-link .badge{position:absolute;top:.375rem;right:.375rem;transform:translate(50%,-50%)}.navbar-nav{margin:0;padding:0}@media (max-width:575.98px){.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-sm .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:2.5rem;color:inherit}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:4rem}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:5.5rem}.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:576px){.navbar-expand-sm .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-sm .navbar-light .nav-item.active,.navbar-expand-sm.navbar-light .nav-item.active{position:relative}.navbar-expand-sm .navbar-light .nav-item.active:after,.navbar-expand-sm.navbar-light .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-sm.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical~.navbar,.navbar-expand-sm.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-sm.navbar-vertical.navbar-right~.navbar,.navbar-expand-sm.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}@media (max-width:767.98px){.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-md .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:2.5rem;color:inherit}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:4rem}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:5.5rem}.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:768px){.navbar-expand-md .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-md .navbar-light .nav-item.active,.navbar-expand-md.navbar-light .nav-item.active{position:relative}.navbar-expand-md .navbar-light .nav-item.active:after,.navbar-expand-md.navbar-light .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-md.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical~.navbar,.navbar-expand-md.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-md.navbar-vertical.navbar-right~.navbar,.navbar-expand-md.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}@media (max-width:991.98px){.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-lg .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:2.5rem;color:inherit}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:4rem}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:5.5rem}.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:992px){.navbar-expand-lg .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-lg .navbar-light .nav-item.active,.navbar-expand-lg.navbar-light .nav-item.active{position:relative}.navbar-expand-lg .navbar-light .nav-item.active:after,.navbar-expand-lg.navbar-light .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-lg.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical~.navbar,.navbar-expand-lg.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-lg.navbar-vertical.navbar-right~.navbar,.navbar-expand-lg.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}@media (max-width:1199.98px){.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:2.5rem;color:inherit}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:4rem}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:5.5rem}.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:1200px){.navbar-expand-xl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xl .navbar-light .nav-item.active,.navbar-expand-xl.navbar-light .nav-item.active{position:relative}.navbar-expand-xl .navbar-light .nav-item.active:after,.navbar-expand-xl.navbar-light .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xl.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical~.navbar,.navbar-expand-xl.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-xl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xl.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}@media (max-width:1399.98px){.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:2.5rem;color:inherit}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:4rem}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:5.5rem}.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:1400px){.navbar-expand-xxl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xxl .navbar-light .nav-item.active,.navbar-expand-xxl.navbar-light .nav-item.active{position:relative}.navbar-expand-xxl .navbar-light .nav-item.active:after,.navbar-expand-xxl.navbar-light .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xxl.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical~.navbar,.navbar-expand-xxl.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand-xxl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xxl.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}}.navbar-expand .navbar-collapse{flex-direction:column}.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:2.5rem;color:inherit}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:4rem}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:5.5rem}.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}.navbar-expand .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand .navbar-light .nav-item.active,.navbar-expand.navbar-light .nav-item.active{position:relative}.navbar-expand .navbar-light .nav-item.active:after,.navbar-expand.navbar-light .nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand.navbar-vertical{box-shadow:inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical.navbar-right{box-shadow:inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical~.navbar,.navbar-expand.navbar-vertical~.page-wrapper{margin-left:15rem}.navbar-expand.navbar-vertical.navbar-right~.navbar,.navbar-expand.navbar-vertical.navbar-right~.page-wrapper{margin-left:0;margin-right:15rem}.navbar-brand{display:inline-flex;align-items:center;font-weight:var(--tblr-font-weight-bold);margin:0;line-height:1}.navbar-brand-image{height:2rem;width:auto}.navbar-toggler{border:0;width:2rem;height:2rem;position:relative;display:flex;align-items:center;justify-content:center}.navbar-toggler-icon{height:2px;width:1.25em;background:currentColor;border-radius:10px;transition:top .2s .2s,bottom .2s .2s,transform .2s,opacity 0s .2s;position:relative}@media (prefers-reduced-motion:reduce){.navbar-toggler-icon{transition:none}}.navbar-toggler-icon:after,.navbar-toggler-icon:before{content:"";display:block;height:inherit;width:inherit;border-radius:inherit;background:inherit;position:absolute;left:0;transition:inherit}@media (prefers-reduced-motion:reduce){.navbar-toggler-icon:after,.navbar-toggler-icon:before{transition:none}}.navbar-toggler-icon:before{top:-.45em}.navbar-toggler-icon:after{bottom:-.45em}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transform:rotate(45deg);transition:top .3s,bottom .3s,transform .3s .3s,opacity 0s .3s}@media (prefers-reduced-motion:reduce){.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transition:none}}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before{top:0;transform:rotate(-90deg)}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after{bottom:0;opacity:0}.navbar-light{--tblr-navbar-border-color:var(--tblr-border-color);--tblr-navbar-bg:var(--tblr-bg-surface)}.navbar-dark{--tblr-navbar-border-color:#243049;--tblr-navbar-bg:#1d273b;--tblr-navbar-active-bg:rgba(255, 255, 255, 0.06);--tblr-navbar-bg:#1d273b;color:rgba(255,255,255,.7)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff;opacity:.8}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.7)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#fff}.navbar-dark .navbar-nav .nav-link.disabled{color:var(--tblr-disabled-color)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:#fff;border-color:transparent}.navbar-dark .navbar-text{color:rgba(255,255,255,.7)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:rgba(255,255,255,.7)}.navbar-dark::-webkit-scrollbar{width:.5rem;height:.5rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.navbar-dark::-webkit-scrollbar{-webkit-transition:none;transition:none}}.navbar-dark::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(var(--tblr-body-color-rgb),.16)}.navbar-dark::-webkit-scrollbar-track{background:rgba(var(--tblr-body-color-rgb),.06)}.navbar-dark:hover::-webkit-scrollbar-thumb{background:rgba(var(--tblr-body-color-rgb),.32)}.navbar-dark::-webkit-scrollbar-corner{background:0 0}.navbar-transparent{--tblr-navbar-border-color:transparent!important;background:0 0!important}.navbar-nav{align-items:stretch}.navbar-nav .nav-item{display:flex;flex-direction:column;justify-content:center}.navbar-side{margin:0;display:flex;flex-direction:row;align-items:center;justify-content:space-around}@media (min-width:576px){.navbar-vertical.navbar-expand-sm{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-x:auto;padding:0}}@media (min-width:576px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-sm{transition:none}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm.navbar-right{left:auto;right:0}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm .navbar-brand{padding:.75rem 0;justify-content:center}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm .navbar-collapse{align-items:stretch}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-sm .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm~.page{padding-left:15rem}.navbar-vertical.navbar-expand-sm~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm.navbar-right~.page{padding-left:0;padding-right:15rem}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:2.5rem;color:inherit}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:4rem}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:5.5rem}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:768px){.navbar-vertical.navbar-expand-md{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-x:auto;padding:0}}@media (min-width:768px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-md{transition:none}}@media (min-width:768px){.navbar-vertical.navbar-expand-md.navbar-right{left:auto;right:0}}@media (min-width:768px){.navbar-vertical.navbar-expand-md .navbar-brand{padding:.75rem 0;justify-content:center}}@media (min-width:768px){.navbar-vertical.navbar-expand-md .navbar-collapse{align-items:stretch}}@media (min-width:768px){.navbar-vertical.navbar-expand-md .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-md .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}}@media (min-width:768px){.navbar-vertical.navbar-expand-md>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}}@media (min-width:768px){.navbar-vertical.navbar-expand-md~.page{padding-left:15rem}.navbar-vertical.navbar-expand-md~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.navbar-vertical.navbar-expand-md.navbar-right~.page{padding-left:0;padding-right:15rem}}@media (min-width:768px){.navbar-vertical.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:2.5rem;color:inherit}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:4rem}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:5.5rem}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-x:auto;padding:0}}@media (min-width:992px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-lg{transition:none}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg.navbar-right{left:auto;right:0}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg .navbar-brand{padding:.75rem 0;justify-content:center}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg .navbar-collapse{align-items:stretch}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-lg .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg~.page{padding-left:15rem}.navbar-vertical.navbar-expand-lg~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg.navbar-right~.page{padding-left:0;padding-right:15rem}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:2.5rem;color:inherit}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:4rem}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:5.5rem}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-x:auto;padding:0}}@media (min-width:1200px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xl{transition:none}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl.navbar-right{left:auto;right:0}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl .navbar-brand{padding:.75rem 0;justify-content:center}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl .navbar-collapse{align-items:stretch}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl~.page{padding-left:15rem}.navbar-vertical.navbar-expand-xl~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl.navbar-right~.page{padding-left:0;padding-right:15rem}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:2.5rem;color:inherit}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:4rem}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:5.5rem}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-x:auto;padding:0}}@media (min-width:1400px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xxl{transition:none}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl.navbar-right{left:auto;right:0}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl .navbar-brand{padding:.75rem 0;justify-content:center}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl .navbar-collapse{align-items:stretch}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl~.page{padding-left:15rem}.navbar-vertical.navbar-expand-xxl~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl.navbar-right~.page{padding-left:0;padding-right:15rem}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:2.5rem;color:inherit}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:4rem}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:5.5rem}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}}.navbar-vertical.navbar-expand{width:15rem;position:fixed;top:0;left:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-x:auto;padding:0}@media (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand{transition:none}}.navbar-vertical.navbar-expand.navbar-right{left:auto;right:0}.navbar-vertical.navbar-expand .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand~.page{padding-left:15rem}.navbar-vertical.navbar-expand~.page [class^=container]{padding-left:1.5rem;padding-right:1.5rem}.navbar-vertical.navbar-expand.navbar-right~.page{padding-left:0;padding-right:15rem}.navbar-vertical.navbar-expand .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav{margin-left:0;margin-right:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-left:2.5rem;color:inherit}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-left:4rem}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-left:5.5rem}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-left:auto}.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-left-width:3px;right:auto;top:0;bottom:0}.navbar-overlap:after{content:"";height:9rem;position:absolute;top:100%;left:0;right:0;background:inherit;z-index:-1;box-shadow:inherit}.page{display:flex;flex-direction:column;position:relative;min-height:100%}.page-center{justify-content:center}.page-wrapper{flex:1;display:flex;flex-direction:column}@media print{.page-wrapper{margin:0!important}}.page-wrapper-full .page-body:first-child{margin:0;border-top:0}.page-body{margin-top:1.25rem;margin-bottom:1.25rem}.page-body-card{background:var(--tblr-bg-surface);border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding:1.25rem 0;margin-bottom:0;flex:1}.page-body~.page-body-card{margin-top:0}.page-cover{background:no-repeat center/cover;min-height:9rem}@media (min-width:768px){.page-cover{min-height:12rem}}@media (min-width:992px){.page-cover{min-height:15rem}}.page-cover-overlay{position:relative}.page-cover-overlay:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 100%)}.page-header{display:flex;flex-wrap:wrap;min-height:2.25rem;flex-direction:column;justify-content:center}.page-wrapper .page-header{margin:1.25rem 0 0}.page-header-border{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding:1.25rem 0;margin:0!important;background-color:var(--tblr-bg-surface)}.page-pretitle{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted)}.page-title{margin:0;font-size:1.25rem;line-height:1.75rem;font-weight:var(--tblr-font-weight-bold);color:inherit;display:flex;align-items:center}.page-title svg{width:1.5rem;height:1.5rem;margin-right:.25rem}.page-title-lg{font-size:1.5rem;line-height:2rem}.page-subtitle{margin-top:.25rem;color:#616876}.page-tabs{margin-top:.5rem;position:relative}.page-header-tabs .nav-bordered{border:0}.page-header-tabs+.page-body-card{margin-top:0}.footer{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background-color:#fff;padding:2rem 0;color:var(--tblr-muted);margin-top:auto}.footer-transparent{background-color:transparent;border-top:0}/*! - * Tabler (v0.9.0): _dark.scss - * Copyright 2018-2021 The Tabler Authors - * Copyright 2018-2021 codecalm - * Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) - */body:not(.theme-dark) .hide-theme-light{display:none!important}@media not print{.theme-dark{--tblr-body-color:#f8fafc;--tblr-body-color-rgb:248,250,252;--tblr-muted:rgba(153, 159, 164, 1);--tblr-body-bg:#1a2234;--tblr-body-bg-rgb:26,34,52;--tblr-bg-forms:#1a2234;--tblr-bg-surface:#1d273b;--tblr-bg-surface-dark:#1a2234;--tblr-bg-surface-secondary:#1a2234;--tblr-link-color:#307fdd;--tblr-link-hover-color:#206bc4;--tblr-active-bg:#202c42;--tblr-disabled-color:var(--tblr-gray-700);--tblr-card-bg:#1a2234;--tblr-card-bg-hover:#1a2234;--tblr-card-bg-rgb:26,34,52;--tblr-card-color:#f8fafc;--tblr-border-color:var(--tblr-dark-mode-border-color);--tblr-border-color-light:var(--tblr-dark-mode-border-color-light);--tblr-border-color-active:var(--tblr-dark-mode-border-color-active);--tblr-btn-color:#1a2234;--tblr-code-color:var(--tblr-body-color);--tblr-code-bg:#243049;color:#f8fafc;background-color:#1a2234}.theme-dark .page{color:#f8fafc}.theme-dark .hide-theme-dark{display:none!important}.theme-dark .text-body{color:#f8fafc!important}.theme-dark .alert:not(.alert-important),.theme-dark .card,.theme-dark .card-footer,.theme-dark .card-stacked::after,.theme-dark .dropdown-menu,.theme-dark .footer:not(.footer-transparent),.theme-dark .modal-content,.theme-dark .modal-header,.theme-dark .toast,.theme-dark .toast-header{background-color:var(--tblr-bg-surface);color:inherit}.theme-dark .modal{--tblr-modal-border-color:var(--tblr-border-color)}.theme-dark .bg-light{background-color:#1a2234!important}.theme-dark .card-tabs .nav-tabs .nav-link{background-color:#1a2234;color:inherit}.theme-dark .card-tabs .nav-tabs .nav-link.active{background-color:#1d273b;color:inherit}.theme-dark .form-check-input:not(:checked),.theme-dark .form-control,.theme-dark .form-file-text,.theme-dark .form-select,.theme-dark .form-selectgroup-check{background-color:#1a2234;color:#f8fafc;border-color:#243049}.theme-dark .form-control-plaintext{color:#f8fafc}.theme-dark .input-group-flat .input-group-text{background-color:#1a2234}.theme-dark .input-group-text{border-color:#243049}.theme-dark .highlight{background-color:#1a2234}.theme-dark .avatar{--tblr-avatar-bg:#202c42}.theme-dark .accordion-button,.theme-dark .markdown,.theme-dark .markdown>*{color:inherit}.theme-dark .accordion-button:after,.theme-dark .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}.theme-dark .apexcharts-text{fill:#f8fafc}.theme-dark .apexcharts-gridline{stroke:var(--tblr-border-color)}.theme-dark .apexcharts-legend-text{color:inherit!important}.theme-dark .navbar-brand-autodark{filter:brightness(0) invert(1)}.theme-dark .input-group-text,.theme-dark .markdown>table thead th,.theme-dark .table thead th{background:0 0}.theme-dark .list-group-header{background:#1a2234}.theme-dark .list-group-item:not(.disabled):not(:disabled){color:#f8fafc}.theme-dark .list-group-item.disabled,.theme-dark .list-group-item:disabled{color:#49566c}.theme-dark .apexcharts-radialbar-area{stroke:#243049}.theme-dark .form-control.is-invalid,.theme-dark .was-validated .form-control:invalid{border-color:var(--tblr-danger)}.theme-dark .form-control.is-valid,.theme-dark .was-validated .form-control:valid{border-color:var(--tblr-success)}}@media not print{@media (prefers-color-scheme:dark){.theme-dark-auto{--tblr-body-color:#f8fafc;--tblr-body-color-rgb:248,250,252;--tblr-muted:rgba(153, 159, 164, 1);--tblr-body-bg:#1a2234;--tblr-body-bg-rgb:26,34,52;--tblr-bg-forms:#1a2234;--tblr-bg-surface:#1d273b;--tblr-bg-surface-dark:#1a2234;--tblr-bg-surface-secondary:#1a2234;--tblr-link-color:#307fdd;--tblr-link-hover-color:#206bc4;--tblr-active-bg:#202c42;--tblr-disabled-color:var(--tblr-gray-700);--tblr-card-bg:#1a2234;--tblr-card-bg-hover:#1a2234;--tblr-card-bg-rgb:26,34,52;--tblr-card-color:#f8fafc;--tblr-border-color:var(--tblr-dark-mode-border-color);--tblr-border-color-light:var(--tblr-dark-mode-border-color-light);--tblr-border-color-active:var(--tblr-dark-mode-border-color-active);--tblr-btn-color:#1a2234;--tblr-code-color:var(--tblr-body-color);--tblr-code-bg:#243049;color:#f8fafc;background-color:#1a2234}.theme-dark-auto .page{color:#f8fafc}.theme-dark-auto .hide-theme-dark{display:none!important}.theme-dark-auto .text-body{color:#f8fafc!important}.theme-dark-auto .alert:not(.alert-important),.theme-dark-auto .card,.theme-dark-auto .card-footer,.theme-dark-auto .card-stacked::after,.theme-dark-auto .dropdown-menu,.theme-dark-auto .footer:not(.footer-transparent),.theme-dark-auto .modal-content,.theme-dark-auto .modal-header,.theme-dark-auto .toast,.theme-dark-auto .toast-header{background-color:var(--tblr-bg-surface);color:inherit}.theme-dark-auto .modal{--tblr-modal-border-color:var(--tblr-border-color)}.theme-dark-auto .bg-light{background-color:#1a2234!important}.theme-dark-auto .card-tabs .nav-tabs .nav-link{background-color:#1a2234;color:inherit}.theme-dark-auto .card-tabs .nav-tabs .nav-link.active{background-color:#1d273b;color:inherit}.theme-dark-auto .form-check-input:not(:checked),.theme-dark-auto .form-control,.theme-dark-auto .form-file-text,.theme-dark-auto .form-select,.theme-dark-auto .form-selectgroup-check{background-color:#1a2234;color:#f8fafc;border-color:#243049}.theme-dark-auto .form-control-plaintext{color:#f8fafc}.theme-dark-auto .input-group-flat .input-group-text{background-color:#1a2234}.theme-dark-auto .input-group-text{border-color:#243049}.theme-dark-auto .highlight{background-color:#1a2234}.theme-dark-auto .avatar{--tblr-avatar-bg:#202c42}.theme-dark-auto .accordion-button,.theme-dark-auto .markdown,.theme-dark-auto .markdown>*{color:inherit}.theme-dark-auto .accordion-button:after,.theme-dark-auto .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}.theme-dark-auto .apexcharts-text{fill:#f8fafc}.theme-dark-auto .apexcharts-gridline{stroke:var(--tblr-border-color)}.theme-dark-auto .apexcharts-legend-text{color:inherit!important}.theme-dark-auto .navbar-brand-autodark{filter:brightness(0) invert(1)}.theme-dark-auto .input-group-text,.theme-dark-auto .markdown>table thead th,.theme-dark-auto .table thead th{background:0 0}.theme-dark-auto .list-group-header{background:#1a2234}.theme-dark-auto .list-group-item:not(.disabled):not(:disabled){color:#f8fafc}.theme-dark-auto .list-group-item.disabled,.theme-dark-auto .list-group-item:disabled{color:#49566c}.theme-dark-auto .apexcharts-radialbar-area{stroke:#243049}.theme-dark-auto .form-control.is-invalid,.theme-dark-auto .was-validated .form-control:invalid{border-color:var(--tblr-danger)}.theme-dark-auto .form-control.is-valid,.theme-dark-auto .was-validated .form-control:valid{border-color:var(--tblr-success)}}}.accordion{--tblr-accordion-color:var(--tblr-body-color)}.accordion-button:focus:not(:focus-visible){outline:0;box-shadow:none}.accordion-button:after{opacity:.7}.accordion-button:not(.collapsed){font-weight:var(--tblr-font-weight-bold);border-bottom-color:transparent;box-shadow:none}.accordion-button:not(.collapsed):after{opacity:1}.alert{--tblr-alert-color:#616876;background:#fff;border:1px var(--tblr-border-style) var(--tblr-border-color-translucent);border-left:.25rem var(--tblr-border-style) var(--tblr-alert-color);box-shadow:rgba(29,39,59,.04) 0 2px 4px 0}.alert>:last-child{margin-bottom:0}.alert-important{border-color:transparent;background:var(--tblr-alert-color);color:#fff}.alert-important .alert-icon,.alert-important .alert-link{color:inherit}.alert-important .alert-link:hover{color:inherit}.alert-link,.alert-link:hover{color:var(--tblr-alert-color)}.alert-primary{--tblr-alert-color:#206bc4}.alert-secondary{--tblr-alert-color:#616876}.alert-success{--tblr-alert-color:#2fb344}.alert-info{--tblr-alert-color:#4299e1}.alert-warning{--tblr-alert-color:#f76707}.alert-danger{--tblr-alert-color:#d63939}.alert-light{--tblr-alert-color:#f8fafc}.alert-dark{--tblr-alert-color:#1d273b}.alert-muted{--tblr-alert-color:#616876}.alert-blue{--tblr-alert-color:#206bc4}.alert-azure{--tblr-alert-color:#4299e1}.alert-indigo{--tblr-alert-color:#4263eb}.alert-purple{--tblr-alert-color:#ae3ec9}.alert-pink{--tblr-alert-color:#d6336c}.alert-red{--tblr-alert-color:#d63939}.alert-orange{--tblr-alert-color:#f76707}.alert-yellow{--tblr-alert-color:#f59f00}.alert-lime{--tblr-alert-color:#74b816}.alert-green{--tblr-alert-color:#2fb344}.alert-teal{--tblr-alert-color:#0ca678}.alert-cyan{--tblr-alert-color:#17a2b8}.alert-facebook{--tblr-alert-color:#3b5998}.alert-twitter{--tblr-alert-color:#1da1f2}.alert-linkedin{--tblr-alert-color:#0a66c2}.alert-google{--tblr-alert-color:#dc4e41}.alert-youtube{--tblr-alert-color:#ff0000}.alert-vimeo{--tblr-alert-color:#1ab7ea}.alert-dribbble{--tblr-alert-color:#ea4c89}.alert-github{--tblr-alert-color:#181717}.alert-instagram{--tblr-alert-color:#e4405f}.alert-pinterest{--tblr-alert-color:#bd081c}.alert-vk{--tblr-alert-color:#6383a8}.alert-rss{--tblr-alert-color:#ffa500}.alert-flickr{--tblr-alert-color:#0063dc}.alert-bitbucket{--tblr-alert-color:#0052cc}.alert-tabler{--tblr-alert-color:#206bc4}.alert-icon{color:var(--tblr-alert-color);width:1.5rem!important;height:1.5rem!important;margin:-.125rem 1rem -.125rem 0}.alert-title{font-size:.875rem;line-height:1.25rem;font-weight:var(--tblr-font-weight-bold);margin-bottom:.25rem;color:var(--tblr-alert-color)}.avatar{--tblr-avatar-size:2.5rem;--tblr-avatar-bg:var(--tblr-gray-100);position:relative;width:var(--tblr-avatar-size);height:var(--tblr-avatar-size);font-size:calc(var(--tblr-avatar-size)/ 2.8571428572);font-weight:var(--tblr-font-weight-medium);display:inline-flex;align-items:center;justify-content:center;color:#616876;text-align:center;text-transform:uppercase;vertical-align:bottom;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-avatar-bg) no-repeat center/cover;border-radius:var(--tblr-border-radius)}.avatar svg{width:calc(var(--tblr-avatar-size)/ 1.6666666667);height:calc(var(--tblr-avatar-size)/ 1.6666666667)}.avatar .badge{position:absolute;right:0;bottom:0;border-radius:100rem;box-shadow:0 0 0 2px var(--tblr-bg-surface)}a.avatar{cursor:pointer}.avatar-rounded{border-radius:100rem}.avatar-xs{--tblr-avatar-size:1.5rem}.avatar-xs .badge:empty{width:.375rem;height:.375rem}.avatar-sm{--tblr-avatar-size:2rem}.avatar-sm .badge:empty{width:.5rem;height:.5rem}.avatar-md{--tblr-avatar-size:3.75rem}.avatar-md .badge:empty{width:.9375rem;height:.9375rem}.avatar-lg{--tblr-avatar-size:5rem}.avatar-lg .badge:empty{width:1.25rem;height:1.25rem}.avatar-xl{--tblr-avatar-size:7rem}.avatar-xl .badge:empty{width:1.75rem;height:1.75rem}.avatar-2xl{--tblr-avatar-size:11rem}.avatar-2xl .badge:empty{width:2.75rem;height:2.75rem}.avatar-list{display:inline-flex;padding:0;margin:0 0 -.5rem;flex-wrap:wrap}.avatar-list .avatar{margin-bottom:.5rem}.avatar-list .avatar:not(:last-child){margin-right:.5rem}.avatar-list a.avatar:hover{z-index:1}.avatar-list-stacked .avatar{margin-right:-.5rem!important;box-shadow:0 0 0 2px 0 0 0 2px var(--tblr-card-cap-bg,var(--tblr-card-bg,var(--tblr-bg-surface)))}.avatar-upload{width:4rem;height:4rem;border:1px dashed var(--tblr-border-color);background:var(--tblr-bg-forms);flex-direction:column;transition:color .3s,background-color .3s}@media (prefers-reduced-motion:reduce){.avatar-upload{transition:none}}.avatar-upload svg{width:1.5rem;height:1.5rem;stroke-width:1}.avatar-upload:hover{border-color:var(--tblr-primary);color:var(--tblr-primary);text-decoration:none}.avatar-upload-text{font-size:.625rem;line-height:1;margin-top:.25rem}.page-cover~* .page-avatar{margin-top:calc(calc(-1 * calc(var(--tblr-avatar-size) * .5)) - 1.25rem);box-shadow:0 0 0 .25rem #f1f5f9}.badge{justify-content:center;align-items:center;background:#6c7a91;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) transparent;min-width:1.35714285em;font-weight:var(--tblr-font-weight-medium);letter-spacing:.04em;vertical-align:bottom}a.badge{color:var(--tblr-bg-surface)}.badge:empty{display:inline-block;width:.5rem;height:.5rem;min-width:0;min-height:auto;padding:0;border-radius:100rem;vertical-align:baseline}.badge .avatar{box-sizing:content-box;width:1.25rem;height:1.25rem;margin:0 .5rem 0 -.5rem}.badge .icon{width:1em;height:1em;font-size:1rem;stroke-width:2}.badge-sm{font-size:.625rem;line-height:1rem;padding:0 .25rem}.badge-outline{background-color:transparent;border:var(--tblr-border-width) var(--tblr-border-style) currentColor}.badge-pill{border-radius:100rem}.breadcrumb{padding:0;margin:0;background:0 0}.breadcrumb a{color:#616876}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-item.active a{color:inherit;pointer-events:none}.breadcrumb-dots{--tblr-breadcrumb-divider:"·"}.breadcrumb-arrows{--tblr-breadcrumb-divider:"›"}.breadcrumb-bullets{--tblr-breadcrumb-divider:"•"}.btn{--tblr-btn-icon-size:1.25rem;--tblr-btn-bg:var(--tblr-bg-surface);--tblr-btn-color:var(--tblr-body-color);--tblr-btn-border-color:var(--tblr-border-color);--tblr-btn-hover-bg:var(--tblr-bg-surface);--tblr-btn-hover-border-color:var(--tblr-border-color-active);--tblr-btn-box-shadow:var(--tblr-shadow-button);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:var(--tblr-btn-box-shadow)}.btn .icon{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);min-width:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x)/ 2) 0 calc(var(--tblr-btn-padding-x)/ -4);vertical-align:bottom;color:inherit}.btn .avatar{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x)/ 2) 0 calc(var(--tblr-btn-padding-x)/ -4)}.btn .icon-right{margin:0 calc(var(--tblr-btn-padding-x)/ -4) 0 calc(var(--tblr-btn-padding-x)/ 2)}.btn .badge{top:auto}.btn-link{color:var(--tblr-primary);background-color:transparent;border-color:transparent;box-shadow:none}.btn-link .icon{color:inherit}.btn-link:hover{color:var(--tblr-primary-darken);border-color:transparent}.btn-primary{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-primary-fg);--tblr-btn-bg:var(--tblr-primary);--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-bg:rgba(var(--tblr-primary-rgb), .8);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:rgba(var(--tblr-primary-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-primary);--tblr-btn-disabled-color:var(--tblr-primary-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-primary{--tblr-btn-color:var(--tblr-primary);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-primary);--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-primary);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:var(--tblr-primary);--tblr-btn-disabled-color:var(--tblr-primary);--tblr-btn-disabled-border-color:var(--tblr-primary)}.btn-secondary{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-secondary-fg);--tblr-btn-bg:var(--tblr-secondary);--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-bg:rgba(var(--tblr-secondary-rgb), .8);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:rgba(var(--tblr-secondary-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-secondary);--tblr-btn-disabled-color:var(--tblr-secondary-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-secondary{--tblr-btn-color:var(--tblr-secondary);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-secondary);--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-secondary);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:var(--tblr-secondary);--tblr-btn-disabled-color:var(--tblr-secondary);--tblr-btn-disabled-border-color:var(--tblr-secondary)}.btn-success{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-success-fg);--tblr-btn-bg:var(--tblr-success);--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-bg:rgba(var(--tblr-success-rgb), .8);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:rgba(var(--tblr-success-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-success);--tblr-btn-disabled-color:var(--tblr-success-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-success{--tblr-btn-color:var(--tblr-success);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-success);--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-success);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:var(--tblr-success);--tblr-btn-disabled-color:var(--tblr-success);--tblr-btn-disabled-border-color:var(--tblr-success)}.btn-info{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-info-fg);--tblr-btn-bg:var(--tblr-info);--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-bg:rgba(var(--tblr-info-rgb), .8);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:rgba(var(--tblr-info-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-info);--tblr-btn-disabled-color:var(--tblr-info-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-info{--tblr-btn-color:var(--tblr-info);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-info);--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-info);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:var(--tblr-info);--tblr-btn-disabled-color:var(--tblr-info);--tblr-btn-disabled-border-color:var(--tblr-info)}.btn-warning{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-warning-fg);--tblr-btn-bg:var(--tblr-warning);--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-bg:rgba(var(--tblr-warning-rgb), .8);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:rgba(var(--tblr-warning-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-warning);--tblr-btn-disabled-color:var(--tblr-warning-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-warning{--tblr-btn-color:var(--tblr-warning);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-warning);--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-warning);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:var(--tblr-warning);--tblr-btn-disabled-color:var(--tblr-warning);--tblr-btn-disabled-border-color:var(--tblr-warning)}.btn-danger{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-danger-fg);--tblr-btn-bg:var(--tblr-danger);--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-bg:rgba(var(--tblr-danger-rgb), .8);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:rgba(var(--tblr-danger-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-danger);--tblr-btn-disabled-color:var(--tblr-danger-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-danger{--tblr-btn-color:var(--tblr-danger);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-danger);--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-danger);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:var(--tblr-danger);--tblr-btn-disabled-color:var(--tblr-danger);--tblr-btn-disabled-border-color:var(--tblr-danger)}.btn-light{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-light-fg);--tblr-btn-bg:var(--tblr-light);--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-bg:rgba(var(--tblr-light-rgb), .8);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:rgba(var(--tblr-light-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-light);--tblr-btn-disabled-color:var(--tblr-light-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-light{--tblr-btn-color:var(--tblr-light);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-light);--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-light);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:var(--tblr-light);--tblr-btn-disabled-color:var(--tblr-light);--tblr-btn-disabled-border-color:var(--tblr-light)}.btn-dark{--tblr-btn-border-color:var(--tblr-dark-mode-border-color);--tblr-btn-hover-border-color:var(--tblr-dark-mode-border-color-active);--tblr-btn-active-border-color:var(--tblr-dark-mode-border-color-active);--tblr-btn-color:var(--tblr-dark-fg);--tblr-btn-bg:var(--tblr-dark);--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-bg:rgba(var(--tblr-dark-rgb), .8);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:rgba(var(--tblr-dark-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-dark);--tblr-btn-disabled-color:var(--tblr-dark-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-dark{--tblr-btn-color:var(--tblr-dark);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-dark);--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-dark);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:var(--tblr-dark);--tblr-btn-disabled-color:var(--tblr-dark);--tblr-btn-disabled-border-color:var(--tblr-dark)}.btn-muted{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-muted-fg);--tblr-btn-bg:var(--tblr-muted);--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-bg:rgba(var(--tblr-muted-rgb), .8);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:rgba(var(--tblr-muted-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-muted);--tblr-btn-disabled-color:var(--tblr-muted-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-muted{--tblr-btn-color:var(--tblr-muted);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-muted);--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-muted);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:var(--tblr-muted);--tblr-btn-disabled-color:var(--tblr-muted);--tblr-btn-disabled-border-color:var(--tblr-muted)}.btn-blue{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-blue-fg);--tblr-btn-bg:var(--tblr-blue);--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-bg:rgba(var(--tblr-blue-rgb), .8);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:rgba(var(--tblr-blue-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-blue);--tblr-btn-disabled-color:var(--tblr-blue-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-blue{--tblr-btn-color:var(--tblr-blue);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-blue);--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-blue);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:var(--tblr-blue);--tblr-btn-disabled-color:var(--tblr-blue);--tblr-btn-disabled-border-color:var(--tblr-blue)}.btn-azure{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-azure-fg);--tblr-btn-bg:var(--tblr-azure);--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-bg:rgba(var(--tblr-azure-rgb), .8);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:rgba(var(--tblr-azure-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-azure);--tblr-btn-disabled-color:var(--tblr-azure-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-azure{--tblr-btn-color:var(--tblr-azure);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-azure);--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-azure);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:var(--tblr-azure);--tblr-btn-disabled-color:var(--tblr-azure);--tblr-btn-disabled-border-color:var(--tblr-azure)}.btn-indigo{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-indigo-fg);--tblr-btn-bg:var(--tblr-indigo);--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-bg:rgba(var(--tblr-indigo-rgb), .8);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:rgba(var(--tblr-indigo-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-indigo);--tblr-btn-disabled-color:var(--tblr-indigo-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-indigo{--tblr-btn-color:var(--tblr-indigo);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-indigo);--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-indigo);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:var(--tblr-indigo);--tblr-btn-disabled-color:var(--tblr-indigo);--tblr-btn-disabled-border-color:var(--tblr-indigo)}.btn-purple{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-purple-fg);--tblr-btn-bg:var(--tblr-purple);--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-bg:rgba(var(--tblr-purple-rgb), .8);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:rgba(var(--tblr-purple-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-purple);--tblr-btn-disabled-color:var(--tblr-purple-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-purple{--tblr-btn-color:var(--tblr-purple);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-purple);--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-purple);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:var(--tblr-purple);--tblr-btn-disabled-color:var(--tblr-purple);--tblr-btn-disabled-border-color:var(--tblr-purple)}.btn-pink{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-pink-fg);--tblr-btn-bg:var(--tblr-pink);--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-bg:rgba(var(--tblr-pink-rgb), .8);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:rgba(var(--tblr-pink-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-pink);--tblr-btn-disabled-color:var(--tblr-pink-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-pink{--tblr-btn-color:var(--tblr-pink);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-pink);--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-pink);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:var(--tblr-pink);--tblr-btn-disabled-color:var(--tblr-pink);--tblr-btn-disabled-border-color:var(--tblr-pink)}.btn-red{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-red-fg);--tblr-btn-bg:var(--tblr-red);--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-bg:rgba(var(--tblr-red-rgb), .8);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:rgba(var(--tblr-red-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-red);--tblr-btn-disabled-color:var(--tblr-red-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-red{--tblr-btn-color:var(--tblr-red);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-red);--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-red);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:var(--tblr-red);--tblr-btn-disabled-color:var(--tblr-red);--tblr-btn-disabled-border-color:var(--tblr-red)}.btn-orange{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-orange-fg);--tblr-btn-bg:var(--tblr-orange);--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-bg:rgba(var(--tblr-orange-rgb), .8);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:rgba(var(--tblr-orange-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-orange);--tblr-btn-disabled-color:var(--tblr-orange-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-orange{--tblr-btn-color:var(--tblr-orange);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-orange);--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-orange);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:var(--tblr-orange);--tblr-btn-disabled-color:var(--tblr-orange);--tblr-btn-disabled-border-color:var(--tblr-orange)}.btn-yellow{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-yellow-fg);--tblr-btn-bg:var(--tblr-yellow);--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-bg:rgba(var(--tblr-yellow-rgb), .8);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:rgba(var(--tblr-yellow-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-yellow);--tblr-btn-disabled-color:var(--tblr-yellow-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-yellow{--tblr-btn-color:var(--tblr-yellow);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-yellow);--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-yellow);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:var(--tblr-yellow);--tblr-btn-disabled-color:var(--tblr-yellow);--tblr-btn-disabled-border-color:var(--tblr-yellow)}.btn-lime{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-lime-fg);--tblr-btn-bg:var(--tblr-lime);--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-bg:rgba(var(--tblr-lime-rgb), .8);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:rgba(var(--tblr-lime-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-lime);--tblr-btn-disabled-color:var(--tblr-lime-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-lime{--tblr-btn-color:var(--tblr-lime);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-lime);--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-lime);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:var(--tblr-lime);--tblr-btn-disabled-color:var(--tblr-lime);--tblr-btn-disabled-border-color:var(--tblr-lime)}.btn-green{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-green-fg);--tblr-btn-bg:var(--tblr-green);--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-bg:rgba(var(--tblr-green-rgb), .8);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:rgba(var(--tblr-green-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-green);--tblr-btn-disabled-color:var(--tblr-green-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-green{--tblr-btn-color:var(--tblr-green);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-green);--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-green);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:var(--tblr-green);--tblr-btn-disabled-color:var(--tblr-green);--tblr-btn-disabled-border-color:var(--tblr-green)}.btn-teal{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-teal-fg);--tblr-btn-bg:var(--tblr-teal);--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-bg:rgba(var(--tblr-teal-rgb), .8);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:rgba(var(--tblr-teal-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-teal);--tblr-btn-disabled-color:var(--tblr-teal-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-teal{--tblr-btn-color:var(--tblr-teal);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-teal);--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-teal);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:var(--tblr-teal);--tblr-btn-disabled-color:var(--tblr-teal);--tblr-btn-disabled-border-color:var(--tblr-teal)}.btn-cyan{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-cyan-fg);--tblr-btn-bg:var(--tblr-cyan);--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-bg:rgba(var(--tblr-cyan-rgb), .8);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:rgba(var(--tblr-cyan-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-cyan);--tblr-btn-disabled-color:var(--tblr-cyan-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-cyan{--tblr-btn-color:var(--tblr-cyan);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-cyan);--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-cyan);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:var(--tblr-cyan);--tblr-btn-disabled-color:var(--tblr-cyan);--tblr-btn-disabled-border-color:var(--tblr-cyan)}.btn-facebook{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-facebook-fg);--tblr-btn-bg:var(--tblr-facebook);--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-bg:rgba(var(--tblr-facebook-rgb), .8);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:rgba(var(--tblr-facebook-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-facebook);--tblr-btn-disabled-color:var(--tblr-facebook-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-facebook{--tblr-btn-color:var(--tblr-facebook);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-facebook);--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-facebook);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:var(--tblr-facebook);--tblr-btn-disabled-color:var(--tblr-facebook);--tblr-btn-disabled-border-color:var(--tblr-facebook)}.btn-twitter{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-twitter-fg);--tblr-btn-bg:var(--tblr-twitter);--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-bg:rgba(var(--tblr-twitter-rgb), .8);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:rgba(var(--tblr-twitter-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-twitter);--tblr-btn-disabled-color:var(--tblr-twitter-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-twitter{--tblr-btn-color:var(--tblr-twitter);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-twitter);--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-twitter);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:var(--tblr-twitter);--tblr-btn-disabled-color:var(--tblr-twitter);--tblr-btn-disabled-border-color:var(--tblr-twitter)}.btn-linkedin{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-linkedin-fg);--tblr-btn-bg:var(--tblr-linkedin);--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-bg:rgba(var(--tblr-linkedin-rgb), .8);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:rgba(var(--tblr-linkedin-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-linkedin);--tblr-btn-disabled-color:var(--tblr-linkedin-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-linkedin{--tblr-btn-color:var(--tblr-linkedin);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-linkedin);--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-linkedin);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:var(--tblr-linkedin);--tblr-btn-disabled-color:var(--tblr-linkedin);--tblr-btn-disabled-border-color:var(--tblr-linkedin)}.btn-google{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-google-fg);--tblr-btn-bg:var(--tblr-google);--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-bg:rgba(var(--tblr-google-rgb), .8);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:rgba(var(--tblr-google-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-google);--tblr-btn-disabled-color:var(--tblr-google-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-google{--tblr-btn-color:var(--tblr-google);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-google);--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-google);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:var(--tblr-google);--tblr-btn-disabled-color:var(--tblr-google);--tblr-btn-disabled-border-color:var(--tblr-google)}.btn-youtube{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-youtube-fg);--tblr-btn-bg:var(--tblr-youtube);--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-bg:rgba(var(--tblr-youtube-rgb), .8);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:rgba(var(--tblr-youtube-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-youtube);--tblr-btn-disabled-color:var(--tblr-youtube-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-youtube{--tblr-btn-color:var(--tblr-youtube);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-youtube);--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-youtube);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:var(--tblr-youtube);--tblr-btn-disabled-color:var(--tblr-youtube);--tblr-btn-disabled-border-color:var(--tblr-youtube)}.btn-vimeo{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-vimeo-fg);--tblr-btn-bg:var(--tblr-vimeo);--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-bg:rgba(var(--tblr-vimeo-rgb), .8);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:rgba(var(--tblr-vimeo-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-vimeo);--tblr-btn-disabled-color:var(--tblr-vimeo-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-vimeo{--tblr-btn-color:var(--tblr-vimeo);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-vimeo);--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-vimeo);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:var(--tblr-vimeo);--tblr-btn-disabled-color:var(--tblr-vimeo);--tblr-btn-disabled-border-color:var(--tblr-vimeo)}.btn-dribbble{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-dribbble-fg);--tblr-btn-bg:var(--tblr-dribbble);--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-bg:rgba(var(--tblr-dribbble-rgb), .8);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:rgba(var(--tblr-dribbble-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-dribbble);--tblr-btn-disabled-color:var(--tblr-dribbble-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-dribbble{--tblr-btn-color:var(--tblr-dribbble);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-dribbble);--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-dribbble);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:var(--tblr-dribbble);--tblr-btn-disabled-color:var(--tblr-dribbble);--tblr-btn-disabled-border-color:var(--tblr-dribbble)}.btn-github{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-github-fg);--tblr-btn-bg:var(--tblr-github);--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-bg:rgba(var(--tblr-github-rgb), .8);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:rgba(var(--tblr-github-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-github);--tblr-btn-disabled-color:var(--tblr-github-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-github{--tblr-btn-color:var(--tblr-github);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-github);--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-github);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:var(--tblr-github);--tblr-btn-disabled-color:var(--tblr-github);--tblr-btn-disabled-border-color:var(--tblr-github)}.btn-instagram{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-instagram-fg);--tblr-btn-bg:var(--tblr-instagram);--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-bg:rgba(var(--tblr-instagram-rgb), .8);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:rgba(var(--tblr-instagram-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-instagram);--tblr-btn-disabled-color:var(--tblr-instagram-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-instagram{--tblr-btn-color:var(--tblr-instagram);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-instagram);--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-instagram);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:var(--tblr-instagram);--tblr-btn-disabled-color:var(--tblr-instagram);--tblr-btn-disabled-border-color:var(--tblr-instagram)}.btn-pinterest{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-pinterest-fg);--tblr-btn-bg:var(--tblr-pinterest);--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-bg:rgba(var(--tblr-pinterest-rgb), .8);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:rgba(var(--tblr-pinterest-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-pinterest);--tblr-btn-disabled-color:var(--tblr-pinterest-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-pinterest{--tblr-btn-color:var(--tblr-pinterest);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-pinterest);--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-pinterest);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:var(--tblr-pinterest);--tblr-btn-disabled-color:var(--tblr-pinterest);--tblr-btn-disabled-border-color:var(--tblr-pinterest)}.btn-vk{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-vk-fg);--tblr-btn-bg:var(--tblr-vk);--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-bg:rgba(var(--tblr-vk-rgb), .8);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:rgba(var(--tblr-vk-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-vk);--tblr-btn-disabled-color:var(--tblr-vk-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-vk{--tblr-btn-color:var(--tblr-vk);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-vk);--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-vk);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:var(--tblr-vk);--tblr-btn-disabled-color:var(--tblr-vk);--tblr-btn-disabled-border-color:var(--tblr-vk)}.btn-rss{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-rss-fg);--tblr-btn-bg:var(--tblr-rss);--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-bg:rgba(var(--tblr-rss-rgb), .8);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:rgba(var(--tblr-rss-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-rss);--tblr-btn-disabled-color:var(--tblr-rss-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-rss{--tblr-btn-color:var(--tblr-rss);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-rss);--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-rss);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:var(--tblr-rss);--tblr-btn-disabled-color:var(--tblr-rss);--tblr-btn-disabled-border-color:var(--tblr-rss)}.btn-flickr{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-flickr-fg);--tblr-btn-bg:var(--tblr-flickr);--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-bg:rgba(var(--tblr-flickr-rgb), .8);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:rgba(var(--tblr-flickr-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-flickr);--tblr-btn-disabled-color:var(--tblr-flickr-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-flickr{--tblr-btn-color:var(--tblr-flickr);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-flickr);--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-flickr);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:var(--tblr-flickr);--tblr-btn-disabled-color:var(--tblr-flickr);--tblr-btn-disabled-border-color:var(--tblr-flickr)}.btn-bitbucket{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-bitbucket-fg);--tblr-btn-bg:var(--tblr-bitbucket);--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-bg:rgba(var(--tblr-bitbucket-rgb), .8);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:rgba(var(--tblr-bitbucket-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-bitbucket);--tblr-btn-disabled-color:var(--tblr-bitbucket-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-bitbucket{--tblr-btn-color:var(--tblr-bitbucket);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-bitbucket);--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-bitbucket);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:var(--tblr-bitbucket);--tblr-btn-disabled-color:var(--tblr-bitbucket);--tblr-btn-disabled-border-color:var(--tblr-bitbucket)}.btn-tabler{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-tabler-fg);--tblr-btn-bg:var(--tblr-tabler);--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-bg:rgba(var(--tblr-tabler-rgb), .8);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:rgba(var(--tblr-tabler-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-tabler);--tblr-btn-disabled-color:var(--tblr-tabler-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-tabler{--tblr-btn-color:var(--tblr-tabler);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-tabler);--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-tabler);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:var(--tblr-tabler);--tblr-btn-disabled-color:var(--tblr-tabler);--tblr-btn-disabled-border-color:var(--tblr-tabler)}.btn-ghost-primary{--tblr-btn-color:#206bc4;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#206bc4;--tblr-btn-hover-border-color:#206bc4;--tblr-btn-focus-shadow-rgb:32,107,196;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#206bc4;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#206bc4;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-secondary{--tblr-btn-color:#616876;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#616876;--tblr-btn-hover-border-color:#616876;--tblr-btn-focus-shadow-rgb:97,104,118;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#616876;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#616876;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-success{--tblr-btn-color:#2fb344;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#2fb344;--tblr-btn-hover-border-color:#2fb344;--tblr-btn-focus-shadow-rgb:47,179,68;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#2fb344;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#2fb344;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-info{--tblr-btn-color:#4299e1;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#4299e1;--tblr-btn-hover-border-color:#4299e1;--tblr-btn-focus-shadow-rgb:66,153,225;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#4299e1;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#4299e1;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-warning{--tblr-btn-color:#f76707;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#f76707;--tblr-btn-hover-border-color:#f76707;--tblr-btn-focus-shadow-rgb:247,103,7;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#f76707;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#f76707;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-danger{--tblr-btn-color:#d63939;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#d63939;--tblr-btn-hover-border-color:#d63939;--tblr-btn-focus-shadow-rgb:214,57,57;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#d63939;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#d63939;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-light{--tblr-btn-color:#f8fafc;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#1d273b;--tblr-btn-hover-bg:#f8fafc;--tblr-btn-hover-border-color:#f8fafc;--tblr-btn-focus-shadow-rgb:248,250,252;--tblr-btn-active-color:#1d273b;--tblr-btn-active-bg:#f8fafc;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#f8fafc;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-dark{--tblr-btn-color:#1d273b;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#1d273b;--tblr-btn-hover-border-color:#1d273b;--tblr-btn-focus-shadow-rgb:29,39,59;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#1d273b;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#1d273b;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-muted{--tblr-btn-color:#616876;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#616876;--tblr-btn-hover-border-color:#616876;--tblr-btn-focus-shadow-rgb:97,104,118;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#616876;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#616876;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-blue{--tblr-btn-color:#206bc4;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#206bc4;--tblr-btn-hover-border-color:#206bc4;--tblr-btn-focus-shadow-rgb:32,107,196;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#206bc4;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#206bc4;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-azure{--tblr-btn-color:#4299e1;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#4299e1;--tblr-btn-hover-border-color:#4299e1;--tblr-btn-focus-shadow-rgb:66,153,225;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#4299e1;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#4299e1;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-indigo{--tblr-btn-color:#4263eb;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#4263eb;--tblr-btn-hover-border-color:#4263eb;--tblr-btn-focus-shadow-rgb:66,99,235;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#4263eb;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#4263eb;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-purple{--tblr-btn-color:#ae3ec9;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#ae3ec9;--tblr-btn-hover-border-color:#ae3ec9;--tblr-btn-focus-shadow-rgb:174,62,201;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#ae3ec9;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#ae3ec9;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-pink{--tblr-btn-color:#d6336c;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#d6336c;--tblr-btn-hover-border-color:#d6336c;--tblr-btn-focus-shadow-rgb:214,51,108;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#d6336c;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#d6336c;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-red{--tblr-btn-color:#d63939;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#d63939;--tblr-btn-hover-border-color:#d63939;--tblr-btn-focus-shadow-rgb:214,57,57;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#d63939;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#d63939;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-orange{--tblr-btn-color:#f76707;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#f76707;--tblr-btn-hover-border-color:#f76707;--tblr-btn-focus-shadow-rgb:247,103,7;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#f76707;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#f76707;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-yellow{--tblr-btn-color:#f59f00;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#f59f00;--tblr-btn-hover-border-color:#f59f00;--tblr-btn-focus-shadow-rgb:245,159,0;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#f59f00;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#f59f00;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-lime{--tblr-btn-color:#74b816;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#74b816;--tblr-btn-hover-border-color:#74b816;--tblr-btn-focus-shadow-rgb:116,184,22;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#74b816;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#74b816;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-green{--tblr-btn-color:#2fb344;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#2fb344;--tblr-btn-hover-border-color:#2fb344;--tblr-btn-focus-shadow-rgb:47,179,68;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#2fb344;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#2fb344;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-teal{--tblr-btn-color:#0ca678;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#0ca678;--tblr-btn-hover-border-color:#0ca678;--tblr-btn-focus-shadow-rgb:12,166,120;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#0ca678;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#0ca678;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-cyan{--tblr-btn-color:#17a2b8;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#17a2b8;--tblr-btn-hover-border-color:#17a2b8;--tblr-btn-focus-shadow-rgb:23,162,184;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#17a2b8;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#17a2b8;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-facebook{--tblr-btn-color:#3b5998;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#3b5998;--tblr-btn-hover-border-color:#3b5998;--tblr-btn-focus-shadow-rgb:59,89,152;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#3b5998;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#3b5998;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-twitter{--tblr-btn-color:#1da1f2;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#1da1f2;--tblr-btn-hover-border-color:#1da1f2;--tblr-btn-focus-shadow-rgb:29,161,242;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#1da1f2;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#1da1f2;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-linkedin{--tblr-btn-color:#0a66c2;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#0a66c2;--tblr-btn-hover-border-color:#0a66c2;--tblr-btn-focus-shadow-rgb:10,102,194;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#0a66c2;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#0a66c2;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-google{--tblr-btn-color:#dc4e41;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#dc4e41;--tblr-btn-hover-border-color:#dc4e41;--tblr-btn-focus-shadow-rgb:220,78,65;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#dc4e41;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#dc4e41;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-youtube{--tblr-btn-color:#ff0000;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#ff0000;--tblr-btn-hover-border-color:#ff0000;--tblr-btn-focus-shadow-rgb:255,0,0;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#ff0000;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#ff0000;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-vimeo{--tblr-btn-color:#1ab7ea;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#1ab7ea;--tblr-btn-hover-border-color:#1ab7ea;--tblr-btn-focus-shadow-rgb:26,183,234;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#1ab7ea;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#1ab7ea;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-dribbble{--tblr-btn-color:#ea4c89;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#ea4c89;--tblr-btn-hover-border-color:#ea4c89;--tblr-btn-focus-shadow-rgb:234,76,137;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#ea4c89;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#ea4c89;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-github{--tblr-btn-color:#181717;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#181717;--tblr-btn-hover-border-color:#181717;--tblr-btn-focus-shadow-rgb:24,23,23;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#181717;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#181717;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-instagram{--tblr-btn-color:#e4405f;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#e4405f;--tblr-btn-hover-border-color:#e4405f;--tblr-btn-focus-shadow-rgb:228,64,95;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#e4405f;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#e4405f;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-pinterest{--tblr-btn-color:#bd081c;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#bd081c;--tblr-btn-hover-border-color:#bd081c;--tblr-btn-focus-shadow-rgb:189,8,28;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#bd081c;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#bd081c;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-vk{--tblr-btn-color:#6383a8;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#6383a8;--tblr-btn-hover-border-color:#6383a8;--tblr-btn-focus-shadow-rgb:99,131,168;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#6383a8;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#6383a8;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-rss{--tblr-btn-color:#ffa500;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#ffa500;--tblr-btn-hover-border-color:#ffa500;--tblr-btn-focus-shadow-rgb:255,165,0;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#ffa500;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#ffa500;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-flickr{--tblr-btn-color:#0063dc;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#0063dc;--tblr-btn-hover-border-color:#0063dc;--tblr-btn-focus-shadow-rgb:0,99,220;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#0063dc;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#0063dc;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-bitbucket{--tblr-btn-color:#0052cc;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#0052cc;--tblr-btn-hover-border-color:#0052cc;--tblr-btn-focus-shadow-rgb:0,82,204;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#0052cc;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#0052cc;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-tabler{--tblr-btn-color:#206bc4;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#206bc4;--tblr-btn-hover-border-color:#206bc4;--tblr-btn-focus-shadow-rgb:32,107,196;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#206bc4;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#206bc4;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-group-sm>.btn,.btn-sm{--tblr-btn-line-height:1.5;--tblr-btn-icon-size:.75rem}.btn-group-lg>.btn,.btn-lg{--tblr-btn-line-height:1.5;--tblr-btn-icon-size:2rem}.btn-pill{padding-right:1.5em;padding-left:1.5em;border-radius:10rem}.btn-pill[class*=btn-icon]{padding:.375rem 15px}.btn-square{border-radius:0}.btn-icon{min-width:calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);min-height:calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);padding-left:0;padding-right:0}.btn-icon .icon{margin:calc(-1 * var(--tblr-btn-padding-x))}.btn-list{display:flex;flex-wrap:wrap;margin-bottom:-.5rem!important;margin-right:-.5rem}.btn-list>*{margin:0 .5rem .5rem 0!important}.btn-floating{position:fixed;z-index:1030;bottom:1.5rem;right:1.5rem;border-radius:100rem}.btn-loading{position:relative;color:transparent!important;text-shadow:none!important;pointer-events:none}.btn-loading>*{opacity:0}.btn-loading:after{content:"";display:inline-block;vertical-align:text-bottom;border:2px var(--tblr-border-style) currentColor;border-right-color:transparent;border-radius:100rem;color:var(--tblr-btn-color);position:absolute;width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);left:calc(50% - var(--tblr-btn-icon-size)/ 2);top:calc(50% - var(--tblr-btn-icon-size)/ 2);-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.btn-action{padding:0;border:0;color:#616876;display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:var(--tblr-border-radius)}.btn-action:after{content:none}.btn-action:focus{outline:0;box-shadow:none}.btn-action.show,.btn-action:hover{color:#1d273b;background:#f1f5f9}.btn-action.show{color:var(--tblr-primary)}.btn-action .icon{margin:0;width:1.25rem;height:1.25rem;font-size:1.25rem;stroke-width:1}.btn-actions{display:flex}.calendar{display:block;font-size:.765625rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.calendar-nav{display:flex;align-items:center}.calendar-title{flex:1;text-align:center}.calendar-body,.calendar-header{display:flex;flex-wrap:wrap;justify-content:flex-start;padding:.5rem 0}.calendar-header{color:#616876}.calendar-date{flex:0 0 14.2857142857%;max-width:14.2857142857%;padding:.2rem;text-align:center;border:0}.calendar-date.next-month,.calendar-date.prev-month{opacity:.25}.calendar-date .date-item{position:relative;display:inline-block;width:1.4rem;height:1.4rem;line-height:1.4rem;color:#66758c;text-align:center;text-decoration:none;white-space:nowrap;vertical-align:middle;cursor:pointer;background:0 0;border:var(--tblr-border-width) var(--tblr-border-style) transparent;border-radius:100rem;outline:0;transition:background .3s,border .3s,box-shadow .32s,color .3s}@media (prefers-reduced-motion:reduce){.calendar-date .date-item{transition:none}}.calendar-date .date-item:hover{color:var(--tblr-primary);text-decoration:none;background:#fefeff;border-color:var(--tblr-border-color)}.calendar-date .date-today{color:var(--tblr-primary);border-color:var(--tblr-border-color)}.calendar-range{position:relative}.calendar-range:before{position:absolute;top:50%;right:0;left:0;height:1.4rem;content:"";background:rgba(var(--tblr-primary-rgb),.1);transform:translateY(-50%)}.calendar-range.range-end .date-item,.calendar-range.range-start .date-item{color:#fff;background:var(--tblr-primary);border-color:var(--tblr-primary)}.calendar-range.range-start:before{left:50%}.calendar-range.range-end:before{right:50%}.carousel-indicators-vertical{left:auto;top:0;margin:0 1rem 0 0;flex-direction:column}.carousel-indicators-vertical [data-bs-target]{margin:3px 0 3px;width:3px;height:30px;border:0;border-left:10px var(--tblr-border-style) transparent;border-right:10px var(--tblr-border-style) transparent}.carousel-indicators-dot [data-bs-target]{width:.5rem;height:.5rem;border-radius:100rem;border:10px var(--tblr-border-style) transparent;margin:0}.carousel-indicators-thumb [data-bs-target]{width:2rem;height:auto;background:no-repeat center/cover;border:0;border-radius:var(--tblr-border-radius);box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px 0;margin:0 3px;opacity:.75}@media (min-width:992px){.carousel-indicators-thumb [data-bs-target]{width:4rem}}.carousel-indicators-thumb [data-bs-target]:before{content:"";padding-top:var(--tblr-aspect-ratio,100%);display:block}.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target]{margin:3px 0}.carousel-caption-background{background:red;position:absolute;left:0;right:0;bottom:0;height:90%;background:linear-gradient(0deg,rgba(29,39,59,.9),rgba(29,39,59,0))}.card{transition:transform .3s ease-out,opacity .3s ease-out,box-shadow .3s ease-out}@media (prefers-reduced-motion:reduce){.card{transition:none}}@media print{.card{border:none;box-shadow:none}}a.card{color:inherit}a.card:hover{text-decoration:none;box-shadow:rgba(var(--tblr-body-color-rgb),.16) 0 2px 16px 0}.card .card{box-shadow:none}.card-borderless,.card-borderless .card-footer,.card-borderless .card-header{border-color:transparent}.card-stamp{--tblr-stamp-size:7rem;position:absolute;top:0;right:0;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);max-height:100%;border-top-right-radius:4px;opacity:.2;overflow:hidden;pointer-events:none}.card-stamp-lg{--tblr-stamp-size:13rem}.card-stamp-icon{background:var(--tblr-muted);color:var(--tblr-card-bg,var(--tblr-bg-surface));display:flex;align-items:center;justify-content:center;border-radius:100rem;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);position:relative;top:calc(var(--tblr-stamp-size) * -.25);right:calc(var(--tblr-stamp-size) * -.25);font-size:calc(var(--tblr-stamp-size) * .75);transform:rotate(10deg)}.card-stamp-icon .icon{stroke-width:2;width:calc(var(--tblr-stamp-size) * .75);height:calc(var(--tblr-stamp-size) * .75)}.card-img,.card-img-start{border-top-left-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));border-bottom-left-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)))}.card-img,.card-img-end{border-top-right-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));border-bottom-right-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)))}.card-img-overlay{display:flex;flex-direction:column;justify-content:flex-end}.card-img-overlay-dark{background-image:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 100%)}.card-inactive{pointer-events:none;box-shadow:none}.card-inactive .card-body{opacity:.64}.card-active{--tblr-card-border-color:var(--tblr-primary);--tblr-card-bg:var(--tblr-active-bg)}.card-btn{display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem;text-align:center;transition:background .3s;border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);flex:1;color:inherit;font-weight:var(--tblr-font-weight-medium)}@media (prefers-reduced-motion:reduce){.card-btn{transition:none}}.card-btn:hover{text-decoration:none;background:var(--tblr-gray-100)}.card-btn+.card-btn{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-stacked{--tblr-card-stacked-offset:.25rem;position:relative}.card-stacked:after{position:absolute;top:calc(-1 * var(--tblr-card-stacked-offset));right:var(--tblr-card-stacked-offset);left:var(--tblr-card-stacked-offset);height:var(--tblr-card-stacked-offset);content:"";background:var(--tblr-card-bg,var(--tblr-bg-surface));border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-cover{position:relative;padding:1rem 1.5rem;background:#666 no-repeat center/cover}.card-cover:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:rgba(29,39,59,.48)}.card-cover:first-child,.card-cover:first-child:before{border-radius:4px 4px 0 0}.card-cover-blurred:before{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card-actions{margin:-.5rem -.5rem -.5rem auto;padding-left:.5rem}.card-actions a{text-decoration:none}.card-header{color:inherit;display:flex;align-items:center;background:0 0}.card-header:first-child{border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-header-light{border-bottom-color:transparent;background:var(--tblr-bg-surface-secondary)}.card-header-tabs{background:var(--tblr-bg-surface-secondary);flex:1;margin:calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1);padding:calc(var(--tblr-card-cap-padding-y) * .5) calc(var(--tblr-card-cap-padding-x) * .5) 0}.card-header-pills{flex:1;margin-top:-.5rem;margin-bottom:-.5rem}.card-rotate-left{transform:rotate(-1.5deg)}.card-rotate-right{transform:rotate(1.5deg)}.card-link{color:inherit}.card-link:hover{color:inherit;text-decoration:none;box-shadow:0 1px 6px 0 rgba(0,0,0,.08)}.card-link-rotate:hover{transform:rotate(1.5deg);opacity:1}.card-link-pop:hover{transform:translateY(-2px);opacity:1}.card-footer{margin-top:auto}.card-footer:last-child{border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-footer-transparent{background:0 0;border-color:transparent;padding-top:0}.card-footer-borderless{border-top:none}.card-progress{height:.25rem}.card-progress:last-child{border-radius:0 0 2px 2px}.card-progress:first-child{border-radius:2px 2px 0 0}.card-meta{color:#616876}.card-title{display:block;margin:0 0 1rem;font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.5rem}a.card-title:hover{color:inherit}.card-header .card-title{margin:0}.card-subtitle{margin-bottom:1.25rem;color:#616876;font-weight:400}.card-header .card-subtitle{margin:0}.card-title .card-subtitle{margin:0 0 0 .25rem;font-size:.875rem}.card-body{position:relative}.card-body>:last-child{margin-bottom:0}.card-sm>.card-body{padding:1rem}@media (min-width:768px){.card-md>.card-body{padding:2.5rem}}@media (min-width:768px){.card-lg>.card-body{padding:2rem}}@media (min-width:992px){.card-lg>.card-body{padding:4rem}}@media print{.card-body{padding:0}}.card-body+.card-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-body-scrollable{overflow:auto}.card-options{top:1.5rem;right:.75rem;display:flex;margin-left:auto}.card-options-link{display:inline-block;min-width:1rem;margin-left:.25rem;color:#616876}.card-status-top{position:absolute;top:0;right:0;left:0;height:2px;border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-status-start{position:absolute;right:auto;bottom:0;width:2px;height:100%;border-radius:var(--tblr-card-border-radius) 0 0 var(--tblr-card-border-radius)}.card-status-bottom{position:absolute;top:initial;bottom:0;width:100%;height:2px;border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-table{margin-bottom:0!important}.card-table tr td:first-child,.card-table tr th:first-child{padding-left:1.5rem;border-left:0}.card-table tr td:last-child,.card-table tr th:last-child{padding-right:1.5rem;border-right:0}.card-table tbody tr:first-child,.card-table tfoot tr:first-child,.card-table thead tr:first-child{border-top:0}.card-table tbody tr:first-child td,.card-table tbody tr:first-child th,.card-table tfoot tr:first-child td,.card-table tfoot tr:first-child th,.card-table thead tr:first-child td,.card-table thead tr:first-child th{border-top:0}.card-body+.card-table{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color)}.card-code{padding:0}.card-code .highlight{margin:0;border:0}.card-code pre{margin:0!important;border:0!important}.card-chart{position:relative;z-index:1;height:3.5rem}.card-avatar{margin-left:auto;margin-right:auto;box-shadow:0 0 0 .25rem var(--tblr-card-bg,var(--tblr-bg-surface));margin-top:calc(-1 * var(--tblr-avatar-size) * .5)}.card-body+.card-list-group{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-list-group .list-group-item{padding-right:1.5rem;padding-left:1.5rem;border-right:0;border-left:0;border-radius:0}.card-list-group .list-group-item:last-child{border-bottom:0}.card-list-group .list-group-item:first-child{border-top:0}.card-tabs .nav-tabs{position:relative;z-index:1000;border-bottom:0}.card-tabs .nav-tabs .nav-link{background:var(--tblr-bg-surface-secondary);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-tabs .nav-tabs .nav-link.active,.card-tabs .nav-tabs .nav-link:active,.card-tabs .nav-tabs .nav-link:hover{border-color:var(--tblr-border-color);color:#1d273b}.card-tabs .nav-tabs .nav-link.active{background:var(--tblr-card-bg,var(--tblr-bg-surface));border-bottom-color:transparent}.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link{border-top-left-radius:0}.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link{border-top-right-radius:0}.card-tabs .nav-tabs .nav-item+.nav-item{margin-left:calc(-1 * var(--tblr-border-width))}.card-tabs .nav-tabs-bottom{margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-link{margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-link.active{border-top-color:transparent}.card-tabs .nav-tabs-bottom .nav-item{margin-top:calc(-1 * var(--tblr-border-width));margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-item .nav-link{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:0 0 var(--tblr-border-radius) var(--tblr-border-radius)}.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link{border-bottom-left-radius:0}.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link{border-bottom-right-radius:0}.card-tabs .card{border-bottom-left-radius:0}.card-tabs .nav-tabs+.tab-content .card{border-bottom-left-radius:var(--tblr-card-border-radius);border-top-left-radius:0}.btn-close{cursor:pointer}.btn-close:focus{outline:0}.dropdown-menu{box-shadow:0 .5rem 1rem rgba(0,0,0,.15);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0!important}.dropdown-menu.card{padding:0;min-width:25rem;display:none}.dropdown-menu.card.show{display:flex}.dropdown-item{min-width:11rem;display:flex;align-items:center;margin:0;line-height:1.4285714286}.dropdown-item-icon{width:1.25rem!important;height:1.25rem!important;margin-right:.5rem;color:#616876;opacity:.7;text-align:center}.dropdown-item-indicator{margin-right:.5rem;margin-left:-.25rem;height:1.25rem;display:inline-flex;line-height:1;vertical-align:bottom;align-items:center}.dropdown-header{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);padding-bottom:.25rem;pointer-events:none}.dropdown-menu-scrollable{height:auto;max-height:13rem;overflow-x:hidden}.dropdown-menu-column{min-width:11rem}.dropdown-menu-column .dropdown-item{min-width:0}.dropdown-menu-columns{display:flex;flex:0 .25rem}.dropdown-menu-arrow:before{content:"";position:absolute;top:-.25rem;left:.75rem;display:block;background:inherit;width:14px;height:14px;transform:rotate(45deg);transform-origin:center;border:1px solid;border-color:inherit;z-index:-1;clip:rect(0,9px,9px,0)}.dropdown-menu-arrow.dropdown-menu-end:before{right:.75rem;left:auto}.dropend>.dropdown-menu{margin-top:calc(-.25rem - 1px);margin-left:-.25rem}.dropend .dropdown-toggle:after{margin-left:auto}.dropdown-menu-card{padding:0}.dropdown-menu-card>.card{margin:0;border:0;box-shadow:none}.datagrid{--tblr-datagrid-padding:1.5rem;--tblr-datagrid-item-width:15rem;display:grid;grid-gap:var(--tblr-datagrid-padding);grid-template-columns:repeat(auto-fit,minmax(var(--tblr-datagrid-item-width),1fr))}.datagrid-title{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);margin-bottom:.25rem}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:1rem;text-align:center}@media (min-width:768px){.empty{padding:3rem}}.empty-icon{margin:0 0 1rem;width:3rem;height:3rem;line-height:1;color:#616876}.empty-icon svg{width:100%;height:100%}.empty-img{margin:0 0 2rem;line-height:1}.empty-img img{height:8rem;width:auto}.empty-header{margin:0 0 1rem;font-size:4rem;font-weight:var(--tblr-font-weight-light);line-height:1;color:#616876}.empty-title{font-size:1.25rem;line-height:1.75rem;font-weight:var(--tblr-font-weight-medium)}.empty-subtitle,.empty-title{margin:0 0 .5rem}.empty-action{margin-top:1.5rem}.empty-bordered{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.row>*{min-width:0}.col-separator{border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}@media (max-width:991.98px){.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--tblr-gutter-x:1rem}}.container-tight{--tblr-gutter-x:1.5rem;--tblr-gutter-y:0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:30rem}.container-narrow{--tblr-gutter-x:1.5rem;--tblr-gutter-y:0;width:100%;padding-right:calc(var(--tblr-gutter-x) * .5);padding-left:calc(var(--tblr-gutter-x) * .5);margin-right:auto;margin-left:auto;max-width:45rem}.row-0{margin-right:0;margin-left:0}.row-0>.col,.row-0>[class*=col-]{padding-right:0;padding-left:0}.row-0 .card{margin-bottom:0}.row-sm{margin-right:-.375rem;margin-left:-.375rem}.row-sm>.col,.row-sm>[class*=col-]{padding-right:.375rem;padding-left:.375rem}.row-sm .card{margin-bottom:.75rem}.row-md{margin-right:-1.5rem;margin-left:-1.5rem}.row-md>.col,.row-md>[class*=col-]{padding-right:1.5rem;padding-left:1.5rem}.row-md .card{margin-bottom:3rem}.row-lg{margin-right:-3rem;margin-left:-3rem}.row-lg>.col,.row-lg>[class*=col-]{padding-right:3rem;padding-left:3rem}.row-lg .card{margin-bottom:6rem}.row-deck>.col,.row-deck>[class*=col-]{display:flex;align-items:stretch}.row-deck>.col .card,.row-deck>[class*=col-] .card{flex:1 1 auto}.row-cards{--tblr-gutter-x:1rem;--tblr-gutter-y:1rem;min-width:0}.row-cards .row-cards{flex:1}@media (max-width:991.98px){.row-cards{--tblr-gutter-x:0.5rem;--tblr-gutter-y:0.5rem}}.space-y{display:flex;flex-direction:column;gap:1rem}.space-x{display:flex;gap:1rem}.space-y-0{display:flex;flex-direction:column;gap:0}.space-x-0{display:flex;gap:0}.space-y-1{display:flex;flex-direction:column;gap:.25rem}.space-x-1{display:flex;gap:.25rem}.space-y-2{display:flex;flex-direction:column;gap:.5rem}.space-x-2{display:flex;gap:.5rem}.space-y-3{display:flex;flex-direction:column;gap:1rem}.space-x-3{display:flex;gap:1rem}.space-y-4{display:flex;flex-direction:column;gap:2rem}.space-x-4{display:flex;gap:2rem}.space-y-5{display:flex;flex-direction:column;gap:4rem}.space-x-5{display:flex;gap:4rem}.divide-y>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y>:not(template):not(:first-child){padding-top:1rem!important}.divide-y>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x>:not(template):not(:first-child){padding-left:1rem!important}.divide-x>:not(template):not(:last-child){padding-right:1rem!important}.divide-y-0>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y-0>:not(template):not(:first-child){padding-top:0!important}.divide-y-0>:not(template):not(:last-child){padding-bottom:0!important}.divide-x-0>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x-0>:not(template):not(:first-child){padding-left:0!important}.divide-x-0>:not(template):not(:last-child){padding-right:0!important}.divide-y-1>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y-1>:not(template):not(:first-child){padding-top:.25rem!important}.divide-y-1>:not(template):not(:last-child){padding-bottom:.25rem!important}.divide-x-1>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x-1>:not(template):not(:first-child){padding-left:.25rem!important}.divide-x-1>:not(template):not(:last-child){padding-right:.25rem!important}.divide-y-2>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y-2>:not(template):not(:first-child){padding-top:.5rem!important}.divide-y-2>:not(template):not(:last-child){padding-bottom:.5rem!important}.divide-x-2>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x-2>:not(template):not(:first-child){padding-left:.5rem!important}.divide-x-2>:not(template):not(:last-child){padding-right:.5rem!important}.divide-y-3>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y-3>:not(template):not(:first-child){padding-top:1rem!important}.divide-y-3>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x-3>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x-3>:not(template):not(:first-child){padding-left:1rem!important}.divide-x-3>:not(template):not(:last-child){padding-right:1rem!important}.divide-y-4>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y-4>:not(template):not(:first-child){padding-top:2rem!important}.divide-y-4>:not(template):not(:last-child){padding-bottom:2rem!important}.divide-x-4>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x-4>:not(template):not(:first-child){padding-left:2rem!important}.divide-x-4>:not(template):not(:last-child){padding-right:2rem!important}.divide-y-5>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y-5>:not(template):not(:first-child){padding-top:4rem!important}.divide-y-5>:not(template):not(:last-child){padding-bottom:4rem!important}.divide-x-5>:not(template)~:not(template){border-left:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x-5>:not(template):not(:first-child){padding-left:4rem!important}.divide-x-5>:not(template):not(:last-child){padding-right:4rem!important}.divide-y-fill{display:flex;flex-direction:column;height:100%}.divide-y-fill>:not(template){flex:1;display:flex;justify-content:center;flex-direction:column}.icon{width:1.25rem;height:1.25rem;font-size:1.25rem;vertical-align:bottom;stroke-width:1.5}.icon:hover{text-decoration:none}.icon-inline{width:1rem;height:1rem;font-size:1rem;vertical-align:-.2rem}.icon-filled{fill:currentColor}.icon-sm{width:1rem;height:1rem;stroke-width:1}.icon-md{width:2.5rem;height:2.5rem;stroke-width:1}.icon-lg{width:3.5rem;height:3.5rem;stroke-width:1}@-webkit-keyframes icon-pulse{from{opacity:1;transform:scale3d(.8,.8,.8)}50%{transform:scale3d(1,1,1);opacity:1}to{opacity:1;transform:scale3d(.8,.8,.8)}}@keyframes icon-pulse{from{opacity:1;transform:scale3d(.8,.8,.8)}50%{transform:scale3d(1,1,1);opacity:1}to{opacity:1;transform:scale3d(.8,.8,.8)}}.icon-pulse{transition:all .15s ease 0s;-webkit-animation:icon-pulse 2s ease infinite;animation:icon-pulse 2s ease infinite;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes icon-tada{0%{transform:scale3d(1,1,1)}10%,5%{transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-5deg)}15%,25%,35%,45%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,5deg)}20%,30%,40%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-5deg)}50%{transform:scale3d(1,1,1)}}@keyframes icon-tada{0%{transform:scale3d(1,1,1)}10%,5%{transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-5deg)}15%,25%,35%,45%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,5deg)}20%,30%,40%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-5deg)}50%{transform:scale3d(1,1,1)}}.icon-tada{transition:all .15s ease 0s;-webkit-animation:icon-tada 3s ease infinite;animation:icon-tada 3s ease infinite;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes icon-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes icon-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-rotate{transition:all .15s ease 0s;-webkit-animation:icon-rotate 3s linear infinite;animation:icon-rotate 3s linear infinite;-webkit-animation-fill-mode:both;animation-fill-mode:both}.img-responsive{background:no-repeat center/cover;padding-top:75%}.img-responsive-1x1{padding-top:100%}.img-responsive-4x3{padding-top:75%}.img-responsive-3x4{padding-top:133.3333333333%}.img-responsive-16x9{padding-top:56.25%}.img-responsive-9x16{padding-top:177.7777777778%}.img-responsive-21x9{padding-top:42.8571428571%}.img-responsive-9x21{padding-top:233.3333333333%}textarea[cols]{height:auto}.col-form-label,.form-label{display:block;font-weight:var(--tblr-font-weight-medium)}.col-form-label.required:after,.form-label.required:after{content:"*";margin-left:.25rem;color:#d63939}.form-label-description{float:right;font-weight:var(--tblr-font-weight-normal);color:#616876}.form-hint{display:block;color:#616876}.form-hint:last-child{margin-bottom:0}.form-hint+.form-control{margin-top:.25rem}.form-label+.form-hint{margin-top:-.25rem}.form-control+.form-hint,.form-select+.form-hint,.input-group+.form-hint{margin-top:.5rem}.form-select:-moz-focusring{color:var(--tblr-body-color)}.form-control:-webkit-autofill{box-shadow:0 0 0 1000px var(--tblr-body-bg) inset;color:var(--tblr-body-color)}.form-control.disabled,.form-control:disabled{color:#616876;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-control[size]{width:auto}.form-control[type=number]::-webkit-inner-spin-button{opacity:1;cursor:pointer;height:calc(calc(1.4285714286em + .875rem + 2px) - 1px);margin:0 -.75rem 0 0}.form-control[type=number]::-moz-inner-spin-button{opacity:1;cursor:pointer;height:calc(calc(1.4285714286em + .875rem + 2px) - 1px);margin:0 -.75rem 0 0}.form-control-light{background-color:#f1f5f9;border-color:transparent}.form-control-dark{background-color:rgba(0,0,0,.1);color:#fff;border-color:transparent}.form-control-dark:focus{background-color:rgba(0,0,0,.1);box-shadow:none;border-color:rgba(255,255,255,.24)}.form-control-dark::-webkit-input-placeholder{color:rgba(255,255,255,.6)}.form-control-dark::-moz-placeholder{color:rgba(255,255,255,.6)}.form-control-dark:-ms-input-placeholder{color:rgba(255,255,255,.6)}.form-control-dark::-ms-input-placeholder{color:rgba(255,255,255,.6)}.form-control-dark::placeholder{color:rgba(255,255,255,.6)}.form-control-rounded{border-radius:10rem}.form-control-flush{padding:0;background:0 0!important;border-color:transparent!important;resize:none;box-shadow:none!important;line-height:inherit}.form-footer{margin-top:2rem}.form-fieldset{padding:1rem;margin-bottom:1rem;background:var(--tblr-body-bg);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.form-help{display:inline-flex;font-weight:var(--tblr-font-weight-bold);align-items:center;justify-content:center;width:1.125rem;height:1.125rem;font-size:.75rem;color:#616876;text-align:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-gray-100);border-radius:100rem;transition:background-color .3s,color .3s}@media (prefers-reduced-motion:reduce){.form-help{transition:none}}.form-help:hover,.form-help[aria-describedby]{color:#fff;background:var(--tblr-primary)}.input-group-link{font-size:.75rem}.input-group-flat:focus-within{box-shadow:0 0 0 .25rem rgba(32,107,196,.25);border-radius:var(--tblr-border-radius)}.input-group-flat:focus-within .form-control,.input-group-flat:focus-within .input-group-text{border-color:#90b5e2!important}.input-group-flat .form-control:focus{border-color:var(--tblr-border-color);box-shadow:none}.input-group-flat .form-control:not(:last-child){border-right:0}.input-group-flat .form-control:not(:first-child){border-left:0}.input-group-flat .input-group-text{background:var(--tblr-bg-forms);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group-flat .input-group-text{transition:none}}.input-group-flat .input-group-text:first-child{padding-right:0}.input-group-flat .input-group-text:last-child{padding-left:0}.form-file-button{margin-left:0;border-left:0}.input-icon{position:relative}.input-icon .form-control:not(:last-child),.input-icon .form-select:not(:last-child){padding-right:2.5rem}.input-icon .form-control:not(:first-child),.input-icon .form-select:not(:last-child){padding-left:2.5rem}.input-icon-addon{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;min-width:2.5rem;color:var(--tblr-icon-color);pointer-events:none;font-size:1.2em}.input-icon-addon:last-child{right:0;left:auto}.form-colorinput{position:relative;display:inline-block;margin:0;line-height:1;cursor:pointer}.form-colorinput-input{position:absolute;z-index:-1;opacity:0}.form-colorinput-color{display:block;width:1.5rem;height:1.5rem;color:#fff;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-radius:3px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.form-colorinput-color:before{position:absolute;top:0;left:0;width:100%;height:100%;content:"";background:no-repeat center center/1rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");opacity:0;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-colorinput-color:before{transition:none}}.form-colorinput-input:checked~.form-colorinput-color:before{opacity:1}.form-colorinput-input:focus~.form-colorinput-color{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-colorinput-light .form-colorinput-color:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-imagecheck{position:relative;margin:0;cursor:pointer}.form-imagecheck-input{position:absolute;z-index:-1;opacity:0}.form-imagecheck-figure{position:relative;display:block;margin:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px}.form-imagecheck-input:focus~.form-imagecheck-figure{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-imagecheck-input:checked~.form-imagecheck-figure{border-color:var(--tblr-primary)}.form-imagecheck-figure:before{position:absolute;top:.25rem;left:.25rem;z-index:1;display:block;width:1rem;height:1rem;color:#fff;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-bg-forms);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-figure:before{transition:none}}.form-imagecheck-input:checked~.form-imagecheck-figure:before{background-color:var(--tblr-primary);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");background-repeat:repeat;background-position:center;background-size:1rem;border-color:var(--tblr-border-color-translucent)}.form-imagecheck-input[type=radio]~.form-imagecheck-figure:before{border-radius:50%}.form-imagecheck-input[type=radio]:checked~.form-imagecheck-figure:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-imagecheck-image{max-width:100%;display:block;opacity:.64;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-image{transition:none}}.form-imagecheck-image:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.form-imagecheck-image:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-image,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-image,.form-imagecheck:hover .form-imagecheck-image{opacity:1}.form-imagecheck-caption{padding:.25rem;font-size:.765625rem;color:#616876;text-align:center;transition:color .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-caption{transition:none}}.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-caption,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-caption,.form-imagecheck:hover .form-imagecheck-caption{color:#1d273b}.form-selectgroup{display:inline-flex;margin:0 -.5rem -.5rem 0;flex-wrap:wrap}.form-selectgroup .form-selectgroup-item{margin:0 .5rem .5rem 0}.form-selectgroup-vertical{flex-direction:column}.form-selectgroup-item{display:block;position:relative}.form-selectgroup-input{position:absolute;top:0;left:0;z-index:-1;opacity:0}.form-selectgroup-label{position:relative;display:block;min-width:calc(1.4285714286em + .875rem + 2px);margin:0;padding:.4375rem .75rem;font-size:.875rem;line-height:1.4285714286;color:#616876;background:var(--tblr-bg-forms);text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px;transition:border-color .3s,background .3s,color .3s}@media (prefers-reduced-motion:reduce){.form-selectgroup-label{transition:none}}.form-selectgroup-label .icon:only-child{margin:0 -.25rem}.form-selectgroup-label:hover{color:var(--tblr-body-color)}.form-selectgroup-check{display:inline-block;width:1rem;height:1rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);vertical-align:middle}.form-selectgroup-input[type=checkbox]+.form-selectgroup-label .form-selectgroup-check{border-radius:var(--tblr-border-radius)}.form-selectgroup-input[type=radio]+.form-selectgroup-label .form-selectgroup-check{border-radius:50%}.form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-check{background-color:var(--tblr-primary);background-repeat:repeat;background-position:center;background-size:1rem;border-color:var(--tblr-border-color-translucent)}.form-selectgroup-input[type=checkbox]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-selectgroup-input[type=radio]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-selectgroup-check-floated{position:absolute;top:.4375rem;right:.4375rem}.form-selectgroup-input:checked+.form-selectgroup-label{z-index:1;color:var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.04);border-color:var(--tblr-primary)}.form-selectgroup-input:focus+.form-selectgroup-label{z-index:2;color:var(--tblr-primary);border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-selectgroup-boxes .form-selectgroup-label{text-align:left;padding:1.5rem 1rem;color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label{color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-title{color:var(--tblr-primary)}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-label-content{opacity:1}.form-selectgroup-pills{flex-wrap:wrap;align-items:flex-start}.form-selectgroup-pills .form-selectgroup-item{flex-grow:0}.form-selectgroup-pills .form-selectgroup-label{border-radius:50px}.form-control-color::-webkit-color-swatch{border:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.form-control::-webkit-file-upload-button{background-color:var(--tblr-btn-color,#f8fafc)}.form-control::file-selector-button{background-color:var(--tblr-btn-color,#f8fafc)}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--tblr-btn-color,#eceeef)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--tblr-btn-color,#eceeef)}.form-check{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-check.form-check-highlight .form-check-input:not(:checked)~.form-check-label{color:var(--tblr-muted)}.form-check .form-check-label-off{color:var(--tblr-muted)}.form-check .form-check-input:checked~.form-check-label-off{display:none}.form-check .form-check-input:not(:checked)~.form-check-label-on{display:none}.form-check-input{background-size:1rem;margin-top:.125rem}.form-switch .form-check-input{transition:background-color .3s,background-position .3s}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-check-label{display:block}.form-check-label.required:after{content:"*";margin-left:.25rem;color:#d63939}.form-check-description{display:block;color:#616876;font-size:.75rem;margin-top:.25rem}.form-check-single{margin:0}.form-check-single .form-check-input{margin:0}.form-switch .form-check-input{height:1.125rem;margin-top:.0625rem}.form-switch-lg{padding-left:3.5rem;min-height:1.5rem}.form-switch-lg .form-check-input{height:1.5rem;width:2.75rem;background-size:1.5rem;margin-left:-3.5rem}.form-switch-lg .form-check-label{padding-top:.125rem}.form-check-input:checked{border:none}.form-control.is-invalid-lite,.form-control.is-valid-lite,.form-select.is-invalid-lite,.form-select.is-valid-lite{border-color:var(--tblr-border-color)!important}.legend{--tblr-legend-size:0.75em;display:inline-block;background:var(--tblr-border-color);width:var(--tblr-legend-size);height:var(--tblr-legend-size);border-radius:var(--tblr-border-radius-sm)}.list-group{margin-left:0;margin-right:0}.list-group-header{background:var(--tblr-light);padding:.5rem 1.5rem;font-size:.75rem;font-weight:var(--tblr-font-weight-medium);line-height:1;text-transform:uppercase;color:var(--tblr-muted);border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.list-group-flush>.list-group-header:last-child{border-bottom-width:0}.list-group-item{background-color:inherit}.list-group-item.active{background-color:rgba(var(--tblr-muted-rgb),.04);border-left-color:#206bc4;border-left-width:2px}.list-group-item:active,.list-group-item:focus,.list-group-item:hover{background-color:rgba(var(--tblr-muted-rgb),.04)}.list-group-item.disabled,.list-group-item:disabled{color:#6c7a91;background-color:rgba(var(--tblr-muted-rgb),.04)}.list-bordered .list-item{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);margin-top:-1px}.list-bordered .list-item:first-child{border-top:none}.list-group-hoverable .list-group-item-actions{opacity:0;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.list-group-hoverable .list-group-item-actions{transition:none}}.list-group-hoverable .list-group-item-actions.show,.list-group-hoverable .list-group-item:hover .list-group-item-actions{opacity:1}.list-timeline{position:relative;padding:0;margin:0;list-style:none}.list-timeline>li{position:relative;margin-bottom:1.5rem}.list-timeline>li:last-child{margin-bottom:0}.list-timeline-time{float:right;margin-left:1rem;color:#616876}.list-timeline-icon{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:#fff;text-align:center;background:#616876;border-radius:100rem}.list-timeline-icon .icon{width:1rem;height:1rem;font-size:1rem}.list-timeline-title{margin:0;font-weight:var(--tblr-font-weight-bold)}.list-timeline-content{margin-left:3.5rem}@media screen and (min-width:768px){.list-timeline:not(.list-timeline-simple):before{position:absolute;top:0;bottom:0;left:calc(7.5rem + 2px);z-index:1;display:block;width:4px;content:"";background-color:#f1f5f9}.list-timeline:not(.list-timeline-simple)>li{z-index:2;min-height:40px}.list-timeline:not(.list-timeline-simple) .list-timeline-time{position:absolute;top:.5rem;left:0;width:5.5rem;margin:0;text-align:right}.list-timeline:not(.list-timeline-simple) .list-timeline-icon{top:0;left:6.5rem}.list-timeline:not(.list-timeline-simple) .list-timeline-content{padding:.625rem 0 0 10rem;margin:0}}.list-group-transparent{--tblr-list-group-border-radius:0;margin:0 -1.5rem}.list-group-transparent .list-group-item{background:0 0;border:0}.list-group-transparent .list-group-item .icon{color:#616876}.list-group-transparent .list-group-item.active{font-weight:var(--tblr-font-weight-bold);color:inherit;background:var(--tblr-active-bg)}.list-group-transparent .list-group-item.active .icon{color:inherit}.list-separated-item{padding:1rem 0}.list-separated-item:first-child{padding-top:0}.list-separated-item:last-child{padding-bottom:0}.list-separated-item+.list-separated-item{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.list-inline-item:not(:last-child){margin-right:auto;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.list-inline-dots .list-inline-item+.list-inline-item:before{content:" · ";-webkit-margin-end:.5rem;margin-inline-end:.5rem}@-webkit-keyframes loader{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loader{from{transform:rotate(0)}to{transform:rotate(360deg)}}.loader{position:relative;display:block;width:2.5rem;height:2.5rem;color:#206bc4;vertical-align:middle}.loader:after{position:absolute;top:0;left:0;width:100%;height:100%;content:"";border:1px solid;border-color:transparent;border-top-color:currentColor;border-left-color:currentColor;border-radius:100rem;-webkit-animation:loader .6s linear;animation:loader .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.dimmer{position:relative}.dimmer .loader{position:absolute;top:50%;right:0;left:0;display:none;margin:0 auto;transform:translateY(-50%)}.dimmer.active .loader{display:block}.dimmer.active .dimmer-content{pointer-events:none;opacity:.1}@-webkit-keyframes animated-dots{0%{transform:translateX(-100%)}}@keyframes animated-dots{0%{transform:translateX(-100%)}}.animated-dots{display:inline-block;overflow:hidden;vertical-align:bottom}.animated-dots:after{display:inline-block;content:"...";-webkit-animation:animated-dots 1.2s steps(4,jump-none) infinite;animation:animated-dots 1.2s steps(4,jump-none) infinite}.modal-content .btn-close{position:absolute;top:0;right:0;width:3.5rem;height:3.5rem;margin:0;padding:0;z-index:10}.modal-body::-webkit-scrollbar{width:.5rem;height:.5rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.modal-body::-webkit-scrollbar{-webkit-transition:none;transition:none}}.modal-body::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(var(--tblr-body-color-rgb),.16)}.modal-body::-webkit-scrollbar-track{background:rgba(var(--tblr-body-color-rgb),.06)}.modal-body:hover::-webkit-scrollbar-thumb{background:rgba(var(--tblr-body-color-rgb),.32)}.modal-body::-webkit-scrollbar-corner{background:0 0}.modal-body .modal-title{margin-bottom:1rem}.modal-body+.modal-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.modal-status{position:absolute;top:0;left:0;right:0;height:2px;background:#616876;border-radius:var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0}.modal-header{align-items:center;min-height:3.5rem;background:#fff;padding:0 3.5rem 0 1.5rem}.modal-title{font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.4285714286}.modal-footer{padding-top:0;padding-bottom:.75rem}.modal-blur{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-full-width{max-width:none;margin:0 .5rem}.nav-vertical,.nav-vertical .nav{flex-direction:column;flex-wrap:nowrap}.nav-vertical .nav{margin-left:1.25rem;border-left:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding-left:.5rem}.nav-vertical .nav-item.show .nav-link,.nav-vertical .nav-link.active{font-weight:var(--tblr-font-weight-bold)}.nav-vertical.nav-pills{margin:0 -.75rem}.nav-bordered{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.nav-bordered .nav-item+.nav-item{margin-left:1.25rem}.nav-bordered .nav-link{padding-left:0;padding-right:0;margin:0 0 -var(--tblr-border-width);border:0;border-bottom:2px var(--tblr-border-style) transparent;color:#616876}.nav-bordered .nav-item.show .nav-link,.nav-bordered .nav-link.active{color:var(--tblr-primary);border-color:var(--tblr-primary)}.nav-link{display:flex;transition:color .3s;align-items:center}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link-toggle{margin-left:auto;padding:0 .25rem;transition:transform .3s}@media (prefers-reduced-motion:reduce){.nav-link-toggle{transition:none}}.nav-link-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px solid;border-left:1px solid;margin-right:.1em;margin-left:.4em;transform:rotate(-45deg)}.nav-link-toggle:after{margin:0}.nav-link[aria-expanded=true] .nav-link-toggle{transform:rotate(180deg)}.nav-link-icon{width:1.25rem;height:1.25rem;margin-right:.5rem;color:var(--tblr-icon-color)}.nav-link-icon svg{display:block;height:100%}.nav-fill .nav-item .nav-link{justify-content:center}.stars{display:inline-flex;color:#9ba9be;font-size:.75rem}.stars .star:not(:first-child){margin-left:.25rem}.pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.page-link{min-width:1.75rem;border-radius:var(--tblr-border-radius)}.page-item{text-align:center}.page-item:not(.active) .page-link:hover{background:0 0}.page-item.page-next,.page-item.page-prev{flex:0 0 50%;text-align:left}.page-item.page-next{margin-left:auto;text-align:right}.page-item-subtitle{margin-bottom:2px;font-size:12px;color:#616876;text-transform:uppercase}.page-item.disabled .page-item-subtitle{color:var(--tblr-disabled-color)}.page-item-title{font-size:1rem;font-weight:var(--tblr-font-weight-normal);color:#1d273b}.page-link:hover .page-item-title{color:var(--tblr-primary)}.page-item.disabled .page-item-title{color:var(--tblr-disabled-color)}@-webkit-keyframes progress-indeterminate{0%{right:100%;left:-35%}100%,60%{right:-90%;left:100%}}@keyframes progress-indeterminate{0%{right:100%;left:-35%}100%,60%{right:-90%;left:100%}}.progress{position:relative;width:100%;line-height:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress::-webkit-progress-bar{background:var(--tblr-progress-bg)}.progress::-webkit-progress-value{background-color:var(--tblr-primary)}.progress::-moz-progress-bar{background-color:var(--tblr-primary)}.progress::-ms-fill{background-color:var(--tblr-primary);border:none}.progress-sm{height:.25rem}.progress-bar{height:100%}.progress-bar-indeterminate:after,.progress-bar-indeterminate:before{position:absolute;top:0;bottom:0;left:0;content:"";background-color:inherit;will-change:left,right}.progress-bar-indeterminate:before{-webkit-animation:progress-indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:progress-indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress-separated .progress-bar{box-shadow:0 0 0 2px var(--tblr-card-bg,var(--tblr-bg-surface))}.progressbg{position:relative;padding:.25rem .5rem;display:flex}.progressbg-text{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progressbg-progress{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;height:100%;background:0 0;pointer-events:none}.progressbg-value{font-weight:var(--tblr-font-weight-medium);margin-left:auto;padding-left:2rem}.ribbon{--tblr-ribbon-margin:0.25rem;--tblr-ribbon-border-radius:var(--tblr-border-radius);position:absolute;top:.75rem;right:calc(-1 * var(--tblr-ribbon-margin));z-index:1;padding:.25rem .75rem;font-size:.625rem;font-weight:var(--tblr-font-weight-bold);line-height:1;color:#fff;text-align:center;text-transform:uppercase;background:var(--tblr-primary);border-color:var(--tblr-primary);border-radius:var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius);display:inline-flex;align-items:center;justify-content:center;min-height:2rem;min-width:2rem}.ribbon:before{position:absolute;right:0;bottom:100%;width:0;height:0;content:"";filter:brightness(70%);border:calc(var(--tblr-ribbon-margin) * .5) solid;border-color:inherit;border-top-color:transparent;border-right-color:transparent}.ribbon.bg-blue{border-color:var(--tblr-blue)}.ribbon.bg-blue-lt{border-color:rgba(var(--tblr-blue-rgb),.1)!important}.ribbon.bg-azure{border-color:var(--tblr-azure)}.ribbon.bg-azure-lt{border-color:rgba(var(--tblr-azure-rgb),.1)!important}.ribbon.bg-indigo{border-color:var(--tblr-indigo)}.ribbon.bg-indigo-lt{border-color:rgba(var(--tblr-indigo-rgb),.1)!important}.ribbon.bg-purple{border-color:var(--tblr-purple)}.ribbon.bg-purple-lt{border-color:rgba(var(--tblr-purple-rgb),.1)!important}.ribbon.bg-pink{border-color:var(--tblr-pink)}.ribbon.bg-pink-lt{border-color:rgba(var(--tblr-pink-rgb),.1)!important}.ribbon.bg-red{border-color:var(--tblr-red)}.ribbon.bg-red-lt{border-color:rgba(var(--tblr-red-rgb),.1)!important}.ribbon.bg-orange{border-color:var(--tblr-orange)}.ribbon.bg-orange-lt{border-color:rgba(var(--tblr-orange-rgb),.1)!important}.ribbon.bg-yellow{border-color:var(--tblr-yellow)}.ribbon.bg-yellow-lt{border-color:rgba(var(--tblr-yellow-rgb),.1)!important}.ribbon.bg-lime{border-color:var(--tblr-lime)}.ribbon.bg-lime-lt{border-color:rgba(var(--tblr-lime-rgb),.1)!important}.ribbon.bg-green{border-color:var(--tblr-green)}.ribbon.bg-green-lt{border-color:rgba(var(--tblr-green-rgb),.1)!important}.ribbon.bg-teal{border-color:var(--tblr-teal)}.ribbon.bg-teal-lt{border-color:rgba(var(--tblr-teal-rgb),.1)!important}.ribbon.bg-cyan{border-color:var(--tblr-cyan)}.ribbon.bg-cyan-lt{border-color:rgba(var(--tblr-cyan-rgb),.1)!important}.ribbon .icon{width:1.25rem;height:1.25rem;font-size:1.25rem}.ribbon-top{top:calc(-1 * var(--tblr-ribbon-margin));right:.75rem;width:2rem;padding:.5rem 0;border-radius:0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius)}.ribbon-top:before{top:0;right:100%;bottom:auto;border-color:inherit;border-top-color:transparent;border-left-color:transparent}.ribbon-top.ribbon-start{right:auto;left:.75rem}.ribbon-top.ribbon-start:before{top:0;right:100%;left:auto}.ribbon-start{right:auto;left:calc(-1 * var(--tblr-ribbon-margin))}.ribbon-start:before{top:auto;bottom:100%;left:0;border-color:inherit;border-top-color:transparent;border-left-color:transparent}.ribbon-bottom{top:auto;bottom:.75rem}.ribbon-bookmark{padding-left:.25rem;border-radius:0 0 var(--tblr-ribbon-border-radius) 0}.ribbon-bookmark:after{position:absolute;top:0;right:100%;display:block;width:0;height:0;content:"";border:1rem solid;border-color:inherit;border-right-width:0;border-left-color:transparent;border-left-width:.5rem}.ribbon-bookmark.ribbon-left{padding-right:.5rem}.ribbon-bookmark.ribbon-left:after{right:auto;left:100%;border-right-color:transparent;border-right-width:.5rem;border-left-width:0}.ribbon-bookmark.ribbon-top{padding-right:0;padding-bottom:.25rem;padding-left:0;border-radius:0 var(--tblr-ribbon-border-radius) 0 0}.ribbon-bookmark.ribbon-top:after{top:100%;right:0;left:0;border-color:inherit;border-width:1rem;border-top-width:0;border-bottom-color:transparent;border-bottom-width:.5rem}.markdown{line-height:1.7142857143}.markdown>:first-child{margin-top:0}.markdown>:last-child,.markdown>:last-child .highlight{margin-bottom:0}@media (min-width:768px){.markdown>.hr,.markdown>hr{margin-top:3em;margin-bottom:3em}}.markdown>.h1,.markdown>.h2,.markdown>.h3,.markdown>.h4,.markdown>.h5,.markdown>.h6,.markdown>h1,.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{font-weight:var(--tblr-font-weight-bold)}.markdown>blockquote{font-size:1rem;margin:1.5rem 0;padding:.5rem 1.5rem}.markdown>img{border-radius:var(--tblr-border-radius)}.placeholder:not(.btn):not([class*=bg-]){background-color:currentColor!important}.placeholder:not(.avatar):not([class*=card-img-]){border-radius:var(--tblr-border-radius)}.steps{display:flex;flex-wrap:nowrap;width:100%;padding:0;margin:2rem 0;list-style:none}.steps .step-item{padding-top:calc(.5rem + 4px)}.steps .step-item:after{top:calc(.25rem + 2px);height:2px}.steps .step-item:before{width:.5rem;height:.5rem}.steps .step-item:after,.steps .step-item:before{color:#fff;background:var(--tblr-primary)}.steps .step-item.active:before{color:inherit;border-color:var(--tblr-primary)}.steps-blue .step-item:after,.steps-blue .step-item:before{color:#fff;background:#206bc4}.steps-blue .step-item.active:before{color:inherit;border-color:#206bc4}.steps-azure .step-item:after,.steps-azure .step-item:before{color:#fff;background:#4299e1}.steps-azure .step-item.active:before{color:inherit;border-color:#4299e1}.steps-indigo .step-item:after,.steps-indigo .step-item:before{color:#fff;background:#4263eb}.steps-indigo .step-item.active:before{color:inherit;border-color:#4263eb}.steps-purple .step-item:after,.steps-purple .step-item:before{color:#fff;background:#ae3ec9}.steps-purple .step-item.active:before{color:inherit;border-color:#ae3ec9}.steps-pink .step-item:after,.steps-pink .step-item:before{color:#fff;background:#d6336c}.steps-pink .step-item.active:before{color:inherit;border-color:#d6336c}.steps-red .step-item:after,.steps-red .step-item:before{color:#fff;background:#d63939}.steps-red .step-item.active:before{color:inherit;border-color:#d63939}.steps-orange .step-item:after,.steps-orange .step-item:before{color:#fff;background:#f76707}.steps-orange .step-item.active:before{color:inherit;border-color:#f76707}.steps-yellow .step-item:after,.steps-yellow .step-item:before{color:#fff;background:#f59f00}.steps-yellow .step-item.active:before{color:inherit;border-color:#f59f00}.steps-lime .step-item:after,.steps-lime .step-item:before{color:#fff;background:#74b816}.steps-lime .step-item.active:before{color:inherit;border-color:#74b816}.steps-green .step-item:after,.steps-green .step-item:before{color:#fff;background:#2fb344}.steps-green .step-item.active:before{color:inherit;border-color:#2fb344}.steps-teal .step-item:after,.steps-teal .step-item:before{color:#fff;background:#0ca678}.steps-teal .step-item.active:before{color:inherit;border-color:#0ca678}.steps-cyan .step-item:after,.steps-cyan .step-item:before{color:#fff;background:#17a2b8}.steps-cyan .step-item.active:before{color:inherit;border-color:#17a2b8}.step-item{position:relative;flex:1 1 0;min-height:1rem;margin-top:0;color:inherit;text-align:center;cursor:default}a.step-item{cursor:pointer}a.step-item:hover{color:inherit}.step-item:not(:first-child):after{position:absolute;left:-50%;width:100%;content:"";transform:translateY(-50%)}.step-item:before{position:absolute;top:0;left:50%;z-index:1;box-sizing:content-box;display:block;content:"";border:2px var(--tblr-border-style) var(--tblr-bg-surface);border-radius:100rem;transform:translateX(-50%)}.step-item.active{font-weight:var(--tblr-font-weight-bold)}.step-item.active:before{background:var(--tblr-bg-surface)}.step-item.active~.step-item{color:#616876}.step-item.active~.step-item:after,.step-item.active~.step-item:before{background:#f3f5f5}.step-item.active~.step-item:before{color:#616876!important}.steps-counter{counter-reset:steps}.steps-counter .step-item{padding-top:calc(1.5rem + 4px)}.steps-counter .step-item:after{top:calc(.75rem + 2px);height:2px}.steps-counter .step-item:before{width:1.5rem;height:1.5rem}.steps-counter .step-item{counter-increment:steps}.steps-counter .step-item:before{font-size:.75rem;line-height:1.5rem;content:counter(steps)}.steps-counter .step-item.active~.step-item:before{background:#fff}@-webkit-keyframes status-pulsate-main{40%{transform:scale(1.25,1.25)}60%{transform:scale(1.25,1.25)}}@keyframes status-pulsate-main{40%{transform:scale(1.25,1.25)}60%{transform:scale(1.25,1.25)}}@-webkit-keyframes status-pulsate-secondary{10%{transform:scale(1,1)}30%{transform:scale(3,3)}80%{transform:scale(3,3)}100%{transform:scale(1,1)}}@keyframes status-pulsate-secondary{10%{transform:scale(1,1)}30%{transform:scale(3,3)}80%{transform:scale(3,3)}100%{transform:scale(1,1)}}@-webkit-keyframes status-pulsate-tertiary{25%{transform:scale(1,1)}80%{transform:scale(3,3);opacity:0}100%{transform:scale(3,3);opacity:0}}@keyframes status-pulsate-tertiary{25%{transform:scale(1,1)}80%{transform:scale(3,3);opacity:0}100%{transform:scale(3,3);opacity:0}}.status{--tblr-status-height:1.5rem;--tblr-status-color:#616876;--tblr-status-color-rgb:97,104,118;display:inline-flex;align-items:center;height:var(--tblr-status-height);padding:.25rem .75rem;gap:.5rem;color:var(--tblr-status-color);background:rgba(var(--tblr-status-color-rgb),.1);font-size:.875rem;text-transform:none;letter-spacing:normal;border-radius:100rem;font-weight:var(--tblr-font-weight-medium);line-height:1;margin:0}.status .status-dot{background:var(--tblr-status-color)}.status .icon{font-size:1.25rem}.status-lite{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;background:0 0!important;color:var(--tblr-body-text)!important}.status-primary{--tblr-status-color:#206bc4;--tblr-status-color-rgb:32,107,196}.status-secondary{--tblr-status-color:#616876;--tblr-status-color-rgb:97,104,118}.status-success{--tblr-status-color:#2fb344;--tblr-status-color-rgb:47,179,68}.status-info{--tblr-status-color:#4299e1;--tblr-status-color-rgb:66,153,225}.status-warning{--tblr-status-color:#f76707;--tblr-status-color-rgb:247,103,7}.status-danger{--tblr-status-color:#d63939;--tblr-status-color-rgb:214,57,57}.status-light{--tblr-status-color:#f8fafc;--tblr-status-color-rgb:248,250,252}.status-dark{--tblr-status-color:#1d273b;--tblr-status-color-rgb:29,39,59}.status-muted{--tblr-status-color:#616876;--tblr-status-color-rgb:97,104,118}.status-blue{--tblr-status-color:#206bc4;--tblr-status-color-rgb:32,107,196}.status-azure{--tblr-status-color:#4299e1;--tblr-status-color-rgb:66,153,225}.status-indigo{--tblr-status-color:#4263eb;--tblr-status-color-rgb:66,99,235}.status-purple{--tblr-status-color:#ae3ec9;--tblr-status-color-rgb:174,62,201}.status-pink{--tblr-status-color:#d6336c;--tblr-status-color-rgb:214,51,108}.status-red{--tblr-status-color:#d63939;--tblr-status-color-rgb:214,57,57}.status-orange{--tblr-status-color:#f76707;--tblr-status-color-rgb:247,103,7}.status-yellow{--tblr-status-color:#f59f00;--tblr-status-color-rgb:245,159,0}.status-lime{--tblr-status-color:#74b816;--tblr-status-color-rgb:116,184,22}.status-green{--tblr-status-color:#2fb344;--tblr-status-color-rgb:47,179,68}.status-teal{--tblr-status-color:#0ca678;--tblr-status-color-rgb:12,166,120}.status-cyan{--tblr-status-color:#17a2b8;--tblr-status-color-rgb:23,162,184}.status-facebook{--tblr-status-color:#3b5998;--tblr-status-color-rgb:59,89,152}.status-twitter{--tblr-status-color:#1da1f2;--tblr-status-color-rgb:29,161,242}.status-linkedin{--tblr-status-color:#0a66c2;--tblr-status-color-rgb:10,102,194}.status-google{--tblr-status-color:#dc4e41;--tblr-status-color-rgb:220,78,65}.status-youtube{--tblr-status-color:#ff0000;--tblr-status-color-rgb:255,0,0}.status-vimeo{--tblr-status-color:#1ab7ea;--tblr-status-color-rgb:26,183,234}.status-dribbble{--tblr-status-color:#ea4c89;--tblr-status-color-rgb:234,76,137}.status-github{--tblr-status-color:#181717;--tblr-status-color-rgb:24,23,23}.status-instagram{--tblr-status-color:#e4405f;--tblr-status-color-rgb:228,64,95}.status-pinterest{--tblr-status-color:#bd081c;--tblr-status-color-rgb:189,8,28}.status-vk{--tblr-status-color:#6383a8;--tblr-status-color-rgb:99,131,168}.status-rss{--tblr-status-color:#ffa500;--tblr-status-color-rgb:255,165,0}.status-flickr{--tblr-status-color:#0063dc;--tblr-status-color-rgb:0,99,220}.status-bitbucket{--tblr-status-color:#0052cc;--tblr-status-color-rgb:0,82,204}.status-tabler{--tblr-status-color:#206bc4;--tblr-status-color-rgb:32,107,196}.status-dot{--tblr-status-dot-color:var(--tblr-status-color, #616876);--tblr-status-size:0.5rem;position:relative;display:inline-block;width:var(--tblr-status-size);height:var(--tblr-status-size);background:var(--tblr-status-dot-color);border-radius:100rem}.status-dot-animated:before{content:"";position:absolute;inset:0;z-index:0;background:inherit;border-radius:inherit;opacity:.6;-webkit-animation:1s linear 2s backwards infinite status-pulsate-tertiary;animation:1s linear 2s backwards infinite status-pulsate-tertiary}.status-indicator{--tblr-status-indicator-size:2.5rem;--tblr-status-indicator-color:var(--tblr-status-color, #616876);display:block;position:relative;width:var(--tblr-status-indicator-size);height:var(--tblr-status-indicator-size)}.status-indicator-circle{--tblr-status-circle-size:.75rem;position:absolute;left:50%;top:50%;margin:calc(var(--tblr-status-circle-size)/ -2) 0 0 calc(var(--tblr-status-circle-size)/ -2);width:var(--tblr-status-circle-size);height:var(--tblr-status-circle-size);border-radius:100rem;background:var(--tblr-status-color)}.status-indicator-circle:nth-child(1){z-index:3}.status-indicator-circle:nth-child(2){z-index:2;opacity:.1}.status-indicator-circle:nth-child(3){z-index:1;opacity:.3}.status-indicator-animated .status-indicator-circle:nth-child(1){-webkit-animation:2s linear 1s infinite backwards status-pulsate-main;animation:2s linear 1s infinite backwards status-pulsate-main}.status-indicator-animated .status-indicator-circle:nth-child(2){-webkit-animation:2s linear 1s infinite backwards status-pulsate-secondary;animation:2s linear 1s infinite backwards status-pulsate-secondary}.status-indicator-animated .status-indicator-circle:nth-child(3){-webkit-animation:2s linear 1s infinite backwards status-pulsate-tertiary;animation:2s linear 1s infinite backwards status-pulsate-tertiary}.switch-icon{display:inline-block;line-height:1;border:0;padding:0;background:0 0;width:1.25rem;height:1.25rem;vertical-align:bottom;position:relative;cursor:pointer}.switch-icon.disabled{pointer-events:none;opacity:.4}.switch-icon:focus{outline:0}.switch-icon svg{display:block;width:100%;height:100%}.switch-icon .switch-icon-a,.switch-icon .switch-icon-b{display:block;width:100%;height:100%}.switch-icon .switch-icon-a{opacity:1}.switch-icon .switch-icon-b{position:absolute;top:0;left:0;opacity:0}.switch-icon.active .switch-icon-a{opacity:0}.switch-icon.active .switch-icon-b{opacity:1}.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:opacity .5s}@media (prefers-reduced-motion:reduce){.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:opacity .5s,transform 0s .5s}@media (prefers-reduced-motion:reduce){.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-b{transform:scale(1.5)}.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:opacity 0s,transform .5s}@media (prefers-reduced-motion:reduce){.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:none}}.switch-icon-scale.active .switch-icon-b{transform:scale(1)}.switch-icon-flip{perspective:10em}.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d;transition:opacity 0s .2s,transform .4s ease-in-out}@media (prefers-reduced-motion:reduce){.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{transition:none}}.switch-icon-flip .switch-icon-a{opacity:1;transform:rotateY(0)}.switch-icon-flip .switch-icon-b{opacity:1;transform:rotateY(-180deg)}.switch-icon-flip.active .switch-icon-a{opacity:1;transform:rotateY(180deg)}.switch-icon-flip.active .switch-icon-b{opacity:1;transform:rotateY(0)}.switch-icon-slide-down,.switch-icon-slide-left,.switch-icon-slide-right,.switch-icon-slide-up{overflow:hidden}.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b{transition:opacity .3s,transform .3s}@media (prefers-reduced-motion:reduce){.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b{transition:none}}.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-up .switch-icon-a{transform:translateY(0)}.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-b{transform:translateY(100%)}.switch-icon-slide-down.active .switch-icon-a,.switch-icon-slide-left.active .switch-icon-a,.switch-icon-slide-right.active .switch-icon-a,.switch-icon-slide-up.active .switch-icon-a{transform:translateY(-100%)}.switch-icon-slide-down.active .switch-icon-b,.switch-icon-slide-left.active .switch-icon-b,.switch-icon-slide-right.active .switch-icon-b,.switch-icon-slide-up.active .switch-icon-b{transform:translateY(0)}.switch-icon-slide-left .switch-icon-a{transform:translateX(0)}.switch-icon-slide-left .switch-icon-b{transform:translateX(100%)}.switch-icon-slide-left.active .switch-icon-a{transform:translateX(-100%)}.switch-icon-slide-left.active .switch-icon-b{transform:translateX(0)}.switch-icon-slide-right .switch-icon-a{transform:translateX(0)}.switch-icon-slide-right .switch-icon-b{transform:translateX(-100%)}.switch-icon-slide-right.active .switch-icon-a{transform:translateX(100%)}.switch-icon-slide-right.active .switch-icon-b{transform:translateX(0)}.switch-icon-slide-down .switch-icon-a{transform:translateY(0)}.switch-icon-slide-down .switch-icon-b{transform:translateY(-100%)}.switch-icon-slide-down.active .switch-icon-a{transform:translateY(100%)}.switch-icon-slide-down.active .switch-icon-b{transform:translateY(0)}@media not print{.theme-dark .table-primary{--tblr-table-color:#f8fafc;--tblr-table-bg:#134076;--tblr-table-border-color:#2a5383;--tblr-table-striped-bg:#1e497d;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#2a5383;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#244e80;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark .table-secondary{--tblr-table-color:#f8fafc;--tblr-table-bg:#3a3e47;--tblr-table-border-color:#4d5159;--tblr-table-striped-bg:#444750;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#4d5159;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#484c55;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark .table-success{--tblr-table-color:#f8fafc;--tblr-table-bg:#1c6b29;--tblr-table-border-color:#32793e;--tblr-table-striped-bg:#277234;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#32793e;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#2d7639;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark .table-info{--tblr-table-color:#f8fafc;--tblr-table-bg:#285c87;--tblr-table-border-color:#3d6c93;--tblr-table-striped-bg:#32648d;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#3d6c93;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#386890;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark .table-warning{--tblr-table-color:#f8fafc;--tblr-table-bg:#943e04;--tblr-table-border-color:#9e511d;--tblr-table-striped-bg:#994710;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#9e511d;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#9c4c17;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark .table-danger{--tblr-table-color:#f8fafc;--tblr-table-bg:#802222;--tblr-table-border-color:#8c3838;--tblr-table-striped-bg:#862d2d;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#8c3838;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#893232;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}}@media not print{@media (prefers-color-scheme:dark){.theme-dark-auto .table-primary{--tblr-table-color:#f8fafc;--tblr-table-bg:#134076;--tblr-table-border-color:#2a5383;--tblr-table-striped-bg:#1e497d;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#2a5383;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#244e80;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark-auto .table-secondary{--tblr-table-color:#f8fafc;--tblr-table-bg:#3a3e47;--tblr-table-border-color:#4d5159;--tblr-table-striped-bg:#444750;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#4d5159;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#484c55;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark-auto .table-success{--tblr-table-color:#f8fafc;--tblr-table-bg:#1c6b29;--tblr-table-border-color:#32793e;--tblr-table-striped-bg:#277234;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#32793e;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#2d7639;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark-auto .table-info{--tblr-table-color:#f8fafc;--tblr-table-bg:#285c87;--tblr-table-border-color:#3d6c93;--tblr-table-striped-bg:#32648d;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#3d6c93;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#386890;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark-auto .table-warning{--tblr-table-color:#f8fafc;--tblr-table-bg:#943e04;--tblr-table-border-color:#9e511d;--tblr-table-striped-bg:#994710;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#9e511d;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#9c4c17;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark-auto .table-danger{--tblr-table-color:#f8fafc;--tblr-table-bg:#802222;--tblr-table-border-color:#8c3838;--tblr-table-striped-bg:#862d2d;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#8c3838;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#893232;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}}}.markdown>table thead th,.table thead th{color:var(--tblr-muted);background:var(--tblr-gray-50);font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);padding-top:.5rem;padding-bottom:.5rem;white-space:nowrap}@media print{.markdown>table thead th,.table thead th{background:0 0}}.table-responsive .markdown>table,.table-responsive .table{margin-bottom:0}.table-responsive+.card-footer{border-top:0}.table-transparent thead th{background:0 0}.table-nowrap>:not(caption)>*>*{white-space:nowrap}.table-vcenter>:not(caption)>*>*{vertical-align:middle}.table-center>:not(caption)>*>*{text-align:center}.td-truncate{max-width:1px;width:100%}.table-mobile{display:block}.table-mobile thead{display:none}.table-mobile tbody,.table-mobile tr{display:flex;flex-direction:column}.table-mobile td{display:block;padding:.75rem .75rem!important;border:none;color:#1d273b!important}.table-mobile td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile .btn{display:block}@media (max-width:575.98px){.table-mobile-sm{display:block}.table-mobile-sm thead{display:none}.table-mobile-sm tbody,.table-mobile-sm tr{display:flex;flex-direction:column}.table-mobile-sm td{display:block;padding:.75rem .75rem!important;border:none;color:#1d273b!important}.table-mobile-sm td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-sm tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-sm .btn{display:block}}@media (max-width:767.98px){.table-mobile-md{display:block}.table-mobile-md thead{display:none}.table-mobile-md tbody,.table-mobile-md tr{display:flex;flex-direction:column}.table-mobile-md td{display:block;padding:.75rem .75rem!important;border:none;color:#1d273b!important}.table-mobile-md td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-md tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-md .btn{display:block}}@media (max-width:991.98px){.table-mobile-lg{display:block}.table-mobile-lg thead{display:none}.table-mobile-lg tbody,.table-mobile-lg tr{display:flex;flex-direction:column}.table-mobile-lg td{display:block;padding:.75rem .75rem!important;border:none;color:#1d273b!important}.table-mobile-lg td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-lg tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-lg .btn{display:block}}@media (max-width:1199.98px){.table-mobile-xl{display:block}.table-mobile-xl thead{display:none}.table-mobile-xl tbody,.table-mobile-xl tr{display:flex;flex-direction:column}.table-mobile-xl td{display:block;padding:.75rem .75rem!important;border:none;color:#1d273b!important}.table-mobile-xl td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-xl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xl .btn{display:block}}@media (max-width:1399.98px){.table-mobile-xxl{display:block}.table-mobile-xxl thead{display:none}.table-mobile-xxl tbody,.table-mobile-xxl tr{display:flex;flex-direction:column}.table-mobile-xxl td{display:block;padding:.75rem .75rem!important;border:none;color:#1d273b!important}.table-mobile-xxl td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-xxl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xxl .btn{display:block}}.table-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;border:0;background:inherit;display:block;width:100%;text-align:inherit;transition:color .3s;margin:-.5rem -.75rem;padding:.5rem .75rem}@media (prefers-reduced-motion:reduce){.table-sort{transition:none}}.table-sort.asc,.table-sort.desc,.table-sort:hover{color:#1d273b}.table-sort.asc:after,.table-sort.desc:after,.table-sort:after{content:"";display:inline-flex;width:1rem;height:1rem;vertical-align:bottom;background:url("data:image/svg+xml,") no-repeat center;opacity:.2}.table-sort.asc:after{background:url("data:image/svg+xml,") no-repeat center;opacity:1}.table-sort.desc:after{background:url("data:image/svg+xml,") no-repeat center;opacity:1}.table-borderless thead th{background:0 0}.toast{background:#fff;border:1px var(--tblr-border-style) var(--tblr-border-color-translucent);box-shadow:rgba(29,39,59,.04) 0 2px 4px 0}.toast .toast-header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.toast button[data-bs-dismiss=toast]{outline:0}.toast-primary{--tblr-toast-color:#206bc4}.toast-secondary{--tblr-toast-color:#616876}.toast-success{--tblr-toast-color:#2fb344}.toast-info{--tblr-toast-color:#4299e1}.toast-warning{--tblr-toast-color:#f76707}.toast-danger{--tblr-toast-color:#d63939}.toast-light{--tblr-toast-color:#f8fafc}.toast-dark{--tblr-toast-color:#1d273b}.toast-muted{--tblr-toast-color:#616876}.toast-blue{--tblr-toast-color:#206bc4}.toast-azure{--tblr-toast-color:#4299e1}.toast-indigo{--tblr-toast-color:#4263eb}.toast-purple{--tblr-toast-color:#ae3ec9}.toast-pink{--tblr-toast-color:#d6336c}.toast-red{--tblr-toast-color:#d63939}.toast-orange{--tblr-toast-color:#f76707}.toast-yellow{--tblr-toast-color:#f59f00}.toast-lime{--tblr-toast-color:#74b816}.toast-green{--tblr-toast-color:#2fb344}.toast-teal{--tblr-toast-color:#0ca678}.toast-cyan{--tblr-toast-color:#17a2b8}.toast-facebook{--tblr-toast-color:#3b5998}.toast-twitter{--tblr-toast-color:#1da1f2}.toast-linkedin{--tblr-toast-color:#0a66c2}.toast-google{--tblr-toast-color:#dc4e41}.toast-youtube{--tblr-toast-color:#ff0000}.toast-vimeo{--tblr-toast-color:#1ab7ea}.toast-dribbble{--tblr-toast-color:#ea4c89}.toast-github{--tblr-toast-color:#181717}.toast-instagram{--tblr-toast-color:#e4405f}.toast-pinterest{--tblr-toast-color:#bd081c}.toast-vk{--tblr-toast-color:#6383a8}.toast-rss{--tblr-toast-color:#ffa500}.toast-flickr{--tblr-toast-color:#0063dc}.toast-bitbucket{--tblr-toast-color:#0052cc}.toast-tabler{--tblr-toast-color:#206bc4}.toolbar{display:flex;flex-wrap:nowrap;flex-shrink:0;margin:0 -.5rem}.toolbar>*{margin:0 .5rem}.tracking{--tblr-tracking-height:1.5rem;--tblr-tracking-gap-width:0.125rem;--tblr-tracking-block-border-radius:var(--tblr-border-radius);display:flex;gap:var(--tblr-tracking-gap-width)}.tracking-squares{--tblr-tracking-block-border-radius:var(--tblr-border-radius-sm)}.tracking-squares .tracking-block{height:auto}.tracking-squares .tracking-block:before{content:"";display:block;padding-top:100%}.tracking-block{flex:1;border-radius:var(--tblr-tracking-block-border-radius);height:var(--tblr-tracking-height);min-width:.25rem;background:var(--tblr-border-color)}.hr-text{display:flex;align-items:center;margin:2rem 0;font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);height:1px}.hr-text:after,.hr-text:before{flex:1 1 auto;height:1px;background-color:var(--tblr-border-color)}.hr-text:before{content:"";margin-right:.5rem}.hr-text:after{content:"";margin-left:.5rem}.hr-text>:first-child{padding-right:.5rem;padding-left:0;color:#616876}.hr-text.hr-text-left:before{content:none}.hr-text.hr-text-left>:first-child{padding-right:.5rem;padding-left:.5rem}.hr-text.hr-text-right:before{content:""}.hr-text.hr-text-right:after{content:none}.hr-text.hr-text-right>:first-child{padding-right:0;padding-left:.5rem}.card>.hr-text{margin:0}.hr-text-spaceless{margin:-.5rem 0}.lead{line-height:1.4}a{-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}.h1 a,.h2 a,.h3 a,.h4 a,.h5 a,.h6 a,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit}.h1 a:hover,.h2 a:hover,.h3 a:hover,.h4 a:hover,.h5 a:hover,.h6 a:hover,h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:inherit}.h1,h1{font-size:var(--tblr-font-size-h1);line-height:var(--tblr-line-height-h1)}.h2,h2{font-size:var(--tblr-font-size-h2);line-height:var(--tblr-line-height-h2)}.h3,h3{font-size:var(--tblr-font-size-h3);line-height:var(--tblr-line-height-h3)}.h4,h4{font-size:var(--tblr-font-size-h4);line-height:var(--tblr-line-height-h4)}.h5,h5{font-size:var(--tblr-font-size-h5);line-height:var(--tblr-line-height-h5)}.h6,h6{font-size:var(--tblr-font-size-h6);line-height:var(--tblr-line-height-h6)}.strong,b,strong{font-weight:var(--tblr-font-weight-bold)}blockquote{padding-left:1rem;border-left:2px var(--tblr-border-style) var(--tblr-border-color)}blockquote p{margin-bottom:1rem}blockquote cite{display:block;text-align:right}blockquote cite:before{content:"— "}ol,ul{padding-left:1.5rem}.hr,hr{margin:2rem 0}dl dd:last-child{margin-bottom:0}pre{padding:1rem;background:var(--tblr-bg-surface-dark);color:var(--tblr-light);border-radius:var(--tblr-border-radius)}pre code{background:0 0}code{background:var(--tblr-code-bg);padding:2px 4px;border-radius:var(--tblr-border-radius)}kbd{font:inherit;box-shadow:0 0 0 1px var(--tblr-border-color),0 3px 0 0 var(--tblr-bg-surface),0 3px 0 1px var(--tblr-border-color)}img{max-width:100%}.list-unstyled{margin-left:0}::-moz-selection{background-color:rgba(var(--tblr-primary-rgb),.16)}::selection{background-color:rgba(var(--tblr-primary-rgb),.16)}[class*=" link-"].disabled,[class^=link-].disabled{color:var(--tblr-disabled-color);pointer-events:none}.subheader{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted)}.chart{display:block;min-height:10rem}.chart text{font-family:inherit}.chart-sm{height:2.5rem}.chart-lg{height:15rem}.chart-square{height:5.75rem}.chart-sparkline{position:relative;width:4rem;height:2.5rem;line-height:1;min-height:0!important}.chart-sparkline-sm{height:1.5rem}.chart-sparkline-square{width:2.5rem}.chart-sparkline-wide{width:6rem}.chart-sparkline-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.625rem}.chart-sparkline-label .icon{width:1rem;height:1rem;font-size:1rem}.offcanvas-header{border-bottom:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)}.offcanvas-footer{padding:1.5rem 1.5rem}.offcanvas-title{font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.5rem}.offcanvas-narrow{width:20rem}.bg-white-overlay{color:#fff;background-color:rgba(248,250,252,.24)}.bg-dark-overlay{color:#fff;background-color:rgba(29,39,59,.24)}.bg-cover{background-repeat:no-repeat;background-size:cover;background-position:center}.bg-primary{background-color:var(--tblr-primary)!important}.bg-primary-lt{color:var(--tblr-primary)!important;background-color:rgba(var(--tblr-primary-rgb),.1)!important}.bg-secondary{background-color:var(--tblr-secondary)!important}.bg-secondary-lt{color:var(--tblr-secondary)!important;background-color:rgba(var(--tblr-secondary-rgb),.1)!important}.bg-success{background-color:var(--tblr-success)!important}.bg-success-lt{color:var(--tblr-success)!important;background-color:rgba(var(--tblr-success-rgb),.1)!important}.bg-info{background-color:var(--tblr-info)!important}.bg-info-lt{color:var(--tblr-info)!important;background-color:rgba(var(--tblr-info-rgb),.1)!important}.bg-warning{background-color:var(--tblr-warning)!important}.bg-warning-lt{color:var(--tblr-warning)!important;background-color:rgba(var(--tblr-warning-rgb),.1)!important}.bg-danger{background-color:var(--tblr-danger)!important}.bg-danger-lt{color:var(--tblr-danger)!important;background-color:rgba(var(--tblr-danger-rgb),.1)!important}.bg-light{background-color:var(--tblr-light)!important}.bg-light-lt{color:var(--tblr-light)!important;background-color:rgba(var(--tblr-light-rgb),.1)!important}.bg-dark{background-color:var(--tblr-dark)!important}.bg-dark-lt{color:var(--tblr-dark)!important;background-color:rgba(var(--tblr-dark-rgb),.1)!important}.bg-muted{background-color:var(--tblr-muted)!important}.bg-muted-lt{color:var(--tblr-muted)!important;background-color:rgba(var(--tblr-muted-rgb),.1)!important}.bg-blue{background-color:var(--tblr-blue)!important}.bg-blue-lt{color:var(--tblr-blue)!important;background-color:rgba(var(--tblr-blue-rgb),.1)!important}.bg-azure{background-color:var(--tblr-azure)!important}.bg-azure-lt{color:var(--tblr-azure)!important;background-color:rgba(var(--tblr-azure-rgb),.1)!important}.bg-indigo{background-color:var(--tblr-indigo)!important}.bg-indigo-lt{color:var(--tblr-indigo)!important;background-color:rgba(var(--tblr-indigo-rgb),.1)!important}.bg-purple{background-color:var(--tblr-purple)!important}.bg-purple-lt{color:var(--tblr-purple)!important;background-color:rgba(var(--tblr-purple-rgb),.1)!important}.bg-pink{background-color:var(--tblr-pink)!important}.bg-pink-lt{color:var(--tblr-pink)!important;background-color:rgba(var(--tblr-pink-rgb),.1)!important}.bg-red{background-color:var(--tblr-red)!important}.bg-red-lt{color:var(--tblr-red)!important;background-color:rgba(var(--tblr-red-rgb),.1)!important}.bg-orange{background-color:var(--tblr-orange)!important}.bg-orange-lt{color:var(--tblr-orange)!important;background-color:rgba(var(--tblr-orange-rgb),.1)!important}.bg-yellow{background-color:var(--tblr-yellow)!important}.bg-yellow-lt{color:var(--tblr-yellow)!important;background-color:rgba(var(--tblr-yellow-rgb),.1)!important}.bg-lime{background-color:var(--tblr-lime)!important}.bg-lime-lt{color:var(--tblr-lime)!important;background-color:rgba(var(--tblr-lime-rgb),.1)!important}.bg-green{background-color:var(--tblr-green)!important}.bg-green-lt{color:var(--tblr-green)!important;background-color:rgba(var(--tblr-green-rgb),.1)!important}.bg-teal{background-color:var(--tblr-teal)!important}.bg-teal-lt{color:var(--tblr-teal)!important;background-color:rgba(var(--tblr-teal-rgb),.1)!important}.bg-cyan{background-color:var(--tblr-cyan)!important}.bg-cyan-lt{color:var(--tblr-cyan)!important;background-color:rgba(var(--tblr-cyan-rgb),.1)!important}.bg-facebook{background-color:var(--tblr-facebook)!important}.bg-facebook-lt{color:var(--tblr-facebook)!important;background-color:rgba(var(--tblr-facebook-rgb),.1)!important}.bg-twitter{background-color:var(--tblr-twitter)!important}.bg-twitter-lt{color:var(--tblr-twitter)!important;background-color:rgba(var(--tblr-twitter-rgb),.1)!important}.bg-linkedin{background-color:var(--tblr-linkedin)!important}.bg-linkedin-lt{color:var(--tblr-linkedin)!important;background-color:rgba(var(--tblr-linkedin-rgb),.1)!important}.bg-google{background-color:var(--tblr-google)!important}.bg-google-lt{color:var(--tblr-google)!important;background-color:rgba(var(--tblr-google-rgb),.1)!important}.bg-youtube{background-color:var(--tblr-youtube)!important}.bg-youtube-lt{color:var(--tblr-youtube)!important;background-color:rgba(var(--tblr-youtube-rgb),.1)!important}.bg-vimeo{background-color:var(--tblr-vimeo)!important}.bg-vimeo-lt{color:var(--tblr-vimeo)!important;background-color:rgba(var(--tblr-vimeo-rgb),.1)!important}.bg-dribbble{background-color:var(--tblr-dribbble)!important}.bg-dribbble-lt{color:var(--tblr-dribbble)!important;background-color:rgba(var(--tblr-dribbble-rgb),.1)!important}.bg-github{background-color:var(--tblr-github)!important}.bg-github-lt{color:var(--tblr-github)!important;background-color:rgba(var(--tblr-github-rgb),.1)!important}.bg-instagram{background-color:var(--tblr-instagram)!important}.bg-instagram-lt{color:var(--tblr-instagram)!important;background-color:rgba(var(--tblr-instagram-rgb),.1)!important}.bg-pinterest{background-color:var(--tblr-pinterest)!important}.bg-pinterest-lt{color:var(--tblr-pinterest)!important;background-color:rgba(var(--tblr-pinterest-rgb),.1)!important}.bg-vk{background-color:var(--tblr-vk)!important}.bg-vk-lt{color:var(--tblr-vk)!important;background-color:rgba(var(--tblr-vk-rgb),.1)!important}.bg-rss{background-color:var(--tblr-rss)!important}.bg-rss-lt{color:var(--tblr-rss)!important;background-color:rgba(var(--tblr-rss-rgb),.1)!important}.bg-flickr{background-color:var(--tblr-flickr)!important}.bg-flickr-lt{color:var(--tblr-flickr)!important;background-color:rgba(var(--tblr-flickr-rgb),.1)!important}.bg-bitbucket{background-color:var(--tblr-bitbucket)!important}.bg-bitbucket-lt{color:var(--tblr-bitbucket)!important;background-color:rgba(var(--tblr-bitbucket-rgb),.1)!important}.bg-tabler{background-color:var(--tblr-tabler)!important}.bg-tabler-lt{color:var(--tblr-tabler)!important;background-color:rgba(var(--tblr-tabler-rgb),.1)!important}.text-primary{color:var(--tblr-primary)!important}.text-primary-fg{color:var(--tblr-primary-fg)!important}.text-secondary{color:var(--tblr-secondary)!important}.text-secondary-fg{color:var(--tblr-secondary-fg)!important}.text-success{color:var(--tblr-success)!important}.text-success-fg{color:var(--tblr-success-fg)!important}.text-info{color:var(--tblr-info)!important}.text-info-fg{color:var(--tblr-info-fg)!important}.text-warning{color:var(--tblr-warning)!important}.text-warning-fg{color:var(--tblr-warning-fg)!important}.text-danger{color:var(--tblr-danger)!important}.text-danger-fg{color:var(--tblr-danger-fg)!important}.text-light{color:var(--tblr-light)!important}.text-light-fg{color:var(--tblr-light-fg)!important}.text-dark{color:var(--tblr-dark)!important}.text-dark-fg{color:var(--tblr-dark-fg)!important}.text-muted{color:var(--tblr-muted)!important}.text-muted-fg{color:var(--tblr-muted-fg)!important}.text-blue{color:var(--tblr-blue)!important}.text-blue-fg{color:var(--tblr-blue-fg)!important}.text-azure{color:var(--tblr-azure)!important}.text-azure-fg{color:var(--tblr-azure-fg)!important}.text-indigo{color:var(--tblr-indigo)!important}.text-indigo-fg{color:var(--tblr-indigo-fg)!important}.text-purple{color:var(--tblr-purple)!important}.text-purple-fg{color:var(--tblr-purple-fg)!important}.text-pink{color:var(--tblr-pink)!important}.text-pink-fg{color:var(--tblr-pink-fg)!important}.text-red{color:var(--tblr-red)!important}.text-red-fg{color:var(--tblr-red-fg)!important}.text-orange{color:var(--tblr-orange)!important}.text-orange-fg{color:var(--tblr-orange-fg)!important}.text-yellow{color:var(--tblr-yellow)!important}.text-yellow-fg{color:var(--tblr-yellow-fg)!important}.text-lime{color:var(--tblr-lime)!important}.text-lime-fg{color:var(--tblr-lime-fg)!important}.text-green{color:var(--tblr-green)!important}.text-green-fg{color:var(--tblr-green-fg)!important}.text-teal{color:var(--tblr-teal)!important}.text-teal-fg{color:var(--tblr-teal-fg)!important}.text-cyan{color:var(--tblr-cyan)!important}.text-cyan-fg{color:var(--tblr-cyan-fg)!important}.text-facebook{color:var(--tblr-facebook)!important}.text-facebook-fg{color:var(--tblr-facebook-fg)!important}.text-twitter{color:var(--tblr-twitter)!important}.text-twitter-fg{color:var(--tblr-twitter-fg)!important}.text-linkedin{color:var(--tblr-linkedin)!important}.text-linkedin-fg{color:var(--tblr-linkedin-fg)!important}.text-google{color:var(--tblr-google)!important}.text-google-fg{color:var(--tblr-google-fg)!important}.text-youtube{color:var(--tblr-youtube)!important}.text-youtube-fg{color:var(--tblr-youtube-fg)!important}.text-vimeo{color:var(--tblr-vimeo)!important}.text-vimeo-fg{color:var(--tblr-vimeo-fg)!important}.text-dribbble{color:var(--tblr-dribbble)!important}.text-dribbble-fg{color:var(--tblr-dribbble-fg)!important}.text-github{color:var(--tblr-github)!important}.text-github-fg{color:var(--tblr-github-fg)!important}.text-instagram{color:var(--tblr-instagram)!important}.text-instagram-fg{color:var(--tblr-instagram-fg)!important}.text-pinterest{color:var(--tblr-pinterest)!important}.text-pinterest-fg{color:var(--tblr-pinterest-fg)!important}.text-vk{color:var(--tblr-vk)!important}.text-vk-fg{color:var(--tblr-vk-fg)!important}.text-rss{color:var(--tblr-rss)!important}.text-rss-fg{color:var(--tblr-rss-fg)!important}.text-flickr{color:var(--tblr-flickr)!important}.text-flickr-fg{color:var(--tblr-flickr-fg)!important}.text-bitbucket{color:var(--tblr-bitbucket)!important}.text-bitbucket-fg{color:var(--tblr-bitbucket-fg)!important}.text-tabler{color:var(--tblr-tabler)!important}.text-tabler-fg{color:var(--tblr-tabler-fg)!important}.bg-gray-50{background-color:var(--tblr-gray-50)!important}.text-gray-50-fg{color:#1d273b!important}.bg-gray-100{background-color:var(--tblr-gray-100)!important}.text-gray-100-fg{color:#1d273b!important}.bg-gray-200{background-color:var(--tblr-gray-200)!important}.text-gray-200-fg{color:#1d273b!important}.bg-gray-300{background-color:var(--tblr-gray-300)!important}.text-gray-300-fg{color:#1d273b!important}.bg-gray-400{background-color:var(--tblr-gray-400)!important}.text-gray-400-fg{color:#f8fafc!important}.bg-gray-500{background-color:var(--tblr-gray-500)!important}.text-gray-500-fg{color:#f8fafc!important}.bg-gray-600{background-color:var(--tblr-gray-600)!important}.text-gray-600-fg{color:#f8fafc!important}.bg-gray-700{background-color:var(--tblr-gray-700)!important}.text-gray-700-fg{color:#f8fafc!important}.bg-gray-800{background-color:var(--tblr-gray-800)!important}.text-gray-800-fg{color:#f8fafc!important}.bg-gray-900{background-color:var(--tblr-gray-900)!important}.text-gray-900-fg{color:#f8fafc!important}.scrollable{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scrollable.hover{overflow-y:hidden}.scrollable.hover>*{margin-top:-1px}.scrollable.hover:active,.scrollable.hover:focus,.scrollable.hover:hover{overflow:visible;overflow-y:auto}.touch .scrollable{overflow-y:auto!important}.scroll-x,.scroll-y{overflow:hidden;-webkit-overflow-scrolling:touch}.scroll-y{overflow-y:auto}.scroll-x{overflow-x:auto}.no-scroll{overflow:hidden}.w-0{width:0!important}.h-0{height:0!important}.w-1{width:.25rem!important}.h-1{height:.25rem!important}.w-2{width:.5rem!important}.h-2{height:.5rem!important}.w-3{width:1rem!important}.h-3{height:1rem!important}.w-4{width:2rem!important}.h-4{height:2rem!important}.w-5{width:4rem!important}.h-5{height:4rem!important}.w-auto{width:auto!important}.h-auto{height:auto!important}.w-px{width:1px!important}.h-px{height:1px!important}.w-full{width:100%!important}.h-full{height:100%!important}.opacity-0{opacity:0!important}.opacity-5{opacity:.05!important}.opacity-10{opacity:.1!important}.opacity-15{opacity:.15!important}.opacity-20{opacity:.2!important}.opacity-25{opacity:.25!important}.opacity-30{opacity:.3!important}.opacity-35{opacity:.35!important}.opacity-40{opacity:.4!important}.opacity-45{opacity:.45!important}.opacity-50{opacity:.5!important}.opacity-55{opacity:.55!important}.opacity-60{opacity:.6!important}.opacity-65{opacity:.65!important}.opacity-70{opacity:.7!important}.opacity-75{opacity:.75!important}.opacity-80{opacity:.8!important}.opacity-85{opacity:.85!important}.opacity-90{opacity:.9!important}.opacity-95{opacity:.95!important}.opacity-100{opacity:1!important}.hover-shadow-sm:hover{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.hover-shadow:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.hover-shadow-lg:hover{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.hover-shadow-none:hover{box-shadow:none!important}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto} \ No newline at end of file diff --git a/demo/dist/css/tabler.rtl.css b/demo/dist/css/tabler.rtl.css deleted file mode 100644 index 2eb6a7445..000000000 --- a/demo/dist/css/tabler.rtl.css +++ /dev/null @@ -1,22397 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -@charset "UTF-8"; -:root { - --tblr-blue: #206bc4; - --tblr-indigo: #4263eb; - --tblr-purple: #ae3ec9; - --tblr-pink: #d6336c; - --tblr-red: #d63939; - --tblr-orange: #f76707; - --tblr-yellow: #f59f00; - --tblr-green: #2fb344; - --tblr-teal: #0ca678; - --tblr-cyan: #17a2b8; - --tblr-black: #000000; - --tblr-white: #ffffff; - --tblr-gray: #49566c; - --tblr-gray-dark: #1d273b; - --tblr-gray-100: #f1f5f9; - --tblr-gray-200: #e2e8f0; - --tblr-gray-300: #c8d3e1; - --tblr-gray-400: #9ba9be; - --tblr-gray-500: #6c7a91; - --tblr-gray-600: #49566c; - --tblr-gray-700: #313c52; - --tblr-gray-800: #1d273b; - --tblr-gray-900: #0f172a; - --tblr-primary: #206bc4; - --tblr-secondary: #616876; - --tblr-success: #2fb344; - --tblr-info: #4299e1; - --tblr-warning: #f76707; - --tblr-danger: #d63939; - --tblr-light: #f8fafc; - --tblr-dark: #1d273b; - --tblr-muted: #616876; - --tblr-blue: #206bc4; - --tblr-azure: #4299e1; - --tblr-indigo: #4263eb; - --tblr-purple: #ae3ec9; - --tblr-pink: #d6336c; - --tblr-red: #d63939; - --tblr-orange: #f76707; - --tblr-yellow: #f59f00; - --tblr-lime: #74b816; - --tblr-green: #2fb344; - --tblr-teal: #0ca678; - --tblr-cyan: #17a2b8; - --tblr-facebook: #3b5998; - --tblr-twitter: #1da1f2; - --tblr-linkedin: #0a66c2; - --tblr-google: #dc4e41; - --tblr-youtube: #ff0000; - --tblr-vimeo: #1ab7ea; - --tblr-dribbble: #ea4c89; - --tblr-github: #181717; - --tblr-instagram: #e4405f; - --tblr-pinterest: #bd081c; - --tblr-vk: #6383a8; - --tblr-rss: #ffa500; - --tblr-flickr: #0063dc; - --tblr-bitbucket: #0052cc; - --tblr-tabler: #206bc4; - --tblr-primary-rgb: 32, 107, 196; - --tblr-secondary-rgb: 97, 104, 118; - --tblr-success-rgb: 47, 179, 68; - --tblr-info-rgb: 66, 153, 225; - --tblr-warning-rgb: 247, 103, 7; - --tblr-danger-rgb: 214, 57, 57; - --tblr-light-rgb: 248, 250, 252; - --tblr-dark-rgb: 29, 39, 59; - --tblr-muted-rgb: 97, 104, 118; - --tblr-blue-rgb: 32, 107, 196; - --tblr-azure-rgb: 66, 153, 225; - --tblr-indigo-rgb: 66, 99, 235; - --tblr-purple-rgb: 174, 62, 201; - --tblr-pink-rgb: 214, 51, 108; - --tblr-red-rgb: 214, 57, 57; - --tblr-orange-rgb: 247, 103, 7; - --tblr-yellow-rgb: 245, 159, 0; - --tblr-lime-rgb: 116, 184, 22; - --tblr-green-rgb: 47, 179, 68; - --tblr-teal-rgb: 12, 166, 120; - --tblr-cyan-rgb: 23, 162, 184; - --tblr-facebook-rgb: 59, 89, 152; - --tblr-twitter-rgb: 29, 161, 242; - --tblr-linkedin-rgb: 10, 102, 194; - --tblr-google-rgb: 220, 78, 65; - --tblr-youtube-rgb: 255, 0, 0; - --tblr-vimeo-rgb: 26, 183, 234; - --tblr-dribbble-rgb: 234, 76, 137; - --tblr-github-rgb: 24, 23, 23; - --tblr-instagram-rgb: 228, 64, 95; - --tblr-pinterest-rgb: 189, 8, 28; - --tblr-vk-rgb: 99, 131, 168; - --tblr-rss-rgb: 255, 165, 0; - --tblr-flickr-rgb: 0, 99, 220; - --tblr-bitbucket-rgb: 0, 82, 204; - --tblr-tabler-rgb: 32, 107, 196; - --tblr-white-rgb: 255, 255, 255; - --tblr-black-rgb: 0, 0, 0; - --tblr-body-color-rgb: 29, 39, 59; - --tblr-body-bg-rgb: 241, 245, 249; - --tblr-font-sans-serif: -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif; - --tblr-font-monospace: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; - --tblr-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); - --tblr-body-font-family: var(--tblr-font-sans-serif); - --tblr-body-font-size: 0.875rem; - --tblr-body-font-weight: 400; - --tblr-body-line-height: 1.4285714286; - --tblr-body-color: #1d273b; - --tblr-body-bg: #f1f5f9; - --tblr-border-width: 1px; - --tblr-border-style: solid; - --tblr-border-color: #e6e7e9; - --tblr-border-color-translucent: rgba(97, 104, 118, 0.16); - --tblr-border-radius: 4px; - --tblr-border-radius-sm: 2px; - --tblr-border-radius-lg: 8px; - --tblr-border-radius-xl: 1rem; - --tblr-border-radius-2xl: 2rem; - --tblr-border-radius-pill: 100rem; - --tblr-link-color: var(--tblr-primary); - --tblr-link-hover-color: var(--tblr-primary-darken); - --tblr-code-color: var(--tblr-gray-600); - --tblr-highlight-bg: #fdeccc; -} - -*, -*::before, -*::after { - box-sizing: border-box; -} - -@media (prefers-reduced-motion: no-preference) { - :root { - scroll-behavior: smooth; - } -} - -body { - margin: 0; - font-family: var(--tblr-body-font-family); - font-size: var(--tblr-body-font-size); - font-weight: var(--tblr-body-font-weight); - line-height: var(--tblr-body-line-height); - color: var(--tblr-body-color); - text-align: var(--tblr-body-text-align); - background-color: var(--tblr-body-bg); - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -hr, .hr { - margin: 2rem 0; - color: inherit; - border: 0; - border-top: 1px solid; - opacity: 0.16; -} - -h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { - margin-top: 0; - margin-bottom: 0.5rem; - font-weight: var(--tblr-font-weight-medium); - line-height: 1.2; -} - -h1, .h1 { - font-size: 1.5rem; -} - -h2, .h2 { - font-size: 1.25rem; -} - -h3, .h3 { - font-size: 1rem; -} - -h4, .h4 { - font-size: 0.875rem; -} - -h5, .h5 { - font-size: 0.75rem; -} - -h6, .h6 { - font-size: 0.625rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title] { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - -webkit-text-decoration-skip-ink: none; - text-decoration-skip-ink: none; -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; -} - -ol, -ul { - padding-right: 2rem; -} - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; -} - -dt { - font-weight: 600; -} - -dd { - margin-bottom: 0.5rem; - margin-right: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -b, -strong { - font-weight: bolder; -} - -small, .small { - font-size: 85.714285%; -} - -mark, .mark { - padding: 0.1875em; - background-color: var(--tblr-highlight-bg); -} - -sub, -sup { - position: relative; - font-size: 0.75em; - line-height: 0; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -a { - color: var(--tblr-link-color); - text-decoration: none; -} -a:hover { - color: var(--tblr-link-hover-color); - text-decoration: underline; -} - -a:not([href]):not([class]), a:not([href]):not([class]):hover { - color: inherit; - text-decoration: none; -} - -pre, -code, -kbd, -samp { - font-family: var(--tblr-font-monospace); - font-size: 1em; -} - -pre { - display: block; - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; - font-size: 85.714285%; - color: var(--tblr-light); -} -pre code { - font-size: inherit; - color: inherit; - word-break: normal; -} - -code { - font-size: 85.714285%; - color: var(--tblr-code-color); - word-wrap: break-word; -} -a > code { - color: inherit; -} - -kbd { - padding: 2px 0.375rem; - font-size: 85.714285%; - color: var(--tblr-muted); - background-color: transparent; - border-radius: 2px; -} -kbd kbd { - padding: 0; - font-size: 1em; -} - -figure { - margin: 0 0 1rem; -} - -img, -svg { - vertical-align: middle; -} - -table { - caption-side: bottom; - border-collapse: collapse; -} - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #616876; - text-align: right; -} - -th { - text-align: inherit; - text-align: -webkit-match-parent; -} - -thead, -tbody, -tfoot, -tr, -td, -th { - border-color: inherit; - border-style: solid; - border-width: 0; -} - -label { - display: inline-block; -} - -button { - border-radius: 0; -} - -button:focus:not(:focus-visible) { - outline: 0; -} - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -button, -select { - text-transform: none; -} - -[role=button] { - cursor: pointer; -} - -select { - word-wrap: normal; -} -select:disabled { - opacity: 1; -} - -[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { - display: none !important; -} - -button, -[type=button], -[type=reset], -[type=submit] { - -webkit-appearance: button; -} -button:not(:disabled), -[type=button]:not(:disabled), -[type=reset]:not(:disabled), -[type=submit]:not(:disabled) { - cursor: pointer; -} - -::-moz-focus-inner { - padding: 0; - border-style: none; -} - -textarea { - resize: vertical; -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - float: right; - width: 100%; - padding: 0; - margin-bottom: 0.5rem; - font-size: 1.5rem; - line-height: inherit; -} -legend + * { - clear: right; -} - -::-webkit-datetime-edit-fields-wrapper, -::-webkit-datetime-edit-text, -::-webkit-datetime-edit-minute, -::-webkit-datetime-edit-hour-field, -::-webkit-datetime-edit-day-field, -::-webkit-datetime-edit-month-field, -::-webkit-datetime-edit-year-field { - padding: 0; -} - -::-webkit-inner-spin-button { - height: auto; -} - -[type=search] { - outline-offset: -2px; - -webkit-appearance: textfield; -} - -[type="tel"], -[type="url"], -[type="email"], -[type="number"] { - direction: ltr; -} -::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-color-swatch-wrapper { - padding: 0; -} - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; -} - -::file-selector-button { - font: inherit; - -webkit-appearance: button; -} - -output { - display: inline-block; -} - -iframe { - border: 0; -} - -summary { - display: list-item; - cursor: pointer; -} - -progress { - vertical-align: baseline; -} - -[hidden] { - display: none !important; -} - -.lead { - font-size: 0.875rem; - font-weight: var(--tblr-font-weight-normal); -} - -.display-1 { - font-size: 5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-2 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-3 { - font-size: 4rem; - font-weight: 300; - line-height: 1.2; -} - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-5 { - font-size: 3rem; - font-weight: 300; - line-height: 1.2; -} - -.display-6 { - font-size: 2rem; - font-weight: 300; - line-height: 1.2; -} - -.list-unstyled { - padding-right: 0; - list-style: none; -} - -.list-inline { - padding-right: 0; - list-style: none; -} - -.list-inline-item { - display: inline-block; -} -.list-inline-item:not(:last-child) { - margin-left: 0.5rem; -} - -.initialism { - font-size: 85.714285%; - text-transform: uppercase; -} - -.blockquote { - margin-bottom: 1rem; - font-size: 0.875rem; -} -.blockquote > :last-child { - margin-bottom: 0; -} - -.blockquote-footer { - margin-top: -1rem; - margin-bottom: 1rem; - font-size: 85.714285%; - color: #49566c; -} -.blockquote-footer::before { - content: "— "; -} - -.img-fluid { - max-width: 100%; - height: auto; -} - -.img-thumbnail { - padding: 0.25rem; - background-color: #f1f5f9; - border: 1px solid var(--tblr-border-color); - border-radius: 4px; - max-width: 100%; - height: auto; -} - -.figure { - display: inline-block; -} - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; -} - -.figure-caption { - font-size: 85.714285%; - color: #49566c; -} - -.container, -.container-fluid, -.container-xxl, -.container-xl, -.container-lg, -.container-md, -.container-sm { - --tblr-gutter-x: 1.5rem; - --tblr-gutter-y: 0; - width: 100%; - padding-left: calc(var(--tblr-gutter-x) * 0.5); - padding-right: calc(var(--tblr-gutter-x) * 0.5); - margin-left: auto; - margin-right: auto; -} - -@media (min-width: 576px) { - .container-sm, .container { - max-width: 540px; - } -} -@media (min-width: 768px) { - .container-md, .container-sm, .container { - max-width: 720px; - } -} -@media (min-width: 992px) { - .container-lg, .container-md, .container-sm, .container { - max-width: 960px; - } -} -@media (min-width: 1200px) { - .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1140px; - } -} -@media (min-width: 1400px) { - .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1320px; - } -} -.row { - --tblr-gutter-x: 1rem; - --tblr-gutter-y: 0; - display: flex; - flex-wrap: wrap; - margin-top: calc(-1 * var(--tblr-gutter-y)); - margin-left: calc(-0.5 * var(--tblr-gutter-x)); - margin-right: calc(-0.5 * var(--tblr-gutter-x)); -} -.row > * { - flex-shrink: 0; - width: 100%; - max-width: 100%; - padding-left: calc(var(--tblr-gutter-x) * 0.5); - padding-right: calc(var(--tblr-gutter-x) * 0.5); - margin-top: var(--tblr-gutter-y); -} - -.col { - flex: 1 0 0%; -} - -.row-cols-auto > * { - flex: 0 0 auto; - width: auto; -} - -.row-cols-1 > * { - flex: 0 0 auto; - width: 100%; -} - -.row-cols-2 > * { - flex: 0 0 auto; - width: 50%; -} - -.row-cols-3 > * { - flex: 0 0 auto; - width: 33.3333333333%; -} - -.row-cols-4 > * { - flex: 0 0 auto; - width: 25%; -} - -.row-cols-5 > * { - flex: 0 0 auto; - width: 20%; -} - -.row-cols-6 > * { - flex: 0 0 auto; - width: 16.6666666667%; -} - -.col-auto { - flex: 0 0 auto; - width: auto; -} - -.col-1 { - flex: 0 0 auto; - width: 8.33333333%; -} - -.col-2 { - flex: 0 0 auto; - width: 16.66666667%; -} - -.col-3 { - flex: 0 0 auto; - width: 25%; -} - -.col-4 { - flex: 0 0 auto; - width: 33.33333333%; -} - -.col-5 { - flex: 0 0 auto; - width: 41.66666667%; -} - -.col-6 { - flex: 0 0 auto; - width: 50%; -} - -.col-7 { - flex: 0 0 auto; - width: 58.33333333%; -} - -.col-8 { - flex: 0 0 auto; - width: 66.66666667%; -} - -.col-9 { - flex: 0 0 auto; - width: 75%; -} - -.col-10 { - flex: 0 0 auto; - width: 83.33333333%; -} - -.col-11 { - flex: 0 0 auto; - width: 91.66666667%; -} - -.col-12 { - flex: 0 0 auto; - width: 100%; -} - -.offset-1 { - margin-right: 8.33333333%; -} - -.offset-2 { - margin-right: 16.66666667%; -} - -.offset-3 { - margin-right: 25%; -} - -.offset-4 { - margin-right: 33.33333333%; -} - -.offset-5 { - margin-right: 41.66666667%; -} - -.offset-6 { - margin-right: 50%; -} - -.offset-7 { - margin-right: 58.33333333%; -} - -.offset-8 { - margin-right: 66.66666667%; -} - -.offset-9 { - margin-right: 75%; -} - -.offset-10 { - margin-right: 83.33333333%; -} - -.offset-11 { - margin-right: 91.66666667%; -} - -.g-0, -.gx-0 { - --tblr-gutter-x: 0; -} - -.g-0, -.gy-0 { - --tblr-gutter-y: 0; -} - -.g-1, -.gx-1 { - --tblr-gutter-x: 0.25rem; -} - -.g-1, -.gy-1 { - --tblr-gutter-y: 0.25rem; -} - -.g-2, -.gx-2 { - --tblr-gutter-x: 0.5rem; -} - -.g-2, -.gy-2 { - --tblr-gutter-y: 0.5rem; -} - -.g-3, -.gx-3 { - --tblr-gutter-x: 1rem; -} - -.g-3, -.gy-3 { - --tblr-gutter-y: 1rem; -} - -.g-4, -.gx-4 { - --tblr-gutter-x: 2rem; -} - -.g-4, -.gy-4 { - --tblr-gutter-y: 2rem; -} - -.g-5, -.gx-5 { - --tblr-gutter-x: 4rem; -} - -.g-5, -.gy-5 { - --tblr-gutter-y: 4rem; -} - -@media (min-width: 576px) { - .col-sm { - flex: 1 0 0%; - } - .row-cols-sm-auto > * { - flex: 0 0 auto; - width: auto; - } - .row-cols-sm-1 > * { - flex: 0 0 auto; - width: 100%; - } - .row-cols-sm-2 > * { - flex: 0 0 auto; - width: 50%; - } - .row-cols-sm-3 > * { - flex: 0 0 auto; - width: 33.3333333333%; - } - .row-cols-sm-4 > * { - flex: 0 0 auto; - width: 25%; - } - .row-cols-sm-5 > * { - flex: 0 0 auto; - width: 20%; - } - .row-cols-sm-6 > * { - flex: 0 0 auto; - width: 16.6666666667%; - } - .col-sm-auto { - flex: 0 0 auto; - width: auto; - } - .col-sm-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-sm-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-sm-3 { - flex: 0 0 auto; - width: 25%; - } - .col-sm-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-sm-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-sm-6 { - flex: 0 0 auto; - width: 50%; - } - .col-sm-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-sm-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-sm-9 { - flex: 0 0 auto; - width: 75%; - } - .col-sm-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-sm-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-sm-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-sm-0 { - margin-right: 0; - } - .offset-sm-1 { - margin-right: 8.33333333%; - } - .offset-sm-2 { - margin-right: 16.66666667%; - } - .offset-sm-3 { - margin-right: 25%; - } - .offset-sm-4 { - margin-right: 33.33333333%; - } - .offset-sm-5 { - margin-right: 41.66666667%; - } - .offset-sm-6 { - margin-right: 50%; - } - .offset-sm-7 { - margin-right: 58.33333333%; - } - .offset-sm-8 { - margin-right: 66.66666667%; - } - .offset-sm-9 { - margin-right: 75%; - } - .offset-sm-10 { - margin-right: 83.33333333%; - } - .offset-sm-11 { - margin-right: 91.66666667%; - } - .g-sm-0, -.gx-sm-0 { - --tblr-gutter-x: 0; - } - .g-sm-0, -.gy-sm-0 { - --tblr-gutter-y: 0; - } - .g-sm-1, -.gx-sm-1 { - --tblr-gutter-x: 0.25rem; - } - .g-sm-1, -.gy-sm-1 { - --tblr-gutter-y: 0.25rem; - } - .g-sm-2, -.gx-sm-2 { - --tblr-gutter-x: 0.5rem; - } - .g-sm-2, -.gy-sm-2 { - --tblr-gutter-y: 0.5rem; - } - .g-sm-3, -.gx-sm-3 { - --tblr-gutter-x: 1rem; - } - .g-sm-3, -.gy-sm-3 { - --tblr-gutter-y: 1rem; - } - .g-sm-4, -.gx-sm-4 { - --tblr-gutter-x: 2rem; - } - .g-sm-4, -.gy-sm-4 { - --tblr-gutter-y: 2rem; - } - .g-sm-5, -.gx-sm-5 { - --tblr-gutter-x: 4rem; - } - .g-sm-5, -.gy-sm-5 { - --tblr-gutter-y: 4rem; - } -} -@media (min-width: 768px) { - .col-md { - flex: 1 0 0%; - } - .row-cols-md-auto > * { - flex: 0 0 auto; - width: auto; - } - .row-cols-md-1 > * { - flex: 0 0 auto; - width: 100%; - } - .row-cols-md-2 > * { - flex: 0 0 auto; - width: 50%; - } - .row-cols-md-3 > * { - flex: 0 0 auto; - width: 33.3333333333%; - } - .row-cols-md-4 > * { - flex: 0 0 auto; - width: 25%; - } - .row-cols-md-5 > * { - flex: 0 0 auto; - width: 20%; - } - .row-cols-md-6 > * { - flex: 0 0 auto; - width: 16.6666666667%; - } - .col-md-auto { - flex: 0 0 auto; - width: auto; - } - .col-md-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-md-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-md-3 { - flex: 0 0 auto; - width: 25%; - } - .col-md-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-md-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-md-6 { - flex: 0 0 auto; - width: 50%; - } - .col-md-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-md-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-md-9 { - flex: 0 0 auto; - width: 75%; - } - .col-md-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-md-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-md-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-md-0 { - margin-right: 0; - } - .offset-md-1 { - margin-right: 8.33333333%; - } - .offset-md-2 { - margin-right: 16.66666667%; - } - .offset-md-3 { - margin-right: 25%; - } - .offset-md-4 { - margin-right: 33.33333333%; - } - .offset-md-5 { - margin-right: 41.66666667%; - } - .offset-md-6 { - margin-right: 50%; - } - .offset-md-7 { - margin-right: 58.33333333%; - } - .offset-md-8 { - margin-right: 66.66666667%; - } - .offset-md-9 { - margin-right: 75%; - } - .offset-md-10 { - margin-right: 83.33333333%; - } - .offset-md-11 { - margin-right: 91.66666667%; - } - .g-md-0, -.gx-md-0 { - --tblr-gutter-x: 0; - } - .g-md-0, -.gy-md-0 { - --tblr-gutter-y: 0; - } - .g-md-1, -.gx-md-1 { - --tblr-gutter-x: 0.25rem; - } - .g-md-1, -.gy-md-1 { - --tblr-gutter-y: 0.25rem; - } - .g-md-2, -.gx-md-2 { - --tblr-gutter-x: 0.5rem; - } - .g-md-2, -.gy-md-2 { - --tblr-gutter-y: 0.5rem; - } - .g-md-3, -.gx-md-3 { - --tblr-gutter-x: 1rem; - } - .g-md-3, -.gy-md-3 { - --tblr-gutter-y: 1rem; - } - .g-md-4, -.gx-md-4 { - --tblr-gutter-x: 2rem; - } - .g-md-4, -.gy-md-4 { - --tblr-gutter-y: 2rem; - } - .g-md-5, -.gx-md-5 { - --tblr-gutter-x: 4rem; - } - .g-md-5, -.gy-md-5 { - --tblr-gutter-y: 4rem; - } -} -@media (min-width: 992px) { - .col-lg { - flex: 1 0 0%; - } - .row-cols-lg-auto > * { - flex: 0 0 auto; - width: auto; - } - .row-cols-lg-1 > * { - flex: 0 0 auto; - width: 100%; - } - .row-cols-lg-2 > * { - flex: 0 0 auto; - width: 50%; - } - .row-cols-lg-3 > * { - flex: 0 0 auto; - width: 33.3333333333%; - } - .row-cols-lg-4 > * { - flex: 0 0 auto; - width: 25%; - } - .row-cols-lg-5 > * { - flex: 0 0 auto; - width: 20%; - } - .row-cols-lg-6 > * { - flex: 0 0 auto; - width: 16.6666666667%; - } - .col-lg-auto { - flex: 0 0 auto; - width: auto; - } - .col-lg-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-lg-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-lg-3 { - flex: 0 0 auto; - width: 25%; - } - .col-lg-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-lg-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-lg-6 { - flex: 0 0 auto; - width: 50%; - } - .col-lg-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-lg-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-lg-9 { - flex: 0 0 auto; - width: 75%; - } - .col-lg-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-lg-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-lg-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-lg-0 { - margin-right: 0; - } - .offset-lg-1 { - margin-right: 8.33333333%; - } - .offset-lg-2 { - margin-right: 16.66666667%; - } - .offset-lg-3 { - margin-right: 25%; - } - .offset-lg-4 { - margin-right: 33.33333333%; - } - .offset-lg-5 { - margin-right: 41.66666667%; - } - .offset-lg-6 { - margin-right: 50%; - } - .offset-lg-7 { - margin-right: 58.33333333%; - } - .offset-lg-8 { - margin-right: 66.66666667%; - } - .offset-lg-9 { - margin-right: 75%; - } - .offset-lg-10 { - margin-right: 83.33333333%; - } - .offset-lg-11 { - margin-right: 91.66666667%; - } - .g-lg-0, -.gx-lg-0 { - --tblr-gutter-x: 0; - } - .g-lg-0, -.gy-lg-0 { - --tblr-gutter-y: 0; - } - .g-lg-1, -.gx-lg-1 { - --tblr-gutter-x: 0.25rem; - } - .g-lg-1, -.gy-lg-1 { - --tblr-gutter-y: 0.25rem; - } - .g-lg-2, -.gx-lg-2 { - --tblr-gutter-x: 0.5rem; - } - .g-lg-2, -.gy-lg-2 { - --tblr-gutter-y: 0.5rem; - } - .g-lg-3, -.gx-lg-3 { - --tblr-gutter-x: 1rem; - } - .g-lg-3, -.gy-lg-3 { - --tblr-gutter-y: 1rem; - } - .g-lg-4, -.gx-lg-4 { - --tblr-gutter-x: 2rem; - } - .g-lg-4, -.gy-lg-4 { - --tblr-gutter-y: 2rem; - } - .g-lg-5, -.gx-lg-5 { - --tblr-gutter-x: 4rem; - } - .g-lg-5, -.gy-lg-5 { - --tblr-gutter-y: 4rem; - } -} -@media (min-width: 1200px) { - .col-xl { - flex: 1 0 0%; - } - .row-cols-xl-auto > * { - flex: 0 0 auto; - width: auto; - } - .row-cols-xl-1 > * { - flex: 0 0 auto; - width: 100%; - } - .row-cols-xl-2 > * { - flex: 0 0 auto; - width: 50%; - } - .row-cols-xl-3 > * { - flex: 0 0 auto; - width: 33.3333333333%; - } - .row-cols-xl-4 > * { - flex: 0 0 auto; - width: 25%; - } - .row-cols-xl-5 > * { - flex: 0 0 auto; - width: 20%; - } - .row-cols-xl-6 > * { - flex: 0 0 auto; - width: 16.6666666667%; - } - .col-xl-auto { - flex: 0 0 auto; - width: auto; - } - .col-xl-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-xl-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-xl-3 { - flex: 0 0 auto; - width: 25%; - } - .col-xl-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-xl-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-xl-6 { - flex: 0 0 auto; - width: 50%; - } - .col-xl-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-xl-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-xl-9 { - flex: 0 0 auto; - width: 75%; - } - .col-xl-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-xl-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-xl-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-xl-0 { - margin-right: 0; - } - .offset-xl-1 { - margin-right: 8.33333333%; - } - .offset-xl-2 { - margin-right: 16.66666667%; - } - .offset-xl-3 { - margin-right: 25%; - } - .offset-xl-4 { - margin-right: 33.33333333%; - } - .offset-xl-5 { - margin-right: 41.66666667%; - } - .offset-xl-6 { - margin-right: 50%; - } - .offset-xl-7 { - margin-right: 58.33333333%; - } - .offset-xl-8 { - margin-right: 66.66666667%; - } - .offset-xl-9 { - margin-right: 75%; - } - .offset-xl-10 { - margin-right: 83.33333333%; - } - .offset-xl-11 { - margin-right: 91.66666667%; - } - .g-xl-0, -.gx-xl-0 { - --tblr-gutter-x: 0; - } - .g-xl-0, -.gy-xl-0 { - --tblr-gutter-y: 0; - } - .g-xl-1, -.gx-xl-1 { - --tblr-gutter-x: 0.25rem; - } - .g-xl-1, -.gy-xl-1 { - --tblr-gutter-y: 0.25rem; - } - .g-xl-2, -.gx-xl-2 { - --tblr-gutter-x: 0.5rem; - } - .g-xl-2, -.gy-xl-2 { - --tblr-gutter-y: 0.5rem; - } - .g-xl-3, -.gx-xl-3 { - --tblr-gutter-x: 1rem; - } - .g-xl-3, -.gy-xl-3 { - --tblr-gutter-y: 1rem; - } - .g-xl-4, -.gx-xl-4 { - --tblr-gutter-x: 2rem; - } - .g-xl-4, -.gy-xl-4 { - --tblr-gutter-y: 2rem; - } - .g-xl-5, -.gx-xl-5 { - --tblr-gutter-x: 4rem; - } - .g-xl-5, -.gy-xl-5 { - --tblr-gutter-y: 4rem; - } -} -@media (min-width: 1400px) { - .col-xxl { - flex: 1 0 0%; - } - .row-cols-xxl-auto > * { - flex: 0 0 auto; - width: auto; - } - .row-cols-xxl-1 > * { - flex: 0 0 auto; - width: 100%; - } - .row-cols-xxl-2 > * { - flex: 0 0 auto; - width: 50%; - } - .row-cols-xxl-3 > * { - flex: 0 0 auto; - width: 33.3333333333%; - } - .row-cols-xxl-4 > * { - flex: 0 0 auto; - width: 25%; - } - .row-cols-xxl-5 > * { - flex: 0 0 auto; - width: 20%; - } - .row-cols-xxl-6 > * { - flex: 0 0 auto; - width: 16.6666666667%; - } - .col-xxl-auto { - flex: 0 0 auto; - width: auto; - } - .col-xxl-1 { - flex: 0 0 auto; - width: 8.33333333%; - } - .col-xxl-2 { - flex: 0 0 auto; - width: 16.66666667%; - } - .col-xxl-3 { - flex: 0 0 auto; - width: 25%; - } - .col-xxl-4 { - flex: 0 0 auto; - width: 33.33333333%; - } - .col-xxl-5 { - flex: 0 0 auto; - width: 41.66666667%; - } - .col-xxl-6 { - flex: 0 0 auto; - width: 50%; - } - .col-xxl-7 { - flex: 0 0 auto; - width: 58.33333333%; - } - .col-xxl-8 { - flex: 0 0 auto; - width: 66.66666667%; - } - .col-xxl-9 { - flex: 0 0 auto; - width: 75%; - } - .col-xxl-10 { - flex: 0 0 auto; - width: 83.33333333%; - } - .col-xxl-11 { - flex: 0 0 auto; - width: 91.66666667%; - } - .col-xxl-12 { - flex: 0 0 auto; - width: 100%; - } - .offset-xxl-0 { - margin-right: 0; - } - .offset-xxl-1 { - margin-right: 8.33333333%; - } - .offset-xxl-2 { - margin-right: 16.66666667%; - } - .offset-xxl-3 { - margin-right: 25%; - } - .offset-xxl-4 { - margin-right: 33.33333333%; - } - .offset-xxl-5 { - margin-right: 41.66666667%; - } - .offset-xxl-6 { - margin-right: 50%; - } - .offset-xxl-7 { - margin-right: 58.33333333%; - } - .offset-xxl-8 { - margin-right: 66.66666667%; - } - .offset-xxl-9 { - margin-right: 75%; - } - .offset-xxl-10 { - margin-right: 83.33333333%; - } - .offset-xxl-11 { - margin-right: 91.66666667%; - } - .g-xxl-0, -.gx-xxl-0 { - --tblr-gutter-x: 0; - } - .g-xxl-0, -.gy-xxl-0 { - --tblr-gutter-y: 0; - } - .g-xxl-1, -.gx-xxl-1 { - --tblr-gutter-x: 0.25rem; - } - .g-xxl-1, -.gy-xxl-1 { - --tblr-gutter-y: 0.25rem; - } - .g-xxl-2, -.gx-xxl-2 { - --tblr-gutter-x: 0.5rem; - } - .g-xxl-2, -.gy-xxl-2 { - --tblr-gutter-y: 0.5rem; - } - .g-xxl-3, -.gx-xxl-3 { - --tblr-gutter-x: 1rem; - } - .g-xxl-3, -.gy-xxl-3 { - --tblr-gutter-y: 1rem; - } - .g-xxl-4, -.gx-xxl-4 { - --tblr-gutter-x: 2rem; - } - .g-xxl-4, -.gy-xxl-4 { - --tblr-gutter-y: 2rem; - } - .g-xxl-5, -.gx-xxl-5 { - --tblr-gutter-x: 4rem; - } - .g-xxl-5, -.gy-xxl-5 { - --tblr-gutter-y: 4rem; - } -} -.table, .markdown > table { - --tblr-table-color: inherit; - --tblr-table-bg: transparent; - --tblr-table-border-color: var(--tblr-border-color-translucent); - --tblr-table-accent-bg: transparent; - --tblr-table-striped-color: inherit; - --tblr-table-striped-bg: var(--tblr-bg-surface-secondary); - --tblr-table-active-color: inherit; - --tblr-table-active-bg: rgba(0, 0, 0, 0.1); - --tblr-table-hover-color: inherit; - --tblr-table-hover-bg: rgba(0, 0, 0, 0.075); - width: 100%; - margin-bottom: 1rem; - color: var(--tblr-table-color); - vertical-align: top; - border-color: var(--tblr-table-border-color); -} -.table > :not(caption) > * > *, .markdown > table > :not(caption) > * > * { - padding: 0.75rem 0.75rem; - background-color: var(--tblr-table-bg); - border-bottom-width: 1px; - box-shadow: inset 0 0 0 9999px var(--tblr-table-accent-bg); -} -.table > tbody, .markdown > table > tbody { - vertical-align: inherit; -} -.table > thead, .markdown > table > thead { - vertical-align: bottom; -} - -.table-group-divider { - border-top: 2px solid var(--tblr-border-color-translucent); -} - -.caption-top { - caption-side: top; -} - -.table-sm > :not(caption) > * > * { - padding: 0.25rem 0.25rem; -} - -.table-bordered > :not(caption) > *, .markdown > table > :not(caption) > * { - border-width: 1px 0; -} -.table-bordered > :not(caption) > * > *, .markdown > table > :not(caption) > * > * { - border-width: 0 1px; -} - -.table-borderless > :not(caption) > * > * { - border-bottom-width: 0; -} -.table-borderless > :not(:first-child) { - border-top-width: 0; -} - -.table-striped > tbody > tr:nth-of-type(even) > * { - --tblr-table-accent-bg: var(--tblr-table-striped-bg); - color: var(--tblr-table-striped-color); -} - -.table-striped-columns > :not(caption) > tr > :nth-child(even) { - --tblr-table-accent-bg: var(--tblr-table-striped-bg); - color: var(--tblr-table-striped-color); -} - -.table-active { - --tblr-table-accent-bg: var(--tblr-table-active-bg); - color: var(--tblr-table-active-color); -} - -.table-hover > tbody > tr:hover > * { - --tblr-table-accent-bg: var(--tblr-table-hover-bg); - color: var(--tblr-table-hover-color); -} - -.table-primary { - --tblr-table-color: #1d273b; - --tblr-table-bg: #d2e1f3; - --tblr-table-border-color: #c0cee1; - --tblr-table-striped-bg: #c9d8ea; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #c0cee1; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #c4d3e5; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-secondary { - --tblr-table-color: #1d273b; - --tblr-table-bg: #dfe1e4; - --tblr-table-border-color: #ccced3; - --tblr-table-striped-bg: #d5d8dc; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #ccced3; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #d0d3d7; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-success { - --tblr-table-color: #1d273b; - --tblr-table-bg: #d5f0da; - --tblr-table-border-color: #c3dcca; - --tblr-table-striped-bg: #cce6d2; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #c3dcca; - --tblr-table-active-color: #1d273b; - --tblr-table-hover-bg: #c7e1ce; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-info { - --tblr-table-color: #1d273b; - --tblr-table-bg: #d9ebf9; - --tblr-table-border-color: #c6d7e6; - --tblr-table-striped-bg: #d0e1f0; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #c6d7e6; - --tblr-table-active-color: #1d273b; - --tblr-table-hover-bg: #cbdceb; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-warning { - --tblr-table-color: #1d273b; - --tblr-table-bg: #fde1cd; - --tblr-table-border-color: #e7cebe; - --tblr-table-striped-bg: #f2d8c6; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #e7cebe; - --tblr-table-active-color: #1d273b; - --tblr-table-hover-bg: #ecd3c2; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-danger { - --tblr-table-color: #1d273b; - --tblr-table-bg: #f7d7d7; - --tblr-table-border-color: #e1c5c7; - --tblr-table-striped-bg: #eccecf; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #e1c5c7; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #e7cacb; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-light { - --tblr-table-color: #1d273b; - --tblr-table-bg: #f8fafc; - --tblr-table-border-color: #e2e5e9; - --tblr-table-striped-bg: #edeff2; - --tblr-table-striped-color: #1d273b; - --tblr-table-active-bg: #e2e5e9; - --tblr-table-active-color: #1d273b; - --tblr-table-hover-bg: #e8eaee; - --tblr-table-hover-color: #1d273b; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-dark { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #1d273b; - --tblr-table-border-color: #333c4e; - --tblr-table-striped-bg: #283245; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #333c4e; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #2d3749; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); -} - -.table-responsive { - overflow-x: auto; - -webkit-overflow-scrolling: touch; -} - -@media (max-width: 575.98px) { - .table-responsive-sm { - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } -} -@media (max-width: 767.98px) { - .table-responsive-md { - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } -} -@media (max-width: 991.98px) { - .table-responsive-lg { - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } -} -@media (max-width: 1199.98px) { - .table-responsive-xl { - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } -} -@media (max-width: 1399.98px) { - .table-responsive-xxl { - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } -} -.form-label { - margin-bottom: 0.5rem; - font-size: 0.875rem; - font-weight: var(--tblr-font-weight-medium); -} - -.col-form-label { - padding-top: calc(0.4375rem + 1px); - padding-bottom: calc(0.4375rem + 1px); - margin-bottom: 0; - font-size: inherit; - font-weight: var(--tblr-font-weight-medium); - line-height: 1.4285714286; -} - -.col-form-label-lg { - padding-top: calc(0.5rem + 1px); - padding-bottom: calc(0.5rem + 1px); - font-size: 1.25rem; -} - -.col-form-label-sm { - padding-top: calc(0.125rem + 1px); - padding-bottom: calc(0.125rem + 1px); - font-size: 0.75rem; -} - -.form-text { - margin-top: 0.25rem; - font-size: 85.714285%; - color: #616876; -} - -.form-control { - display: block; - width: 100%; - padding: 0.4375rem 0.75rem; - font-family: var(--tblr-font-sans-serif); - font-size: 0.875rem; - font-weight: 400; - line-height: 1.4285714286; - color: inherit; - background-color: var(--tblr-bg-forms); - background-clip: padding-box; - border: 1px solid var(--tblr-border-color); - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border-radius: var(--tblr-border-radius); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-control { - transition: none; - } -} -.form-control[type=file] { - overflow: hidden; -} -.form-control[type=file]:not(:disabled):not([readonly]) { - cursor: pointer; -} -.form-control:focus { - color: inherit; - background-color: var(--tblr-bg-forms); - border-color: #90b5e2; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-control::-webkit-date-and-time-value { - height: 1.4285714286em; -} -.form-control::-webkit-input-placeholder { - color: #a5a9b1; - opacity: 1; -} -.form-control::-moz-placeholder { - color: #a5a9b1; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #a5a9b1; - opacity: 1; -} -.form-control::-ms-input-placeholder { - color: #a5a9b1; - opacity: 1; -} -.form-control::placeholder { - color: #a5a9b1; - opacity: 1; -} -.form-control:disabled { - background-color: var(--tblr-gray-100); - opacity: 1; -} -.form-control::-webkit-file-upload-button { - padding: 0.4375rem 0.75rem; - margin: -0.4375rem -0.75rem; - -webkit-margin-end: 0.75rem; - margin-inline-end: 0.75rem; - color: inherit; - background-color: #f8fafc; - pointer-events: none; - border-color: inherit; - border-style: solid; - border-width: 0; - border-inline-end-width: 1px; - border-radius: 0; - -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -.form-control::file-selector-button { - padding: 0.4375rem 0.75rem; - margin: -0.4375rem -0.75rem; - -webkit-margin-end: 0.75rem; - margin-inline-end: 0.75rem; - color: inherit; - background-color: #f8fafc; - pointer-events: none; - border-color: inherit; - border-style: solid; - border-width: 0; - border-inline-end-width: 1px; - border-radius: 0; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-control::-webkit-file-upload-button { - -webkit-transition: none; - transition: none; - } - .form-control::file-selector-button { - transition: none; - } -} -.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { - background-color: #eceeef; -} -.form-control:hover:not(:disabled):not([readonly])::file-selector-button { - background-color: #eceeef; -} - -.form-control-plaintext { - display: block; - width: 100%; - padding: 0.4375rem 0; - margin-bottom: 0; - line-height: 1.4285714286; - color: #1d273b; - background-color: transparent; - border: solid transparent; - border-width: 1px 0; -} -.form-control-plaintext:focus { - outline: 0; -} -.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { - padding-left: 0; - padding-right: 0; -} - -.form-control-sm { - min-height: calc(1.4285714286em + 0.25rem + 2px); - padding: 0.125rem 0.5rem; - font-size: 0.75rem; - border-radius: 2px; -} -.form-control-sm::-webkit-file-upload-button { - padding: 0.125rem 0.5rem; - margin: -0.125rem -0.5rem; - -webkit-margin-end: 0.5rem; - margin-inline-end: 0.5rem; -} -.form-control-sm::file-selector-button { - padding: 0.125rem 0.5rem; - margin: -0.125rem -0.5rem; - -webkit-margin-end: 0.5rem; - margin-inline-end: 0.5rem; -} - -.form-control-lg { - min-height: calc(1.4285714286em + 1rem + 2px); - padding: 0.5rem 1.5rem; - font-size: 1.25rem; - border-radius: 8px; -} -.form-control-lg::-webkit-file-upload-button { - padding: 0.5rem 1.5rem; - margin: -0.5rem -1.5rem; - -webkit-margin-end: 1.5rem; - margin-inline-end: 1.5rem; -} -.form-control-lg::file-selector-button { - padding: 0.5rem 1.5rem; - margin: -0.5rem -1.5rem; - -webkit-margin-end: 1.5rem; - margin-inline-end: 1.5rem; -} - -textarea.form-control { - min-height: calc(1.4285714286em + 0.875rem + 2px); -} -textarea.form-control-sm { - min-height: calc(1.4285714286em + 0.25rem + 2px); -} -textarea.form-control-lg { - min-height: calc(1.4285714286em + 1rem + 2px); -} - -.form-control-color { - width: 3rem; - height: calc(1.4285714286em + 0.875rem + 2px); - padding: 0.4375rem; -} -.form-control-color:not(:disabled):not([readonly]) { - cursor: pointer; -} -.form-control-color::-moz-color-swatch { - border: 0 !important; - border-radius: var(--tblr-border-radius); -} -.form-control-color::-webkit-color-swatch { - border-radius: var(--tblr-border-radius); -} -.form-control-color.form-control-sm { - height: calc(1.4285714286em + 0.25rem + 2px); -} -.form-control-color.form-control-lg { - height: calc(1.4285714286em + 1rem + 2px); -} - -.form-select { - display: block; - width: 100%; - padding: 0.4375rem 0.75rem 0.4375rem 2.25rem; - -moz-padding-start: calc(0.75rem - 3px); - font-family: var(--tblr-font-sans-serif); - font-size: 0.875rem; - font-weight: 400; - line-height: 1.4285714286; - color: inherit; - background-color: var(--tblr-bg-forms); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: left 0.75rem center; - background-size: 16px 12px; - border: 1px solid var(--tblr-border-color); - border-radius: var(--tblr-border-radius); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} -@media (prefers-reduced-motion: reduce) { - .form-select { - transition: none; - } -} -.form-select:focus { - border-color: #90b5e2; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-select[multiple], .form-select[size]:not([size="1"]) { - padding-left: 0.75rem; - background-image: none; -} -.form-select:disabled { - background-color: #e2e8f0; -} -.form-select:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 inherit; -} - -.form-select-sm { - padding-top: 0.125rem; - padding-bottom: 0.125rem; - padding-right: 0.5rem; - font-size: 0.75rem; - border-radius: 2px; -} - -.form-select-lg { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-right: 1.5rem; - font-size: 1.25rem; - border-radius: 8px; -} - -.form-check { - display: block; - min-height: 1.25rem; - padding-right: 1.5rem; - margin-bottom: 0.5rem; -} -.form-check .form-check-input { - float: right; - margin-right: -1.5rem; -} - -.form-check-reverse { - padding-left: 1.5rem; - padding-right: 0; - text-align: left; -} -.form-check-reverse .form-check-input { - float: left; - margin-left: -1.5rem; - margin-right: 0; -} - -.form-check-input { - width: 1rem; - height: 1rem; - margin-top: 0.2142857143rem; - vertical-align: top; - background-color: var(--tblr-bg-forms); - background-repeat: no-repeat; - background-position: center; - background-size: contain; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-print-color-adjust: exact; - color-adjust: exact; - print-color-adjust: exact; -} -.form-check-input[type=checkbox] { - border-radius: var(--tblr-border-radius); -} -.form-check-input[type=radio] { - border-radius: 50%; -} -.form-check-input:active { - filter: brightness(90%); -} -.form-check-input:focus { - border-color: #90b5e2; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-check-input:checked { - background-color: var(--tblr-primary); - border-color: var(--tblr-border-color-translucent); -} -.form-check-input:checked[type=checkbox] { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); -} -.form-check-input:checked[type=radio] { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); -} -.form-check-input[type=checkbox]:indeterminate { - background-color: #206bc4; - border-color: #206bc4; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); -} -.form-check-input:disabled { - pointer-events: none; - filter: none; - opacity: 0.5; -} -.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { - cursor: default; - opacity: 0.7; -} - -.form-switch { - padding-right: 2.5rem; -} -.form-switch .form-check-input { - width: 2rem; - margin-right: -2.5rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23e6e7e9'/%3e%3c/svg%3e"); - background-position: right center; - border-radius: 2rem; - transition: background-position 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-switch .form-check-input { - transition: none; - } -} -.form-switch .form-check-input:focus { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2390b5e2'/%3e%3c/svg%3e"); -} -.form-switch .form-check-input:checked { - background-position: left center; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e"); -} -.form-switch.form-check-reverse { - padding-left: 2.5rem; - padding-right: 0; -} -.form-switch.form-check-reverse .form-check-input { - margin-left: -2.5rem; - margin-right: 0; -} - -.form-check-inline { - display: inline-block; - margin-left: 1rem; -} - -.btn-check { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} -.btn-check[disabled] + .btn, .btn-check:disabled + .btn { - pointer-events: none; - filter: none; - opacity: 0.4; -} - -.form-range { - width: 100%; - height: 1.25rem; - padding: 0; - background-color: transparent; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} -.form-range:focus { - outline: 0; -} -.form-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #f1f5f9, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #f1f5f9, 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-range::-moz-focus-outer { - border: 0; -} -.form-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.375rem; - background-color: var(--tblr-primary); - border: 2px var(--tblr-border-style) #ffffff; - border-radius: 1rem; - -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -webkit-appearance: none; - appearance: none; -} -@media (prefers-reduced-motion: reduce) { - .form-range::-webkit-slider-thumb { - -webkit-transition: none; - transition: none; - } -} -.form-range::-webkit-slider-thumb:active { - background-color: #bcd3ed; -} -.form-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.25rem; - color: transparent; - cursor: pointer; - background-color: var(--tblr-border-color); - border-color: transparent; - border-radius: 1rem; -} -.form-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - background-color: var(--tblr-primary); - border: 2px var(--tblr-border-style) #ffffff; - border-radius: 1rem; - -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -moz-appearance: none; - appearance: none; -} -@media (prefers-reduced-motion: reduce) { - .form-range::-moz-range-thumb { - -moz-transition: none; - transition: none; - } -} -.form-range::-moz-range-thumb:active { - background-color: #bcd3ed; -} -.form-range::-moz-range-track { - width: 100%; - height: 0.25rem; - color: transparent; - cursor: pointer; - background-color: var(--tblr-border-color); - border-color: transparent; - border-radius: 1rem; -} -.form-range:disabled { - pointer-events: none; -} -.form-range:disabled::-webkit-slider-thumb { - background-color: #6c7a91; -} -.form-range:disabled::-moz-range-thumb { - background-color: #6c7a91; -} - -.form-floating { - position: relative; -} -.form-floating > .form-control, -.form-floating > .form-control-plaintext, -.form-floating > .form-select { - height: calc(3.5rem + 2px); - line-height: 1.25; -} -.form-floating > label { - position: absolute; - top: 0; - right: 0; - width: 100%; - height: 100%; - padding: 1rem 0.75rem; - overflow: hidden; - text-align: start; - text-overflow: ellipsis; - white-space: nowrap; - pointer-events: none; - border: 1px solid transparent; - transform-origin: 100% 0; - transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-floating > label { - transition: none; - } -} -.form-floating > .form-control, -.form-floating > .form-control-plaintext { - padding: 1rem 0.75rem; -} -.form-floating > .form-control::-webkit-input-placeholder, .form-floating > .form-control-plaintext::-webkit-input-placeholder { - color: transparent; -} -.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder { - color: transparent; -} -.form-floating > .form-control:-ms-input-placeholder, .form-floating > .form-control-plaintext:-ms-input-placeholder { - color: transparent; -} -.form-floating > .form-control::-ms-input-placeholder, .form-floating > .form-control-plaintext::-ms-input-placeholder { - color: transparent; -} -.form-floating > .form-control::placeholder, -.form-floating > .form-control-plaintext::placeholder { - color: transparent; -} -.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) { - padding-top: 1.625rem; - padding-bottom: 0.625rem; -} -.form-floating > .form-control:not(:-ms-input-placeholder), .form-floating > .form-control-plaintext:not(:-ms-input-placeholder) { - padding-top: 1.625rem; - padding-bottom: 0.625rem; -} -.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), -.form-floating > .form-control-plaintext:focus, -.form-floating > .form-control-plaintext:not(:placeholder-shown) { - padding-top: 1.625rem; - padding-bottom: 0.625rem; -} -.form-floating > .form-control:-webkit-autofill, -.form-floating > .form-control-plaintext:-webkit-autofill { - padding-top: 1.625rem; - padding-bottom: 0.625rem; -} -.form-floating > .form-select { - padding-top: 1.625rem; - padding-bottom: 0.625rem; -} -.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { - opacity: 0.65; - transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); -} -.form-floating > .form-control:not(:-ms-input-placeholder) ~ label { - opacity: 0.65; - transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); -} -.form-floating > .form-control:focus ~ label, -.form-floating > .form-control:not(:placeholder-shown) ~ label, -.form-floating > .form-control-plaintext ~ label, -.form-floating > .form-select ~ label { - opacity: 0.65; - transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); -} -.form-floating > .form-control:-webkit-autofill ~ label { - opacity: 0.65; - transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); -} -.form-floating > .form-control-plaintext ~ label { - border-width: 1px 0; -} - -.input-group { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: stretch; - width: 100%; -} -.input-group > .form-control, -.input-group > .form-select, -.input-group > .form-floating { - position: relative; - flex: 1 1 auto; - width: 1%; - min-width: 0; -} -.input-group > .form-control:focus, -.input-group > .form-select:focus, -.input-group > .form-floating:focus-within { - z-index: 5; -} -.input-group .btn { - position: relative; - z-index: 2; -} -.input-group .btn:focus { - z-index: 5; -} - -.input-group-text { - display: flex; - align-items: center; - padding: 0.4375rem 0.75rem; - font-size: 0.875rem; - font-weight: 400; - line-height: 1.4285714286; - color: var(--tblr-muted); - text-align: center; - white-space: nowrap; - background-color: #f8fafc; - border: 1px solid var(--tblr-border-color); - border-radius: var(--tblr-border-radius); -} - -.input-group-lg > .form-control, -.input-group-lg > .form-select, -.input-group-lg > .input-group-text, -.input-group-lg > .btn { - padding: 0.5rem 1.5rem; - font-size: 1.25rem; - border-radius: 8px; -} - -.input-group-sm > .form-control, -.input-group-sm > .form-select, -.input-group-sm > .input-group-text, -.input-group-sm > .btn { - padding: 0.125rem 0.5rem; - font-size: 0.75rem; - border-radius: 2px; -} - -.input-group-lg > .form-select, -.input-group-sm > .form-select { - padding-left: 3rem; -} - -.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), -.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), -.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, -.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), -.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4), -.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control, -.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { - margin-right: -1px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.input-group > .form-floating:not(:first-child) > .form-control, -.input-group > .form-floating:not(:first-child) > .form-select { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 85.714285%; - color: #2fb344; -} - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: 0.1rem; - font-size: 0.765625rem; - color: #f8fafc; - background-color: rgba(47, 179, 68, 0.9); - border-radius: 4px; -} - -.was-validated :valid ~ .valid-feedback, -.was-validated :valid ~ .valid-tooltip, -.is-valid ~ .valid-feedback, -.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .form-control:valid, .form-control.is-valid { - border-color: #2fb344; - padding-left: calc(1.4285714286em + 0.875rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: left calc(0.3571428572em + 0.21875rem) center; - background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); -} -.was-validated .form-control:valid:focus, .form-control.is-valid:focus { - border-color: #2fb344; - box-shadow: 0 0 0 0.25rem rgba(47, 179, 68, 0.25); -} - -.was-validated textarea.form-control:valid, textarea.form-control.is-valid { - padding-left: calc(1.4285714286em + 0.875rem); - background-position: top calc(0.3571428572em + 0.21875rem) left calc(0.3571428572em + 0.21875rem); -} - -.was-validated .form-select:valid, .form-select.is-valid { - border-color: #2fb344; -} -.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { - padding-left: 4.125rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); - background-position: left 0.75rem center, center left 2.25rem; - background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); -} -.was-validated .form-select:valid:focus, .form-select.is-valid:focus { - border-color: #2fb344; - box-shadow: 0 0 0 0.25rem rgba(47, 179, 68, 0.25); -} - -.was-validated .form-control-color:valid, .form-control-color.is-valid { - width: calc(3rem + calc(1.4285714286em + 0.875rem)); -} - -.was-validated .form-check-input:valid, .form-check-input.is-valid { - border-color: #2fb344; -} -.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { - background-color: #2fb344; -} -.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { - box-shadow: 0 0 0 0.25rem rgba(47, 179, 68, 0.25); -} -.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #2fb344; -} - -.form-check-inline .form-check-input ~ .valid-feedback { - margin-right: 0.5em; -} - -.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, -.was-validated .input-group > .form-select:not(:focus):valid, -.input-group > .form-select:not(:focus).is-valid, -.was-validated .input-group > .form-floating:not(:focus-within):valid, -.input-group > .form-floating:not(:focus-within).is-valid { - z-index: 3; -} - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 85.714285%; - color: #d63939; -} - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: 0.1rem; - font-size: 0.765625rem; - color: #f8fafc; - background-color: rgba(214, 57, 57, 0.9); - border-radius: 4px; -} - -.was-validated :invalid ~ .invalid-feedback, -.was-validated :invalid ~ .invalid-tooltip, -.is-invalid ~ .invalid-feedback, -.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .form-control:invalid, .form-control.is-invalid { - border-color: #d63939; - padding-left: calc(1.4285714286em + 0.875rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: left calc(0.3571428572em + 0.21875rem) center; - background-size: calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); -} -.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { - border-color: #d63939; - box-shadow: 0 0 0 0.25rem rgba(214, 57, 57, 0.25); -} - -.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { - padding-left: calc(1.4285714286em + 0.875rem); - background-position: top calc(0.3571428572em + 0.21875rem) left calc(0.3571428572em + 0.21875rem); -} - -.was-validated .form-select:invalid, .form-select.is-invalid { - border-color: #d63939; -} -.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { - padding-left: 4.125rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); - background-position: left 0.75rem center, center left 2.25rem; - background-size: 16px 12px, calc(0.7142857143em + 0.4375rem) calc(0.7142857143em + 0.4375rem); -} -.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { - border-color: #d63939; - box-shadow: 0 0 0 0.25rem rgba(214, 57, 57, 0.25); -} - -.was-validated .form-control-color:invalid, .form-control-color.is-invalid { - width: calc(3rem + calc(1.4285714286em + 0.875rem)); -} - -.was-validated .form-check-input:invalid, .form-check-input.is-invalid { - border-color: #d63939; -} -.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { - background-color: #d63939; -} -.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { - box-shadow: 0 0 0 0.25rem rgba(214, 57, 57, 0.25); -} -.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #d63939; -} - -.form-check-inline .form-check-input ~ .invalid-feedback { - margin-right: 0.5em; -} - -.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, -.was-validated .input-group > .form-select:not(:focus):invalid, -.input-group > .form-select:not(:focus).is-invalid, -.was-validated .input-group > .form-floating:not(:focus-within):invalid, -.input-group > .form-floating:not(:focus-within).is-invalid { - z-index: 4; -} - -.btn { - --tblr-btn-padding-x: 1rem; - --tblr-btn-padding-y: 0.4375rem; - --tblr-btn-font-family: var(--tblr-font-sans-serif); - --tblr-btn-font-size: 0.875rem; - --tblr-btn-font-weight: var(--tblr-font-weight-medium); - --tblr-btn-line-height: 1.4285714286; - --tblr-btn-color: #1d273b; - --tblr-btn-bg: transparent; - --tblr-btn-border-width: 1px; - --tblr-btn-border-color: transparent; - --tblr-btn-border-radius: var(--tblr-border-radius); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); - --tblr-btn-disabled-opacity: 0.4; - --tblr-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5); - display: inline-block; - padding: var(--tblr-btn-padding-y) var(--tblr-btn-padding-x); - font-family: var(--tblr-btn-font-family); - font-size: var(--tblr-btn-font-size); - font-weight: var(--tblr-btn-font-weight); - line-height: var(--tblr-btn-line-height); - color: var(--tblr-btn-color); - text-align: center; - vertical-align: middle; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: var(--tblr-btn-border-width) solid var(--tblr-btn-border-color); - border-radius: var(--tblr-btn-border-radius); - background-color: var(--tblr-btn-bg); - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .btn { - transition: none; - } -} -.btn:hover { - color: var(--tblr-btn-hover-color); - text-decoration: none; - background-color: var(--tblr-btn-hover-bg); - border-color: var(--tblr-btn-hover-border-color); -} -.btn-check + .btn:hover { - color: var(--tblr-btn-color); - background-color: var(--tblr-btn-bg); - border-color: var(--tblr-btn-border-color); -} -.btn:focus-visible { - color: var(--tblr-btn-hover-color); - background-color: var(--tblr-btn-hover-bg); - border-color: var(--tblr-btn-hover-border-color); - outline: 0; - box-shadow: var(--tblr-btn-focus-box-shadow); -} -.btn-check:focus-visible + .btn { - border-color: var(--tblr-btn-hover-border-color); - outline: 0; - box-shadow: var(--tblr-btn-focus-box-shadow); -} -.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { - color: var(--tblr-btn-active-color); - background-color: var(--tblr-btn-active-bg); - border-color: var(--tblr-btn-active-border-color); -} -.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { - box-shadow: var(--tblr-btn-focus-box-shadow); -} -.btn:disabled, .btn.disabled, fieldset:disabled .btn { - color: var(--tblr-btn-disabled-color); - pointer-events: none; - background-color: var(--tblr-btn-disabled-bg); - border-color: var(--tblr-btn-disabled-border-color); - opacity: var(--tblr-btn-disabled-opacity); -} - -.btn-link { - --tblr-btn-font-weight: 400; - --tblr-btn-color: var(--tblr-link-color); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: var(--tblr-link-hover-color); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-color: var(--tblr-link-hover-color); - --tblr-btn-active-border-color: transparent; - --tblr-btn-disabled-color: #49566c; - --tblr-btn-disabled-border-color: transparent; - --tblr-btn-box-shadow: none; - --tblr-btn-focus-shadow-rgb: 64, 128, 204; - text-decoration: none; -} -.btn-link:hover, .btn-link:focus-visible { - text-decoration: underline; -} -.btn-link:focus-visible { - color: var(--tblr-btn-color); -} -.btn-link:hover { - color: var(--tblr-btn-hover-color); -} - -.btn-lg, .btn-group-lg > .btn { - --tblr-btn-padding-y: 0.5rem; - --tblr-btn-padding-x: 1.5rem; - --tblr-btn-font-size: 1.25rem; - --tblr-btn-border-radius: 8px; -} - -.btn-sm, .btn-group-sm > .btn { - --tblr-btn-padding-y: 0.125rem; - --tblr-btn-padding-x: 0.5rem; - --tblr-btn-font-size: 0.75rem; - --tblr-btn-border-radius: 2px; -} - -.fade { - transition: opacity 0.15s linear; -} -@media (prefers-reduced-motion: reduce) { - .fade { - transition: none; - } -} -.fade:not(.show) { - opacity: 0; -} - -.collapse:not(.show) { - display: none; -} - -.collapsing { - height: 0; - overflow: hidden; - transition: height 0.35s ease; -} -@media (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; - } -} -.collapsing.collapse-horizontal { - width: 0; - height: auto; - transition: width 0.35s ease; -} -@media (prefers-reduced-motion: reduce) { - .collapsing.collapse-horizontal { - transition: none; - } -} - -.dropup, -.dropend, -.dropdown, -.dropstart, -.dropup-center, -.dropdown-center { - position: relative; -} - -.dropdown-toggle { - white-space: nowrap; -} -.dropdown-toggle:after { - content: ""; - display: inline-block; - vertical-align: 0.306em; - width: 0.36em; - height: 0.36em; - border-bottom: 1px solid; - border-right: 1px solid; - margin-left: 0.1em; - margin-right: 0.4em; - transform: rotate(45deg); -} - -.dropdown-menu { - --tblr-dropdown-zindex: 1000; - --tblr-dropdown-min-width: 11rem; - --tblr-dropdown-padding-x: 0; - --tblr-dropdown-padding-y: 0.25rem; - --tblr-dropdown-spacer: 1px; - --tblr-dropdown-font-size: 0.875rem; - --tblr-dropdown-color: #1d273b; - --tblr-dropdown-bg: #ffffff; - --tblr-dropdown-border-color: var(--tblr-border-color-translucent); - --tblr-dropdown-border-radius: 4px; - --tblr-dropdown-border-width: 1px; - --tblr-dropdown-inner-border-radius: 3px; - --tblr-dropdown-divider-bg: var(--tblr-border-color-translucent); - --tblr-dropdown-divider-margin-y: 0.5rem; - --tblr-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --tblr-dropdown-link-color: inherit; - --tblr-dropdown-link-hover-color: inherit; - --tblr-dropdown-link-hover-bg: rgba(var(--tblr-muted-rgb), 0.04); - --tblr-dropdown-link-active-color: var(--tblr-primary); - --tblr-dropdown-link-active-bg: var(--tblr-active-bg); - --tblr-dropdown-link-disabled-color: #6c7a91; - --tblr-dropdown-item-padding-x: 0.75rem; - --tblr-dropdown-item-padding-y: 0.5rem; - --tblr-dropdown-header-color: #49566c; - --tblr-dropdown-header-padding-x: 0.75rem; - --tblr-dropdown-header-padding-y: 0.25rem; - position: absolute; - z-index: var(--tblr-dropdown-zindex); - display: none; - min-width: var(--tblr-dropdown-min-width); - padding: var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x); - margin: 0; - font-size: var(--tblr-dropdown-font-size); - color: var(--tblr-dropdown-color); - text-align: right; - list-style: none; - background-color: var(--tblr-dropdown-bg); - background-clip: padding-box; - border: var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color); - border-radius: var(--tblr-dropdown-border-radius); -} -.dropdown-menu[data-bs-popper] { - top: 100%; - right: 0; - margin-top: var(--tblr-dropdown-spacer); -} - -.dropdown-menu-start { - --bs-position: start; -} -.dropdown-menu-start[data-bs-popper] { - left: auto; - right: 0; -} - -.dropdown-menu-end { - --bs-position: end; -} -.dropdown-menu-end[data-bs-popper] { - left: 0; - right: auto; -} - -@media (min-width: 576px) { - .dropdown-menu-sm-start { - --bs-position: start; - } - .dropdown-menu-sm-start[data-bs-popper] { - left: auto; - right: 0; - } - .dropdown-menu-sm-end { - --bs-position: end; - } - .dropdown-menu-sm-end[data-bs-popper] { - left: 0; - right: auto; - } -} -@media (min-width: 768px) { - .dropdown-menu-md-start { - --bs-position: start; - } - .dropdown-menu-md-start[data-bs-popper] { - left: auto; - right: 0; - } - .dropdown-menu-md-end { - --bs-position: end; - } - .dropdown-menu-md-end[data-bs-popper] { - left: 0; - right: auto; - } -} -@media (min-width: 992px) { - .dropdown-menu-lg-start { - --bs-position: start; - } - .dropdown-menu-lg-start[data-bs-popper] { - left: auto; - right: 0; - } - .dropdown-menu-lg-end { - --bs-position: end; - } - .dropdown-menu-lg-end[data-bs-popper] { - left: 0; - right: auto; - } -} -@media (min-width: 1200px) { - .dropdown-menu-xl-start { - --bs-position: start; - } - .dropdown-menu-xl-start[data-bs-popper] { - left: auto; - right: 0; - } - .dropdown-menu-xl-end { - --bs-position: end; - } - .dropdown-menu-xl-end[data-bs-popper] { - left: 0; - right: auto; - } -} -@media (min-width: 1400px) { - .dropdown-menu-xxl-start { - --bs-position: start; - } - .dropdown-menu-xxl-start[data-bs-popper] { - left: auto; - right: 0; - } - .dropdown-menu-xxl-end { - --bs-position: end; - } - .dropdown-menu-xxl-end[data-bs-popper] { - left: 0; - right: auto; - } -} -.dropup .dropdown-menu[data-bs-popper] { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: var(--tblr-dropdown-spacer); -} -.dropup .dropdown-toggle:after { - content: ""; - display: inline-block; - vertical-align: 0.306em; - width: 0.36em; - height: 0.36em; - border-bottom: 1px solid; - border-right: 1px solid; - margin-left: 0.1em; - margin-right: 0.4em; - transform: rotate(-135deg); -} - -.dropend .dropdown-menu[data-bs-popper] { - top: 0; - left: auto; - right: 100%; - margin-top: 0; - margin-right: var(--tblr-dropdown-spacer); -} -.dropend .dropdown-toggle:after { - content: ""; - display: inline-block; - vertical-align: 0.306em; - width: 0.36em; - height: 0.36em; - border-bottom: 1px solid; - border-right: 1px solid; - margin-left: 0.1em; - margin-right: 0.4em; - transform: rotate(135deg); -} -.dropend .dropdown-toggle::after { - vertical-align: 0; -} - -.dropstart .dropdown-menu[data-bs-popper] { - top: 0; - left: 100%; - right: auto; - margin-top: 0; - margin-left: var(--tblr-dropdown-spacer); -} -.dropstart .dropdown-toggle:after { - content: ""; - display: inline-block; - vertical-align: 0.306em; - width: 0.36em; - height: 0.36em; - border-bottom: 1px solid; - border-right: 1px solid; - margin-left: 0.1em; - margin-right: 0.4em; - transform: rotate(-45deg); -} -.dropstart .dropdown-toggle::before { - vertical-align: 0; -} - -.dropdown-divider { - height: 0; - margin: var(--tblr-dropdown-divider-margin-y) 0; - overflow: hidden; - border-top: 1px solid var(--tblr-dropdown-divider-bg); - opacity: 1; -} - -.dropdown-item { - display: block; - width: 100%; - padding: var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x); - clear: both; - font-weight: 400; - color: var(--tblr-dropdown-link-color); - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0; -} -.dropdown-item:hover, .dropdown-item:focus { - color: var(--tblr-dropdown-link-hover-color); - text-decoration: none; - background-color: var(--tblr-dropdown-link-hover-bg); -} -.dropdown-item.active, .dropdown-item:active { - color: var(--tblr-dropdown-link-active-color); - text-decoration: none; - background-color: var(--tblr-dropdown-link-active-bg); -} -.dropdown-item.disabled, .dropdown-item:disabled { - color: var(--tblr-dropdown-link-disabled-color); - pointer-events: none; - background-color: transparent; -} - -.dropdown-menu.show { - display: block; -} - -.dropdown-header { - display: block; - padding: var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x); - margin-bottom: 0; - font-size: 0.765625rem; - color: var(--tblr-dropdown-header-color); - white-space: nowrap; -} - -.dropdown-item-text { - display: block; - padding: var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x); - color: var(--tblr-dropdown-link-color); -} - -.dropdown-menu-dark { - --tblr-dropdown-color: #c8d3e1; - --tblr-dropdown-bg: #1d273b; - --tblr-dropdown-border-color: var(--tblr-border-color-translucent); - --tblr-dropdown-box-shadow: ; - --tblr-dropdown-link-color: #c8d3e1; - --tblr-dropdown-link-hover-color: #ffffff; - --tblr-dropdown-divider-bg: var(--tblr-border-color-translucent); - --tblr-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); - --tblr-dropdown-link-active-color: var(--tblr-primary); - --tblr-dropdown-link-active-bg: var(--tblr-active-bg); - --tblr-dropdown-link-disabled-color: #6c7a91; - --tblr-dropdown-header-color: #6c7a91; -} - -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-flex; - vertical-align: middle; -} -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - flex: 1 1 auto; -} -.btn-group > .btn-check:checked + .btn, -.btn-group > .btn-check:focus + .btn, -.btn-group > .btn:hover, -.btn-group > .btn:focus, -.btn-group > .btn:active, -.btn-group > .btn.active, -.btn-group-vertical > .btn-check:checked + .btn, -.btn-group-vertical > .btn-check:focus + .btn, -.btn-group-vertical > .btn:hover, -.btn-group-vertical > .btn:focus, -.btn-group-vertical > .btn:active, -.btn-group-vertical > .btn.active { - z-index: 1; -} - -.btn-toolbar { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; -} -.btn-toolbar .input-group { - width: auto; -} - -.btn-group { - border-radius: var(--tblr-border-radius); -} -.btn-group > :not(.btn-check:first-child) + .btn, -.btn-group > .btn-group:not(:first-child) { - margin-right: -1px; -} -.btn-group > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group > .btn.dropdown-toggle-split:first-child, -.btn-group > .btn-group:not(:last-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group > .btn:nth-child(n+3), -.btn-group > :not(.btn-check) + .btn, -.btn-group > .btn-group:not(:first-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.dropdown-toggle-split { - padding-left: 0.75rem; - padding-right: 0.75rem; -} -.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { - margin-right: 0; -} -.dropstart .dropdown-toggle-split::before { - margin-left: 0; -} - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { - padding-left: 0.375rem; - padding-right: 0.375rem; -} - -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { - padding-left: 1.125rem; - padding-right: 1.125rem; -} - -.btn-group-vertical { - flex-direction: column; - align-items: flex-start; - justify-content: center; -} -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group { - width: 100%; -} -.btn-group-vertical > .btn:not(:first-child), -.btn-group-vertical > .btn-group:not(:first-child) { - margin-top: -1px; -} -.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group-vertical > .btn-group:not(:last-child) > .btn { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} -.btn-group-vertical > .btn ~ .btn, -.btn-group-vertical > .btn-group:not(:first-child) > .btn { - border-top-right-radius: 0; - border-top-left-radius: 0; -} - -.nav { - --tblr-nav-link-padding-x: 0.75rem; - --tblr-nav-link-padding-y: 0.5rem; - --tblr-nav-link-font-weight: ; - --tblr-nav-link-color: var(--tblr-muted); - --tblr-nav-link-hover-color: var(--tblr-link-hover-color); - --tblr-nav-link-disabled-color: var(--tblr-disabled-color); - display: flex; - flex-wrap: wrap; - padding-right: 0; - margin-bottom: 0; - list-style: none; -} - -.nav-link { - display: block; - padding: var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x); - font-size: var(--tblr-nav-link-font-size); - font-weight: var(--tblr-nav-link-font-weight); - color: var(--tblr-nav-link-color); - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .nav-link { - transition: none; - } -} -.nav-link:hover, .nav-link:focus { - color: var(--tblr-nav-link-hover-color); - text-decoration: none; -} -.nav-link.disabled { - color: var(--tblr-nav-link-disabled-color); - pointer-events: none; - cursor: default; -} - -.nav-tabs { - --tblr-nav-tabs-border-width: 1px; - --tblr-nav-tabs-border-color: var(--tblr-border-color); - --tblr-nav-tabs-border-radius: var(--tblr-border-radius); - --tblr-nav-tabs-link-hover-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color); - --tblr-nav-tabs-link-active-color: var(--tblr-body-color); - --tblr-nav-tabs-link-active-bg: #f1f5f9; - --tblr-nav-tabs-link-active-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color); - border-bottom: var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color); -} -.nav-tabs .nav-link { - margin-bottom: calc(-1 * var(--tblr-nav-tabs-border-width)); - background: none; - border: var(--tblr-nav-tabs-border-width) solid transparent; - border-top-right-radius: var(--tblr-nav-tabs-border-radius); - border-top-left-radius: var(--tblr-nav-tabs-border-radius); -} -.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - isolation: isolate; - border-color: var(--tblr-nav-tabs-link-hover-border-color); -} -.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled { - color: var(--tblr-nav-link-disabled-color); - background-color: transparent; - border-color: transparent; -} -.nav-tabs .nav-link.active, -.nav-tabs .nav-item.show .nav-link { - color: var(--tblr-nav-tabs-link-active-color); - background-color: var(--tblr-nav-tabs-link-active-bg); - border-color: var(--tblr-nav-tabs-link-active-border-color); -} -.nav-tabs .dropdown-menu { - margin-top: calc(-1 * var(--tblr-nav-tabs-border-width)); - border-top-right-radius: 0; - border-top-left-radius: 0; -} - -.nav-pills { - --tblr-nav-pills-border-radius: 4px; - --tblr-nav-pills-link-active-color: var(--tblr-primary); - --tblr-nav-pills-link-active-bg: var(--tblr-active-bg); -} -.nav-pills .nav-link { - background: none; - border: 0; - border-radius: var(--tblr-nav-pills-border-radius); -} -.nav-pills .nav-link:disabled { - color: var(--tblr-nav-link-disabled-color); - background-color: transparent; - border-color: transparent; -} -.nav-pills .nav-link.active, -.nav-pills .show > .nav-link { - color: var(--tblr-nav-pills-link-active-color); - background-color: var(--tblr-nav-pills-link-active-bg); -} - -.nav-fill > .nav-link, -.nav-fill .nav-item { - flex: 1 1 auto; - text-align: center; -} - -.nav-justified > .nav-link, -.nav-justified .nav-item { - flex-basis: 0; - flex-grow: 1; - text-align: center; -} - -.nav-fill .nav-item .nav-link, -.nav-justified .nav-item .nav-link { - width: 100%; -} - -.tab-content > .tab-pane { - display: none; -} -.tab-content > .active { - display: block; -} - -.navbar { - --tblr-navbar-padding-x: 0; - --tblr-navbar-padding-y: 0.25rem; - --tblr-navbar-color: var(--tblr-body-color); - --tblr-navbar-hover-color: rgba(0, 0, 0, 0.7); - --tblr-navbar-disabled-color: var(--tblr-disabled-color); - --tblr-navbar-active-color: var(--tblr-body-color) color; - --tblr-navbar-brand-padding-y: 0.5rem; - --tblr-navbar-brand-margin-end: 1rem; - --tblr-navbar-brand-font-size: 1rem; - --tblr-navbar-brand-color: var(--tblr-body-color); - --tblr-navbar-brand-hover-color: var(--tblr-body-color) color; - --tblr-navbar-nav-link-padding-x: 0.75rem; - --tblr-navbar-toggler-padding-y: 0; - --tblr-navbar-toggler-padding-x: 0; - --tblr-navbar-toggler-font-size: 1rem; - --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='var%28--tblr-body-color%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); - --tblr-navbar-toggler-border-color: rgba(0, 0, 0, 0.1); - --tblr-navbar-toggler-border-radius: var(--tblr-border-radius); - --tblr-navbar-toggler-focus-width: 0; - --tblr-navbar-toggler-transition: box-shadow 0.15s ease-in-out; - position: relative; - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; - padding: var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x); -} -.navbar > .container, -.navbar > .container-fluid, -.navbar > .container-sm, -.navbar > .container-md, -.navbar > .container-lg, -.navbar > .container-xl, -.navbar > .container-xxl { - display: flex; - flex-wrap: inherit; - align-items: center; - justify-content: space-between; -} -.navbar-brand { - padding-top: var(--tblr-navbar-brand-padding-y); - padding-bottom: var(--tblr-navbar-brand-padding-y); - margin-left: var(--tblr-navbar-brand-margin-end); - font-size: var(--tblr-navbar-brand-font-size); - color: var(--tblr-navbar-brand-color); - white-space: nowrap; -} -.navbar-brand:hover, .navbar-brand:focus { - color: var(--tblr-navbar-brand-hover-color); - text-decoration: none; -} - -.navbar-nav { - --tblr-nav-link-padding-x: 0; - --tblr-nav-link-padding-y: 0.5rem; - --tblr-nav-link-font-weight: ; - --tblr-nav-link-color: var(--tblr-navbar-color); - --tblr-nav-link-hover-color: var(--tblr-navbar-hover-color); - --tblr-nav-link-disabled-color: var(--tblr-navbar-disabled-color); - display: flex; - flex-direction: column; - padding-right: 0; - margin-bottom: 0; - list-style: none; -} -.navbar-nav .show > .nav-link, -.navbar-nav .nav-link.active { - color: var(--tblr-navbar-active-color); -} -.navbar-nav .dropdown-menu { - position: static; -} - -.navbar-text { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - color: var(--tblr-navbar-color); -} -.navbar-text a, -.navbar-text a:hover, -.navbar-text a:focus { - color: var(--tblr-navbar-active-color); -} - -.navbar-collapse { - flex-basis: 100%; - flex-grow: 1; - align-items: center; -} - -.navbar-toggler { - padding: var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x); - font-size: var(--tblr-navbar-toggler-font-size); - line-height: 1; - color: var(--tblr-navbar-color); - background-color: transparent; - border: var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color); - border-radius: var(--tblr-navbar-toggler-border-radius); - transition: var(--tblr-navbar-toggler-transition); -} -@media (prefers-reduced-motion: reduce) { - .navbar-toggler { - transition: none; - } -} -.navbar-toggler:hover { - text-decoration: none; -} -.navbar-toggler:focus { - text-decoration: none; - outline: 0; - box-shadow: 0 0 0 var(--tblr-navbar-toggler-focus-width); -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - background-image: var(--tblr-navbar-toggler-icon-bg); - background-repeat: no-repeat; - background-position: center; - background-size: 100%; -} - -.navbar-nav-scroll { - max-height: var(--tblr-scroll-height, 75vh); - overflow-y: auto; -} - -@media (min-width: 576px) { - .navbar-expand-sm { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-sm .navbar-nav { - flex-direction: row; - } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-sm .navbar-nav .nav-link { - padding-left: var(--tblr-navbar-nav-link-padding-x); - padding-right: var(--tblr-navbar-nav-link-padding-x); - } - .navbar-expand-sm .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-sm .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-sm .navbar-toggler { - display: none; - } - .navbar-expand-sm .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; - } - .navbar-expand-sm .offcanvas .offcanvas-header { - display: none; - } - .navbar-expand-sm .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 768px) { - .navbar-expand-md { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-md .navbar-nav { - flex-direction: row; - } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-md .navbar-nav .nav-link { - padding-left: var(--tblr-navbar-nav-link-padding-x); - padding-right: var(--tblr-navbar-nav-link-padding-x); - } - .navbar-expand-md .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-md .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-md .navbar-toggler { - display: none; - } - .navbar-expand-md .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; - } - .navbar-expand-md .offcanvas .offcanvas-header { - display: none; - } - .navbar-expand-md .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 992px) { - .navbar-expand-lg { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-lg .navbar-nav { - flex-direction: row; - } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-lg .navbar-nav .nav-link { - padding-left: var(--tblr-navbar-nav-link-padding-x); - padding-right: var(--tblr-navbar-nav-link-padding-x); - } - .navbar-expand-lg .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-lg .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-lg .navbar-toggler { - display: none; - } - .navbar-expand-lg .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; - } - .navbar-expand-lg .offcanvas .offcanvas-header { - display: none; - } - .navbar-expand-lg .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 1200px) { - .navbar-expand-xl { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-xl .navbar-nav { - flex-direction: row; - } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-xl .navbar-nav .nav-link { - padding-left: var(--tblr-navbar-nav-link-padding-x); - padding-right: var(--tblr-navbar-nav-link-padding-x); - } - .navbar-expand-xl .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-xl .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-xl .navbar-toggler { - display: none; - } - .navbar-expand-xl .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; - } - .navbar-expand-xl .offcanvas .offcanvas-header { - display: none; - } - .navbar-expand-xl .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -@media (min-width: 1400px) { - .navbar-expand-xxl { - flex-wrap: nowrap; - justify-content: flex-start; - } - .navbar-expand-xxl .navbar-nav { - flex-direction: row; - } - .navbar-expand-xxl .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-xxl .navbar-nav .nav-link { - padding-left: var(--tblr-navbar-nav-link-padding-x); - padding-right: var(--tblr-navbar-nav-link-padding-x); - } - .navbar-expand-xxl .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-xxl .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-xxl .navbar-toggler { - display: none; - } - .navbar-expand-xxl .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; - } - .navbar-expand-xxl .offcanvas .offcanvas-header { - display: none; - } - .navbar-expand-xxl .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - } -} -.navbar-expand { - flex-wrap: nowrap; - justify-content: flex-start; -} -.navbar-expand .navbar-nav { - flex-direction: row; -} -.navbar-expand .navbar-nav .dropdown-menu { - position: absolute; -} -.navbar-expand .navbar-nav .nav-link { - padding-left: var(--tblr-navbar-nav-link-padding-x); - padding-right: var(--tblr-navbar-nav-link-padding-x); -} -.navbar-expand .navbar-nav-scroll { - overflow: visible; -} -.navbar-expand .navbar-collapse { - display: flex !important; - flex-basis: auto; -} -.navbar-expand .navbar-toggler { - display: none; -} -.navbar-expand .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; -} -.navbar-expand .offcanvas .offcanvas-header { - display: none; -} -.navbar-expand .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; -} - -.navbar-dark { - --tblr-navbar-color: rgba(255, 255, 255, 0.7); - --tblr-navbar-hover-color: rgba(255, 255, 255, 0.75); - --tblr-navbar-disabled-color: var(--tblr-disabled-color); - --tblr-navbar-active-color: #ffffff; - --tblr-navbar-brand-color: #ffffff; - --tblr-navbar-brand-hover-color: #ffffff; - --tblr-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); - --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); -} - -.card { - --tblr-card-spacer-y: 1rem; - --tblr-card-spacer-x: 1.5rem; - --tblr-card-title-spacer-y: 1.25rem; - --tblr-card-border-width: var(--tblr-border-width); - --tblr-card-border-color: var(--tblr-border-color); - --tblr-card-border-radius: var(--tblr-border-radius); - --tblr-card-box-shadow: var(--tblr-shadow-card); - --tblr-card-inner-border-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); - --tblr-card-cap-padding-y: 1rem; - --tblr-card-cap-padding-x: 1.5rem; - --tblr-card-cap-bg: var(--tblr-bg-surface-secondary); - --tblr-card-cap-color: inherit; - --tblr-card-height: ; - --tblr-card-color: inherit; - --tblr-card-bg: var(--tblr-bg-surface); - --tblr-card-img-overlay-padding: 1rem; - --tblr-card-group-margin: 1.5rem; - position: relative; - display: flex; - flex-direction: column; - min-width: 0; - height: var(--tblr-card-height); - word-wrap: break-word; - background-color: var(--tblr-card-bg); - background-clip: border-box; - border: var(--tblr-card-border-width) solid var(--tblr-card-border-color); - border-radius: var(--tblr-card-border-radius); -} -.card > hr, .card > .hr { - margin-left: 0; - margin-right: 0; -} -.card > .list-group { - border-top: inherit; - border-bottom: inherit; -} -.card > .list-group:first-child { - border-top-width: 0; - border-top-right-radius: var(--tblr-card-inner-border-radius); - border-top-left-radius: var(--tblr-card-inner-border-radius); -} -.card > .list-group:last-child { - border-bottom-width: 0; - border-bottom-left-radius: var(--tblr-card-inner-border-radius); - border-bottom-right-radius: var(--tblr-card-inner-border-radius); -} -.card > .card-header + .list-group, -.card > .list-group + .card-footer { - border-top: 0; -} - -.card-body { - flex: 1 1 auto; - padding: var(--tblr-card-spacer-y) var(--tblr-card-spacer-x); - color: var(--tblr-card-color); -} - -.card-title { - margin-bottom: var(--tblr-card-title-spacer-y); -} - -.card-subtitle { - margin-top: calc(-0.5 * var(--tblr-card-title-spacer-y)); - margin-bottom: 0; -} - -.card-text:last-child { - margin-bottom: 0; -} - -.card-link:hover { - text-decoration: none; -} -.card-link + .card-link { - margin-right: var(--tblr-card-spacer-x); -} - -.card-header { - padding: var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x); - margin-bottom: 0; - color: var(--tblr-card-cap-color); - background-color: var(--tblr-card-cap-bg); - border-bottom: var(--tblr-card-border-width) solid var(--tblr-card-border-color); -} -.card-header:first-child { - border-radius: var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0; -} - -.card-footer { - padding: var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x); - color: var(--tblr-card-cap-color); - background-color: var(--tblr-card-cap-bg); - border-top: var(--tblr-card-border-width) solid var(--tblr-card-border-color); -} -.card-footer:last-child { - border-radius: 0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius); -} - -.card-header-tabs { - margin-left: calc(-0.5 * var(--tblr-card-cap-padding-x)); - margin-bottom: calc(-1 * var(--tblr-card-cap-padding-y)); - margin-right: calc(-0.5 * var(--tblr-card-cap-padding-x)); - border-bottom: 0; -} -.card-header-tabs .nav-link.active { - background-color: var(--tblr-card-bg); - border-bottom-color: var(--tblr-card-bg); -} - -.card-header-pills { - margin-left: calc(-0.5 * var(--tblr-card-cap-padding-x)); - margin-right: calc(-0.5 * var(--tblr-card-cap-padding-x)); -} - -.card-img-overlay { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - padding: var(--tblr-card-img-overlay-padding); - border-radius: var(--tblr-card-inner-border-radius); -} - -.card-img, -.card-img-top, -.card-img-bottom { - width: 100%; -} - -.card-img, -.card-img-top { - border-top-right-radius: var(--tblr-card-inner-border-radius); - border-top-left-radius: var(--tblr-card-inner-border-radius); -} - -.card-img, -.card-img-bottom { - border-bottom-left-radius: var(--tblr-card-inner-border-radius); - border-bottom-right-radius: var(--tblr-card-inner-border-radius); -} - -.card-group > .card { - margin-bottom: var(--tblr-card-group-margin); -} -@media (min-width: 576px) { - .card-group { - display: flex; - flex-flow: row wrap; - } - .card-group > .card { - flex: 1 0 0%; - margin-bottom: 0; - } - .card-group > .card + .card { - margin-right: 0; - border-right: 0; - } - .card-group > .card:not(:last-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - .card-group > .card:not(:last-child) .card-img-top, -.card-group > .card:not(:last-child) .card-header { - border-top-left-radius: 0; - } - .card-group > .card:not(:last-child) .card-img-bottom, -.card-group > .card:not(:last-child) .card-footer { - border-bottom-left-radius: 0; - } - .card-group > .card:not(:first-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - .card-group > .card:not(:first-child) .card-img-top, -.card-group > .card:not(:first-child) .card-header { - border-top-right-radius: 0; - } - .card-group > .card:not(:first-child) .card-img-bottom, -.card-group > .card:not(:first-child) .card-footer { - border-bottom-right-radius: 0; - } -} - -.accordion { - --tblr-accordion-color: var(--tblr-body-color); - --tblr-accordion-bg: transparent; - --tblr-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; - --tblr-accordion-border-color: var(--tblr-border-color-translucent); - --tblr-accordion-border-width: 1px; - --tblr-accordion-border-radius: 4px; - --tblr-accordion-inner-border-radius: 3px; - --tblr-accordion-btn-padding-x: 1.25rem; - --tblr-accordion-btn-padding-y: 1rem; - --tblr-accordion-btn-color: var(--tblr-body-color); - --tblr-accordion-btn-bg: transparent; - --tblr-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--tblr-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); - --tblr-accordion-btn-icon-width: 1rem; - --tblr-accordion-btn-icon-transform: rotate(-180deg); - --tblr-accordion-btn-icon-transition: transform 0.2s ease-in-out; - --tblr-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='inherit'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); - --tblr-accordion-btn-focus-border-color: var(--tblr-border-color-translucent); - --tblr-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); - --tblr-accordion-body-padding-x: 1.25rem; - --tblr-accordion-body-padding-y: 1rem; - --tblr-accordion-active-color: inherit; - --tblr-accordion-active-bg: transparent; -} - -.accordion-button { - position: relative; - display: flex; - align-items: center; - width: 100%; - padding: var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-btn-padding-x); - font-size: 0.875rem; - color: var(--tblr-accordion-btn-color); - text-align: right; - background-color: var(--tblr-accordion-btn-bg); - border: 0; - border-radius: 0; - overflow-anchor: none; - transition: var(--tblr-accordion-transition); -} -@media (prefers-reduced-motion: reduce) { - .accordion-button { - transition: none; - } -} -.accordion-button:not(.collapsed) { - color: var(--tblr-accordion-active-color); - background-color: var(--tblr-accordion-active-bg); - box-shadow: inset 0 calc(-1 * var(--tblr-accordion-border-width)) 0 var(--tblr-accordion-border-color); -} -.accordion-button:not(.collapsed)::after { - background-image: var(--tblr-accordion-btn-active-icon); - transform: var(--tblr-accordion-btn-icon-transform); -} -.accordion-button::after { - flex-shrink: 0; - width: var(--tblr-accordion-btn-icon-width); - height: var(--tblr-accordion-btn-icon-width); - margin-right: auto; - content: ""; - background-image: var(--tblr-accordion-btn-icon); - background-repeat: no-repeat; - background-size: var(--tblr-accordion-btn-icon-width); - transition: var(--tblr-accordion-btn-icon-transition); -} -@media (prefers-reduced-motion: reduce) { - .accordion-button::after { - transition: none; - } -} -.accordion-button:hover { - z-index: 2; -} -.accordion-button:focus { - z-index: 3; - border-color: var(--tblr-accordion-btn-focus-border-color); - outline: 0; - box-shadow: var(--tblr-accordion-btn-focus-box-shadow); -} - -.accordion-header { - margin-bottom: 0; -} - -.accordion-item { - color: var(--tblr-accordion-color); - background-color: var(--tblr-accordion-bg); - border: var(--tblr-accordion-border-width) solid var(--tblr-accordion-border-color); -} -.accordion-item:first-of-type { - border-top-right-radius: var(--tblr-accordion-border-radius); - border-top-left-radius: var(--tblr-accordion-border-radius); -} -.accordion-item:first-of-type .accordion-button { - border-top-right-radius: var(--tblr-accordion-inner-border-radius); - border-top-left-radius: var(--tblr-accordion-inner-border-radius); -} -.accordion-item:not(:first-of-type) { - border-top: 0; -} -.accordion-item:last-of-type { - border-bottom-left-radius: var(--tblr-accordion-border-radius); - border-bottom-right-radius: var(--tblr-accordion-border-radius); -} -.accordion-item:last-of-type .accordion-button.collapsed { - border-bottom-left-radius: var(--tblr-accordion-inner-border-radius); - border-bottom-right-radius: var(--tblr-accordion-inner-border-radius); -} -.accordion-item:last-of-type .accordion-collapse { - border-bottom-left-radius: var(--tblr-accordion-border-radius); - border-bottom-right-radius: var(--tblr-accordion-border-radius); -} - -.accordion-body { - padding: var(--tblr-accordion-body-padding-y) var(--tblr-accordion-body-padding-x); -} - -.accordion-flush .accordion-collapse { - border-width: 0; -} -.accordion-flush .accordion-item { - border-left: 0; - border-right: 0; - border-radius: 0; -} -.accordion-flush .accordion-item:first-child { - border-top: 0; -} -.accordion-flush .accordion-item:last-child { - border-bottom: 0; -} -.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed { - border-radius: 0; -} - -.breadcrumb { - --tblr-breadcrumb-padding-x: 0; - --tblr-breadcrumb-padding-y: 0; - --tblr-breadcrumb-margin-bottom: 1rem; - --tblr-breadcrumb-bg: ; - --tblr-breadcrumb-border-radius: ; - --tblr-breadcrumb-divider-color: var(--tblr-muted); - --tblr-breadcrumb-item-padding-x: 0.5rem; - --tblr-breadcrumb-item-active-color: inherit; - display: flex; - flex-wrap: wrap; - padding: var(--tblr-breadcrumb-padding-y) var(--tblr-breadcrumb-padding-x); - margin-bottom: var(--tblr-breadcrumb-margin-bottom); - font-size: var(--tblr-breadcrumb-font-size); - list-style: none; - background-color: var(--tblr-breadcrumb-bg); - border-radius: var(--tblr-breadcrumb-border-radius); -} - -.breadcrumb-item + .breadcrumb-item { - padding-right: var(--tblr-breadcrumb-item-padding-x); -} -.breadcrumb-item + .breadcrumb-item::before { - float: right; - padding-left: var(--tblr-breadcrumb-item-padding-x); - color: var(--tblr-breadcrumb-divider-color); - content: var(--tblr-breadcrumb-divider, "/") ; -} -.breadcrumb-item.active { - color: var(--tblr-breadcrumb-item-active-color); -} - -.pagination { - --tblr-pagination-padding-x: 0.25rem; - --tblr-pagination-padding-y: 0.25rem; - --tblr-pagination-font-size: 0.875rem; - --tblr-pagination-color: var(--tblr-muted); - --tblr-pagination-bg: transparent; - --tblr-pagination-border-width: 0; - --tblr-pagination-border-color: #c8d3e1; - --tblr-pagination-border-radius: 4px; - --tblr-pagination-hover-color: var(--tblr-link-hover-color); - --tblr-pagination-hover-bg: #e2e8f0; - --tblr-pagination-hover-border-color: #c8d3e1; - --tblr-pagination-focus-color: var(--tblr-link-hover-color); - --tblr-pagination-focus-bg: #e2e8f0; - --tblr-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); - --tblr-pagination-active-color: #ffffff; - --tblr-pagination-active-bg: var(--tblr-primary); - --tblr-pagination-active-border-color: var(--tblr-primary); - --tblr-pagination-disabled-color: var(--tblr-disabled-color); - --tblr-pagination-disabled-bg: transparent; - --tblr-pagination-disabled-border-color: #c8d3e1; - display: flex; - padding-right: 0; - list-style: none; -} - -.page-link { - position: relative; - display: block; - padding: var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x); - font-size: var(--tblr-pagination-font-size); - color: var(--tblr-pagination-color); - background-color: var(--tblr-pagination-bg); - border: var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color); - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .page-link { - transition: none; - } -} -.page-link:hover { - z-index: 2; - color: var(--tblr-pagination-hover-color); - text-decoration: none; - background-color: var(--tblr-pagination-hover-bg); - border-color: var(--tblr-pagination-hover-border-color); -} -.page-link:focus { - z-index: 3; - color: var(--tblr-pagination-focus-color); - background-color: var(--tblr-pagination-focus-bg); - outline: 0; - box-shadow: var(--tblr-pagination-focus-box-shadow); -} -.page-link.active, .active > .page-link { - z-index: 3; - color: var(--tblr-pagination-active-color); - background-color: var(--tblr-pagination-active-bg); - border-color: var(--tblr-pagination-active-border-color); -} -.page-link.disabled, .disabled > .page-link { - color: var(--tblr-pagination-disabled-color); - pointer-events: none; - background-color: var(--tblr-pagination-disabled-bg); - border-color: var(--tblr-pagination-disabled-border-color); -} - -.page-item:not(:first-child) .page-link { - margin-right: 0; -} -.page-item:first-child .page-link { - border-top-right-radius: var(--tblr-pagination-border-radius); - border-bottom-right-radius: var(--tblr-pagination-border-radius); -} -.page-item:last-child .page-link { - border-top-left-radius: var(--tblr-pagination-border-radius); - border-bottom-left-radius: var(--tblr-pagination-border-radius); -} - -.pagination-lg { - --tblr-pagination-padding-x: 1.5rem; - --tblr-pagination-padding-y: 0.75rem; - --tblr-pagination-font-size: 1.09375rem; - --tblr-pagination-border-radius: 8px; -} - -.pagination-sm { - --tblr-pagination-padding-x: 0.5rem; - --tblr-pagination-padding-y: 0.25rem; - --tblr-pagination-font-size: 0.765625rem; - --tblr-pagination-border-radius: 2px; -} - -.badge { - --tblr-badge-padding-x: 0.5em; - --tblr-badge-padding-y: 0.25em; - --tblr-badge-font-size: 85.714285%; - --tblr-badge-font-weight: var(--tblr-font-weight-medium); - --tblr-badge-color: #ffffff; - --tblr-badge-border-radius: 4px; - display: inline-block; - padding: var(--tblr-badge-padding-y) var(--tblr-badge-padding-x); - font-size: var(--tblr-badge-font-size); - font-weight: var(--tblr-badge-font-weight); - line-height: 1; - color: var(--tblr-badge-color); - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: var(--tblr-badge-border-radius); -} -.badge:empty { - display: none; -} - -.btn .badge { - position: relative; - top: -1px; -} - -.alert { - --tblr-alert-bg: transparent; - --tblr-alert-padding-x: 1rem; - --tblr-alert-padding-y: 1rem; - --tblr-alert-margin-bottom: 1rem; - --tblr-alert-color: inherit; - --tblr-alert-border-color: transparent; - --tblr-alert-border: 1px solid var(--tblr-alert-border-color); - --tblr-alert-border-radius: 4px; - position: relative; - padding: var(--tblr-alert-padding-y) var(--tblr-alert-padding-x); - margin-bottom: var(--tblr-alert-margin-bottom); - color: var(--tblr-alert-color); - background-color: var(--tblr-alert-bg); - border: var(--tblr-alert-border); - border-radius: var(--tblr-alert-border-radius); -} - -.alert-heading { - color: inherit; -} - -.alert-link { - font-weight: var(--tblr-font-weight-bold); -} - -.alert-dismissible { - padding-left: 3rem; -} -.alert-dismissible .btn-close { - position: absolute; - top: 0; - left: 0; - z-index: 2; - padding: 1.25rem 1rem; -} - -@-webkit-keyframes progress-bar-stripes { - 0% { - background-position-x: 0.5rem; - } -} - -@keyframes progress-bar-stripes { - 0% { - background-position-x: 0.5rem; - } -} -.progress { - --tblr-progress-height: 0.5rem; - --tblr-progress-font-size: 0.65625rem; - --tblr-progress-bg: var(--tblr-border-color); - --tblr-progress-border-radius: var(--tblr-border-radius); - --tblr-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); - --tblr-progress-bar-color: #ffffff; - --tblr-progress-bar-bg: var(--tblr-primary); - --tblr-progress-bar-transition: width 0.6s ease; - display: flex; - height: var(--tblr-progress-height); - overflow: hidden; - font-size: var(--tblr-progress-font-size); - background-color: var(--tblr-progress-bg); - border-radius: var(--tblr-progress-border-radius); -} - -.progress-bar { - display: flex; - flex-direction: column; - justify-content: center; - overflow: hidden; - color: var(--tblr-progress-bar-color); - text-align: center; - white-space: nowrap; - background-color: var(--tblr-progress-bar-bg); - transition: var(--tblr-progress-bar-transition); -} -@media (prefers-reduced-motion: reduce) { - .progress-bar { - transition: none; - } -} - -.progress-bar-striped { - background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: var(--tblr-progress-height) var(--tblr-progress-height); -} - -.progress-bar-animated { - -webkit-animation: 1s linear infinite progress-bar-stripes; - animation: 1s linear infinite progress-bar-stripes; -} -@media (prefers-reduced-motion: reduce) { - .progress-bar-animated { - -webkit-animation: none; - animation: none; - } -} - -.list-group { - --tblr-list-group-color: #0f172a; - --tblr-list-group-bg: inherit; - --tblr-list-group-border-color: var(--tblr-border-color); - --tblr-list-group-border-width: 1px; - --tblr-list-group-border-radius: 4px; - --tblr-list-group-item-padding-x: 1.5rem; - --tblr-list-group-item-padding-y: 1rem; - --tblr-list-group-action-color: inherit; - --tblr-list-group-action-hover-color: inherit; - --tblr-list-group-action-hover-bg: rgba(var(--tblr-muted-rgb), 0.04); - --tblr-list-group-action-active-color: #1d273b; - --tblr-list-group-action-active-bg: #e2e8f0; - --tblr-list-group-disabled-color: #49566c; - --tblr-list-group-disabled-bg: inherit; - --tblr-list-group-active-color: inherit; - --tblr-list-group-active-bg: var(--tblr-active-bg); - --tblr-list-group-active-border-color: var(--tblr-border-color); - display: flex; - flex-direction: column; - padding-right: 0; - margin-bottom: 0; - border-radius: var(--tblr-list-group-border-radius); -} - -.list-group-numbered { - list-style-type: none; - counter-reset: section; -} -.list-group-numbered > .list-group-item::before { - content: counters(section, ".") ". "; - counter-increment: section; -} - -.list-group-item-action { - width: 100%; - color: var(--tblr-list-group-action-color); - text-align: inherit; -} -.list-group-item-action:hover, .list-group-item-action:focus { - z-index: 1; - color: var(--tblr-list-group-action-hover-color); - text-decoration: none; - background-color: var(--tblr-list-group-action-hover-bg); -} -.list-group-item-action:active { - color: var(--tblr-list-group-action-active-color); - background-color: var(--tblr-list-group-action-active-bg); -} - -.list-group-item { - position: relative; - display: block; - padding: var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x); - color: var(--tblr-list-group-color); - background-color: var(--tblr-list-group-bg); - border: var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color); -} -.list-group-item:first-child { - border-top-right-radius: inherit; - border-top-left-radius: inherit; -} -.list-group-item:last-child { - border-bottom-left-radius: inherit; - border-bottom-right-radius: inherit; -} -.list-group-item.disabled, .list-group-item:disabled { - color: var(--tblr-list-group-disabled-color); - pointer-events: none; - background-color: var(--tblr-list-group-disabled-bg); -} -.list-group-item.active { - z-index: 2; - color: var(--tblr-list-group-active-color); - background-color: var(--tblr-list-group-active-bg); - border-color: var(--tblr-list-group-active-border-color); -} -.list-group-item + .list-group-item { - border-top-width: 0; -} -.list-group-item + .list-group-item.active { - margin-top: calc(-1 * var(--tblr-list-group-border-width)); - border-top-width: var(--tblr-list-group-border-width); -} - -.list-group-horizontal { - flex-direction: row; -} -.list-group-horizontal > .list-group-item:first-child:not(:last-child) { - border-bottom-right-radius: var(--tblr-list-group-border-radius); - border-top-left-radius: 0; -} -.list-group-horizontal > .list-group-item:last-child:not(:first-child) { - border-top-left-radius: var(--tblr-list-group-border-radius); - border-bottom-right-radius: 0; -} -.list-group-horizontal > .list-group-item.active { - margin-top: 0; -} -.list-group-horizontal > .list-group-item + .list-group-item { - border-top-width: var(--tblr-list-group-border-width); - border-right-width: 0; -} -.list-group-horizontal > .list-group-item + .list-group-item.active { - margin-right: calc(-1 * var(--tblr-list-group-border-width)); - border-right-width: var(--tblr-list-group-border-width); -} - -@media (min-width: 576px) { - .list-group-horizontal-sm { - flex-direction: row; - } - .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { - border-bottom-right-radius: var(--tblr-list-group-border-radius); - border-top-left-radius: 0; - } - .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { - border-top-left-radius: var(--tblr-list-group-border-radius); - border-bottom-right-radius: 0; - } - .list-group-horizontal-sm > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-sm > .list-group-item + .list-group-item { - border-top-width: var(--tblr-list-group-border-width); - border-right-width: 0; - } - .list-group-horizontal-sm > .list-group-item + .list-group-item.active { - margin-right: calc(-1 * var(--tblr-list-group-border-width)); - border-right-width: var(--tblr-list-group-border-width); - } -} -@media (min-width: 768px) { - .list-group-horizontal-md { - flex-direction: row; - } - .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { - border-bottom-right-radius: var(--tblr-list-group-border-radius); - border-top-left-radius: 0; - } - .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { - border-top-left-radius: var(--tblr-list-group-border-radius); - border-bottom-right-radius: 0; - } - .list-group-horizontal-md > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-md > .list-group-item + .list-group-item { - border-top-width: var(--tblr-list-group-border-width); - border-right-width: 0; - } - .list-group-horizontal-md > .list-group-item + .list-group-item.active { - margin-right: calc(-1 * var(--tblr-list-group-border-width)); - border-right-width: var(--tblr-list-group-border-width); - } -} -@media (min-width: 992px) { - .list-group-horizontal-lg { - flex-direction: row; - } - .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { - border-bottom-right-radius: var(--tblr-list-group-border-radius); - border-top-left-radius: 0; - } - .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { - border-top-left-radius: var(--tblr-list-group-border-radius); - border-bottom-right-radius: 0; - } - .list-group-horizontal-lg > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-lg > .list-group-item + .list-group-item { - border-top-width: var(--tblr-list-group-border-width); - border-right-width: 0; - } - .list-group-horizontal-lg > .list-group-item + .list-group-item.active { - margin-right: calc(-1 * var(--tblr-list-group-border-width)); - border-right-width: var(--tblr-list-group-border-width); - } -} -@media (min-width: 1200px) { - .list-group-horizontal-xl { - flex-direction: row; - } - .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { - border-bottom-right-radius: var(--tblr-list-group-border-radius); - border-top-left-radius: 0; - } - .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { - border-top-left-radius: var(--tblr-list-group-border-radius); - border-bottom-right-radius: 0; - } - .list-group-horizontal-xl > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-xl > .list-group-item + .list-group-item { - border-top-width: var(--tblr-list-group-border-width); - border-right-width: 0; - } - .list-group-horizontal-xl > .list-group-item + .list-group-item.active { - margin-right: calc(-1 * var(--tblr-list-group-border-width)); - border-right-width: var(--tblr-list-group-border-width); - } -} -@media (min-width: 1400px) { - .list-group-horizontal-xxl { - flex-direction: row; - } - .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { - border-bottom-right-radius: var(--tblr-list-group-border-radius); - border-top-left-radius: 0; - } - .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { - border-top-left-radius: var(--tblr-list-group-border-radius); - border-bottom-right-radius: 0; - } - .list-group-horizontal-xxl > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-xxl > .list-group-item + .list-group-item { - border-top-width: var(--tblr-list-group-border-width); - border-right-width: 0; - } - .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { - margin-right: calc(-1 * var(--tblr-list-group-border-width)); - border-right-width: var(--tblr-list-group-border-width); - } -} -.list-group-flush { - border-radius: 0; -} -.list-group-flush > .list-group-item { - border-width: 0 0 var(--tblr-list-group-border-width); -} -.list-group-flush > .list-group-item:last-child { - border-bottom-width: 0; -} - -.list-group-item-primary { - color: #134076; - background-color: #d2e1f3; -} -.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { - color: #134076; - background-color: #bdcbdb; -} -.list-group-item-primary.list-group-item-action.active { - color: #ffffff; - background-color: #134076; - border-color: #134076; -} - -.list-group-item-secondary { - color: #3a3e47; - background-color: #dfe1e4; -} -.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { - color: #3a3e47; - background-color: #c9cbcd; -} -.list-group-item-secondary.list-group-item-action.active { - color: #ffffff; - background-color: #3a3e47; - border-color: #3a3e47; -} - -.list-group-item-success { - color: #1c6b29; - background-color: #d5f0da; -} -.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { - color: #1c6b29; - background-color: #c0d8c4; -} -.list-group-item-success.list-group-item-action.active { - color: #ffffff; - background-color: #1c6b29; - border-color: #1c6b29; -} - -.list-group-item-info { - color: #285c87; - background-color: #d9ebf9; -} -.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { - color: #285c87; - background-color: #c3d4e0; -} -.list-group-item-info.list-group-item-action.active { - color: #ffffff; - background-color: #285c87; - border-color: #285c87; -} - -.list-group-item-warning { - color: #943e04; - background-color: #fde1cd; -} -.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { - color: #943e04; - background-color: #e4cbb9; -} -.list-group-item-warning.list-group-item-action.active { - color: #ffffff; - background-color: #943e04; - border-color: #943e04; -} - -.list-group-item-danger { - color: #802222; - background-color: #f7d7d7; -} -.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { - color: #802222; - background-color: #dec2c2; -} -.list-group-item-danger.list-group-item-action.active { - color: #ffffff; - background-color: #802222; - border-color: #802222; -} - -.list-group-item-light { - color: #959697; - background-color: #fefefe; -} -.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { - color: #959697; - background-color: #e5e5e5; -} -.list-group-item-light.list-group-item-action.active { - color: #ffffff; - background-color: #959697; - border-color: #959697; -} - -.list-group-item-dark { - color: #111723; - background-color: #d2d4d8; -} -.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { - color: #111723; - background-color: #bdbfc2; -} -.list-group-item-dark.list-group-item-action.active { - color: #ffffff; - background-color: #111723; - border-color: #111723; -} - -.list-group-item-muted { - color: #3a3e47; - background-color: #dfe1e4; -} -.list-group-item-muted.list-group-item-action:hover, .list-group-item-muted.list-group-item-action:focus { - color: #3a3e47; - background-color: #c9cbcd; -} -.list-group-item-muted.list-group-item-action.active { - color: #ffffff; - background-color: #3a3e47; - border-color: #3a3e47; -} - -.list-group-item-blue { - color: #134076; - background-color: #d2e1f3; -} -.list-group-item-blue.list-group-item-action:hover, .list-group-item-blue.list-group-item-action:focus { - color: #134076; - background-color: #bdcbdb; -} -.list-group-item-blue.list-group-item-action.active { - color: #ffffff; - background-color: #134076; - border-color: #134076; -} - -.list-group-item-azure { - color: #285c87; - background-color: #d9ebf9; -} -.list-group-item-azure.list-group-item-action:hover, .list-group-item-azure.list-group-item-action:focus { - color: #285c87; - background-color: #c3d4e0; -} -.list-group-item-azure.list-group-item-action.active { - color: #ffffff; - background-color: #285c87; - border-color: #285c87; -} - -.list-group-item-indigo { - color: #283b8d; - background-color: #d9e0fb; -} -.list-group-item-indigo.list-group-item-action:hover, .list-group-item-indigo.list-group-item-action:focus { - color: #283b8d; - background-color: #c3cae2; -} -.list-group-item-indigo.list-group-item-action.active { - color: #ffffff; - background-color: #283b8d; - border-color: #283b8d; -} - -.list-group-item-purple { - color: #682579; - background-color: #efd8f4; -} -.list-group-item-purple.list-group-item-action:hover, .list-group-item-purple.list-group-item-action:focus { - color: #682579; - background-color: #d7c2dc; -} -.list-group-item-purple.list-group-item-action.active { - color: #ffffff; - background-color: #682579; - border-color: #682579; -} - -.list-group-item-pink { - color: #801f41; - background-color: #f7d6e2; -} -.list-group-item-pink.list-group-item-action:hover, .list-group-item-pink.list-group-item-action:focus { - color: #801f41; - background-color: #dec1cb; -} -.list-group-item-pink.list-group-item-action.active { - color: #ffffff; - background-color: #801f41; - border-color: #801f41; -} - -.list-group-item-red { - color: #802222; - background-color: #f7d7d7; -} -.list-group-item-red.list-group-item-action:hover, .list-group-item-red.list-group-item-action:focus { - color: #802222; - background-color: #dec2c2; -} -.list-group-item-red.list-group-item-action.active { - color: #ffffff; - background-color: #802222; - border-color: #802222; -} - -.list-group-item-orange { - color: #943e04; - background-color: #fde1cd; -} -.list-group-item-orange.list-group-item-action:hover, .list-group-item-orange.list-group-item-action:focus { - color: #943e04; - background-color: #e4cbb9; -} -.list-group-item-orange.list-group-item-action.active { - color: #ffffff; - background-color: #943e04; - border-color: #943e04; -} - -.list-group-item-yellow { - color: #935f00; - background-color: #fdeccc; -} -.list-group-item-yellow.list-group-item-action:hover, .list-group-item-yellow.list-group-item-action:focus { - color: #935f00; - background-color: #e4d4b8; -} -.list-group-item-yellow.list-group-item-action.active { - color: #ffffff; - background-color: #935f00; - border-color: #935f00; -} - -.list-group-item-lime { - color: #466e0d; - background-color: #e3f1d0; -} -.list-group-item-lime.list-group-item-action:hover, .list-group-item-lime.list-group-item-action:focus { - color: #466e0d; - background-color: #ccd9bb; -} -.list-group-item-lime.list-group-item-action.active { - color: #ffffff; - background-color: #466e0d; - border-color: #466e0d; -} - -.list-group-item-green { - color: #1c6b29; - background-color: #d5f0da; -} -.list-group-item-green.list-group-item-action:hover, .list-group-item-green.list-group-item-action:focus { - color: #1c6b29; - background-color: #c0d8c4; -} -.list-group-item-green.list-group-item-action.active { - color: #ffffff; - background-color: #1c6b29; - border-color: #1c6b29; -} - -.list-group-item-teal { - color: #076448; - background-color: #ceede4; -} -.list-group-item-teal.list-group-item-action:hover, .list-group-item-teal.list-group-item-action:focus { - color: #076448; - background-color: #b9d5cd; -} -.list-group-item-teal.list-group-item-action.active { - color: #ffffff; - background-color: #076448; - border-color: #076448; -} - -.list-group-item-cyan { - color: #0e616e; - background-color: #d1ecf1; -} -.list-group-item-cyan.list-group-item-action:hover, .list-group-item-cyan.list-group-item-action:focus { - color: #0e616e; - background-color: #bcd4d9; -} -.list-group-item-cyan.list-group-item-action.active { - color: #ffffff; - background-color: #0e616e; - border-color: #0e616e; -} - -.list-group-item-facebook { - color: #23355b; - background-color: #d8deea; -} -.list-group-item-facebook.list-group-item-action:hover, .list-group-item-facebook.list-group-item-action:focus { - color: #23355b; - background-color: #c2c8d3; -} -.list-group-item-facebook.list-group-item-action.active { - color: #ffffff; - background-color: #23355b; - border-color: #23355b; -} - -.list-group-item-twitter { - color: #116191; - background-color: #d2ecfc; -} -.list-group-item-twitter.list-group-item-action:hover, .list-group-item-twitter.list-group-item-action:focus { - color: #116191; - background-color: #bdd4e3; -} -.list-group-item-twitter.list-group-item-action.active { - color: #ffffff; - background-color: #116191; - border-color: #116191; -} - -.list-group-item-linkedin { - color: #063d74; - background-color: #cee0f3; -} -.list-group-item-linkedin.list-group-item-action:hover, .list-group-item-linkedin.list-group-item-action:focus { - color: #063d74; - background-color: #b9cadb; -} -.list-group-item-linkedin.list-group-item-action.active { - color: #ffffff; - background-color: #063d74; - border-color: #063d74; -} - -.list-group-item-google { - color: #842f27; - background-color: #f8dcd9; -} -.list-group-item-google.list-group-item-action:hover, .list-group-item-google.list-group-item-action:focus { - color: #842f27; - background-color: #dfc6c3; -} -.list-group-item-google.list-group-item-action.active { - color: #ffffff; - background-color: #842f27; - border-color: #842f27; -} - -.list-group-item-youtube { - color: #990000; - background-color: #ffcccc; -} -.list-group-item-youtube.list-group-item-action:hover, .list-group-item-youtube.list-group-item-action:focus { - color: #990000; - background-color: #e6b8b8; -} -.list-group-item-youtube.list-group-item-action.active { - color: #ffffff; - background-color: #990000; - border-color: #990000; -} - -.list-group-item-vimeo { - color: #106e8c; - background-color: #d1f1fb; -} -.list-group-item-vimeo.list-group-item-action:hover, .list-group-item-vimeo.list-group-item-action:focus { - color: #106e8c; - background-color: #bcd9e2; -} -.list-group-item-vimeo.list-group-item-action.active { - color: #ffffff; - background-color: #106e8c; - border-color: #106e8c; -} - -.list-group-item-dribbble { - color: #8c2e52; - background-color: #fbdbe7; -} -.list-group-item-dribbble.list-group-item-action:hover, .list-group-item-dribbble.list-group-item-action:focus { - color: #8c2e52; - background-color: #e2c5d0; -} -.list-group-item-dribbble.list-group-item-action.active { - color: #ffffff; - background-color: #8c2e52; - border-color: #8c2e52; -} - -.list-group-item-github { - color: #0e0e0e; - background-color: #d1d1d1; -} -.list-group-item-github.list-group-item-action:hover, .list-group-item-github.list-group-item-action:focus { - color: #0e0e0e; - background-color: #bcbcbc; -} -.list-group-item-github.list-group-item-action.active { - color: #ffffff; - background-color: #0e0e0e; - border-color: #0e0e0e; -} - -.list-group-item-instagram { - color: #892639; - background-color: #fad9df; -} -.list-group-item-instagram.list-group-item-action:hover, .list-group-item-instagram.list-group-item-action:focus { - color: #892639; - background-color: #e1c3c9; -} -.list-group-item-instagram.list-group-item-action.active { - color: #ffffff; - background-color: #892639; - border-color: #892639; -} - -.list-group-item-pinterest { - color: #710511; - background-color: #f2ced2; -} -.list-group-item-pinterest.list-group-item-action:hover, .list-group-item-pinterest.list-group-item-action:focus { - color: #710511; - background-color: #dab9bd; -} -.list-group-item-pinterest.list-group-item-action.active { - color: #ffffff; - background-color: #710511; - border-color: #710511; -} - -.list-group-item-vk { - color: #3b4f65; - background-color: #e0e6ee; -} -.list-group-item-vk.list-group-item-action:hover, .list-group-item-vk.list-group-item-action:focus { - color: #3b4f65; - background-color: #cacfd6; -} -.list-group-item-vk.list-group-item-action.active { - color: #ffffff; - background-color: #3b4f65; - border-color: #3b4f65; -} - -.list-group-item-rss { - color: #996300; - background-color: #ffedcc; -} -.list-group-item-rss.list-group-item-action:hover, .list-group-item-rss.list-group-item-action:focus { - color: #996300; - background-color: #e6d5b8; -} -.list-group-item-rss.list-group-item-action.active { - color: #ffffff; - background-color: #996300; - border-color: #996300; -} - -.list-group-item-flickr { - color: #003b84; - background-color: #cce0f8; -} -.list-group-item-flickr.list-group-item-action:hover, .list-group-item-flickr.list-group-item-action:focus { - color: #003b84; - background-color: #b8cadf; -} -.list-group-item-flickr.list-group-item-action.active { - color: #ffffff; - background-color: #003b84; - border-color: #003b84; -} - -.list-group-item-bitbucket { - color: #00317a; - background-color: #ccdcf5; -} -.list-group-item-bitbucket.list-group-item-action:hover, .list-group-item-bitbucket.list-group-item-action:focus { - color: #00317a; - background-color: #b8c6dd; -} -.list-group-item-bitbucket.list-group-item-action.active { - color: #ffffff; - background-color: #00317a; - border-color: #00317a; -} - -.list-group-item-tabler { - color: #134076; - background-color: #d2e1f3; -} -.list-group-item-tabler.list-group-item-action:hover, .list-group-item-tabler.list-group-item-action:focus { - color: #134076; - background-color: #bdcbdb; -} -.list-group-item-tabler.list-group-item-action.active { - color: #ffffff; - background-color: #134076; - border-color: #134076; -} - -.btn-close { - box-sizing: content-box; - width: 0.75rem; - height: 0.75rem; - padding: 0.25em 0.25em; - color: #000000; - background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.75rem auto no-repeat; - border: 0; - border-radius: 4px; - opacity: 0.3; -} -.btn-close:hover { - color: #000000; - text-decoration: none; - opacity: 0.75; -} -.btn-close:focus { - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); - opacity: 1; -} -.btn-close:disabled, .btn-close.disabled { - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - opacity: 0.25; -} - -.btn-close-white { - filter: invert(1) grayscale(100%) brightness(200%); -} - -.toast { - --tblr-toast-zindex: 1090; - --tblr-toast-padding-x: 0.75rem; - --tblr-toast-padding-y: 0.5rem; - --tblr-toast-spacing: 1.5rem; - --tblr-toast-max-width: 350px; - --tblr-toast-font-size: 0.875rem; - --tblr-toast-color: ; - --tblr-toast-bg: rgba(255, 255, 255, 0.85); - --tblr-toast-border-width: 1px; - --tblr-toast-border-color: var(--tblr-border-color); - --tblr-toast-border-radius: 4px; - --tblr-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --tblr-toast-header-color: var(--tblr-muted); - --tblr-toast-header-bg: rgba(255, 255, 255, 0.85); - --tblr-toast-header-border-color: rgba(0, 0, 0, 0.05); - width: var(--tblr-toast-max-width); - max-width: 100%; - font-size: var(--tblr-toast-font-size); - color: var(--tblr-toast-color); - pointer-events: auto; - background-color: var(--tblr-toast-bg); - background-clip: padding-box; - border: var(--tblr-toast-border-width) solid var(--tblr-toast-border-color); - box-shadow: var(--tblr-toast-box-shadow); - border-radius: var(--tblr-toast-border-radius); -} -.toast.showing { - opacity: 0; -} -.toast:not(.show) { - display: none; -} - -.toast-container { - --tblr-toast-zindex: 1090; - position: absolute; - z-index: var(--tblr-toast-zindex); - width: -webkit-max-content; - width: -moz-max-content; - width: max-content; - max-width: 100%; - pointer-events: none; -} -.toast-container > :not(:last-child) { - margin-bottom: var(--tblr-toast-spacing); -} - -.toast-header { - display: flex; - align-items: center; - padding: var(--tblr-toast-padding-y) var(--tblr-toast-padding-x); - color: var(--tblr-toast-header-color); - background-color: var(--tblr-toast-header-bg); - background-clip: padding-box; - border-bottom: var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color); - border-top-right-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width)); - border-top-left-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width)); -} -.toast-header .btn-close { - margin-left: calc(-0.5 * var(--tblr-toast-padding-x)); - margin-right: var(--tblr-toast-padding-x); -} - -.toast-body { - padding: var(--tblr-toast-padding-x); - word-wrap: break-word; -} - -.modal { - --tblr-modal-zindex: 1055; - --tblr-modal-width: 540px; - --tblr-modal-padding: 1.5rem; - --tblr-modal-margin: 0.5rem; - --tblr-modal-color: ; - --tblr-modal-bg: var(--tblr-bg-surface); - --tblr-modal-border-color: transparent; - --tblr-modal-border-width: 1px; - --tblr-modal-border-radius: var(--tblr-border-radius-lg); - --tblr-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); - --tblr-modal-inner-border-radius: calc(var(--tblr-modal-border-radius) - 1px); - --tblr-modal-header-padding-x: 1.5rem; - --tblr-modal-header-padding-y: 1.5rem; - --tblr-modal-header-padding: 1.5rem; - --tblr-modal-header-border-color: var(--tblr-border-color); - --tblr-modal-header-border-width: 1px; - --tblr-modal-title-line-height: 1.4285714286; - --tblr-modal-footer-gap: 0.75rem; - --tblr-modal-footer-bg: ; - --tblr-modal-footer-border-color: var(--tblr-border-color); - --tblr-modal-footer-border-width: 0; - position: fixed; - top: 0; - right: 0; - z-index: var(--tblr-modal-zindex); - display: none; - width: 100%; - height: 100%; - overflow-x: hidden; - overflow-y: auto; - outline: 0; -} - -.modal-dialog { - position: relative; - width: auto; - margin: var(--tblr-modal-margin); - pointer-events: none; -} -.modal.fade .modal-dialog { - transition: transform 0.3s ease-out; - transform: translate(0, -1rem); -} -@media (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; - } -} -.modal.show .modal-dialog { - transform: none; -} -.modal.modal-static .modal-dialog { - transform: scale(1.02); -} - -.modal-dialog-scrollable { - height: calc(100% - var(--tblr-modal-margin) * 2); -} -.modal-dialog-scrollable .modal-content { - max-height: 100%; - overflow: hidden; -} -.modal-dialog-scrollable .modal-body { - overflow-y: auto; -} - -.modal-dialog-centered { - display: flex; - align-items: center; - min-height: calc(100% - var(--tblr-modal-margin) * 2); -} - -.modal-content { - position: relative; - display: flex; - flex-direction: column; - width: 100%; - color: var(--tblr-modal-color); - pointer-events: auto; - background-color: var(--tblr-modal-bg); - background-clip: padding-box; - border: var(--tblr-modal-border-width) solid var(--tblr-modal-border-color); - border-radius: var(--tblr-modal-border-radius); - outline: 0; -} - -.modal-backdrop { - --tblr-backdrop-zindex: 1050; - --tblr-backdrop-bg: #1d273b; - --tblr-backdrop-opacity: 0.24; - position: fixed; - top: 0; - right: 0; - z-index: var(--tblr-backdrop-zindex); - width: 100vw; - height: 100vh; - background-color: var(--tblr-backdrop-bg); -} -.modal-backdrop.fade { - opacity: 0; -} -.modal-backdrop.show { - opacity: var(--tblr-backdrop-opacity); -} - -.modal-header { - display: flex; - flex-shrink: 0; - align-items: center; - justify-content: space-between; - padding: var(--tblr-modal-header-padding); - border-bottom: var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color); - border-top-right-radius: var(--tblr-modal-inner-border-radius); - border-top-left-radius: var(--tblr-modal-inner-border-radius); -} -.modal-header .btn-close { - padding: calc(var(--tblr-modal-header-padding-y) * 0.5) calc(var(--tblr-modal-header-padding-x) * 0.5); - margin: calc(-0.5 * var(--tblr-modal-header-padding-y)) auto calc(-0.5 * var(--tblr-modal-header-padding-y)) calc(-0.5 * var(--tblr-modal-header-padding-x)); -} - -.modal-title { - margin-bottom: 0; - line-height: var(--tblr-modal-title-line-height); -} - -.modal-body { - position: relative; - flex: 1 1 auto; - padding: var(--tblr-modal-padding); -} - -.modal-footer { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - align-items: center; - justify-content: flex-end; - padding: calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * 0.5); - background-color: var(--tblr-modal-footer-bg); - border-top: var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color); - border-bottom-left-radius: var(--tblr-modal-inner-border-radius); - border-bottom-right-radius: var(--tblr-modal-inner-border-radius); -} -.modal-footer > * { - margin: calc(var(--tblr-modal-footer-gap) * 0.5); -} - -@media (min-width: 576px) { - .modal { - --tblr-modal-margin: 1.75rem; - --tblr-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - } - .modal-dialog { - max-width: var(--tblr-modal-width); - margin-left: auto; - margin-right: auto; - } - .modal-sm { - --tblr-modal-width: 380px; - } -} -@media (min-width: 992px) { - .modal-lg, -.modal-xl { - --tblr-modal-width: 720px; - } -} -@media (min-width: 1200px) { - .modal-xl { - --tblr-modal-width: 1140px; - } -} -.modal-fullscreen { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; -} -.modal-fullscreen .modal-content { - height: 100%; - border: 0; - border-radius: 0; -} -.modal-fullscreen .modal-header, -.modal-fullscreen .modal-footer { - border-radius: 0; -} -.modal-fullscreen .modal-body { - overflow-y: auto; -} - -@media (max-width: 575.98px) { - .modal-fullscreen-sm-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-sm-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-sm-down .modal-header, -.modal-fullscreen-sm-down .modal-footer { - border-radius: 0; - } - .modal-fullscreen-sm-down .modal-body { - overflow-y: auto; - } -} -@media (max-width: 767.98px) { - .modal-fullscreen-md-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-md-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-md-down .modal-header, -.modal-fullscreen-md-down .modal-footer { - border-radius: 0; - } - .modal-fullscreen-md-down .modal-body { - overflow-y: auto; - } -} -@media (max-width: 991.98px) { - .modal-fullscreen-lg-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-lg-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-lg-down .modal-header, -.modal-fullscreen-lg-down .modal-footer { - border-radius: 0; - } - .modal-fullscreen-lg-down .modal-body { - overflow-y: auto; - } -} -@media (max-width: 1199.98px) { - .modal-fullscreen-xl-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-xl-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-xl-down .modal-header, -.modal-fullscreen-xl-down .modal-footer { - border-radius: 0; - } - .modal-fullscreen-xl-down .modal-body { - overflow-y: auto; - } -} -@media (max-width: 1399.98px) { - .modal-fullscreen-xxl-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; - } - .modal-fullscreen-xxl-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; - } - .modal-fullscreen-xxl-down .modal-header, -.modal-fullscreen-xxl-down .modal-footer { - border-radius: 0; - } - .modal-fullscreen-xxl-down .modal-body { - overflow-y: auto; - } -} -.tooltip { - --tblr-tooltip-zindex: 1080; - --tblr-tooltip-max-width: 200px; - --tblr-tooltip-padding-x: 0.5rem; - --tblr-tooltip-padding-y: 0.25rem; - --tblr-tooltip-margin: ; - --tblr-tooltip-font-size: 0.765625rem; - --tblr-tooltip-color: var(--tblr-light); - --tblr-tooltip-bg: var(--tblr-bg-surface-dark); - --tblr-tooltip-border-radius: 4px; - --tblr-tooltip-opacity: 0.9; - --tblr-tooltip-arrow-width: 0.8rem; - --tblr-tooltip-arrow-height: 0.4rem; - z-index: var(--tblr-tooltip-zindex); - display: block; - padding: var(--tblr-tooltip-arrow-height); - margin: var(--tblr-tooltip-margin); - font-family: var(--tblr-font-sans-serif); - font-style: normal; - font-weight: 400; - line-height: 1.4285714286; - text-align: right; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - white-space: normal; - word-spacing: normal; - line-break: auto; - font-size: var(--tblr-tooltip-font-size); - word-wrap: break-word; - opacity: 0; -} -.tooltip.show { - opacity: var(--tblr-tooltip-opacity); -} -.tooltip .tooltip-arrow { - display: block; - width: var(--tblr-tooltip-arrow-width); - height: var(--tblr-tooltip-arrow-height); -} -.tooltip .tooltip-arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { - bottom: 0; -} -.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { - top: -1px; - border-width: var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * 0.5) 0; - border-top-color: var(--tblr-tooltip-bg); -} -.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { - left: 0; - width: var(--tblr-tooltip-arrow-height); - height: var(--tblr-tooltip-arrow-width); -} -.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { - right: -1px; - border-width: calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * 0.5) 0; - border-right-color: var(--tblr-tooltip-bg); -} -.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { - top: 0; -} -.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { - bottom: -1px; - border-width: 0 calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height); - border-bottom-color: var(--tblr-tooltip-bg); -} -.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { - right: 0; - width: var(--tblr-tooltip-arrow-height); - height: var(--tblr-tooltip-arrow-width); -} -.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { - left: -1px; - border-width: calc(var(--tblr-tooltip-arrow-width) * 0.5) 0 calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height); - border-left-color: var(--tblr-tooltip-bg); -} -.tooltip-inner { - max-width: var(--tblr-tooltip-max-width); - padding: var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x); - color: var(--tblr-tooltip-color); - text-align: center; - background-color: var(--tblr-tooltip-bg); - border-radius: var(--tblr-tooltip-border-radius); -} - -.popover { - --tblr-popover-zindex: 1070; - --tblr-popover-max-width: 276px; - --tblr-popover-font-size: 0.765625rem; - --tblr-popover-bg: var(--tblr-bg-surface); - --tblr-popover-border-width: 1px; - --tblr-popover-border-color: var(--tblr-border-color); - --tblr-popover-border-radius: 8px; - --tblr-popover-inner-border-radius: 7px; - --tblr-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --tblr-popover-header-padding-x: 1rem; - --tblr-popover-header-padding-y: 0.5rem; - --tblr-popover-header-font-size: 0.875rem; - --tblr-popover-header-color: ; - --tblr-popover-header-bg: transparent; - --tblr-popover-body-padding-x: 1rem; - --tblr-popover-body-padding-y: 1rem; - --tblr-popover-body-color: inherit; - --tblr-popover-arrow-width: 1rem; - --tblr-popover-arrow-height: 0.5rem; - --tblr-popover-arrow-border: var(--tblr-popover-border-color); - z-index: var(--tblr-popover-zindex); - display: block; - max-width: var(--tblr-popover-max-width); - font-family: var(--tblr-font-sans-serif); - font-style: normal; - font-weight: 400; - line-height: 1.4285714286; - text-align: right; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - white-space: normal; - word-spacing: normal; - line-break: auto; - font-size: var(--tblr-popover-font-size); - word-wrap: break-word; - background-color: var(--tblr-popover-bg); - background-clip: padding-box; - border: var(--tblr-popover-border-width) solid var(--tblr-popover-border-color); - border-radius: var(--tblr-popover-border-radius); -} -.popover .popover-arrow { - display: block; - width: var(--tblr-popover-arrow-width); - height: var(--tblr-popover-arrow-height); -} -.popover .popover-arrow::before, .popover .popover-arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; - border-width: 0; -} - -.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { - bottom: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); -} -.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { - border-width: var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * 0.5) 0; -} -.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { - bottom: 0; - border-top-color: var(--tblr-popover-arrow-border); -} -.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { - bottom: var(--tblr-popover-border-width); - border-top-color: var(--tblr-popover-bg); -} -.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { - left: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); - width: var(--tblr-popover-arrow-height); - height: var(--tblr-popover-arrow-width); -} -.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { - border-width: calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * 0.5) 0; -} -.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { - left: 0; - border-right-color: var(--tblr-popover-arrow-border); -} -.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { - left: var(--tblr-popover-border-width); - border-right-color: var(--tblr-popover-bg); -} -.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { - top: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); -} -.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { - border-width: 0 calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height); -} -.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { - top: 0; - border-bottom-color: var(--tblr-popover-arrow-border); -} -.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { - top: var(--tblr-popover-border-width); - border-bottom-color: var(--tblr-popover-bg); -} -.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { - position: absolute; - top: 0; - right: 50%; - display: block; - width: var(--tblr-popover-arrow-width); - margin-right: calc(-0.5 * var(--tblr-popover-arrow-width)); - content: ""; - border-bottom: var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg); -} -.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { - right: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); - width: var(--tblr-popover-arrow-height); - height: var(--tblr-popover-arrow-width); -} -.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { - border-width: calc(var(--tblr-popover-arrow-width) * 0.5) 0 calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height); -} -.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { - right: 0; - border-left-color: var(--tblr-popover-arrow-border); -} -.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { - right: var(--tblr-popover-border-width); - border-left-color: var(--tblr-popover-bg); -} -.popover-header { - padding: var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x); - margin-bottom: 0; - font-size: var(--tblr-popover-header-font-size); - color: var(--tblr-popover-header-color); - background-color: var(--tblr-popover-header-bg); - border-bottom: var(--tblr-popover-border-width) solid var(--tblr-popover-border-color); - border-top-right-radius: var(--tblr-popover-inner-border-radius); - border-top-left-radius: var(--tblr-popover-inner-border-radius); -} -.popover-header:empty { - display: none; -} - -.popover-body { - padding: var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x); - color: var(--tblr-popover-body-color); -} - -.carousel { - position: relative; -} - -.carousel.pointer-event { - touch-action: pan-y; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} -.carousel-inner::after { - display: block; - clear: both; - content: ""; -} - -.carousel-item { - position: relative; - display: none; - float: right; - width: 100%; - margin-left: -100%; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - transition: transform 0.6s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .carousel-item { - transition: none; - } -} - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; -} -.carousel-item-next:not(.carousel-item-start), -.active.carousel-item-end { - transform: translateX(100%); -} - -.carousel-item-prev:not(.carousel-item-end), -.active.carousel-item-start { - transform: translateX(-100%); -} -.carousel-fade .carousel-item { - opacity: 0; - transition-property: opacity; - transform: none; -} -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-start, -.carousel-fade .carousel-item-prev.carousel-item-end { - z-index: 1; - opacity: 1; -} -.carousel-fade .active.carousel-item-start, -.carousel-fade .active.carousel-item-end { - z-index: 0; - opacity: 0; - transition: opacity 0s 0.6s; -} -@media (prefers-reduced-motion: reduce) { - .carousel-fade .active.carousel-item-start, -.carousel-fade .active.carousel-item-end { - transition: none; - } -} - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - display: flex; - align-items: center; - justify-content: center; - width: 15%; - padding: 0; - color: #ffffff; - text-align: center; - background: none; - border: 0; - opacity: 0.5; - transition: opacity 0.15s ease; -} -@media (prefers-reduced-motion: reduce) { - .carousel-control-prev, -.carousel-control-next { - transition: none; - } -} -.carousel-control-prev:hover, .carousel-control-prev:focus, -.carousel-control-next:hover, -.carousel-control-next:focus { - color: #ffffff; - text-decoration: none; - outline: 0; - opacity: 0.9; -} - -.carousel-control-prev { - right: 0; -} - -.carousel-control-next { - left: 0; -} - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 1.5rem; - height: 1.5rem; - background-repeat: no-repeat; - background-position: 50%; - background-size: 100% 100%; -} -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e"); -} - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e"); -} - -.carousel-indicators { - position: absolute; - left: 0; - bottom: 0; - right: 0; - z-index: 2; - display: flex; - justify-content: center; - padding: 0; - margin-left: 15%; - margin-bottom: 1rem; - margin-right: 15%; - list-style: none; -} -.carousel-indicators [data-bs-target] { - box-sizing: content-box; - flex: 0 1 auto; - width: 30px; - height: 3px; - padding: 0; - margin-left: 3px; - margin-right: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #ffffff; - background-clip: padding-box; - border: 0; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: 0.5; - transition: opacity 0.6s ease; -} -@media (prefers-reduced-motion: reduce) { - .carousel-indicators [data-bs-target] { - transition: none; - } -} -.carousel-indicators .active { - opacity: 1; -} - -.carousel-caption { - position: absolute; - left: 15%; - bottom: 1.25rem; - right: 15%; - padding-top: 1.25rem; - padding-bottom: 1.25rem; - color: #ffffff; - text-align: center; -} - -.carousel-dark .carousel-control-next-icon, -.carousel-dark .carousel-control-prev-icon { - filter: invert(1) grayscale(100); -} -.carousel-dark .carousel-indicators [data-bs-target] { - background-color: #000000; -} -.carousel-dark .carousel-caption { - color: #000000; -} - -.spinner-grow, -.spinner-border { - display: inline-block; - width: var(--tblr-spinner-width); - height: var(--tblr-spinner-height); - vertical-align: var(--tblr-spinner-vertical-align); - border-radius: 50%; - -webkit-animation: var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name); - animation: var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name); -} - -@-webkit-keyframes spinner-border { - to { - transform: rotate(360deg) ; - } -} - -@keyframes spinner-border { - to { - transform: rotate(360deg) ; - } -} -.spinner-border { - --tblr-spinner-width: 1.5rem; - --tblr-spinner-height: 1.5rem; - --tblr-spinner-vertical-align: -0.125em; - --tblr-spinner-border-width: 2px; - --tblr-spinner-animation-speed: 0.75s; - --tblr-spinner-animation-name: spinner-border; - border: var(--tblr-spinner-border-width) solid currentcolor; - border-left-color: transparent; -} - -.spinner-border-sm { - --tblr-spinner-width: 1rem; - --tblr-spinner-height: 1rem; - --tblr-spinner-border-width: 1px; -} - -@-webkit-keyframes spinner-grow { - 0% { - transform: scale(0); - } - 50% { - opacity: 1; - transform: none; - } -} - -@keyframes spinner-grow { - 0% { - transform: scale(0); - } - 50% { - opacity: 1; - transform: none; - } -} -.spinner-grow { - --tblr-spinner-width: 1.5rem; - --tblr-spinner-height: 1.5rem; - --tblr-spinner-vertical-align: -0.125em; - --tblr-spinner-animation-speed: 0.75s; - --tblr-spinner-animation-name: spinner-grow; - background-color: currentcolor; - opacity: 0; -} - -.spinner-grow-sm { - --tblr-spinner-width: 1rem; - --tblr-spinner-height: 1rem; -} - -@media (prefers-reduced-motion: reduce) { - .spinner-border, -.spinner-grow { - --tblr-spinner-animation-speed: 1.5s; - } -} -.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { - --tblr-offcanvas-zindex: 1045; - --tblr-offcanvas-width: 400px; - --tblr-offcanvas-height: 30vh; - --tblr-offcanvas-padding-x: 1.5rem; - --tblr-offcanvas-padding-y: 1.5rem; - --tblr-offcanvas-color: ; - --tblr-offcanvas-bg: var(--tblr-bg-surface); - --tblr-offcanvas-border-width: 1px; - --tblr-offcanvas-border-color: var(--tblr-border-color); - --tblr-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); -} - -@media (max-width: 575.98px) { - .offcanvas-sm { - position: fixed; - bottom: 0; - z-index: var(--tblr-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--tblr-offcanvas-color); - visibility: hidden; - background-color: var(--tblr-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; - } -} -@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-sm { - transition: none; - } -} -@media (max-width: 575.98px) { - .offcanvas-sm.offcanvas-start { - top: 0; - right: 0; - width: var(--tblr-offcanvas-width); - border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(100%); - } -} -@media (max-width: 575.98px) { - .offcanvas-sm.offcanvas-end { - top: 0; - left: 0; - width: var(--tblr-offcanvas-width); - border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(-100%); - } -} -@media (max-width: 575.98px) { - .offcanvas-sm.offcanvas-top { - top: 0; - left: 0; - right: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(-100%); - } -} -@media (max-width: 575.98px) { - .offcanvas-sm.offcanvas-bottom { - left: 0; - right: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(100%); - } -} -@media (max-width: 575.98px) { - .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { - transform: none; - } -} -@media (max-width: 575.98px) { - .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { - visibility: visible; - } -} -@media (min-width: 576px) { - .offcanvas-sm { - --tblr-offcanvas-height: auto; - --tblr-offcanvas-border-width: 0; - background-color: transparent !important; - } - .offcanvas-sm .offcanvas-header { - display: none; - } - .offcanvas-sm .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; - } -} - -@media (max-width: 767.98px) { - .offcanvas-md { - position: fixed; - bottom: 0; - z-index: var(--tblr-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--tblr-offcanvas-color); - visibility: hidden; - background-color: var(--tblr-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; - } -} -@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-md { - transition: none; - } -} -@media (max-width: 767.98px) { - .offcanvas-md.offcanvas-start { - top: 0; - right: 0; - width: var(--tblr-offcanvas-width); - border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(100%); - } -} -@media (max-width: 767.98px) { - .offcanvas-md.offcanvas-end { - top: 0; - left: 0; - width: var(--tblr-offcanvas-width); - border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(-100%); - } -} -@media (max-width: 767.98px) { - .offcanvas-md.offcanvas-top { - top: 0; - left: 0; - right: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(-100%); - } -} -@media (max-width: 767.98px) { - .offcanvas-md.offcanvas-bottom { - left: 0; - right: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(100%); - } -} -@media (max-width: 767.98px) { - .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { - transform: none; - } -} -@media (max-width: 767.98px) { - .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { - visibility: visible; - } -} -@media (min-width: 768px) { - .offcanvas-md { - --tblr-offcanvas-height: auto; - --tblr-offcanvas-border-width: 0; - background-color: transparent !important; - } - .offcanvas-md .offcanvas-header { - display: none; - } - .offcanvas-md .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; - } -} - -@media (max-width: 991.98px) { - .offcanvas-lg { - position: fixed; - bottom: 0; - z-index: var(--tblr-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--tblr-offcanvas-color); - visibility: hidden; - background-color: var(--tblr-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; - } -} -@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-lg { - transition: none; - } -} -@media (max-width: 991.98px) { - .offcanvas-lg.offcanvas-start { - top: 0; - right: 0; - width: var(--tblr-offcanvas-width); - border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(100%); - } -} -@media (max-width: 991.98px) { - .offcanvas-lg.offcanvas-end { - top: 0; - left: 0; - width: var(--tblr-offcanvas-width); - border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(-100%); - } -} -@media (max-width: 991.98px) { - .offcanvas-lg.offcanvas-top { - top: 0; - left: 0; - right: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(-100%); - } -} -@media (max-width: 991.98px) { - .offcanvas-lg.offcanvas-bottom { - left: 0; - right: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(100%); - } -} -@media (max-width: 991.98px) { - .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { - transform: none; - } -} -@media (max-width: 991.98px) { - .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { - visibility: visible; - } -} -@media (min-width: 992px) { - .offcanvas-lg { - --tblr-offcanvas-height: auto; - --tblr-offcanvas-border-width: 0; - background-color: transparent !important; - } - .offcanvas-lg .offcanvas-header { - display: none; - } - .offcanvas-lg .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; - } -} - -@media (max-width: 1199.98px) { - .offcanvas-xl { - position: fixed; - bottom: 0; - z-index: var(--tblr-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--tblr-offcanvas-color); - visibility: hidden; - background-color: var(--tblr-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; - } -} -@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-xl { - transition: none; - } -} -@media (max-width: 1199.98px) { - .offcanvas-xl.offcanvas-start { - top: 0; - right: 0; - width: var(--tblr-offcanvas-width); - border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(100%); - } -} -@media (max-width: 1199.98px) { - .offcanvas-xl.offcanvas-end { - top: 0; - left: 0; - width: var(--tblr-offcanvas-width); - border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(-100%); - } -} -@media (max-width: 1199.98px) { - .offcanvas-xl.offcanvas-top { - top: 0; - left: 0; - right: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(-100%); - } -} -@media (max-width: 1199.98px) { - .offcanvas-xl.offcanvas-bottom { - left: 0; - right: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(100%); - } -} -@media (max-width: 1199.98px) { - .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { - transform: none; - } -} -@media (max-width: 1199.98px) { - .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { - visibility: visible; - } -} -@media (min-width: 1200px) { - .offcanvas-xl { - --tblr-offcanvas-height: auto; - --tblr-offcanvas-border-width: 0; - background-color: transparent !important; - } - .offcanvas-xl .offcanvas-header { - display: none; - } - .offcanvas-xl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; - } -} - -@media (max-width: 1399.98px) { - .offcanvas-xxl { - position: fixed; - bottom: 0; - z-index: var(--tblr-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--tblr-offcanvas-color); - visibility: hidden; - background-color: var(--tblr-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; - } -} -@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-xxl { - transition: none; - } -} -@media (max-width: 1399.98px) { - .offcanvas-xxl.offcanvas-start { - top: 0; - right: 0; - width: var(--tblr-offcanvas-width); - border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(100%); - } -} -@media (max-width: 1399.98px) { - .offcanvas-xxl.offcanvas-end { - top: 0; - left: 0; - width: var(--tblr-offcanvas-width); - border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(-100%); - } -} -@media (max-width: 1399.98px) { - .offcanvas-xxl.offcanvas-top { - top: 0; - left: 0; - right: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(-100%); - } -} -@media (max-width: 1399.98px) { - .offcanvas-xxl.offcanvas-bottom { - left: 0; - right: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(100%); - } -} -@media (max-width: 1399.98px) { - .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { - transform: none; - } -} -@media (max-width: 1399.98px) { - .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { - visibility: visible; - } -} -@media (min-width: 1400px) { - .offcanvas-xxl { - --tblr-offcanvas-height: auto; - --tblr-offcanvas-border-width: 0; - background-color: transparent !important; - } - .offcanvas-xxl .offcanvas-header { - display: none; - } - .offcanvas-xxl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; - } -} - -.offcanvas { - position: fixed; - bottom: 0; - z-index: var(--tblr-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--tblr-offcanvas-color); - visibility: hidden; - background-color: var(--tblr-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: transform 0.3s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .offcanvas { - transition: none; - } -} -.offcanvas.offcanvas-start { - top: 0; - right: 0; - width: var(--tblr-offcanvas-width); - border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(100%); -} -.offcanvas.offcanvas-end { - top: 0; - left: 0; - width: var(--tblr-offcanvas-width); - border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateX(-100%); -} -.offcanvas.offcanvas-top { - top: 0; - left: 0; - right: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(-100%); -} -.offcanvas.offcanvas-bottom { - left: 0; - right: 0; - height: var(--tblr-offcanvas-height); - max-height: 100%; - border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); - transform: translateY(100%); -} -.offcanvas.showing, .offcanvas.show:not(.hiding) { - transform: none; -} -.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { - visibility: visible; -} - -.offcanvas-backdrop { - position: fixed; - top: 0; - right: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #1d273b; -} -.offcanvas-backdrop.fade { - opacity: 0; -} -.offcanvas-backdrop.show { - opacity: 0.24; -} - -.offcanvas-header { - display: flex; - align-items: center; - justify-content: space-between; - padding: var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x); -} -.offcanvas-header .btn-close { - padding: calc(var(--tblr-offcanvas-padding-y) * 0.5) calc(var(--tblr-offcanvas-padding-x) * 0.5); - margin-top: calc(-0.5 * var(--tblr-offcanvas-padding-y)); - margin-left: calc(-0.5 * var(--tblr-offcanvas-padding-x)); - margin-bottom: calc(-0.5 * var(--tblr-offcanvas-padding-y)); -} - -.offcanvas-title { - margin-bottom: 0; - line-height: 1.4285714286; -} - -.offcanvas-body { - flex-grow: 1; - padding: var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x); - overflow-y: auto; -} - -.placeholder { - display: inline-block; - min-height: 1em; - vertical-align: middle; - cursor: wait; - background-color: currentcolor; - opacity: 0.2; -} -.placeholder.btn::before { - display: inline-block; - content: ""; -} - -.placeholder-xs { - min-height: 0.6em; -} - -.placeholder-sm { - min-height: 0.8em; -} - -.placeholder-lg { - min-height: 1.2em; -} - -.placeholder-glow .placeholder { - -webkit-animation: placeholder-glow 2s ease-in-out infinite; - animation: placeholder-glow 2s ease-in-out infinite; -} - -@-webkit-keyframes placeholder-glow { - 50% { - opacity: 0.1; - } -} - -@keyframes placeholder-glow { - 50% { - opacity: 0.1; - } -} -.placeholder-wave { - -webkit-mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.9) 75%, #000000 95%); - mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.9) 75%, #000000 95%); - -webkit-mask-size: 200% 100%; - mask-size: 200% 100%; - -webkit-animation: placeholder-wave 2s linear infinite; - animation: placeholder-wave 2s linear infinite; -} - -@-webkit-keyframes placeholder-wave { - 100% { - -webkit-mask-position: -200% 0%; - mask-position: -200% 0%; - } -} - -@keyframes placeholder-wave { - 100% { - -webkit-mask-position: -200% 0%; - mask-position: -200% 0%; - } -} -.clearfix::after { - display: block; - clear: both; - content: ""; -} - -.text-bg-primary { - color: #f8fafc !important; - background-color: RGBA(32, 107, 196, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-secondary { - color: #f8fafc !important; - background-color: RGBA(97, 104, 118, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-success { - color: #f8fafc !important; - background-color: RGBA(47, 179, 68, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-info { - color: #f8fafc !important; - background-color: RGBA(66, 153, 225, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-warning { - color: #f8fafc !important; - background-color: RGBA(247, 103, 7, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-danger { - color: #f8fafc !important; - background-color: RGBA(214, 57, 57, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-light { - color: #1d273b !important; - background-color: RGBA(248, 250, 252, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-dark { - color: #f8fafc !important; - background-color: RGBA(29, 39, 59, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-muted { - color: #f8fafc !important; - background-color: RGBA(97, 104, 118, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-blue { - color: #f8fafc !important; - background-color: RGBA(32, 107, 196, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-azure { - color: #f8fafc !important; - background-color: RGBA(66, 153, 225, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-indigo { - color: #f8fafc !important; - background-color: RGBA(66, 99, 235, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-purple { - color: #f8fafc !important; - background-color: RGBA(174, 62, 201, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-pink { - color: #f8fafc !important; - background-color: RGBA(214, 51, 108, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-red { - color: #f8fafc !important; - background-color: RGBA(214, 57, 57, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-orange { - color: #f8fafc !important; - background-color: RGBA(247, 103, 7, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-yellow { - color: #f8fafc !important; - background-color: RGBA(245, 159, 0, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-lime { - color: #f8fafc !important; - background-color: RGBA(116, 184, 22, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-green { - color: #f8fafc !important; - background-color: RGBA(47, 179, 68, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-teal { - color: #f8fafc !important; - background-color: RGBA(12, 166, 120, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-cyan { - color: #f8fafc !important; - background-color: RGBA(23, 162, 184, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-facebook { - color: #f8fafc !important; - background-color: RGBA(59, 89, 152, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-twitter { - color: #f8fafc !important; - background-color: RGBA(29, 161, 242, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-linkedin { - color: #f8fafc !important; - background-color: RGBA(10, 102, 194, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-google { - color: #f8fafc !important; - background-color: RGBA(220, 78, 65, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-youtube { - color: #f8fafc !important; - background-color: RGBA(255, 0, 0, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-vimeo { - color: #f8fafc !important; - background-color: RGBA(26, 183, 234, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-dribbble { - color: #f8fafc !important; - background-color: RGBA(234, 76, 137, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-github { - color: #f8fafc !important; - background-color: RGBA(24, 23, 23, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-instagram { - color: #f8fafc !important; - background-color: RGBA(228, 64, 95, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-pinterest { - color: #f8fafc !important; - background-color: RGBA(189, 8, 28, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-vk { - color: #f8fafc !important; - background-color: RGBA(99, 131, 168, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-rss { - color: #f8fafc !important; - background-color: RGBA(255, 165, 0, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-flickr { - color: #f8fafc !important; - background-color: RGBA(0, 99, 220, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-bitbucket { - color: #f8fafc !important; - background-color: RGBA(0, 82, 204, var(--tblr-bg-opacity, 1)) !important; -} - -.text-bg-tabler { - color: #f8fafc !important; - background-color: RGBA(32, 107, 196, var(--tblr-bg-opacity, 1)) !important; -} - -.link-primary { - color: #206bc4 !important; -} -.link-primary:hover, .link-primary:focus { - color: #1a569d !important; -} - -.link-secondary { - color: #616876 !important; -} -.link-secondary:hover, .link-secondary:focus { - color: #4e535e !important; -} - -.link-success { - color: #2fb344 !important; -} -.link-success:hover, .link-success:focus { - color: #268f36 !important; -} - -.link-info { - color: #4299e1 !important; -} -.link-info:hover, .link-info:focus { - color: #357ab4 !important; -} - -.link-warning { - color: #f76707 !important; -} -.link-warning:hover, .link-warning:focus { - color: #c65206 !important; -} - -.link-danger { - color: #d63939 !important; -} -.link-danger:hover, .link-danger:focus { - color: #ab2e2e !important; -} - -.link-light { - color: #f8fafc !important; -} -.link-light:hover, .link-light:focus { - color: #f9fbfd !important; -} - -.link-dark { - color: #1d273b !important; -} -.link-dark:hover, .link-dark:focus { - color: #171f2f !important; -} - -.link-muted { - color: #616876 !important; -} -.link-muted:hover, .link-muted:focus { - color: #4e535e !important; -} - -.link-blue { - color: #206bc4 !important; -} -.link-blue:hover, .link-blue:focus { - color: #1a569d !important; -} - -.link-azure { - color: #4299e1 !important; -} -.link-azure:hover, .link-azure:focus { - color: #357ab4 !important; -} - -.link-indigo { - color: #4263eb !important; -} -.link-indigo:hover, .link-indigo:focus { - color: #354fbc !important; -} - -.link-purple { - color: #ae3ec9 !important; -} -.link-purple:hover, .link-purple:focus { - color: #8b32a1 !important; -} - -.link-pink { - color: #d6336c !important; -} -.link-pink:hover, .link-pink:focus { - color: #ab2956 !important; -} - -.link-red { - color: #d63939 !important; -} -.link-red:hover, .link-red:focus { - color: #ab2e2e !important; -} - -.link-orange { - color: #f76707 !important; -} -.link-orange:hover, .link-orange:focus { - color: #c65206 !important; -} - -.link-yellow { - color: #f59f00 !important; -} -.link-yellow:hover, .link-yellow:focus { - color: #c47f00 !important; -} - -.link-lime { - color: #74b816 !important; -} -.link-lime:hover, .link-lime:focus { - color: #5d9312 !important; -} - -.link-green { - color: #2fb344 !important; -} -.link-green:hover, .link-green:focus { - color: #268f36 !important; -} - -.link-teal { - color: #0ca678 !important; -} -.link-teal:hover, .link-teal:focus { - color: #0a8560 !important; -} - -.link-cyan { - color: #17a2b8 !important; -} -.link-cyan:hover, .link-cyan:focus { - color: #128293 !important; -} - -.link-facebook { - color: #3b5998 !important; -} -.link-facebook:hover, .link-facebook:focus { - color: #2f477a !important; -} - -.link-twitter { - color: #1da1f2 !important; -} -.link-twitter:hover, .link-twitter:focus { - color: #1781c2 !important; -} - -.link-linkedin { - color: #0a66c2 !important; -} -.link-linkedin:hover, .link-linkedin:focus { - color: #08529b !important; -} - -.link-google { - color: #dc4e41 !important; -} -.link-google:hover, .link-google:focus { - color: #b03e34 !important; -} - -.link-youtube { - color: #ff0000 !important; -} -.link-youtube:hover, .link-youtube:focus { - color: #cc0000 !important; -} - -.link-vimeo { - color: #1ab7ea !important; -} -.link-vimeo:hover, .link-vimeo:focus { - color: #1592bb !important; -} - -.link-dribbble { - color: #ea4c89 !important; -} -.link-dribbble:hover, .link-dribbble:focus { - color: #bb3d6e !important; -} - -.link-github { - color: #181717 !important; -} -.link-github:hover, .link-github:focus { - color: #131212 !important; -} - -.link-instagram { - color: #e4405f !important; -} -.link-instagram:hover, .link-instagram:focus { - color: #b6334c !important; -} - -.link-pinterest { - color: #bd081c !important; -} -.link-pinterest:hover, .link-pinterest:focus { - color: #970616 !important; -} - -.link-vk { - color: #6383a8 !important; -} -.link-vk:hover, .link-vk:focus { - color: #4f6986 !important; -} - -.link-rss { - color: #ffa500 !important; -} -.link-rss:hover, .link-rss:focus { - color: #cc8400 !important; -} - -.link-flickr { - color: #0063dc !important; -} -.link-flickr:hover, .link-flickr:focus { - color: #004fb0 !important; -} - -.link-bitbucket { - color: #0052cc !important; -} -.link-bitbucket:hover, .link-bitbucket:focus { - color: #0042a3 !important; -} - -.link-tabler { - color: #206bc4 !important; -} -.link-tabler:hover, .link-tabler:focus { - color: #1a569d !important; -} - -.ratio { - position: relative; - width: 100%; -} -.ratio::before { - display: block; - padding-top: var(--tblr-aspect-ratio); - content: ""; -} -.ratio > * { - position: absolute; - top: 0; - right: 0; - width: 100%; - height: 100%; -} - -.ratio-1x1 { - --tblr-aspect-ratio: 100%; -} - -.ratio-4x3 { - --tblr-aspect-ratio: 75%; -} - -.ratio-3x4 { - --tblr-aspect-ratio: 133.3333333333%; -} - -.ratio-16x9 { - --tblr-aspect-ratio: 56.25%; -} - -.ratio-9x16 { - --tblr-aspect-ratio: 177.7777777778%; -} - -.ratio-21x9 { - --tblr-aspect-ratio: 42.8571428571%; -} - -.ratio-9x21 { - --tblr-aspect-ratio: 233.3333333333%; -} - -.fixed-top { - position: fixed; - top: 0; - left: 0; - right: 0; - z-index: 1030; -} - -.fixed-bottom { - position: fixed; - left: 0; - bottom: 0; - right: 0; - z-index: 1030; -} - -.sticky-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; -} - -.sticky-bottom { - position: -webkit-sticky; - position: sticky; - bottom: 0; - z-index: 1020; -} - -@media (min-width: 576px) { - .sticky-sm-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } - .sticky-sm-bottom { - position: -webkit-sticky; - position: sticky; - bottom: 0; - z-index: 1020; - } -} -@media (min-width: 768px) { - .sticky-md-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } - .sticky-md-bottom { - position: -webkit-sticky; - position: sticky; - bottom: 0; - z-index: 1020; - } -} -@media (min-width: 992px) { - .sticky-lg-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } - .sticky-lg-bottom { - position: -webkit-sticky; - position: sticky; - bottom: 0; - z-index: 1020; - } -} -@media (min-width: 1200px) { - .sticky-xl-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } - .sticky-xl-bottom { - position: -webkit-sticky; - position: sticky; - bottom: 0; - z-index: 1020; - } -} -@media (min-width: 1400px) { - .sticky-xxl-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } - .sticky-xxl-bottom { - position: -webkit-sticky; - position: sticky; - bottom: 0; - z-index: 1020; - } -} -.hstack { - display: flex; - flex-direction: row; - align-items: center; - align-self: stretch; -} - -.vstack { - display: flex; - flex: 1 1 auto; - flex-direction: column; - align-self: stretch; -} - -.visually-hidden, -.visually-hidden-focusable:not(:focus):not(:focus-within) { - position: absolute !important; - width: 1px !important; - height: 1px !important; - padding: 0 !important; - margin: -1px !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; -} - -.stretched-link::after { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - z-index: 1; - content: ""; -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.vr { - display: inline-block; - align-self: stretch; - width: 1px; - min-height: 1em; - background-color: currentcolor; - opacity: 0.16; -} - -.align-baseline { - vertical-align: baseline !important; -} - -.align-top { - vertical-align: top !important; -} - -.align-middle { - vertical-align: middle !important; -} - -.align-bottom { - vertical-align: bottom !important; -} - -.align-text-bottom { - vertical-align: text-bottom !important; -} - -.align-text-top { - vertical-align: text-top !important; -} - -.float-start { - float: right !important; -} - -.float-end { - float: left !important; -} - -.float-none { - float: none !important; -} - -.opacity-0 { - opacity: 0 !important; -} - -.opacity-25 { - opacity: 0.25 !important; -} - -.opacity-50 { - opacity: 0.5 !important; -} - -.opacity-75 { - opacity: 0.75 !important; -} - -.opacity-100 { - opacity: 1 !important; -} - -.overflow-auto { - overflow: auto !important; -} - -.overflow-hidden { - overflow: hidden !important; -} - -.overflow-visible { - overflow: visible !important; -} - -.overflow-scroll { - overflow: scroll !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-grid { - display: grid !important; -} - -.d-table { - display: table !important; -} - -.d-table-row { - display: table-row !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: flex !important; -} - -.d-inline-flex { - display: inline-flex !important; -} - -.d-none { - display: none !important; -} - -.shadow { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; -} - -.shadow-sm { - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; -} - -.shadow-lg { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; -} - -.shadow-none { - box-shadow: none !important; -} - -.position-static { - position: static !important; -} - -.position-relative { - position: relative !important; -} - -.position-absolute { - position: absolute !important; -} - -.position-fixed { - position: fixed !important; -} - -.position-sticky { - position: -webkit-sticky !important; - position: sticky !important; -} - -.top-0 { - top: 0 !important; -} - -.top-50 { - top: 50% !important; -} - -.top-100 { - top: 100% !important; -} - -.bottom-0 { - bottom: 0 !important; -} - -.bottom-50 { - bottom: 50% !important; -} - -.bottom-100 { - bottom: 100% !important; -} - -.start-0 { - right: 0 !important; -} - -.start-50 { - right: 50% !important; -} - -.start-100 { - right: 100% !important; -} - -.end-0 { - left: 0 !important; -} - -.end-50 { - left: 50% !important; -} - -.end-100 { - left: 100% !important; -} - -.translate-middle { - transform: translate(50%, -50%) !important; -} - -.translate-middle-x { - transform: translateX(50%) !important; -} - -.translate-middle-y { - transform: translateY(-50%) !important; -} - -.border { - border: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-wide { - border: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-0 { - border: 0 !important; -} - -.border-top { - border-top: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-top-wide { - border-top: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-top-0 { - border-top: 0 !important; -} - -.border-end { - border-left: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-end-wide { - border-left: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-end-0 { - border-left: 0 !important; -} - -.border-bottom { - border-bottom: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-bottom-wide { - border-bottom: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-bottom-0 { - border-bottom: 0 !important; -} - -.border-start { - border-right: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-start-wide { - border-right: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-start-0 { - border-right: 0 !important; -} - -.border-primary { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-primary-rgb), var(--tblr-border-opacity)) !important; -} - -.border-secondary { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-secondary-rgb), var(--tblr-border-opacity)) !important; -} - -.border-success { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-success-rgb), var(--tblr-border-opacity)) !important; -} - -.border-info { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-info-rgb), var(--tblr-border-opacity)) !important; -} - -.border-warning { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-warning-rgb), var(--tblr-border-opacity)) !important; -} - -.border-danger { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-danger-rgb), var(--tblr-border-opacity)) !important; -} - -.border-light { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-light-rgb), var(--tblr-border-opacity)) !important; -} - -.border-dark { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-dark-rgb), var(--tblr-border-opacity)) !important; -} - -.border-muted { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-muted-rgb), var(--tblr-border-opacity)) !important; -} - -.border-blue { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-blue-rgb), var(--tblr-border-opacity)) !important; -} - -.border-azure { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-azure-rgb), var(--tblr-border-opacity)) !important; -} - -.border-indigo { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-indigo-rgb), var(--tblr-border-opacity)) !important; -} - -.border-purple { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-purple-rgb), var(--tblr-border-opacity)) !important; -} - -.border-pink { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-pink-rgb), var(--tblr-border-opacity)) !important; -} - -.border-red { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-red-rgb), var(--tblr-border-opacity)) !important; -} - -.border-orange { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-orange-rgb), var(--tblr-border-opacity)) !important; -} - -.border-yellow { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-yellow-rgb), var(--tblr-border-opacity)) !important; -} - -.border-lime { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-lime-rgb), var(--tblr-border-opacity)) !important; -} - -.border-green { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-green-rgb), var(--tblr-border-opacity)) !important; -} - -.border-teal { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-teal-rgb), var(--tblr-border-opacity)) !important; -} - -.border-cyan { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-cyan-rgb), var(--tblr-border-opacity)) !important; -} - -.border-facebook { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-facebook-rgb), var(--tblr-border-opacity)) !important; -} - -.border-twitter { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-twitter-rgb), var(--tblr-border-opacity)) !important; -} - -.border-linkedin { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-border-opacity)) !important; -} - -.border-google { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-google-rgb), var(--tblr-border-opacity)) !important; -} - -.border-youtube { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-youtube-rgb), var(--tblr-border-opacity)) !important; -} - -.border-vimeo { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-border-opacity)) !important; -} - -.border-dribbble { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-border-opacity)) !important; -} - -.border-github { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-github-rgb), var(--tblr-border-opacity)) !important; -} - -.border-instagram { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-instagram-rgb), var(--tblr-border-opacity)) !important; -} - -.border-pinterest { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-border-opacity)) !important; -} - -.border-vk { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-vk-rgb), var(--tblr-border-opacity)) !important; -} - -.border-rss { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-rss-rgb), var(--tblr-border-opacity)) !important; -} - -.border-flickr { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-flickr-rgb), var(--tblr-border-opacity)) !important; -} - -.border-bitbucket { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-border-opacity)) !important; -} - -.border-tabler { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-tabler-rgb), var(--tblr-border-opacity)) !important; -} - -.border-white { - --tblr-border-opacity: 1; - border-color: rgba(var(--tblr-white-rgb), var(--tblr-border-opacity)) !important; -} - -.border-1 { - --tblr-border-width: 1px; -} - -.border-2 { - --tblr-border-width: 2px; -} - -.border-3 { - --tblr-border-width: 3px; -} - -.border-4 { - --tblr-border-width: 4px; -} - -.border-5 { - --tblr-border-width: 5px; -} - -.border-opacity-10 { - --tblr-border-opacity: 0.1; -} - -.border-opacity-25 { - --tblr-border-opacity: 0.25; -} - -.border-opacity-50 { - --tblr-border-opacity: 0.5; -} - -.border-opacity-75 { - --tblr-border-opacity: 0.75; -} - -.border-opacity-100 { - --tblr-border-opacity: 1; -} - -.w-0 { - width: 0 !important; -} - -.w-1 { - width: 0.25rem !important; -} - -.w-2 { - width: 0.5rem !important; -} - -.w-3 { - width: 1rem !important; -} - -.w-4 { - width: 2rem !important; -} - -.w-5 { - width: 4rem !important; -} - -.w-25 { - width: 25% !important; -} - -.w-33 { - width: 33.33333% !important; -} - -.w-50 { - width: 50% !important; -} - -.w-66 { - width: 66.66666% !important; -} - -.w-75 { - width: 75% !important; -} - -.w-100 { - width: 100% !important; -} - -.w-auto { - width: auto !important; -} - -.mw-100 { - max-width: 100% !important; -} - -.vw-100 { - width: 100vw !important; -} - -.min-vw-100 { - min-width: 100vw !important; -} - -.h-0 { - height: 0 !important; -} - -.h-1 { - height: 0.25rem !important; -} - -.h-2 { - height: 0.5rem !important; -} - -.h-3 { - height: 1rem !important; -} - -.h-4 { - height: 2rem !important; -} - -.h-5 { - height: 4rem !important; -} - -.h-25 { - height: 25% !important; -} - -.h-33 { - height: 33.33333% !important; -} - -.h-50 { - height: 50% !important; -} - -.h-66 { - height: 66.66666% !important; -} - -.h-75 { - height: 75% !important; -} - -.h-100 { - height: 100% !important; -} - -.h-auto { - height: auto !important; -} - -.mh-100 { - max-height: 100% !important; -} - -.vh-100 { - height: 100vh !important; -} - -.min-vh-100 { - min-height: 100vh !important; -} - -.flex-fill { - flex: 1 1 auto !important; -} - -.flex-row { - flex-direction: row !important; -} - -.flex-column { - flex-direction: column !important; -} - -.flex-row-reverse { - flex-direction: row-reverse !important; -} - -.flex-column-reverse { - flex-direction: column-reverse !important; -} - -.flex-grow-0 { - flex-grow: 0 !important; -} - -.flex-grow-1 { - flex-grow: 1 !important; -} - -.flex-shrink-0 { - flex-shrink: 0 !important; -} - -.flex-shrink-1 { - flex-shrink: 1 !important; -} - -.flex-wrap { - flex-wrap: wrap !important; -} - -.flex-nowrap { - flex-wrap: nowrap !important; -} - -.flex-wrap-reverse { - flex-wrap: wrap-reverse !important; -} - -.justify-content-start { - justify-content: flex-start !important; -} - -.justify-content-end { - justify-content: flex-end !important; -} - -.justify-content-center { - justify-content: center !important; -} - -.justify-content-between { - justify-content: space-between !important; -} - -.justify-content-around { - justify-content: space-around !important; -} - -.justify-content-evenly { - justify-content: space-evenly !important; -} - -.align-items-start { - align-items: flex-start !important; -} - -.align-items-end { - align-items: flex-end !important; -} - -.align-items-center { - align-items: center !important; -} - -.align-items-baseline { - align-items: baseline !important; -} - -.align-items-stretch { - align-items: stretch !important; -} - -.align-content-start { - align-content: flex-start !important; -} - -.align-content-end { - align-content: flex-end !important; -} - -.align-content-center { - align-content: center !important; -} - -.align-content-between { - align-content: space-between !important; -} - -.align-content-around { - align-content: space-around !important; -} - -.align-content-stretch { - align-content: stretch !important; -} - -.align-self-auto { - align-self: auto !important; -} - -.align-self-start { - align-self: flex-start !important; -} - -.align-self-end { - align-self: flex-end !important; -} - -.align-self-center { - align-self: center !important; -} - -.align-self-baseline { - align-self: baseline !important; -} - -.align-self-stretch { - align-self: stretch !important; -} - -.order-first { - order: -1 !important; -} - -.order-0 { - order: 0 !important; -} - -.order-1 { - order: 1 !important; -} - -.order-2 { - order: 2 !important; -} - -.order-3 { - order: 3 !important; -} - -.order-4 { - order: 4 !important; -} - -.order-5 { - order: 5 !important; -} - -.order-last { - order: 6 !important; -} - -.m-0 { - margin: 0 !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.m-3 { - margin: 1rem !important; -} - -.m-4 { - margin: 2rem !important; -} - -.m-5 { - margin: 4rem !important; -} - -.m-auto { - margin: auto !important; -} - -.mx-0 { - margin-left: 0 !important; - margin-right: 0 !important; -} - -.mx-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; -} - -.mx-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; -} - -.mx-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; -} - -.mx-4 { - margin-left: 2rem !important; - margin-right: 2rem !important; -} - -.mx-5 { - margin-left: 4rem !important; - margin-right: 4rem !important; -} - -.mx-auto { - margin-left: auto !important; - margin-right: auto !important; -} - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; -} - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; -} - -.my-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.my-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; -} - -.my-4 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; -} - -.my-5 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; -} - -.my-auto { - margin-top: auto !important; - margin-bottom: auto !important; -} - -.mt-0 { - margin-top: 0 !important; -} - -.mt-1 { - margin-top: 0.25rem !important; -} - -.mt-2 { - margin-top: 0.5rem !important; -} - -.mt-3 { - margin-top: 1rem !important; -} - -.mt-4 { - margin-top: 2rem !important; -} - -.mt-5 { - margin-top: 4rem !important; -} - -.mt-auto { - margin-top: auto !important; -} - -.me-0 { - margin-left: 0 !important; -} - -.me-1 { - margin-left: 0.25rem !important; -} - -.me-2 { - margin-left: 0.5rem !important; -} - -.me-3 { - margin-left: 1rem !important; -} - -.me-4 { - margin-left: 2rem !important; -} - -.me-5 { - margin-left: 4rem !important; -} - -.me-auto { - margin-left: auto !important; -} - -.mb-0 { - margin-bottom: 0 !important; -} - -.mb-1 { - margin-bottom: 0.25rem !important; -} - -.mb-2 { - margin-bottom: 0.5rem !important; -} - -.mb-3 { - margin-bottom: 1rem !important; -} - -.mb-4 { - margin-bottom: 2rem !important; -} - -.mb-5 { - margin-bottom: 4rem !important; -} - -.mb-auto { - margin-bottom: auto !important; -} - -.ms-0 { - margin-right: 0 !important; -} - -.ms-1 { - margin-right: 0.25rem !important; -} - -.ms-2 { - margin-right: 0.5rem !important; -} - -.ms-3 { - margin-right: 1rem !important; -} - -.ms-4 { - margin-right: 2rem !important; -} - -.ms-5 { - margin-right: 4rem !important; -} - -.ms-auto { - margin-right: auto !important; -} - -.p-0 { - padding: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.p-3 { - padding: 1rem !important; -} - -.p-4 { - padding: 2rem !important; -} - -.p-5 { - padding: 4rem !important; -} - -.px-0 { - padding-left: 0 !important; - padding-right: 0 !important; -} - -.px-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; -} - -.px-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; -} - -.px-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; -} - -.px-4 { - padding-left: 2rem !important; - padding-right: 2rem !important; -} - -.px-5 { - padding-left: 4rem !important; - padding-right: 4rem !important; -} - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; -} - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; -} - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; -} - -.py-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; -} - -.py-4 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; -} - -.py-5 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; -} - -.pt-0 { - padding-top: 0 !important; -} - -.pt-1 { - padding-top: 0.25rem !important; -} - -.pt-2 { - padding-top: 0.5rem !important; -} - -.pt-3 { - padding-top: 1rem !important; -} - -.pt-4 { - padding-top: 2rem !important; -} - -.pt-5 { - padding-top: 4rem !important; -} - -.pe-0 { - padding-left: 0 !important; -} - -.pe-1 { - padding-left: 0.25rem !important; -} - -.pe-2 { - padding-left: 0.5rem !important; -} - -.pe-3 { - padding-left: 1rem !important; -} - -.pe-4 { - padding-left: 2rem !important; -} - -.pe-5 { - padding-left: 4rem !important; -} - -.pb-0 { - padding-bottom: 0 !important; -} - -.pb-1 { - padding-bottom: 0.25rem !important; -} - -.pb-2 { - padding-bottom: 0.5rem !important; -} - -.pb-3 { - padding-bottom: 1rem !important; -} - -.pb-4 { - padding-bottom: 2rem !important; -} - -.pb-5 { - padding-bottom: 4rem !important; -} - -.ps-0 { - padding-right: 0 !important; -} - -.ps-1 { - padding-right: 0.25rem !important; -} - -.ps-2 { - padding-right: 0.5rem !important; -} - -.ps-3 { - padding-right: 1rem !important; -} - -.ps-4 { - padding-right: 2rem !important; -} - -.ps-5 { - padding-right: 4rem !important; -} - -.gap-0 { - gap: 0 !important; -} - -.gap-1 { - gap: 0.25rem !important; -} - -.gap-2 { - gap: 0.5rem !important; -} - -.gap-3 { - gap: 1rem !important; -} - -.gap-4 { - gap: 2rem !important; -} - -.gap-5 { - gap: 4rem !important; -} - -.font-monospace { - font-family: var(--tblr-font-monospace) !important; -} - -.fs-h1 { - font-size: 1.5rem !important; -} - -.fs-h2 { - font-size: 1.25rem !important; -} - -.fs-h3 { - font-size: 1rem !important; -} - -.fs-h4 { - font-size: 0.875rem !important; -} - -.fs-h5 { - font-size: 0.75rem !important; -} - -.fs-h6 { - font-size: 0.625rem !important; -} - -.fst-italic { - font-style: italic !important; -} - -.fst-normal { - font-style: normal !important; -} - -.fw-light { - font-weight: 300 !important; -} - -.fw-lighter { - font-weight: lighter !important; -} - -.fw-normal { - font-weight: 400 !important; -} - -.fw-bold { - font-weight: 600 !important; -} - -.fw-semibold { - font-weight: 600 !important; -} - -.fw-bolder { - font-weight: bolder !important; -} - -.lh-1 { - line-height: 1 !important; -} - -.lh-sm { - line-height: 1.1428571429 !important; -} - -.lh-base { - line-height: 1.4285714286 !important; -} - -.lh-lg { - line-height: 1.7142857143 !important; -} - -.text-start { - text-align: right !important; -} - -.text-end { - text-align: left !important; -} - -.text-center { - text-align: center !important; -} - -.text-decoration-none { - text-decoration: none !important; -} - -.text-decoration-underline { - text-decoration: underline !important; -} - -.text-decoration-line-through { - text-decoration: line-through !important; -} - -.text-lowercase { - text-transform: lowercase !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.text-capitalize { - text-transform: capitalize !important; -} - -.text-wrap { - white-space: normal !important; -} - -.text-nowrap { - white-space: nowrap !important; -} -.text-primary { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-primary-rgb), var(--tblr-text-opacity)) !important; -} - -.text-secondary { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-secondary-rgb), var(--tblr-text-opacity)) !important; -} - -.text-success { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-success-rgb), var(--tblr-text-opacity)) !important; -} - -.text-info { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-info-rgb), var(--tblr-text-opacity)) !important; -} - -.text-warning { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-warning-rgb), var(--tblr-text-opacity)) !important; -} - -.text-danger { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-danger-rgb), var(--tblr-text-opacity)) !important; -} - -.text-light { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-light-rgb), var(--tblr-text-opacity)) !important; -} - -.text-dark { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-dark-rgb), var(--tblr-text-opacity)) !important; -} - -.text-muted { - --tblr-text-opacity: 1; - color: #616876 !important; -} - -.text-blue { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-blue-rgb), var(--tblr-text-opacity)) !important; -} - -.text-azure { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-azure-rgb), var(--tblr-text-opacity)) !important; -} - -.text-indigo { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-indigo-rgb), var(--tblr-text-opacity)) !important; -} - -.text-purple { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-purple-rgb), var(--tblr-text-opacity)) !important; -} - -.text-pink { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-pink-rgb), var(--tblr-text-opacity)) !important; -} - -.text-red { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-red-rgb), var(--tblr-text-opacity)) !important; -} - -.text-orange { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-orange-rgb), var(--tblr-text-opacity)) !important; -} - -.text-yellow { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-yellow-rgb), var(--tblr-text-opacity)) !important; -} - -.text-lime { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-lime-rgb), var(--tblr-text-opacity)) !important; -} - -.text-green { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-green-rgb), var(--tblr-text-opacity)) !important; -} - -.text-teal { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-teal-rgb), var(--tblr-text-opacity)) !important; -} - -.text-cyan { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-cyan-rgb), var(--tblr-text-opacity)) !important; -} - -.text-facebook { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-facebook-rgb), var(--tblr-text-opacity)) !important; -} - -.text-twitter { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-twitter-rgb), var(--tblr-text-opacity)) !important; -} - -.text-linkedin { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-linkedin-rgb), var(--tblr-text-opacity)) !important; -} - -.text-google { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-google-rgb), var(--tblr-text-opacity)) !important; -} - -.text-youtube { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-youtube-rgb), var(--tblr-text-opacity)) !important; -} - -.text-vimeo { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-vimeo-rgb), var(--tblr-text-opacity)) !important; -} - -.text-dribbble { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-dribbble-rgb), var(--tblr-text-opacity)) !important; -} - -.text-github { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-github-rgb), var(--tblr-text-opacity)) !important; -} - -.text-instagram { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-instagram-rgb), var(--tblr-text-opacity)) !important; -} - -.text-pinterest { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-pinterest-rgb), var(--tblr-text-opacity)) !important; -} - -.text-vk { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-vk-rgb), var(--tblr-text-opacity)) !important; -} - -.text-rss { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-rss-rgb), var(--tblr-text-opacity)) !important; -} - -.text-flickr { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-flickr-rgb), var(--tblr-text-opacity)) !important; -} - -.text-bitbucket { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-text-opacity)) !important; -} - -.text-tabler { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-tabler-rgb), var(--tblr-text-opacity)) !important; -} - -.text-black { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-black-rgb), var(--tblr-text-opacity)) !important; -} - -.text-white { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-white-rgb), var(--tblr-text-opacity)) !important; -} - -.text-body { - --tblr-text-opacity: 1; - color: rgba(var(--tblr-body-color-rgb), var(--tblr-text-opacity)) !important; -} - -.text-black-50 { - --tblr-text-opacity: 1; - color: rgba(0, 0, 0, 0.5) !important; -} - -.text-white-50 { - --tblr-text-opacity: 1; - color: rgba(255, 255, 255, 0.5) !important; -} - -.text-reset { - --tblr-text-opacity: 1; - color: inherit !important; -} - -.text-opacity-25 { - --tblr-text-opacity: 0.25; -} - -.text-opacity-50 { - --tblr-text-opacity: 0.5; -} - -.text-opacity-75 { - --tblr-text-opacity: 0.75; -} - -.text-opacity-100 { - --tblr-text-opacity: 1; -} - -.bg-primary { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-primary-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-secondary { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-secondary-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-success { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-success-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-info { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-info-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-warning { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-warning-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-danger { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-danger-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-light { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-light-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-dark { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-dark-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-muted { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-muted-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-blue { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-blue-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-azure { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-azure-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-indigo { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-indigo-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-purple { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-purple-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-pink { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-pink-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-red { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-red-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-orange { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-orange-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-yellow { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-yellow-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-lime { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-lime-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-green { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-green-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-teal { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-teal-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-cyan { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-cyan-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-facebook { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-facebook-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-twitter { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-twitter-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-linkedin { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-linkedin-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-google { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-google-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-youtube { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-youtube-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-vimeo { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-vimeo-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-dribbble { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-dribbble-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-github { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-github-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-instagram { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-instagram-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-pinterest { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-pinterest-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-vk { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-vk-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-rss { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-rss-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-flickr { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-flickr-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-bitbucket { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-bitbucket-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-tabler { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-tabler-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-black { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-black-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-white { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-white-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-body { - --tblr-bg-opacity: 1; - background-color: rgba(var(--tblr-body-bg-rgb), var(--tblr-bg-opacity)) !important; -} - -.bg-transparent { - --tblr-bg-opacity: 1; - background-color: transparent !important; -} - -.bg-opacity-10 { - --tblr-bg-opacity: 0.1; -} - -.bg-opacity-25 { - --tblr-bg-opacity: 0.25; -} - -.bg-opacity-50 { - --tblr-bg-opacity: 0.5; -} - -.bg-opacity-75 { - --tblr-bg-opacity: 0.75; -} - -.bg-opacity-100 { - --tblr-bg-opacity: 1; -} - -.bg-gradient { - background-image: var(--tblr-gradient) !important; -} - -.user-select-all { - -webkit-user-select: all !important; - -moz-user-select: all !important; - user-select: all !important; -} - -.user-select-auto { - -webkit-user-select: auto !important; - -moz-user-select: auto !important; - -ms-user-select: auto !important; - user-select: auto !important; -} - -.user-select-none { - -webkit-user-select: none !important; - -moz-user-select: none !important; - -ms-user-select: none !important; - user-select: none !important; -} - -.pe-none { - pointer-events: none !important; -} - -.pe-auto { - pointer-events: auto !important; -} - -.rounded { - border-radius: var(--tblr-border-radius) !important; -} - -.rounded-0 { - border-radius: 0 !important; -} - -.rounded-1 { - border-radius: var(--tblr-border-radius-sm) !important; -} - -.rounded-2 { - border-radius: var(--tblr-border-radius) !important; -} - -.rounded-3 { - border-radius: var(--tblr-border-radius-lg) !important; -} - -.rounded-4 { - border-radius: var(--tblr-border-radius-xl) !important; -} - -.rounded-5 { - border-radius: var(--tblr-border-radius-2xl) !important; -} - -.rounded-circle { - border-radius: 50% !important; -} - -.rounded-pill { - border-radius: var(--tblr-border-radius-pill) !important; -} - -.rounded-top { - border-top-right-radius: var(--tblr-border-radius) !important; - border-top-left-radius: var(--tblr-border-radius) !important; -} - -.rounded-end { - border-top-left-radius: var(--tblr-border-radius) !important; - border-bottom-left-radius: var(--tblr-border-radius) !important; -} - -.rounded-bottom { - border-bottom-left-radius: var(--tblr-border-radius) !important; - border-bottom-right-radius: var(--tblr-border-radius) !important; -} - -.rounded-start { - border-bottom-right-radius: var(--tblr-border-radius) !important; - border-top-right-radius: var(--tblr-border-radius) !important; -} - -.visible { - visibility: visible !important; -} - -.invisible { - visibility: hidden !important; -} - -.object-contain { - -o-object-fit: contain !important; - object-fit: contain !important; -} - -.object-cover { - -o-object-fit: cover !important; - object-fit: cover !important; -} - -.object-fill { - -o-object-fit: fill !important; - object-fit: fill !important; -} - -.object-scale-down { - -o-object-fit: scale-down !important; - object-fit: scale-down !important; -} - -.object-none { - -o-object-fit: none !important; - object-fit: none !important; -} - -.tracking-tight { - letter-spacing: -0.05em !important; -} - -.tracking-normal { - letter-spacing: 0 !important; -} - -.tracking-wide { - letter-spacing: 0.05em !important; -} - -.cursor-auto { - cursor: auto !important; -} - -.cursor-pointer { - cursor: pointer !important; -} - -.cursor-move { - cursor: move !important; -} - -.cursor-not-allowed { - cursor: not-allowed !important; -} - -.cursor-zoom-in { - cursor: zoom-in !important; -} - -.cursor-zoom-out { - cursor: zoom-out !important; -} - -.cursor-default { - cursor: default !important; -} - -.cursor-none { - cursor: none !important; -} - -.cursor-help { - cursor: help !important; -} - -.cursor-progress { - cursor: progress !important; -} - -.cursor-wait { - cursor: wait !important; -} - -.cursor-text { - cursor: text !important; -} - -.cursor-v-text { - cursor: vertical-text !important; -} - -.cursor-grab { - cursor: -webkit-grab !important; - cursor: grab !important; -} - -.cursor-grabbing { - cursor: -webkit-grabbing !important; - cursor: grabbing !important; -} - -.border-x { - border-right: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; - border-left: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-x-wide { - border-right: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; - border-left: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-x-0 { - border-right: 0 !important; - border-left: 0 !important; -} - -.border-y { - border-top: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; - border-bottom: 1px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-y-wide { - border-top: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; - border-bottom: 2px var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} - -.border-y-0 { - border-top: 0 !important; - border-bottom: 0 !important; -} - -.columns-2 { - -moz-columns: 2 !important; - columns: 2 !important; -} - -.columns-3 { - -moz-columns: 3 !important; - columns: 3 !important; -} - -.columns-4 { - -moz-columns: 4 !important; - columns: 4 !important; -} - -@media (min-width: 576px) { - .float-sm-start { - float: right !important; - } - .float-sm-end { - float: left !important; - } - .float-sm-none { - float: none !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !important; - } - .d-sm-grid { - display: grid !important; - } - .d-sm-table { - display: table !important; - } - .d-sm-table-row { - display: table-row !important; - } - .d-sm-table-cell { - display: table-cell !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline-flex { - display: inline-flex !important; - } - .d-sm-none { - display: none !important; - } - .flex-sm-fill { - flex: 1 1 auto !important; - } - .flex-sm-row { - flex-direction: row !important; - } - .flex-sm-column { - flex-direction: column !important; - } - .flex-sm-row-reverse { - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - flex-direction: column-reverse !important; - } - .flex-sm-grow-0 { - flex-grow: 0 !important; - } - .flex-sm-grow-1 { - flex-grow: 1 !important; - } - .flex-sm-shrink-0 { - flex-shrink: 0 !important; - } - .flex-sm-shrink-1 { - flex-shrink: 1 !important; - } - .flex-sm-wrap { - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .justify-content-sm-start { - justify-content: flex-start !important; - } - .justify-content-sm-end { - justify-content: flex-end !important; - } - .justify-content-sm-center { - justify-content: center !important; - } - .justify-content-sm-between { - justify-content: space-between !important; - } - .justify-content-sm-around { - justify-content: space-around !important; - } - .justify-content-sm-evenly { - justify-content: space-evenly !important; - } - .align-items-sm-start { - align-items: flex-start !important; - } - .align-items-sm-end { - align-items: flex-end !important; - } - .align-items-sm-center { - align-items: center !important; - } - .align-items-sm-baseline { - align-items: baseline !important; - } - .align-items-sm-stretch { - align-items: stretch !important; - } - .align-content-sm-start { - align-content: flex-start !important; - } - .align-content-sm-end { - align-content: flex-end !important; - } - .align-content-sm-center { - align-content: center !important; - } - .align-content-sm-between { - align-content: space-between !important; - } - .align-content-sm-around { - align-content: space-around !important; - } - .align-content-sm-stretch { - align-content: stretch !important; - } - .align-self-sm-auto { - align-self: auto !important; - } - .align-self-sm-start { - align-self: flex-start !important; - } - .align-self-sm-end { - align-self: flex-end !important; - } - .align-self-sm-center { - align-self: center !important; - } - .align-self-sm-baseline { - align-self: baseline !important; - } - .align-self-sm-stretch { - align-self: stretch !important; - } - .order-sm-first { - order: -1 !important; - } - .order-sm-0 { - order: 0 !important; - } - .order-sm-1 { - order: 1 !important; - } - .order-sm-2 { - order: 2 !important; - } - .order-sm-3 { - order: 3 !important; - } - .order-sm-4 { - order: 4 !important; - } - .order-sm-5 { - order: 5 !important; - } - .order-sm-last { - order: 6 !important; - } - .m-sm-0 { - margin: 0 !important; - } - .m-sm-1 { - margin: 0.25rem !important; - } - .m-sm-2 { - margin: 0.5rem !important; - } - .m-sm-3 { - margin: 1rem !important; - } - .m-sm-4 { - margin: 2rem !important; - } - .m-sm-5 { - margin: 4rem !important; - } - .m-sm-auto { - margin: auto !important; - } - .mx-sm-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .mx-sm-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .mx-sm-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .mx-sm-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .mx-sm-4 { - margin-left: 2rem !important; - margin-right: 2rem !important; - } - .mx-sm-5 { - margin-left: 4rem !important; - margin-right: 4rem !important; - } - .mx-sm-auto { - margin-left: auto !important; - margin-right: auto !important; - } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-sm-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .my-sm-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .my-sm-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .my-sm-4 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .my-sm-5 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .my-sm-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } - .mt-sm-0 { - margin-top: 0 !important; - } - .mt-sm-1 { - margin-top: 0.25rem !important; - } - .mt-sm-2 { - margin-top: 0.5rem !important; - } - .mt-sm-3 { - margin-top: 1rem !important; - } - .mt-sm-4 { - margin-top: 2rem !important; - } - .mt-sm-5 { - margin-top: 4rem !important; - } - .mt-sm-auto { - margin-top: auto !important; - } - .me-sm-0 { - margin-left: 0 !important; - } - .me-sm-1 { - margin-left: 0.25rem !important; - } - .me-sm-2 { - margin-left: 0.5rem !important; - } - .me-sm-3 { - margin-left: 1rem !important; - } - .me-sm-4 { - margin-left: 2rem !important; - } - .me-sm-5 { - margin-left: 4rem !important; - } - .me-sm-auto { - margin-left: auto !important; - } - .mb-sm-0 { - margin-bottom: 0 !important; - } - .mb-sm-1 { - margin-bottom: 0.25rem !important; - } - .mb-sm-2 { - margin-bottom: 0.5rem !important; - } - .mb-sm-3 { - margin-bottom: 1rem !important; - } - .mb-sm-4 { - margin-bottom: 2rem !important; - } - .mb-sm-5 { - margin-bottom: 4rem !important; - } - .mb-sm-auto { - margin-bottom: auto !important; - } - .ms-sm-0 { - margin-right: 0 !important; - } - .ms-sm-1 { - margin-right: 0.25rem !important; - } - .ms-sm-2 { - margin-right: 0.5rem !important; - } - .ms-sm-3 { - margin-right: 1rem !important; - } - .ms-sm-4 { - margin-right: 2rem !important; - } - .ms-sm-5 { - margin-right: 4rem !important; - } - .ms-sm-auto { - margin-right: auto !important; - } - .p-sm-0 { - padding: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .p-sm-3 { - padding: 1rem !important; - } - .p-sm-4 { - padding: 2rem !important; - } - .p-sm-5 { - padding: 4rem !important; - } - .px-sm-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .px-sm-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .px-sm-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .px-sm-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .px-sm-4 { - padding-left: 2rem !important; - padding-right: 2rem !important; - } - .px-sm-5 { - padding-left: 4rem !important; - padding-right: 4rem !important; - } - .py-sm-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .py-sm-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .py-sm-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .py-sm-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .py-sm-4 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .py-sm-5 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } - .pt-sm-0 { - padding-top: 0 !important; - } - .pt-sm-1 { - padding-top: 0.25rem !important; - } - .pt-sm-2 { - padding-top: 0.5rem !important; - } - .pt-sm-3 { - padding-top: 1rem !important; - } - .pt-sm-4 { - padding-top: 2rem !important; - } - .pt-sm-5 { - padding-top: 4rem !important; - } - .pe-sm-0 { - padding-left: 0 !important; - } - .pe-sm-1 { - padding-left: 0.25rem !important; - } - .pe-sm-2 { - padding-left: 0.5rem !important; - } - .pe-sm-3 { - padding-left: 1rem !important; - } - .pe-sm-4 { - padding-left: 2rem !important; - } - .pe-sm-5 { - padding-left: 4rem !important; - } - .pb-sm-0 { - padding-bottom: 0 !important; - } - .pb-sm-1 { - padding-bottom: 0.25rem !important; - } - .pb-sm-2 { - padding-bottom: 0.5rem !important; - } - .pb-sm-3 { - padding-bottom: 1rem !important; - } - .pb-sm-4 { - padding-bottom: 2rem !important; - } - .pb-sm-5 { - padding-bottom: 4rem !important; - } - .ps-sm-0 { - padding-right: 0 !important; - } - .ps-sm-1 { - padding-right: 0.25rem !important; - } - .ps-sm-2 { - padding-right: 0.5rem !important; - } - .ps-sm-3 { - padding-right: 1rem !important; - } - .ps-sm-4 { - padding-right: 2rem !important; - } - .ps-sm-5 { - padding-right: 4rem !important; - } - .gap-sm-0 { - gap: 0 !important; - } - .gap-sm-1 { - gap: 0.25rem !important; - } - .gap-sm-2 { - gap: 0.5rem !important; - } - .gap-sm-3 { - gap: 1rem !important; - } - .gap-sm-4 { - gap: 2rem !important; - } - .gap-sm-5 { - gap: 4rem !important; - } - .text-sm-start { - text-align: right !important; - } - .text-sm-end { - text-align: left !important; - } - .text-sm-center { - text-align: center !important; - } - .columns-sm-2 { - -moz-columns: 2 !important; - columns: 2 !important; - } - .columns-sm-3 { - -moz-columns: 3 !important; - columns: 3 !important; - } - .columns-sm-4 { - -moz-columns: 4 !important; - columns: 4 !important; - } -} -@media (min-width: 768px) { - .float-md-start { - float: right !important; - } - .float-md-end { - float: left !important; - } - .float-md-none { - float: none !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !important; - } - .d-md-grid { - display: grid !important; - } - .d-md-table { - display: table !important; - } - .d-md-table-row { - display: table-row !important; - } - .d-md-table-cell { - display: table-cell !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline-flex { - display: inline-flex !important; - } - .d-md-none { - display: none !important; - } - .flex-md-fill { - flex: 1 1 auto !important; - } - .flex-md-row { - flex-direction: row !important; - } - .flex-md-column { - flex-direction: column !important; - } - .flex-md-row-reverse { - flex-direction: row-reverse !important; - } - .flex-md-column-reverse { - flex-direction: column-reverse !important; - } - .flex-md-grow-0 { - flex-grow: 0 !important; - } - .flex-md-grow-1 { - flex-grow: 1 !important; - } - .flex-md-shrink-0 { - flex-shrink: 0 !important; - } - .flex-md-shrink-1 { - flex-shrink: 1 !important; - } - .flex-md-wrap { - flex-wrap: wrap !important; - } - .flex-md-nowrap { - flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .justify-content-md-start { - justify-content: flex-start !important; - } - .justify-content-md-end { - justify-content: flex-end !important; - } - .justify-content-md-center { - justify-content: center !important; - } - .justify-content-md-between { - justify-content: space-between !important; - } - .justify-content-md-around { - justify-content: space-around !important; - } - .justify-content-md-evenly { - justify-content: space-evenly !important; - } - .align-items-md-start { - align-items: flex-start !important; - } - .align-items-md-end { - align-items: flex-end !important; - } - .align-items-md-center { - align-items: center !important; - } - .align-items-md-baseline { - align-items: baseline !important; - } - .align-items-md-stretch { - align-items: stretch !important; - } - .align-content-md-start { - align-content: flex-start !important; - } - .align-content-md-end { - align-content: flex-end !important; - } - .align-content-md-center { - align-content: center !important; - } - .align-content-md-between { - align-content: space-between !important; - } - .align-content-md-around { - align-content: space-around !important; - } - .align-content-md-stretch { - align-content: stretch !important; - } - .align-self-md-auto { - align-self: auto !important; - } - .align-self-md-start { - align-self: flex-start !important; - } - .align-self-md-end { - align-self: flex-end !important; - } - .align-self-md-center { - align-self: center !important; - } - .align-self-md-baseline { - align-self: baseline !important; - } - .align-self-md-stretch { - align-self: stretch !important; - } - .order-md-first { - order: -1 !important; - } - .order-md-0 { - order: 0 !important; - } - .order-md-1 { - order: 1 !important; - } - .order-md-2 { - order: 2 !important; - } - .order-md-3 { - order: 3 !important; - } - .order-md-4 { - order: 4 !important; - } - .order-md-5 { - order: 5 !important; - } - .order-md-last { - order: 6 !important; - } - .m-md-0 { - margin: 0 !important; - } - .m-md-1 { - margin: 0.25rem !important; - } - .m-md-2 { - margin: 0.5rem !important; - } - .m-md-3 { - margin: 1rem !important; - } - .m-md-4 { - margin: 2rem !important; - } - .m-md-5 { - margin: 4rem !important; - } - .m-md-auto { - margin: auto !important; - } - .mx-md-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .mx-md-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .mx-md-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .mx-md-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .mx-md-4 { - margin-left: 2rem !important; - margin-right: 2rem !important; - } - .mx-md-5 { - margin-left: 4rem !important; - margin-right: 4rem !important; - } - .mx-md-auto { - margin-left: auto !important; - margin-right: auto !important; - } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-md-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .my-md-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .my-md-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .my-md-4 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .my-md-5 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .my-md-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } - .mt-md-0 { - margin-top: 0 !important; - } - .mt-md-1 { - margin-top: 0.25rem !important; - } - .mt-md-2 { - margin-top: 0.5rem !important; - } - .mt-md-3 { - margin-top: 1rem !important; - } - .mt-md-4 { - margin-top: 2rem !important; - } - .mt-md-5 { - margin-top: 4rem !important; - } - .mt-md-auto { - margin-top: auto !important; - } - .me-md-0 { - margin-left: 0 !important; - } - .me-md-1 { - margin-left: 0.25rem !important; - } - .me-md-2 { - margin-left: 0.5rem !important; - } - .me-md-3 { - margin-left: 1rem !important; - } - .me-md-4 { - margin-left: 2rem !important; - } - .me-md-5 { - margin-left: 4rem !important; - } - .me-md-auto { - margin-left: auto !important; - } - .mb-md-0 { - margin-bottom: 0 !important; - } - .mb-md-1 { - margin-bottom: 0.25rem !important; - } - .mb-md-2 { - margin-bottom: 0.5rem !important; - } - .mb-md-3 { - margin-bottom: 1rem !important; - } - .mb-md-4 { - margin-bottom: 2rem !important; - } - .mb-md-5 { - margin-bottom: 4rem !important; - } - .mb-md-auto { - margin-bottom: auto !important; - } - .ms-md-0 { - margin-right: 0 !important; - } - .ms-md-1 { - margin-right: 0.25rem !important; - } - .ms-md-2 { - margin-right: 0.5rem !important; - } - .ms-md-3 { - margin-right: 1rem !important; - } - .ms-md-4 { - margin-right: 2rem !important; - } - .ms-md-5 { - margin-right: 4rem !important; - } - .ms-md-auto { - margin-right: auto !important; - } - .p-md-0 { - padding: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .p-md-3 { - padding: 1rem !important; - } - .p-md-4 { - padding: 2rem !important; - } - .p-md-5 { - padding: 4rem !important; - } - .px-md-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .px-md-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .px-md-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .px-md-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .px-md-4 { - padding-left: 2rem !important; - padding-right: 2rem !important; - } - .px-md-5 { - padding-left: 4rem !important; - padding-right: 4rem !important; - } - .py-md-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .py-md-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .py-md-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .py-md-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .py-md-4 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .py-md-5 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } - .pt-md-0 { - padding-top: 0 !important; - } - .pt-md-1 { - padding-top: 0.25rem !important; - } - .pt-md-2 { - padding-top: 0.5rem !important; - } - .pt-md-3 { - padding-top: 1rem !important; - } - .pt-md-4 { - padding-top: 2rem !important; - } - .pt-md-5 { - padding-top: 4rem !important; - } - .pe-md-0 { - padding-left: 0 !important; - } - .pe-md-1 { - padding-left: 0.25rem !important; - } - .pe-md-2 { - padding-left: 0.5rem !important; - } - .pe-md-3 { - padding-left: 1rem !important; - } - .pe-md-4 { - padding-left: 2rem !important; - } - .pe-md-5 { - padding-left: 4rem !important; - } - .pb-md-0 { - padding-bottom: 0 !important; - } - .pb-md-1 { - padding-bottom: 0.25rem !important; - } - .pb-md-2 { - padding-bottom: 0.5rem !important; - } - .pb-md-3 { - padding-bottom: 1rem !important; - } - .pb-md-4 { - padding-bottom: 2rem !important; - } - .pb-md-5 { - padding-bottom: 4rem !important; - } - .ps-md-0 { - padding-right: 0 !important; - } - .ps-md-1 { - padding-right: 0.25rem !important; - } - .ps-md-2 { - padding-right: 0.5rem !important; - } - .ps-md-3 { - padding-right: 1rem !important; - } - .ps-md-4 { - padding-right: 2rem !important; - } - .ps-md-5 { - padding-right: 4rem !important; - } - .gap-md-0 { - gap: 0 !important; - } - .gap-md-1 { - gap: 0.25rem !important; - } - .gap-md-2 { - gap: 0.5rem !important; - } - .gap-md-3 { - gap: 1rem !important; - } - .gap-md-4 { - gap: 2rem !important; - } - .gap-md-5 { - gap: 4rem !important; - } - .text-md-start { - text-align: right !important; - } - .text-md-end { - text-align: left !important; - } - .text-md-center { - text-align: center !important; - } - .columns-md-2 { - -moz-columns: 2 !important; - columns: 2 !important; - } - .columns-md-3 { - -moz-columns: 3 !important; - columns: 3 !important; - } - .columns-md-4 { - -moz-columns: 4 !important; - columns: 4 !important; - } -} -@media (min-width: 992px) { - .float-lg-start { - float: right !important; - } - .float-lg-end { - float: left !important; - } - .float-lg-none { - float: none !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !important; - } - .d-lg-grid { - display: grid !important; - } - .d-lg-table { - display: table !important; - } - .d-lg-table-row { - display: table-row !important; - } - .d-lg-table-cell { - display: table-cell !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline-flex { - display: inline-flex !important; - } - .d-lg-none { - display: none !important; - } - .flex-lg-fill { - flex: 1 1 auto !important; - } - .flex-lg-row { - flex-direction: row !important; - } - .flex-lg-column { - flex-direction: column !important; - } - .flex-lg-row-reverse { - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - flex-direction: column-reverse !important; - } - .flex-lg-grow-0 { - flex-grow: 0 !important; - } - .flex-lg-grow-1 { - flex-grow: 1 !important; - } - .flex-lg-shrink-0 { - flex-shrink: 0 !important; - } - .flex-lg-shrink-1 { - flex-shrink: 1 !important; - } - .flex-lg-wrap { - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .justify-content-lg-start { - justify-content: flex-start !important; - } - .justify-content-lg-end { - justify-content: flex-end !important; - } - .justify-content-lg-center { - justify-content: center !important; - } - .justify-content-lg-between { - justify-content: space-between !important; - } - .justify-content-lg-around { - justify-content: space-around !important; - } - .justify-content-lg-evenly { - justify-content: space-evenly !important; - } - .align-items-lg-start { - align-items: flex-start !important; - } - .align-items-lg-end { - align-items: flex-end !important; - } - .align-items-lg-center { - align-items: center !important; - } - .align-items-lg-baseline { - align-items: baseline !important; - } - .align-items-lg-stretch { - align-items: stretch !important; - } - .align-content-lg-start { - align-content: flex-start !important; - } - .align-content-lg-end { - align-content: flex-end !important; - } - .align-content-lg-center { - align-content: center !important; - } - .align-content-lg-between { - align-content: space-between !important; - } - .align-content-lg-around { - align-content: space-around !important; - } - .align-content-lg-stretch { - align-content: stretch !important; - } - .align-self-lg-auto { - align-self: auto !important; - } - .align-self-lg-start { - align-self: flex-start !important; - } - .align-self-lg-end { - align-self: flex-end !important; - } - .align-self-lg-center { - align-self: center !important; - } - .align-self-lg-baseline { - align-self: baseline !important; - } - .align-self-lg-stretch { - align-self: stretch !important; - } - .order-lg-first { - order: -1 !important; - } - .order-lg-0 { - order: 0 !important; - } - .order-lg-1 { - order: 1 !important; - } - .order-lg-2 { - order: 2 !important; - } - .order-lg-3 { - order: 3 !important; - } - .order-lg-4 { - order: 4 !important; - } - .order-lg-5 { - order: 5 !important; - } - .order-lg-last { - order: 6 !important; - } - .m-lg-0 { - margin: 0 !important; - } - .m-lg-1 { - margin: 0.25rem !important; - } - .m-lg-2 { - margin: 0.5rem !important; - } - .m-lg-3 { - margin: 1rem !important; - } - .m-lg-4 { - margin: 2rem !important; - } - .m-lg-5 { - margin: 4rem !important; - } - .m-lg-auto { - margin: auto !important; - } - .mx-lg-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .mx-lg-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .mx-lg-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .mx-lg-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .mx-lg-4 { - margin-left: 2rem !important; - margin-right: 2rem !important; - } - .mx-lg-5 { - margin-left: 4rem !important; - margin-right: 4rem !important; - } - .mx-lg-auto { - margin-left: auto !important; - margin-right: auto !important; - } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-lg-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .my-lg-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .my-lg-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .my-lg-4 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .my-lg-5 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .my-lg-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } - .mt-lg-0 { - margin-top: 0 !important; - } - .mt-lg-1 { - margin-top: 0.25rem !important; - } - .mt-lg-2 { - margin-top: 0.5rem !important; - } - .mt-lg-3 { - margin-top: 1rem !important; - } - .mt-lg-4 { - margin-top: 2rem !important; - } - .mt-lg-5 { - margin-top: 4rem !important; - } - .mt-lg-auto { - margin-top: auto !important; - } - .me-lg-0 { - margin-left: 0 !important; - } - .me-lg-1 { - margin-left: 0.25rem !important; - } - .me-lg-2 { - margin-left: 0.5rem !important; - } - .me-lg-3 { - margin-left: 1rem !important; - } - .me-lg-4 { - margin-left: 2rem !important; - } - .me-lg-5 { - margin-left: 4rem !important; - } - .me-lg-auto { - margin-left: auto !important; - } - .mb-lg-0 { - margin-bottom: 0 !important; - } - .mb-lg-1 { - margin-bottom: 0.25rem !important; - } - .mb-lg-2 { - margin-bottom: 0.5rem !important; - } - .mb-lg-3 { - margin-bottom: 1rem !important; - } - .mb-lg-4 { - margin-bottom: 2rem !important; - } - .mb-lg-5 { - margin-bottom: 4rem !important; - } - .mb-lg-auto { - margin-bottom: auto !important; - } - .ms-lg-0 { - margin-right: 0 !important; - } - .ms-lg-1 { - margin-right: 0.25rem !important; - } - .ms-lg-2 { - margin-right: 0.5rem !important; - } - .ms-lg-3 { - margin-right: 1rem !important; - } - .ms-lg-4 { - margin-right: 2rem !important; - } - .ms-lg-5 { - margin-right: 4rem !important; - } - .ms-lg-auto { - margin-right: auto !important; - } - .p-lg-0 { - padding: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .p-lg-3 { - padding: 1rem !important; - } - .p-lg-4 { - padding: 2rem !important; - } - .p-lg-5 { - padding: 4rem !important; - } - .px-lg-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .px-lg-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .px-lg-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .px-lg-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .px-lg-4 { - padding-left: 2rem !important; - padding-right: 2rem !important; - } - .px-lg-5 { - padding-left: 4rem !important; - padding-right: 4rem !important; - } - .py-lg-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .py-lg-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .py-lg-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .py-lg-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .py-lg-4 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .py-lg-5 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } - .pt-lg-0 { - padding-top: 0 !important; - } - .pt-lg-1 { - padding-top: 0.25rem !important; - } - .pt-lg-2 { - padding-top: 0.5rem !important; - } - .pt-lg-3 { - padding-top: 1rem !important; - } - .pt-lg-4 { - padding-top: 2rem !important; - } - .pt-lg-5 { - padding-top: 4rem !important; - } - .pe-lg-0 { - padding-left: 0 !important; - } - .pe-lg-1 { - padding-left: 0.25rem !important; - } - .pe-lg-2 { - padding-left: 0.5rem !important; - } - .pe-lg-3 { - padding-left: 1rem !important; - } - .pe-lg-4 { - padding-left: 2rem !important; - } - .pe-lg-5 { - padding-left: 4rem !important; - } - .pb-lg-0 { - padding-bottom: 0 !important; - } - .pb-lg-1 { - padding-bottom: 0.25rem !important; - } - .pb-lg-2 { - padding-bottom: 0.5rem !important; - } - .pb-lg-3 { - padding-bottom: 1rem !important; - } - .pb-lg-4 { - padding-bottom: 2rem !important; - } - .pb-lg-5 { - padding-bottom: 4rem !important; - } - .ps-lg-0 { - padding-right: 0 !important; - } - .ps-lg-1 { - padding-right: 0.25rem !important; - } - .ps-lg-2 { - padding-right: 0.5rem !important; - } - .ps-lg-3 { - padding-right: 1rem !important; - } - .ps-lg-4 { - padding-right: 2rem !important; - } - .ps-lg-5 { - padding-right: 4rem !important; - } - .gap-lg-0 { - gap: 0 !important; - } - .gap-lg-1 { - gap: 0.25rem !important; - } - .gap-lg-2 { - gap: 0.5rem !important; - } - .gap-lg-3 { - gap: 1rem !important; - } - .gap-lg-4 { - gap: 2rem !important; - } - .gap-lg-5 { - gap: 4rem !important; - } - .text-lg-start { - text-align: right !important; - } - .text-lg-end { - text-align: left !important; - } - .text-lg-center { - text-align: center !important; - } - .columns-lg-2 { - -moz-columns: 2 !important; - columns: 2 !important; - } - .columns-lg-3 { - -moz-columns: 3 !important; - columns: 3 !important; - } - .columns-lg-4 { - -moz-columns: 4 !important; - columns: 4 !important; - } -} -@media (min-width: 1200px) { - .float-xl-start { - float: right !important; - } - .float-xl-end { - float: left !important; - } - .float-xl-none { - float: none !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !important; - } - .d-xl-grid { - display: grid !important; - } - .d-xl-table { - display: table !important; - } - .d-xl-table-row { - display: table-row !important; - } - .d-xl-table-cell { - display: table-cell !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline-flex { - display: inline-flex !important; - } - .d-xl-none { - display: none !important; - } - .flex-xl-fill { - flex: 1 1 auto !important; - } - .flex-xl-row { - flex-direction: row !important; - } - .flex-xl-column { - flex-direction: column !important; - } - .flex-xl-row-reverse { - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - flex-direction: column-reverse !important; - } - .flex-xl-grow-0 { - flex-grow: 0 !important; - } - .flex-xl-grow-1 { - flex-grow: 1 !important; - } - .flex-xl-shrink-0 { - flex-shrink: 0 !important; - } - .flex-xl-shrink-1 { - flex-shrink: 1 !important; - } - .flex-xl-wrap { - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .justify-content-xl-start { - justify-content: flex-start !important; - } - .justify-content-xl-end { - justify-content: flex-end !important; - } - .justify-content-xl-center { - justify-content: center !important; - } - .justify-content-xl-between { - justify-content: space-between !important; - } - .justify-content-xl-around { - justify-content: space-around !important; - } - .justify-content-xl-evenly { - justify-content: space-evenly !important; - } - .align-items-xl-start { - align-items: flex-start !important; - } - .align-items-xl-end { - align-items: flex-end !important; - } - .align-items-xl-center { - align-items: center !important; - } - .align-items-xl-baseline { - align-items: baseline !important; - } - .align-items-xl-stretch { - align-items: stretch !important; - } - .align-content-xl-start { - align-content: flex-start !important; - } - .align-content-xl-end { - align-content: flex-end !important; - } - .align-content-xl-center { - align-content: center !important; - } - .align-content-xl-between { - align-content: space-between !important; - } - .align-content-xl-around { - align-content: space-around !important; - } - .align-content-xl-stretch { - align-content: stretch !important; - } - .align-self-xl-auto { - align-self: auto !important; - } - .align-self-xl-start { - align-self: flex-start !important; - } - .align-self-xl-end { - align-self: flex-end !important; - } - .align-self-xl-center { - align-self: center !important; - } - .align-self-xl-baseline { - align-self: baseline !important; - } - .align-self-xl-stretch { - align-self: stretch !important; - } - .order-xl-first { - order: -1 !important; - } - .order-xl-0 { - order: 0 !important; - } - .order-xl-1 { - order: 1 !important; - } - .order-xl-2 { - order: 2 !important; - } - .order-xl-3 { - order: 3 !important; - } - .order-xl-4 { - order: 4 !important; - } - .order-xl-5 { - order: 5 !important; - } - .order-xl-last { - order: 6 !important; - } - .m-xl-0 { - margin: 0 !important; - } - .m-xl-1 { - margin: 0.25rem !important; - } - .m-xl-2 { - margin: 0.5rem !important; - } - .m-xl-3 { - margin: 1rem !important; - } - .m-xl-4 { - margin: 2rem !important; - } - .m-xl-5 { - margin: 4rem !important; - } - .m-xl-auto { - margin: auto !important; - } - .mx-xl-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .mx-xl-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .mx-xl-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .mx-xl-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .mx-xl-4 { - margin-left: 2rem !important; - margin-right: 2rem !important; - } - .mx-xl-5 { - margin-left: 4rem !important; - margin-right: 4rem !important; - } - .mx-xl-auto { - margin-left: auto !important; - margin-right: auto !important; - } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-xl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .my-xl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .my-xl-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .my-xl-4 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .my-xl-5 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .my-xl-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } - .mt-xl-0 { - margin-top: 0 !important; - } - .mt-xl-1 { - margin-top: 0.25rem !important; - } - .mt-xl-2 { - margin-top: 0.5rem !important; - } - .mt-xl-3 { - margin-top: 1rem !important; - } - .mt-xl-4 { - margin-top: 2rem !important; - } - .mt-xl-5 { - margin-top: 4rem !important; - } - .mt-xl-auto { - margin-top: auto !important; - } - .me-xl-0 { - margin-left: 0 !important; - } - .me-xl-1 { - margin-left: 0.25rem !important; - } - .me-xl-2 { - margin-left: 0.5rem !important; - } - .me-xl-3 { - margin-left: 1rem !important; - } - .me-xl-4 { - margin-left: 2rem !important; - } - .me-xl-5 { - margin-left: 4rem !important; - } - .me-xl-auto { - margin-left: auto !important; - } - .mb-xl-0 { - margin-bottom: 0 !important; - } - .mb-xl-1 { - margin-bottom: 0.25rem !important; - } - .mb-xl-2 { - margin-bottom: 0.5rem !important; - } - .mb-xl-3 { - margin-bottom: 1rem !important; - } - .mb-xl-4 { - margin-bottom: 2rem !important; - } - .mb-xl-5 { - margin-bottom: 4rem !important; - } - .mb-xl-auto { - margin-bottom: auto !important; - } - .ms-xl-0 { - margin-right: 0 !important; - } - .ms-xl-1 { - margin-right: 0.25rem !important; - } - .ms-xl-2 { - margin-right: 0.5rem !important; - } - .ms-xl-3 { - margin-right: 1rem !important; - } - .ms-xl-4 { - margin-right: 2rem !important; - } - .ms-xl-5 { - margin-right: 4rem !important; - } - .ms-xl-auto { - margin-right: auto !important; - } - .p-xl-0 { - padding: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .p-xl-3 { - padding: 1rem !important; - } - .p-xl-4 { - padding: 2rem !important; - } - .p-xl-5 { - padding: 4rem !important; - } - .px-xl-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .px-xl-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .px-xl-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .px-xl-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .px-xl-4 { - padding-left: 2rem !important; - padding-right: 2rem !important; - } - .px-xl-5 { - padding-left: 4rem !important; - padding-right: 4rem !important; - } - .py-xl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .py-xl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .py-xl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .py-xl-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .py-xl-4 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .py-xl-5 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } - .pt-xl-0 { - padding-top: 0 !important; - } - .pt-xl-1 { - padding-top: 0.25rem !important; - } - .pt-xl-2 { - padding-top: 0.5rem !important; - } - .pt-xl-3 { - padding-top: 1rem !important; - } - .pt-xl-4 { - padding-top: 2rem !important; - } - .pt-xl-5 { - padding-top: 4rem !important; - } - .pe-xl-0 { - padding-left: 0 !important; - } - .pe-xl-1 { - padding-left: 0.25rem !important; - } - .pe-xl-2 { - padding-left: 0.5rem !important; - } - .pe-xl-3 { - padding-left: 1rem !important; - } - .pe-xl-4 { - padding-left: 2rem !important; - } - .pe-xl-5 { - padding-left: 4rem !important; - } - .pb-xl-0 { - padding-bottom: 0 !important; - } - .pb-xl-1 { - padding-bottom: 0.25rem !important; - } - .pb-xl-2 { - padding-bottom: 0.5rem !important; - } - .pb-xl-3 { - padding-bottom: 1rem !important; - } - .pb-xl-4 { - padding-bottom: 2rem !important; - } - .pb-xl-5 { - padding-bottom: 4rem !important; - } - .ps-xl-0 { - padding-right: 0 !important; - } - .ps-xl-1 { - padding-right: 0.25rem !important; - } - .ps-xl-2 { - padding-right: 0.5rem !important; - } - .ps-xl-3 { - padding-right: 1rem !important; - } - .ps-xl-4 { - padding-right: 2rem !important; - } - .ps-xl-5 { - padding-right: 4rem !important; - } - .gap-xl-0 { - gap: 0 !important; - } - .gap-xl-1 { - gap: 0.25rem !important; - } - .gap-xl-2 { - gap: 0.5rem !important; - } - .gap-xl-3 { - gap: 1rem !important; - } - .gap-xl-4 { - gap: 2rem !important; - } - .gap-xl-5 { - gap: 4rem !important; - } - .text-xl-start { - text-align: right !important; - } - .text-xl-end { - text-align: left !important; - } - .text-xl-center { - text-align: center !important; - } - .columns-xl-2 { - -moz-columns: 2 !important; - columns: 2 !important; - } - .columns-xl-3 { - -moz-columns: 3 !important; - columns: 3 !important; - } - .columns-xl-4 { - -moz-columns: 4 !important; - columns: 4 !important; - } -} -@media (min-width: 1400px) { - .float-xxl-start { - float: right !important; - } - .float-xxl-end { - float: left !important; - } - .float-xxl-none { - float: none !important; - } - .d-xxl-inline { - display: inline !important; - } - .d-xxl-inline-block { - display: inline-block !important; - } - .d-xxl-block { - display: block !important; - } - .d-xxl-grid { - display: grid !important; - } - .d-xxl-table { - display: table !important; - } - .d-xxl-table-row { - display: table-row !important; - } - .d-xxl-table-cell { - display: table-cell !important; - } - .d-xxl-flex { - display: flex !important; - } - .d-xxl-inline-flex { - display: inline-flex !important; - } - .d-xxl-none { - display: none !important; - } - .flex-xxl-fill { - flex: 1 1 auto !important; - } - .flex-xxl-row { - flex-direction: row !important; - } - .flex-xxl-column { - flex-direction: column !important; - } - .flex-xxl-row-reverse { - flex-direction: row-reverse !important; - } - .flex-xxl-column-reverse { - flex-direction: column-reverse !important; - } - .flex-xxl-grow-0 { - flex-grow: 0 !important; - } - .flex-xxl-grow-1 { - flex-grow: 1 !important; - } - .flex-xxl-shrink-0 { - flex-shrink: 0 !important; - } - .flex-xxl-shrink-1 { - flex-shrink: 1 !important; - } - .flex-xxl-wrap { - flex-wrap: wrap !important; - } - .flex-xxl-nowrap { - flex-wrap: nowrap !important; - } - .flex-xxl-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .justify-content-xxl-start { - justify-content: flex-start !important; - } - .justify-content-xxl-end { - justify-content: flex-end !important; - } - .justify-content-xxl-center { - justify-content: center !important; - } - .justify-content-xxl-between { - justify-content: space-between !important; - } - .justify-content-xxl-around { - justify-content: space-around !important; - } - .justify-content-xxl-evenly { - justify-content: space-evenly !important; - } - .align-items-xxl-start { - align-items: flex-start !important; - } - .align-items-xxl-end { - align-items: flex-end !important; - } - .align-items-xxl-center { - align-items: center !important; - } - .align-items-xxl-baseline { - align-items: baseline !important; - } - .align-items-xxl-stretch { - align-items: stretch !important; - } - .align-content-xxl-start { - align-content: flex-start !important; - } - .align-content-xxl-end { - align-content: flex-end !important; - } - .align-content-xxl-center { - align-content: center !important; - } - .align-content-xxl-between { - align-content: space-between !important; - } - .align-content-xxl-around { - align-content: space-around !important; - } - .align-content-xxl-stretch { - align-content: stretch !important; - } - .align-self-xxl-auto { - align-self: auto !important; - } - .align-self-xxl-start { - align-self: flex-start !important; - } - .align-self-xxl-end { - align-self: flex-end !important; - } - .align-self-xxl-center { - align-self: center !important; - } - .align-self-xxl-baseline { - align-self: baseline !important; - } - .align-self-xxl-stretch { - align-self: stretch !important; - } - .order-xxl-first { - order: -1 !important; - } - .order-xxl-0 { - order: 0 !important; - } - .order-xxl-1 { - order: 1 !important; - } - .order-xxl-2 { - order: 2 !important; - } - .order-xxl-3 { - order: 3 !important; - } - .order-xxl-4 { - order: 4 !important; - } - .order-xxl-5 { - order: 5 !important; - } - .order-xxl-last { - order: 6 !important; - } - .m-xxl-0 { - margin: 0 !important; - } - .m-xxl-1 { - margin: 0.25rem !important; - } - .m-xxl-2 { - margin: 0.5rem !important; - } - .m-xxl-3 { - margin: 1rem !important; - } - .m-xxl-4 { - margin: 2rem !important; - } - .m-xxl-5 { - margin: 4rem !important; - } - .m-xxl-auto { - margin: auto !important; - } - .mx-xxl-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .mx-xxl-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .mx-xxl-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .mx-xxl-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .mx-xxl-4 { - margin-left: 2rem !important; - margin-right: 2rem !important; - } - .mx-xxl-5 { - margin-left: 4rem !important; - margin-right: 4rem !important; - } - .mx-xxl-auto { - margin-left: auto !important; - margin-right: auto !important; - } - .my-xxl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; - } - .my-xxl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; - } - .my-xxl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - .my-xxl-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } - .my-xxl-4 { - margin-top: 2rem !important; - margin-bottom: 2rem !important; - } - .my-xxl-5 { - margin-top: 4rem !important; - margin-bottom: 4rem !important; - } - .my-xxl-auto { - margin-top: auto !important; - margin-bottom: auto !important; - } - .mt-xxl-0 { - margin-top: 0 !important; - } - .mt-xxl-1 { - margin-top: 0.25rem !important; - } - .mt-xxl-2 { - margin-top: 0.5rem !important; - } - .mt-xxl-3 { - margin-top: 1rem !important; - } - .mt-xxl-4 { - margin-top: 2rem !important; - } - .mt-xxl-5 { - margin-top: 4rem !important; - } - .mt-xxl-auto { - margin-top: auto !important; - } - .me-xxl-0 { - margin-left: 0 !important; - } - .me-xxl-1 { - margin-left: 0.25rem !important; - } - .me-xxl-2 { - margin-left: 0.5rem !important; - } - .me-xxl-3 { - margin-left: 1rem !important; - } - .me-xxl-4 { - margin-left: 2rem !important; - } - .me-xxl-5 { - margin-left: 4rem !important; - } - .me-xxl-auto { - margin-left: auto !important; - } - .mb-xxl-0 { - margin-bottom: 0 !important; - } - .mb-xxl-1 { - margin-bottom: 0.25rem !important; - } - .mb-xxl-2 { - margin-bottom: 0.5rem !important; - } - .mb-xxl-3 { - margin-bottom: 1rem !important; - } - .mb-xxl-4 { - margin-bottom: 2rem !important; - } - .mb-xxl-5 { - margin-bottom: 4rem !important; - } - .mb-xxl-auto { - margin-bottom: auto !important; - } - .ms-xxl-0 { - margin-right: 0 !important; - } - .ms-xxl-1 { - margin-right: 0.25rem !important; - } - .ms-xxl-2 { - margin-right: 0.5rem !important; - } - .ms-xxl-3 { - margin-right: 1rem !important; - } - .ms-xxl-4 { - margin-right: 2rem !important; - } - .ms-xxl-5 { - margin-right: 4rem !important; - } - .ms-xxl-auto { - margin-right: auto !important; - } - .p-xxl-0 { - padding: 0 !important; - } - .p-xxl-1 { - padding: 0.25rem !important; - } - .p-xxl-2 { - padding: 0.5rem !important; - } - .p-xxl-3 { - padding: 1rem !important; - } - .p-xxl-4 { - padding: 2rem !important; - } - .p-xxl-5 { - padding: 4rem !important; - } - .px-xxl-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .px-xxl-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .px-xxl-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .px-xxl-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .px-xxl-4 { - padding-left: 2rem !important; - padding-right: 2rem !important; - } - .px-xxl-5 { - padding-left: 4rem !important; - padding-right: 4rem !important; - } - .py-xxl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; - } - .py-xxl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; - } - .py-xxl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; - } - .py-xxl-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - } - .py-xxl-4 { - padding-top: 2rem !important; - padding-bottom: 2rem !important; - } - .py-xxl-5 { - padding-top: 4rem !important; - padding-bottom: 4rem !important; - } - .pt-xxl-0 { - padding-top: 0 !important; - } - .pt-xxl-1 { - padding-top: 0.25rem !important; - } - .pt-xxl-2 { - padding-top: 0.5rem !important; - } - .pt-xxl-3 { - padding-top: 1rem !important; - } - .pt-xxl-4 { - padding-top: 2rem !important; - } - .pt-xxl-5 { - padding-top: 4rem !important; - } - .pe-xxl-0 { - padding-left: 0 !important; - } - .pe-xxl-1 { - padding-left: 0.25rem !important; - } - .pe-xxl-2 { - padding-left: 0.5rem !important; - } - .pe-xxl-3 { - padding-left: 1rem !important; - } - .pe-xxl-4 { - padding-left: 2rem !important; - } - .pe-xxl-5 { - padding-left: 4rem !important; - } - .pb-xxl-0 { - padding-bottom: 0 !important; - } - .pb-xxl-1 { - padding-bottom: 0.25rem !important; - } - .pb-xxl-2 { - padding-bottom: 0.5rem !important; - } - .pb-xxl-3 { - padding-bottom: 1rem !important; - } - .pb-xxl-4 { - padding-bottom: 2rem !important; - } - .pb-xxl-5 { - padding-bottom: 4rem !important; - } - .ps-xxl-0 { - padding-right: 0 !important; - } - .ps-xxl-1 { - padding-right: 0.25rem !important; - } - .ps-xxl-2 { - padding-right: 0.5rem !important; - } - .ps-xxl-3 { - padding-right: 1rem !important; - } - .ps-xxl-4 { - padding-right: 2rem !important; - } - .ps-xxl-5 { - padding-right: 4rem !important; - } - .gap-xxl-0 { - gap: 0 !important; - } - .gap-xxl-1 { - gap: 0.25rem !important; - } - .gap-xxl-2 { - gap: 0.5rem !important; - } - .gap-xxl-3 { - gap: 1rem !important; - } - .gap-xxl-4 { - gap: 2rem !important; - } - .gap-xxl-5 { - gap: 4rem !important; - } - .text-xxl-start { - text-align: right !important; - } - .text-xxl-end { - text-align: left !important; - } - .text-xxl-center { - text-align: center !important; - } - .columns-xxl-2 { - -moz-columns: 2 !important; - columns: 2 !important; - } - .columns-xxl-3 { - -moz-columns: 3 !important; - columns: 3 !important; - } - .columns-xxl-4 { - -moz-columns: 4 !important; - columns: 4 !important; - } -} -@media print { - .d-print-inline { - display: inline !important; - } - .d-print-inline-block { - display: inline-block !important; - } - .d-print-block { - display: block !important; - } - .d-print-grid { - display: grid !important; - } - .d-print-table { - display: table !important; - } - .d-print-table-row { - display: table-row !important; - } - .d-print-table-cell { - display: table-cell !important; - } - .d-print-flex { - display: flex !important; - } - .d-print-inline-flex { - display: inline-flex !important; - } - .d-print-none { - display: none !important; - } -} -:root, -:host { - font-size: 16px; - height: 100%; - --tblr-primary: #206bc4; - --tblr-primary-fg: var(--tblr-light); - --tblr-primary-darken: #1d60b0; - --tblr-primary-rgb: 32, 107, 196; - --tblr-secondary: #616876; - --tblr-secondary-fg: var(--tblr-light); - --tblr-secondary-darken: #575e6a; - --tblr-secondary-rgb: 97, 104, 118; - --tblr-success: #2fb344; - --tblr-success-fg: var(--tblr-light); - --tblr-success-darken: #2aa13d; - --tblr-success-rgb: 47, 179, 68; - --tblr-info: #4299e1; - --tblr-info-fg: var(--tblr-light); - --tblr-info-darken: #3b8acb; - --tblr-info-rgb: 66, 153, 225; - --tblr-warning: #f76707; - --tblr-warning-fg: var(--tblr-light); - --tblr-warning-darken: #de5d06; - --tblr-warning-rgb: 247, 103, 7; - --tblr-danger: #d63939; - --tblr-danger-fg: var(--tblr-light); - --tblr-danger-darken: #c13333; - --tblr-danger-rgb: 214, 57, 57; - --tblr-light: #f8fafc; - --tblr-light-fg: var(--tblr-dark); - --tblr-light-darken: #dfe1e3; - --tblr-light-rgb: 248, 250, 252; - --tblr-dark: #1d273b; - --tblr-dark-fg: var(--tblr-light); - --tblr-dark-darken: #1a2335; - --tblr-dark-rgb: 29, 39, 59; - --tblr-muted: #616876; - --tblr-muted-fg: var(--tblr-light); - --tblr-muted-darken: #575e6a; - --tblr-muted-rgb: 97, 104, 118; - --tblr-blue: #206bc4; - --tblr-blue-fg: var(--tblr-light); - --tblr-blue-darken: #1d60b0; - --tblr-blue-rgb: 32, 107, 196; - --tblr-azure: #4299e1; - --tblr-azure-fg: var(--tblr-light); - --tblr-azure-darken: #3b8acb; - --tblr-azure-rgb: 66, 153, 225; - --tblr-indigo: #4263eb; - --tblr-indigo-fg: var(--tblr-light); - --tblr-indigo-darken: #3b59d4; - --tblr-indigo-rgb: 66, 99, 235; - --tblr-purple: #ae3ec9; - --tblr-purple-fg: var(--tblr-light); - --tblr-purple-darken: #9d38b5; - --tblr-purple-rgb: 174, 62, 201; - --tblr-pink: #d6336c; - --tblr-pink-fg: var(--tblr-light); - --tblr-pink-darken: #c12e61; - --tblr-pink-rgb: 214, 51, 108; - --tblr-red: #d63939; - --tblr-red-fg: var(--tblr-light); - --tblr-red-darken: #c13333; - --tblr-red-rgb: 214, 57, 57; - --tblr-orange: #f76707; - --tblr-orange-fg: var(--tblr-light); - --tblr-orange-darken: #de5d06; - --tblr-orange-rgb: 247, 103, 7; - --tblr-yellow: #f59f00; - --tblr-yellow-fg: var(--tblr-light); - --tblr-yellow-darken: #dd8f00; - --tblr-yellow-rgb: 245, 159, 0; - --tblr-lime: #74b816; - --tblr-lime-fg: var(--tblr-light); - --tblr-lime-darken: #68a614; - --tblr-lime-rgb: 116, 184, 22; - --tblr-green: #2fb344; - --tblr-green-fg: var(--tblr-light); - --tblr-green-darken: #2aa13d; - --tblr-green-rgb: 47, 179, 68; - --tblr-teal: #0ca678; - --tblr-teal-fg: var(--tblr-light); - --tblr-teal-darken: #0b956c; - --tblr-teal-rgb: 12, 166, 120; - --tblr-cyan: #17a2b8; - --tblr-cyan-fg: var(--tblr-light); - --tblr-cyan-darken: #1592a6; - --tblr-cyan-rgb: 23, 162, 184; - --tblr-facebook: #3b5998; - --tblr-facebook-fg: var(--tblr-light); - --tblr-facebook-darken: #355089; - --tblr-facebook-rgb: 59, 89, 152; - --tblr-twitter: #1da1f2; - --tblr-twitter-fg: var(--tblr-light); - --tblr-twitter-darken: #1a91da; - --tblr-twitter-rgb: 29, 161, 242; - --tblr-linkedin: #0a66c2; - --tblr-linkedin-fg: var(--tblr-light); - --tblr-linkedin-darken: #095caf; - --tblr-linkedin-rgb: 10, 102, 194; - --tblr-google: #dc4e41; - --tblr-google-fg: var(--tblr-light); - --tblr-google-darken: #c6463b; - --tblr-google-rgb: 220, 78, 65; - --tblr-youtube: #ff0000; - --tblr-youtube-fg: var(--tblr-light); - --tblr-youtube-darken: #e60000; - --tblr-youtube-rgb: 255, 0, 0; - --tblr-vimeo: #1ab7ea; - --tblr-vimeo-fg: var(--tblr-light); - --tblr-vimeo-darken: #17a5d3; - --tblr-vimeo-rgb: 26, 183, 234; - --tblr-dribbble: #ea4c89; - --tblr-dribbble-fg: var(--tblr-light); - --tblr-dribbble-darken: #d3447b; - --tblr-dribbble-rgb: 234, 76, 137; - --tblr-github: #181717; - --tblr-github-fg: var(--tblr-light); - --tblr-github-darken: #161515; - --tblr-github-rgb: 24, 23, 23; - --tblr-instagram: #e4405f; - --tblr-instagram-fg: var(--tblr-light); - --tblr-instagram-darken: #cd3a56; - --tblr-instagram-rgb: 228, 64, 95; - --tblr-pinterest: #bd081c; - --tblr-pinterest-fg: var(--tblr-light); - --tblr-pinterest-darken: #aa0719; - --tblr-pinterest-rgb: 189, 8, 28; - --tblr-vk: #6383a8; - --tblr-vk-fg: var(--tblr-light); - --tblr-vk-darken: #597697; - --tblr-vk-rgb: 99, 131, 168; - --tblr-rss: #ffa500; - --tblr-rss-fg: var(--tblr-light); - --tblr-rss-darken: #e69500; - --tblr-rss-rgb: 255, 165, 0; - --tblr-flickr: #0063dc; - --tblr-flickr-fg: var(--tblr-light); - --tblr-flickr-darken: #0059c6; - --tblr-flickr-rgb: 0, 99, 220; - --tblr-bitbucket: #0052cc; - --tblr-bitbucket-fg: var(--tblr-light); - --tblr-bitbucket-darken: #004ab8; - --tblr-bitbucket-rgb: 0, 82, 204; - --tblr-tabler: #206bc4; - --tblr-tabler-fg: var(--tblr-light); - --tblr-tabler-darken: #1d60b0; - --tblr-tabler-rgb: 32, 107, 196; - --tblr-gray-50: #f8fafc; - --tblr-gray-50-fg: var(--tblr-dark); - --tblr-gray-50-darken: #dfe1e3; - --tblr-gray-50-rgb: 248, 250, 252; - --tblr-gray-100: #f1f5f9; - --tblr-gray-100-fg: var(--tblr-dark); - --tblr-gray-100-darken: #d9dde0; - --tblr-gray-100-rgb: 241, 245, 249; - --tblr-gray-200: #e2e8f0; - --tblr-gray-200-fg: var(--tblr-dark); - --tblr-gray-200-darken: #cbd1d8; - --tblr-gray-200-rgb: 226, 232, 240; - --tblr-gray-300: #c8d3e1; - --tblr-gray-300-fg: var(--tblr-dark); - --tblr-gray-300-darken: #b4becb; - --tblr-gray-300-rgb: 200, 211, 225; - --tblr-gray-400: #9ba9be; - --tblr-gray-400-fg: var(--tblr-light); - --tblr-gray-400-darken: #8c98ab; - --tblr-gray-400-rgb: 155, 169, 190; - --tblr-gray-500: #6c7a91; - --tblr-gray-500-fg: var(--tblr-light); - --tblr-gray-500-darken: #616e83; - --tblr-gray-500-rgb: 108, 122, 145; - --tblr-gray-600: #49566c; - --tblr-gray-600-fg: var(--tblr-light); - --tblr-gray-600-darken: #424d61; - --tblr-gray-600-rgb: 73, 86, 108; - --tblr-gray-700: #313c52; - --tblr-gray-700-fg: var(--tblr-light); - --tblr-gray-700-darken: #2c364a; - --tblr-gray-700-rgb: 49, 60, 82; - --tblr-gray-800: #1d273b; - --tblr-gray-800-fg: var(--tblr-light); - --tblr-gray-800-darken: #1a2335; - --tblr-gray-800-rgb: 29, 39, 59; - --tblr-gray-900: #0f172a; - --tblr-gray-900-fg: var(--tblr-light); - --tblr-gray-900-darken: #0e1526; - --tblr-gray-900-rgb: 15, 23, 42; - --tblr-bg-surface: var(--tblr-white); - --tblr-bg-surface-secondary: var(--tblr-light); - --tblr-bg-surface-dark: var(--tblr-dark); - --tblr-bg-forms: var(--tblr-bg-surface); - --tblr-border-color: #e6e7e9; - --tblr-border-color-light: #f2f3f4; - --tblr-border-color-active: #b3b7bd; - --tblr-icon-color: var(--tblr-gray-500); - --tblr-active-bg: var(--tblr-gray-100); - --tblr-disabled-bg: var(--tblr-gray-100); - --tblr-disabled-color: var(--tblr-gray-300); - --tblr-code-color: var(--tblr-gray-600); - --tblr-code-bg: var(--tblr-gray-100); - --tblr-dark-mode-border-color: #243049; - --tblr-dark-mode-border-color-light: #243049; - --tblr-dark-mode-border-color-active: #314264; - --tblr-font-weight-light: 300; - --tblr-font-weight-normal: 400; - --tblr-font-weight-medium: 500; - --tblr-font-weight-bold: 600; - --tblr-font-weight-headings: var(--tblr-font-weight-medium); - --tblr-font-size-h1: 1.5rem; - --tblr-font-size-h2: 1.25rem; - --tblr-font-size-h3: 1rem; - --tblr-font-size-h4: 0.875rem; - --tblr-font-size-h5: 0.75rem; - --tblr-font-size-h6: 0.625rem; - --tblr-line-height-h1: 2rem; - --tblr-line-height-h2: 1.75rem; - --tblr-line-height-h3: 1.5rem; - --tblr-line-height-h4: 1.25rem; - --tblr-line-height-h5: 1rem; - --tblr-line-height-h6: 1rem; - --tblr-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; - --tblr-shadow-transparent: 0 0 0 0 transparent; - --tblr-shadow-button: 0 1px 0 rgba(var(--tblr-body-color-rgb), 0.04); - --tblr-shadow-button-inset: inset 0 -1px 0 rgba(var(--tblr-body-color-rgb), 0.2); - --tblr-shadow-card: 0 0 4px rgba(var(--tblr-body-color-rgb), 0.04); - --tblr-shadow-card-hover: rgba(var(--tblr-body-color-rgb), 0.16) 0 2px 16px 0; -} - -body { - overflow-y: scroll; - letter-spacing: 0; - touch-action: manipulation; - text-rendering: optimizeLegibility; - font-feature-settings: "liga" 0; - position: relative; - min-height: 100%; - height: 100%; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -@media print { - body { - background: transparent; - } -} - -*::-webkit-scrollbar { - width: 0.5rem; - height: 0.5rem; - -webkit-transition: background 0.3s; - transition: background 0.3s; -} -@media (prefers-reduced-motion: reduce) { - *::-webkit-scrollbar { - -webkit-transition: none; - transition: none; - } -} - -*::-webkit-scrollbar-thumb { - border-radius: 5px; - background: rgba(var(--tblr-body-color-rgb), 0.16); -} - -*::-webkit-scrollbar-track { - background: rgba(var(--tblr-body-color-rgb), 0.06); -} - -*:hover::-webkit-scrollbar-thumb { - background: rgba(var(--tblr-body-color-rgb), 0.32); -} - -*::-webkit-scrollbar-corner { - background: transparent; -} - -.layout-fluid .container, -.layout-fluid [class^=container-], -.layout-fluid [class*=" container-"] { - max-width: 100%; -} - -.layout-boxed { - --tblr-theme-boxed-border-radius: 0; - --tblr-theme-boxed-width: 1320px; -} -@media (min-width: 768px) { - .layout-boxed { - background: #1d273b linear-gradient(to left, rgba(255, 255, 255, 0.1), transparent) fixed; - padding: 1rem; - --tblr-theme-boxed-border-radius: 4px; - } -} -.layout-boxed .page { - margin: 0 auto; - max-width: var(--tblr-theme-boxed-width); - border-radius: var(--tblr-theme-boxed-border-radius); - color: #1d273b; -} -@media (min-width: 768px) { - .layout-boxed .page { - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - background: var(--tblr-body-bg); - } -} -.layout-boxed .page > .navbar:first-child { - border-top-right-radius: var(--tblr-theme-boxed-border-radius); - border-top-left-radius: var(--tblr-theme-boxed-border-radius); -} - -/** -Navbar - */ -.navbar { - --tblr-navbar-border-width: var(--tblr-border-width); - --tblr-navbar-active-border-color: var(--tblr-primary); - --tblr-navbar-active-bg: rgba(0, 0, 0, 0.06); - --tblr-navbar-bg: transparent; - align-items: stretch; - min-height: 3.5rem; - box-shadow: inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color); - background: var(--tblr-navbar-bg); - --tblr-navbar-active-bg: rgba(0, 0, 0, 0.06); - --tblr-navbar-bg: transparent; - color: var(--tblr-body-color); -} -.navbar-collapse .navbar { - flex-grow: 1; -} -.navbar.collapsing { - min-height: 0; -} -.navbar .navbar-brand { - color: var(--tblr-body-color); -} -.navbar .navbar-brand:hover, .navbar .navbar-brand:focus { - color: var(--tblr-body-color); - opacity: 0.8; -} -.navbar .navbar-nav .nav-link { - color: var(--tblr-body-color); -} -.navbar .navbar-nav .nav-link:hover, .navbar .navbar-nav .nav-link:focus { - color: var(--tblr-body-color) color; -} -.navbar .navbar-nav .nav-link.disabled { - color: var(--tblr-disabled-color); -} -.navbar .navbar-nav .show > .nav-link, -.navbar .navbar-nav .active > .nav-link, -.navbar .navbar-nav .nav-link.show, -.navbar .navbar-nav .nav-link.active { - color: var(--tblr-body-color) color; -} -.navbar .navbar-toggler { - color: var(--tblr-body-color); - border-color: transparent; -} -.navbar .navbar-text { - color: var(--tblr-body-color); -} -.navbar .navbar-text a, -.navbar .navbar-text a:hover, -.navbar .navbar-text a:focus { - color: var(--tblr-body-color); -} -@media not print { - .theme-dark .navbar { - --tblr-navbar-border-color: #243049; - --tblr-navbar-bg: #1d273b; - --tblr-navbar-active-bg: rgba(255, 255, 255, 0.06); - --tblr-navbar-bg: #1d273b; - color: rgba(255, 255, 255, 0.7); - } - .theme-dark .navbar .navbar-brand { - color: #ffffff; - } - .theme-dark .navbar .navbar-brand:hover, .theme-dark .navbar .navbar-brand:focus { - color: #ffffff; - opacity: 0.8; - } - .theme-dark .navbar .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.7); - } - .theme-dark .navbar .navbar-nav .nav-link:hover, .theme-dark .navbar .navbar-nav .nav-link:focus { - color: #ffffff; - } - .theme-dark .navbar .navbar-nav .nav-link.disabled { - color: var(--tblr-disabled-color); - } - .theme-dark .navbar .navbar-nav .show > .nav-link, -.theme-dark .navbar .navbar-nav .active > .nav-link, -.theme-dark .navbar .navbar-nav .nav-link.show, -.theme-dark .navbar .navbar-nav .nav-link.active { - color: #ffffff; - } - .theme-dark .navbar .navbar-toggler { - color: #ffffff; - border-color: transparent; - } - .theme-dark .navbar .navbar-text { - color: rgba(255, 255, 255, 0.7); - } - .theme-dark .navbar .navbar-text a, -.theme-dark .navbar .navbar-text a:hover, -.theme-dark .navbar .navbar-text a:focus { - color: rgba(255, 255, 255, 0.7); - } - .theme-dark .navbar::-webkit-scrollbar { - width: 0.5rem; - height: 0.5rem; - -webkit-transition: background 0.3s; - transition: background 0.3s; - } - @media (prefers-reduced-motion: reduce) { - .theme-dark .navbar::-webkit-scrollbar { - -webkit-transition: none; - transition: none; - } - } - .theme-dark .navbar::-webkit-scrollbar-thumb { - border-radius: 5px; - background: rgba(var(--tblr-body-color-rgb), 0.16); - } - .theme-dark .navbar::-webkit-scrollbar-track { - background: rgba(var(--tblr-body-color-rgb), 0.06); - } - .theme-dark .navbar:hover::-webkit-scrollbar-thumb { - background: rgba(var(--tblr-body-color-rgb), 0.32); - } - .theme-dark .navbar::-webkit-scrollbar-corner { - background: transparent; - } -} -@media not print { - @media (prefers-color-scheme: dark) { - .theme-dark-auto .navbar { - --tblr-navbar-border-color: #243049; - --tblr-navbar-bg: #1d273b; - --tblr-navbar-active-bg: rgba(255, 255, 255, 0.06); - --tblr-navbar-bg: #1d273b; - color: rgba(255, 255, 255, 0.7); - } - .theme-dark-auto .navbar .navbar-brand { - color: #ffffff; - } - .theme-dark-auto .navbar .navbar-brand:hover, .theme-dark-auto .navbar .navbar-brand:focus { - color: #ffffff; - opacity: 0.8; - } - .theme-dark-auto .navbar .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.7); - } - .theme-dark-auto .navbar .navbar-nav .nav-link:hover, .theme-dark-auto .navbar .navbar-nav .nav-link:focus { - color: #ffffff; - } - .theme-dark-auto .navbar .navbar-nav .nav-link.disabled { - color: var(--tblr-disabled-color); - } - .theme-dark-auto .navbar .navbar-nav .show > .nav-link, -.theme-dark-auto .navbar .navbar-nav .active > .nav-link, -.theme-dark-auto .navbar .navbar-nav .nav-link.show, -.theme-dark-auto .navbar .navbar-nav .nav-link.active { - color: #ffffff; - } - .theme-dark-auto .navbar .navbar-toggler { - color: #ffffff; - border-color: transparent; - } - .theme-dark-auto .navbar .navbar-text { - color: rgba(255, 255, 255, 0.7); - } - .theme-dark-auto .navbar .navbar-text a, -.theme-dark-auto .navbar .navbar-text a:hover, -.theme-dark-auto .navbar .navbar-text a:focus { - color: rgba(255, 255, 255, 0.7); - } - .theme-dark-auto .navbar::-webkit-scrollbar { - width: 0.5rem; - height: 0.5rem; - -webkit-transition: background 0.3s; - transition: background 0.3s; - } - } - @media (prefers-color-scheme: dark) and (prefers-reduced-motion: reduce) { - .theme-dark-auto .navbar::-webkit-scrollbar { - -webkit-transition: none; - transition: none; - } - } - @media (prefers-color-scheme: dark) { - .theme-dark-auto .navbar::-webkit-scrollbar-thumb { - border-radius: 5px; - background: rgba(var(--tblr-body-color-rgb), 0.16); - } - } - @media (prefers-color-scheme: dark) { - .theme-dark-auto .navbar::-webkit-scrollbar-track { - background: rgba(var(--tblr-body-color-rgb), 0.06); - } - } - @media (prefers-color-scheme: dark) { - .theme-dark-auto .navbar:hover::-webkit-scrollbar-thumb { - background: rgba(var(--tblr-body-color-rgb), 0.32); - } - } - @media (prefers-color-scheme: dark) { - .theme-dark-auto .navbar::-webkit-scrollbar-corner { - background: transparent; - } - } -} -.navbar .dropdown-menu { - position: absolute; - z-index: 1030; -} -.navbar .navbar-nav { - min-height: 3rem; -} -.navbar .navbar-nav .nav-link { - position: relative; - min-width: 2rem; - min-height: 2rem; - justify-content: center; - border-radius: var(--tblr-border-radius); -} -.navbar .navbar-nav .nav-link .badge { - position: absolute; - top: 0.375rem; - left: 0.375rem; - transform: translate(-50%, -50%); -} - -.navbar-nav { - margin: 0; - padding: 0; -} - -@media (max-width: 575.98px) { - .navbar-expand-sm .navbar-collapse { - flex-direction: column; - } - .navbar-expand-sm .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-expand-sm .navbar-collapse .navbar-nav { - margin-right: 0; - margin-left: 0; - } - .navbar-expand-sm .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-expand-sm .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-expand-sm .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-right: 2.5rem; - color: inherit; - } - .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 4rem; - } - .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 5.5rem; - } - .navbar-expand-sm .navbar-collapse .dropdown-toggle:after { - margin-right: auto; - } - .navbar-expand-sm .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-right-width: 3px; - left: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 576px) { - .navbar-expand-sm .navbar-collapse { - width: auto; - flex: 1 1 auto; - } - .navbar-expand-sm.navbar-light .nav-item.active, -.navbar-expand-sm .navbar-light .nav-item.active { - position: relative; - } - .navbar-expand-sm.navbar-light .nav-item.active:after, -.navbar-expand-sm .navbar-light .nav-item.active:after { - content: ""; - position: absolute; - right: 0; - left: 0; - bottom: -0.25rem; - border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); - border-bottom-width: 2px; - } - .navbar-expand-sm.navbar-vertical { - box-shadow: inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-sm.navbar-vertical.navbar-right { - box-shadow: inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-sm.navbar-vertical ~ .navbar, -.navbar-expand-sm.navbar-vertical ~ .page-wrapper { - margin-right: 15rem; - } - .navbar-expand-sm.navbar-vertical.navbar-right ~ .navbar, -.navbar-expand-sm.navbar-vertical.navbar-right ~ .page-wrapper { - margin-right: 0; - margin-left: 15rem; - } -} -@media (max-width: 767.98px) { - .navbar-expand-md .navbar-collapse { - flex-direction: column; - } - .navbar-expand-md .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-expand-md .navbar-collapse .navbar-nav { - margin-right: 0; - margin-left: 0; - } - .navbar-expand-md .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-expand-md .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-expand-md .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-right: 2.5rem; - color: inherit; - } - .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 4rem; - } - .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 5.5rem; - } - .navbar-expand-md .navbar-collapse .dropdown-toggle:after { - margin-right: auto; - } - .navbar-expand-md .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-right-width: 3px; - left: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 768px) { - .navbar-expand-md .navbar-collapse { - width: auto; - flex: 1 1 auto; - } - .navbar-expand-md.navbar-light .nav-item.active, -.navbar-expand-md .navbar-light .nav-item.active { - position: relative; - } - .navbar-expand-md.navbar-light .nav-item.active:after, -.navbar-expand-md .navbar-light .nav-item.active:after { - content: ""; - position: absolute; - right: 0; - left: 0; - bottom: -0.25rem; - border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); - border-bottom-width: 2px; - } - .navbar-expand-md.navbar-vertical { - box-shadow: inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-md.navbar-vertical.navbar-right { - box-shadow: inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-md.navbar-vertical ~ .navbar, -.navbar-expand-md.navbar-vertical ~ .page-wrapper { - margin-right: 15rem; - } - .navbar-expand-md.navbar-vertical.navbar-right ~ .navbar, -.navbar-expand-md.navbar-vertical.navbar-right ~ .page-wrapper { - margin-right: 0; - margin-left: 15rem; - } -} -@media (max-width: 991.98px) { - .navbar-expand-lg .navbar-collapse { - flex-direction: column; - } - .navbar-expand-lg .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-expand-lg .navbar-collapse .navbar-nav { - margin-right: 0; - margin-left: 0; - } - .navbar-expand-lg .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-expand-lg .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-expand-lg .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-right: 2.5rem; - color: inherit; - } - .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 4rem; - } - .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 5.5rem; - } - .navbar-expand-lg .navbar-collapse .dropdown-toggle:after { - margin-right: auto; - } - .navbar-expand-lg .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-right-width: 3px; - left: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 992px) { - .navbar-expand-lg .navbar-collapse { - width: auto; - flex: 1 1 auto; - } - .navbar-expand-lg.navbar-light .nav-item.active, -.navbar-expand-lg .navbar-light .nav-item.active { - position: relative; - } - .navbar-expand-lg.navbar-light .nav-item.active:after, -.navbar-expand-lg .navbar-light .nav-item.active:after { - content: ""; - position: absolute; - right: 0; - left: 0; - bottom: -0.25rem; - border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); - border-bottom-width: 2px; - } - .navbar-expand-lg.navbar-vertical { - box-shadow: inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-lg.navbar-vertical.navbar-right { - box-shadow: inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-lg.navbar-vertical ~ .navbar, -.navbar-expand-lg.navbar-vertical ~ .page-wrapper { - margin-right: 15rem; - } - .navbar-expand-lg.navbar-vertical.navbar-right ~ .navbar, -.navbar-expand-lg.navbar-vertical.navbar-right ~ .page-wrapper { - margin-right: 0; - margin-left: 15rem; - } -} -@media (max-width: 1199.98px) { - .navbar-expand-xl .navbar-collapse { - flex-direction: column; - } - .navbar-expand-xl .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-expand-xl .navbar-collapse .navbar-nav { - margin-right: 0; - margin-left: 0; - } - .navbar-expand-xl .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-expand-xl .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-expand-xl .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-right: 2.5rem; - color: inherit; - } - .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 4rem; - } - .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 5.5rem; - } - .navbar-expand-xl .navbar-collapse .dropdown-toggle:after { - margin-right: auto; - } - .navbar-expand-xl .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-right-width: 3px; - left: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 1200px) { - .navbar-expand-xl .navbar-collapse { - width: auto; - flex: 1 1 auto; - } - .navbar-expand-xl.navbar-light .nav-item.active, -.navbar-expand-xl .navbar-light .nav-item.active { - position: relative; - } - .navbar-expand-xl.navbar-light .nav-item.active:after, -.navbar-expand-xl .navbar-light .nav-item.active:after { - content: ""; - position: absolute; - right: 0; - left: 0; - bottom: -0.25rem; - border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); - border-bottom-width: 2px; - } - .navbar-expand-xl.navbar-vertical { - box-shadow: inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-xl.navbar-vertical.navbar-right { - box-shadow: inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-xl.navbar-vertical ~ .navbar, -.navbar-expand-xl.navbar-vertical ~ .page-wrapper { - margin-right: 15rem; - } - .navbar-expand-xl.navbar-vertical.navbar-right ~ .navbar, -.navbar-expand-xl.navbar-vertical.navbar-right ~ .page-wrapper { - margin-right: 0; - margin-left: 15rem; - } -} -@media (max-width: 1399.98px) { - .navbar-expand-xxl .navbar-collapse { - flex-direction: column; - } - .navbar-expand-xxl .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-expand-xxl .navbar-collapse .navbar-nav { - margin-right: 0; - margin-left: 0; - } - .navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-expand-xxl .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-expand-xxl .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-right: 2.5rem; - color: inherit; - } - .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 4rem; - } - .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 5.5rem; - } - .navbar-expand-xxl .navbar-collapse .dropdown-toggle:after { - margin-right: auto; - } - .navbar-expand-xxl .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-right-width: 3px; - left: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 1400px) { - .navbar-expand-xxl .navbar-collapse { - width: auto; - flex: 1 1 auto; - } - .navbar-expand-xxl.navbar-light .nav-item.active, -.navbar-expand-xxl .navbar-light .nav-item.active { - position: relative; - } - .navbar-expand-xxl.navbar-light .nav-item.active:after, -.navbar-expand-xxl .navbar-light .nav-item.active:after { - content: ""; - position: absolute; - right: 0; - left: 0; - bottom: -0.25rem; - border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); - border-bottom-width: 2px; - } - .navbar-expand-xxl.navbar-vertical { - box-shadow: inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-xxl.navbar-vertical.navbar-right { - box-shadow: inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); - } - .navbar-expand-xxl.navbar-vertical ~ .navbar, -.navbar-expand-xxl.navbar-vertical ~ .page-wrapper { - margin-right: 15rem; - } - .navbar-expand-xxl.navbar-vertical.navbar-right ~ .navbar, -.navbar-expand-xxl.navbar-vertical.navbar-right ~ .page-wrapper { - margin-right: 0; - margin-left: 15rem; - } -} -.navbar-expand .navbar-collapse { - flex-direction: column; -} -.navbar-expand .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; -} -.navbar-expand .navbar-collapse .navbar-nav { - margin-right: 0; - margin-left: 0; -} -.navbar-expand .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; -} -.navbar-expand .navbar-collapse .dropdown-menu-columns { - flex-direction: column; -} -.navbar-expand .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; -} -.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-right: 2.5rem; - color: inherit; -} -.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); -} -.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 4rem; -} -.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 5.5rem; -} -.navbar-expand .navbar-collapse .dropdown-toggle:after { - margin-right: auto; -} -.navbar-expand .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-right-width: 3px; - left: auto; - top: 0; - bottom: 0; -} -.navbar-expand .navbar-collapse { - width: auto; - flex: 1 1 auto; -} -.navbar-expand.navbar-light .nav-item.active, -.navbar-expand .navbar-light .nav-item.active { - position: relative; -} -.navbar-expand.navbar-light .nav-item.active:after, -.navbar-expand .navbar-light .nav-item.active:after { - content: ""; - position: absolute; - right: 0; - left: 0; - bottom: -0.25rem; - border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); - border-bottom-width: 2px; -} -.navbar-expand.navbar-vertical { - box-shadow: inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); -} -.navbar-expand.navbar-vertical.navbar-right { - box-shadow: inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color); -} -.navbar-expand.navbar-vertical ~ .navbar, -.navbar-expand.navbar-vertical ~ .page-wrapper { - margin-right: 15rem; -} -.navbar-expand.navbar-vertical.navbar-right ~ .navbar, -.navbar-expand.navbar-vertical.navbar-right ~ .page-wrapper { - margin-right: 0; - margin-left: 15rem; -} - -/** -Navbar brand - */ -.navbar-brand { - display: inline-flex; - align-items: center; - font-weight: var(--tblr-font-weight-bold); - margin: 0; - line-height: 1; -} - -.navbar-brand-image { - height: 2rem; - width: auto; -} - -/** -Navbar toggler - */ -.navbar-toggler { - border: 0; - width: 2rem; - height: 2rem; - position: relative; - display: flex; - align-items: center; - justify-content: center; -} - -.navbar-toggler-icon { - height: 2px; - width: 1.25em; - background: currentColor; - border-radius: 10px; - transition: top 0.2s 0.2s, bottom 0.2s 0.2s, transform 0.2s, opacity 0s 0.2s; - position: relative; -} -@media (prefers-reduced-motion: reduce) { - .navbar-toggler-icon { - transition: none; - } -} -.navbar-toggler-icon:before, .navbar-toggler-icon:after { - content: ""; - display: block; - height: inherit; - width: inherit; - border-radius: inherit; - background: inherit; - position: absolute; - right: 0; - transition: inherit; -} -@media (prefers-reduced-motion: reduce) { - .navbar-toggler-icon:before, .navbar-toggler-icon:after { - transition: none; - } -} -.navbar-toggler-icon:before { - top: -0.45em; -} -.navbar-toggler-icon:after { - bottom: -0.45em; -} -.navbar-toggler[aria-expanded=true] .navbar-toggler-icon { - transform: rotate(-45deg); - transition: top 0.3s, bottom 0.3s, transform 0.3s 0.3s, opacity 0s 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .navbar-toggler[aria-expanded=true] .navbar-toggler-icon { - transition: none; - } -} -.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before { - top: 0; - transform: rotate(90deg); -} -.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after { - bottom: 0; - opacity: 0; -} - -/** -Navbar light - */ -.navbar-light { - --tblr-navbar-border-color: var(--tblr-border-color); - --tblr-navbar-bg: var(--tblr-bg-surface); -} - -/** -Navbar dark - */ -.navbar-dark { - --tblr-navbar-border-color: #243049; - --tblr-navbar-bg: #1d273b; - --tblr-navbar-active-bg: rgba(255, 255, 255, 0.06); - --tblr-navbar-bg: #1d273b; - color: rgba(255, 255, 255, 0.7); -} -.navbar-dark .navbar-brand { - color: #ffffff; -} -.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { - color: #ffffff; - opacity: 0.8; -} -.navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.7); -} -.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { - color: #ffffff; -} -.navbar-dark .navbar-nav .nav-link.disabled { - color: var(--tblr-disabled-color); -} -.navbar-dark .navbar-nav .show > .nav-link, -.navbar-dark .navbar-nav .active > .nav-link, -.navbar-dark .navbar-nav .nav-link.show, -.navbar-dark .navbar-nav .nav-link.active { - color: #ffffff; -} -.navbar-dark .navbar-toggler { - color: #ffffff; - border-color: transparent; -} -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, 0.7); -} -.navbar-dark .navbar-text a, -.navbar-dark .navbar-text a:hover, -.navbar-dark .navbar-text a:focus { - color: rgba(255, 255, 255, 0.7); -} -.navbar-dark::-webkit-scrollbar { - width: 0.5rem; - height: 0.5rem; - -webkit-transition: background 0.3s; - transition: background 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .navbar-dark::-webkit-scrollbar { - -webkit-transition: none; - transition: none; - } -} -.navbar-dark::-webkit-scrollbar-thumb { - border-radius: 5px; - background: rgba(var(--tblr-body-color-rgb), 0.16); -} -.navbar-dark::-webkit-scrollbar-track { - background: rgba(var(--tblr-body-color-rgb), 0.06); -} -.navbar-dark:hover::-webkit-scrollbar-thumb { - background: rgba(var(--tblr-body-color-rgb), 0.32); -} -.navbar-dark::-webkit-scrollbar-corner { - background: transparent; -} - -/** -Navbar transparent - */ -.navbar-transparent { - --tblr-navbar-border-color: transparent !important; - background: transparent !important; -} - -/** -Navbar nav - */ -.navbar-nav { - align-items: stretch; -} -.navbar-nav .nav-item { - display: flex; - flex-direction: column; - justify-content: center; -} - -/** -Navbar side - */ -.navbar-side { - margin: 0; - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-around; -} - -/** -Navbar vertical - */ -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm { - width: 15rem; - position: fixed; - top: 0; - right: 0; - bottom: 0; - z-index: 1030; - align-items: flex-start; - transition: transform 0.3s; - overflow-x: auto; - padding: 0; - } -} -@media (min-width: 576px) and (prefers-reduced-motion: reduce) { - .navbar-vertical.navbar-expand-sm { - transition: none; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm.navbar-right { - right: auto; - left: 0; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm .navbar-brand { - padding: 0.75rem 0; - justify-content: center; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm .navbar-collapse { - align-items: stretch; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm .navbar-nav { - flex-direction: column; - flex-grow: 1; - min-height: auto; - } - .navbar-vertical.navbar-expand-sm .navbar-nav .nav-link { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm > [class^=container] { - flex-direction: column; - align-items: stretch; - min-height: 100%; - justify-content: flex-start; - padding: 0; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm ~ .page { - padding-right: 15rem; - } - .navbar-vertical.navbar-expand-sm ~ .page [class^=container] { - padding-right: 1.5rem; - padding-left: 1.5rem; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm.navbar-right ~ .page { - padding-right: 0; - padding-left: 15rem; - } -} -@media (min-width: 576px) { - .navbar-vertical.navbar-expand-sm .navbar-collapse { - flex-direction: column; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav { - margin-right: 0; - margin-left: 0; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-right: 2.5rem; - color: inherit; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 4rem; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 5.5rem; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after { - margin-right: auto; - } - .navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-right-width: 3px; - left: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md { - width: 15rem; - position: fixed; - top: 0; - right: 0; - bottom: 0; - z-index: 1030; - align-items: flex-start; - transition: transform 0.3s; - overflow-x: auto; - padding: 0; - } -} -@media (min-width: 768px) and (prefers-reduced-motion: reduce) { - .navbar-vertical.navbar-expand-md { - transition: none; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md.navbar-right { - right: auto; - left: 0; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md .navbar-brand { - padding: 0.75rem 0; - justify-content: center; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md .navbar-collapse { - align-items: stretch; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md .navbar-nav { - flex-direction: column; - flex-grow: 1; - min-height: auto; - } - .navbar-vertical.navbar-expand-md .navbar-nav .nav-link { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md > [class^=container] { - flex-direction: column; - align-items: stretch; - min-height: 100%; - justify-content: flex-start; - padding: 0; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md ~ .page { - padding-right: 15rem; - } - .navbar-vertical.navbar-expand-md ~ .page [class^=container] { - padding-right: 1.5rem; - padding-left: 1.5rem; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md.navbar-right ~ .page { - padding-right: 0; - padding-left: 15rem; - } -} -@media (min-width: 768px) { - .navbar-vertical.navbar-expand-md .navbar-collapse { - flex-direction: column; - } - .navbar-vertical.navbar-expand-md .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav { - margin-right: 0; - margin-left: 0; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-right: 2.5rem; - color: inherit; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 4rem; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 5.5rem; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after { - margin-right: auto; - } - .navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-right-width: 3px; - left: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg { - width: 15rem; - position: fixed; - top: 0; - right: 0; - bottom: 0; - z-index: 1030; - align-items: flex-start; - transition: transform 0.3s; - overflow-x: auto; - padding: 0; - } -} -@media (min-width: 992px) and (prefers-reduced-motion: reduce) { - .navbar-vertical.navbar-expand-lg { - transition: none; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg.navbar-right { - right: auto; - left: 0; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg .navbar-brand { - padding: 0.75rem 0; - justify-content: center; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg .navbar-collapse { - align-items: stretch; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg .navbar-nav { - flex-direction: column; - flex-grow: 1; - min-height: auto; - } - .navbar-vertical.navbar-expand-lg .navbar-nav .nav-link { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg > [class^=container] { - flex-direction: column; - align-items: stretch; - min-height: 100%; - justify-content: flex-start; - padding: 0; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg ~ .page { - padding-right: 15rem; - } - .navbar-vertical.navbar-expand-lg ~ .page [class^=container] { - padding-right: 1.5rem; - padding-left: 1.5rem; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg.navbar-right ~ .page { - padding-right: 0; - padding-left: 15rem; - } -} -@media (min-width: 992px) { - .navbar-vertical.navbar-expand-lg .navbar-collapse { - flex-direction: column; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav { - margin-right: 0; - margin-left: 0; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-right: 2.5rem; - color: inherit; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 4rem; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 5.5rem; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after { - margin-right: auto; - } - .navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-right-width: 3px; - left: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl { - width: 15rem; - position: fixed; - top: 0; - right: 0; - bottom: 0; - z-index: 1030; - align-items: flex-start; - transition: transform 0.3s; - overflow-x: auto; - padding: 0; - } -} -@media (min-width: 1200px) and (prefers-reduced-motion: reduce) { - .navbar-vertical.navbar-expand-xl { - transition: none; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl.navbar-right { - right: auto; - left: 0; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl .navbar-brand { - padding: 0.75rem 0; - justify-content: center; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl .navbar-collapse { - align-items: stretch; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl .navbar-nav { - flex-direction: column; - flex-grow: 1; - min-height: auto; - } - .navbar-vertical.navbar-expand-xl .navbar-nav .nav-link { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl > [class^=container] { - flex-direction: column; - align-items: stretch; - min-height: 100%; - justify-content: flex-start; - padding: 0; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl ~ .page { - padding-right: 15rem; - } - .navbar-vertical.navbar-expand-xl ~ .page [class^=container] { - padding-right: 1.5rem; - padding-left: 1.5rem; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl.navbar-right ~ .page { - padding-right: 0; - padding-left: 15rem; - } -} -@media (min-width: 1200px) { - .navbar-vertical.navbar-expand-xl .navbar-collapse { - flex-direction: column; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav { - margin-right: 0; - margin-left: 0; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-right: 2.5rem; - color: inherit; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 4rem; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 5.5rem; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after { - margin-right: auto; - } - .navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-right-width: 3px; - left: auto; - top: 0; - bottom: 0; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl { - width: 15rem; - position: fixed; - top: 0; - right: 0; - bottom: 0; - z-index: 1030; - align-items: flex-start; - transition: transform 0.3s; - overflow-x: auto; - padding: 0; - } -} -@media (min-width: 1400px) and (prefers-reduced-motion: reduce) { - .navbar-vertical.navbar-expand-xxl { - transition: none; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl.navbar-right { - right: auto; - left: 0; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl .navbar-brand { - padding: 0.75rem 0; - justify-content: center; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl .navbar-collapse { - align-items: stretch; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl .navbar-nav { - flex-direction: column; - flex-grow: 1; - min-height: auto; - } - .navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl > [class^=container] { - flex-direction: column; - align-items: stretch; - min-height: 100%; - justify-content: flex-start; - padding: 0; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl ~ .page { - padding-right: 15rem; - } - .navbar-vertical.navbar-expand-xxl ~ .page [class^=container] { - padding-right: 1.5rem; - padding-left: 1.5rem; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl.navbar-right ~ .page { - padding-right: 0; - padding-left: 15rem; - } -} -@media (min-width: 1400px) { - .navbar-vertical.navbar-expand-xxl .navbar-collapse { - flex-direction: column; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav { - margin-right: 0; - margin-left: 0; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns { - flex-direction: column; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-right: 2.5rem; - color: inherit; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 4rem; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 5.5rem; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after { - margin-right: auto; - } - .navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-right-width: 3px; - left: auto; - top: 0; - bottom: 0; - } -} -.navbar-vertical.navbar-expand { - width: 15rem; - position: fixed; - top: 0; - right: 0; - bottom: 0; - z-index: 1030; - align-items: flex-start; - transition: transform 0.3s; - overflow-x: auto; - padding: 0; -} -@media (prefers-reduced-motion: reduce) { - .navbar-vertical.navbar-expand { - transition: none; - } -} -.navbar-vertical.navbar-expand.navbar-right { - right: auto; - left: 0; -} -.navbar-vertical.navbar-expand .navbar-brand { - padding: 0.75rem 0; - justify-content: center; -} -.navbar-vertical.navbar-expand .navbar-collapse { - align-items: stretch; -} -.navbar-vertical.navbar-expand .navbar-nav { - flex-direction: column; - flex-grow: 1; - min-height: auto; -} -.navbar-vertical.navbar-expand .navbar-nav .nav-link { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} -.navbar-vertical.navbar-expand > [class^=container] { - flex-direction: column; - align-items: stretch; - min-height: 100%; - justify-content: flex-start; - padding: 0; -} -.navbar-vertical.navbar-expand ~ .page { - padding-right: 15rem; -} -.navbar-vertical.navbar-expand ~ .page [class^=container] { - padding-right: 1.5rem; - padding-left: 1.5rem; -} -.navbar-vertical.navbar-expand.navbar-right ~ .page { - padding-right: 0; - padding-left: 15rem; -} -.navbar-vertical.navbar-expand .navbar-collapse { - flex-direction: column; -} -.navbar-vertical.navbar-expand .navbar-collapse [class^=container] { - flex-direction: column; - align-items: stretch; - padding: 0; -} -.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav { - margin-right: 0; - margin-left: 0; -} -.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link { - padding: 0.5rem 0.75rem; - justify-content: flex-start; -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns { - flex-direction: column; -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu { - padding: 0; - background: transparent; - position: static; - color: inherit; - box-shadow: none; - border: none; - min-width: 0; - margin: 0; -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item { - min-width: 0; - display: flex; - width: auto; - padding-right: 2.5rem; - color: inherit; -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active { - background: var(--tblr-navbar-active-bg); -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 4rem; -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { - padding-right: 5.5rem; -} -.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after { - margin-right: auto; -} -.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after { - border-bottom-width: 0; - border-right-width: 3px; - left: auto; - top: 0; - bottom: 0; -} - -.navbar-overlap:after { - content: ""; - height: 9rem; - position: absolute; - top: 100%; - right: 0; - left: 0; - background: inherit; - z-index: -1; - box-shadow: inherit; -} - -.page { - display: flex; - flex-direction: column; - position: relative; - min-height: 100%; -} - -.page-center { - justify-content: center; -} - -.page-wrapper { - flex: 1; - display: flex; - flex-direction: column; -} -@media print { - .page-wrapper { - margin: 0 !important; - } -} - -.page-wrapper-full .page-body:first-child { - margin: 0; - border-top: 0; -} - -.page-body { - margin-top: 1.25rem; - margin-bottom: 1.25rem; -} - -.page-body-card { - background: var(--tblr-bg-surface); - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - padding: 1.25rem 0; - margin-bottom: 0; - flex: 1; -} -.page-body ~ .page-body-card { - margin-top: 0; -} - -.page-cover { - background: no-repeat center/cover; - min-height: 9rem; -} -@media (min-width: 768px) { - .page-cover { - min-height: 12rem; - } -} -@media (min-width: 992px) { - .page-cover { - min-height: 15rem; - } -} - -.page-cover-overlay { - position: relative; -} -.page-cover-overlay:after { - content: ""; - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%); -} - -.page-header { - display: flex; - flex-wrap: wrap; - min-height: 2.25rem; - flex-direction: column; - justify-content: center; -} -.page-wrapper .page-header { - margin: 1.25rem 0 0; -} - -.page-header-border { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - padding: 1.25rem 0; - margin: 0 !important; - background-color: var(--tblr-bg-surface); -} - -.page-pretitle { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); -} - -.page-title { - margin: 0; - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: var(--tblr-font-weight-bold); - color: inherit; - display: flex; - align-items: center; -} -.page-title svg { - width: 1.5rem; - height: 1.5rem; - margin-left: 0.25rem; -} - -.page-title-lg { - font-size: 1.5rem; - line-height: 2rem; -} - -.page-subtitle { - margin-top: 0.25rem; - color: #616876; -} - -.page-tabs { - margin-top: 0.5rem; - position: relative; -} - -.page-header-tabs .nav-bordered { - border: 0; -} -.page-header-tabs + .page-body-card { - margin-top: 0; -} - -.footer { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - background-color: #ffffff; - padding: 2rem 0; - color: var(--tblr-muted); - margin-top: auto; -} - -.footer-transparent { - background-color: transparent; - border-top: 0; -} - -/*! - * Tabler (v0.9.0): _dark.scss - * Copyright 2018-2021 The Tabler Authors - * Copyright 2018-2021 codecalm - * Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) - */ -body:not(.theme-dark) .hide-theme-light { - display: none !important; -} - -@media not print { - .theme-dark { - --tblr-body-color: #f8fafc; - --tblr-body-color-rgb: 248, 250, 252; - --tblr-muted: rgba(153, 159, 164, 1); - --tblr-body-bg: #1a2234; - --tblr-body-bg-rgb: 26, 34, 52; - --tblr-bg-forms: #1a2234; - --tblr-bg-surface: #1d273b; - --tblr-bg-surface-dark: #1a2234; - --tblr-bg-surface-secondary: #1a2234; - --tblr-link-color: #307fdd; - --tblr-link-hover-color: #206bc4; - --tblr-active-bg: #202c42; - --tblr-disabled-color: var(--tblr-gray-700); - --tblr-card-bg: #1a2234; - --tblr-card-bg-hover: #1a2234; - --tblr-card-bg-rgb: 26, 34, 52; - --tblr-card-color: #f8fafc; - --tblr-border-color: var(--tblr-dark-mode-border-color); - --tblr-border-color-light: var(--tblr-dark-mode-border-color-light); - --tblr-border-color-active: var(--tblr-dark-mode-border-color-active); - --tblr-btn-color: #1a2234; - --tblr-code-color: var(--tblr-body-color); - --tblr-code-bg: #243049; - color: #f8fafc; - background-color: #1a2234; - } - .theme-dark .page { - color: #f8fafc; - } - .theme-dark .hide-theme-dark { - display: none !important; - } - .theme-dark .text-body { - color: #f8fafc !important; - } - .theme-dark .card, -.theme-dark .card-footer, -.theme-dark .card-stacked::after, -.theme-dark .footer:not(.footer-transparent), -.theme-dark .modal-content, -.theme-dark .modal-header, -.theme-dark .dropdown-menu, -.theme-dark .toast, -.theme-dark .toast-header, -.theme-dark .alert:not(.alert-important) { - background-color: var(--tblr-bg-surface); - color: inherit; - } - .theme-dark .modal { - --tblr-modal-border-color: var(--tblr-border-color); - } - .theme-dark .bg-light { - background-color: #1a2234 !important; - } - .theme-dark .card-tabs .nav-tabs .nav-link { - background-color: #1a2234; - color: inherit; - } - .theme-dark .card-tabs .nav-tabs .nav-link.active { - background-color: #1d273b; - color: inherit; - } - .theme-dark .form-check-input:not(:checked), -.theme-dark .form-select, -.theme-dark .form-file-text, -.theme-dark .form-control, -.theme-dark .form-selectgroup-check { - background-color: #1a2234; - color: #f8fafc; - border-color: #243049; - } - .theme-dark .form-control-plaintext { - color: #f8fafc; - } - .theme-dark .input-group-flat .input-group-text { - background-color: #1a2234; - } - .theme-dark .input-group-text { - border-color: #243049; - } - .theme-dark .highlight { - background-color: #1a2234; - } - .theme-dark .avatar { - --tblr-avatar-bg: #202c42; - } - .theme-dark .markdown, -.theme-dark .markdown > *, -.theme-dark .accordion-button { - color: inherit; - } - .theme-dark .btn-close, -.theme-dark .accordion-button:after { - filter: invert(1) grayscale(100%) brightness(200%); - } - .theme-dark .apexcharts-text { - fill: #f8fafc; - } - .theme-dark .apexcharts-gridline { - stroke: var(--tblr-border-color); - } - .theme-dark .apexcharts-legend-text { - color: inherit !important; - } - .theme-dark .navbar-brand-autodark { - filter: brightness(0) invert(1); - } - .theme-dark .table thead th, .theme-dark .markdown > table thead th, -.theme-dark .input-group-text { - background: transparent; - } - .theme-dark .list-group-header { - background: #1a2234; - } - .theme-dark .list-group-item:not(.disabled):not(:disabled) { - color: #f8fafc; - } - .theme-dark .list-group-item.disabled, .theme-dark .list-group-item:disabled { - color: #49566c; - } - .theme-dark .apexcharts-radialbar-area { - stroke: #243049; - } - .theme-dark .form-control.is-invalid, -.theme-dark .was-validated .form-control:invalid { - border-color: var(--tblr-danger); - } - .theme-dark .form-control.is-valid, -.theme-dark .was-validated .form-control:valid { - border-color: var(--tblr-success); - } -} -@media not print { - @media (prefers-color-scheme: dark) { - .theme-dark-auto { - --tblr-body-color: #f8fafc; - --tblr-body-color-rgb: 248, 250, 252; - --tblr-muted: rgba(153, 159, 164, 1); - --tblr-body-bg: #1a2234; - --tblr-body-bg-rgb: 26, 34, 52; - --tblr-bg-forms: #1a2234; - --tblr-bg-surface: #1d273b; - --tblr-bg-surface-dark: #1a2234; - --tblr-bg-surface-secondary: #1a2234; - --tblr-link-color: #307fdd; - --tblr-link-hover-color: #206bc4; - --tblr-active-bg: #202c42; - --tblr-disabled-color: var(--tblr-gray-700); - --tblr-card-bg: #1a2234; - --tblr-card-bg-hover: #1a2234; - --tblr-card-bg-rgb: 26, 34, 52; - --tblr-card-color: #f8fafc; - --tblr-border-color: var(--tblr-dark-mode-border-color); - --tblr-border-color-light: var(--tblr-dark-mode-border-color-light); - --tblr-border-color-active: var(--tblr-dark-mode-border-color-active); - --tblr-btn-color: #1a2234; - --tblr-code-color: var(--tblr-body-color); - --tblr-code-bg: #243049; - color: #f8fafc; - background-color: #1a2234; - } - .theme-dark-auto .page { - color: #f8fafc; - } - .theme-dark-auto .hide-theme-dark { - display: none !important; - } - .theme-dark-auto .text-body { - color: #f8fafc !important; - } - .theme-dark-auto .card, -.theme-dark-auto .card-footer, -.theme-dark-auto .card-stacked::after, -.theme-dark-auto .footer:not(.footer-transparent), -.theme-dark-auto .modal-content, -.theme-dark-auto .modal-header, -.theme-dark-auto .dropdown-menu, -.theme-dark-auto .toast, -.theme-dark-auto .toast-header, -.theme-dark-auto .alert:not(.alert-important) { - background-color: var(--tblr-bg-surface); - color: inherit; - } - .theme-dark-auto .modal { - --tblr-modal-border-color: var(--tblr-border-color); - } - .theme-dark-auto .bg-light { - background-color: #1a2234 !important; - } - .theme-dark-auto .card-tabs .nav-tabs .nav-link { - background-color: #1a2234; - color: inherit; - } - .theme-dark-auto .card-tabs .nav-tabs .nav-link.active { - background-color: #1d273b; - color: inherit; - } - .theme-dark-auto .form-check-input:not(:checked), -.theme-dark-auto .form-select, -.theme-dark-auto .form-file-text, -.theme-dark-auto .form-control, -.theme-dark-auto .form-selectgroup-check { - background-color: #1a2234; - color: #f8fafc; - border-color: #243049; - } - .theme-dark-auto .form-control-plaintext { - color: #f8fafc; - } - .theme-dark-auto .input-group-flat .input-group-text { - background-color: #1a2234; - } - .theme-dark-auto .input-group-text { - border-color: #243049; - } - .theme-dark-auto .highlight { - background-color: #1a2234; - } - .theme-dark-auto .avatar { - --tblr-avatar-bg: #202c42; - } - .theme-dark-auto .markdown, -.theme-dark-auto .markdown > *, -.theme-dark-auto .accordion-button { - color: inherit; - } - .theme-dark-auto .btn-close, -.theme-dark-auto .accordion-button:after { - filter: invert(1) grayscale(100%) brightness(200%); - } - .theme-dark-auto .apexcharts-text { - fill: #f8fafc; - } - .theme-dark-auto .apexcharts-gridline { - stroke: var(--tblr-border-color); - } - .theme-dark-auto .apexcharts-legend-text { - color: inherit !important; - } - .theme-dark-auto .navbar-brand-autodark { - filter: brightness(0) invert(1); - } - .theme-dark-auto .table thead th, .theme-dark-auto .markdown > table thead th, -.theme-dark-auto .input-group-text { - background: transparent; - } - .theme-dark-auto .list-group-header { - background: #1a2234; - } - .theme-dark-auto .list-group-item:not(.disabled):not(:disabled) { - color: #f8fafc; - } - .theme-dark-auto .list-group-item.disabled, .theme-dark-auto .list-group-item:disabled { - color: #49566c; - } - .theme-dark-auto .apexcharts-radialbar-area { - stroke: #243049; - } - .theme-dark-auto .form-control.is-invalid, -.theme-dark-auto .was-validated .form-control:invalid { - border-color: var(--tblr-danger); - } - .theme-dark-auto .form-control.is-valid, -.theme-dark-auto .was-validated .form-control:valid { - border-color: var(--tblr-success); - } - } -} -.accordion { - --tblr-accordion-color: var(--tblr-body-color); -} - -.accordion-button:focus:not(:focus-visible) { - outline: none; - box-shadow: none; -} -.accordion-button:after { - opacity: 0.7; -} -.accordion-button:not(.collapsed) { - font-weight: var(--tblr-font-weight-bold); - border-bottom-color: transparent; - box-shadow: none; -} -.accordion-button:not(.collapsed):after { - opacity: 1; -} - -.alert { - --tblr-alert-color: #616876; - background: #ffffff; - border: 1px var(--tblr-border-style) var(--tblr-border-color-translucent); - border-right: 0.25rem var(--tblr-border-style) var(--tblr-alert-color); - box-shadow: rgba(29, 39, 59, 0.04) 0 2px 4px 0; -} -.alert > :last-child { - margin-bottom: 0; -} - -.alert-important { - border-color: transparent; - background: var(--tblr-alert-color); - color: #fff; -} -.alert-important .alert-icon, -.alert-important .alert-link { - color: inherit; -} -.alert-important .alert-link:hover { - color: inherit; -} - -.alert-link, .alert-link:hover { - color: var(--tblr-alert-color); -} - -.alert-primary { - --tblr-alert-color: #206bc4; -} - -.alert-secondary { - --tblr-alert-color: #616876; -} - -.alert-success { - --tblr-alert-color: #2fb344; -} - -.alert-info { - --tblr-alert-color: #4299e1; -} - -.alert-warning { - --tblr-alert-color: #f76707; -} - -.alert-danger { - --tblr-alert-color: #d63939; -} - -.alert-light { - --tblr-alert-color: #f8fafc; -} - -.alert-dark { - --tblr-alert-color: #1d273b; -} - -.alert-muted { - --tblr-alert-color: #616876; -} - -.alert-blue { - --tblr-alert-color: #206bc4; -} - -.alert-azure { - --tblr-alert-color: #4299e1; -} - -.alert-indigo { - --tblr-alert-color: #4263eb; -} - -.alert-purple { - --tblr-alert-color: #ae3ec9; -} - -.alert-pink { - --tblr-alert-color: #d6336c; -} - -.alert-red { - --tblr-alert-color: #d63939; -} - -.alert-orange { - --tblr-alert-color: #f76707; -} - -.alert-yellow { - --tblr-alert-color: #f59f00; -} - -.alert-lime { - --tblr-alert-color: #74b816; -} - -.alert-green { - --tblr-alert-color: #2fb344; -} - -.alert-teal { - --tblr-alert-color: #0ca678; -} - -.alert-cyan { - --tblr-alert-color: #17a2b8; -} - -.alert-facebook { - --tblr-alert-color: #3b5998; -} - -.alert-twitter { - --tblr-alert-color: #1da1f2; -} - -.alert-linkedin { - --tblr-alert-color: #0a66c2; -} - -.alert-google { - --tblr-alert-color: #dc4e41; -} - -.alert-youtube { - --tblr-alert-color: #ff0000; -} - -.alert-vimeo { - --tblr-alert-color: #1ab7ea; -} - -.alert-dribbble { - --tblr-alert-color: #ea4c89; -} - -.alert-github { - --tblr-alert-color: #181717; -} - -.alert-instagram { - --tblr-alert-color: #e4405f; -} - -.alert-pinterest { - --tblr-alert-color: #bd081c; -} - -.alert-vk { - --tblr-alert-color: #6383a8; -} - -.alert-rss { - --tblr-alert-color: #ffa500; -} - -.alert-flickr { - --tblr-alert-color: #0063dc; -} - -.alert-bitbucket { - --tblr-alert-color: #0052cc; -} - -.alert-tabler { - --tblr-alert-color: #206bc4; -} - -.alert-icon { - color: var(--tblr-alert-color); - width: 1.5rem !important; - height: 1.5rem !important; - margin: -0.125rem 0 -0.125rem 1rem; -} - -.alert-title { - font-size: 0.875rem; - line-height: 1.25rem; - font-weight: var(--tblr-font-weight-bold); - margin-bottom: 0.25rem; - color: var(--tblr-alert-color); -} - -.avatar { - --tblr-avatar-size: 2.5rem; - --tblr-avatar-bg: var(--tblr-gray-100); - position: relative; - width: var(--tblr-avatar-size); - height: var(--tblr-avatar-size); - font-size: calc(var(--tblr-avatar-size) / 2.8571428572); - font-weight: var(--tblr-font-weight-medium); - display: inline-flex; - align-items: center; - justify-content: center; - color: #616876; - text-align: center; - text-transform: uppercase; - vertical-align: bottom; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background: var(--tblr-avatar-bg) no-repeat center/cover; - border-radius: var(--tblr-border-radius); -} -.avatar svg { - width: calc(var(--tblr-avatar-size) / 1.6666666667); - height: calc(var(--tblr-avatar-size) / 1.6666666667); -} -.avatar .badge { - position: absolute; - left: 0; - bottom: 0; - border-radius: 100rem; - box-shadow: 0 0 0 2px var(--tblr-bg-surface); -} -a.avatar { - cursor: pointer; -} - -.avatar-rounded { - border-radius: 100rem; -} - -.avatar-xs { - --tblr-avatar-size: 1.5rem; -} - -.avatar-xs .badge:empty { - width: 0.375rem; - height: 0.375rem; -} - -.avatar-sm { - --tblr-avatar-size: 2rem; -} - -.avatar-sm .badge:empty { - width: 0.5rem; - height: 0.5rem; -} - -.avatar-md { - --tblr-avatar-size: 3.75rem; -} - -.avatar-md .badge:empty { - width: 0.9375rem; - height: 0.9375rem; -} - -.avatar-lg { - --tblr-avatar-size: 5rem; -} - -.avatar-lg .badge:empty { - width: 1.25rem; - height: 1.25rem; -} - -.avatar-xl { - --tblr-avatar-size: 7rem; -} - -.avatar-xl .badge:empty { - width: 1.75rem; - height: 1.75rem; -} - -.avatar-2xl { - --tblr-avatar-size: 11rem; -} - -.avatar-2xl .badge:empty { - width: 2.75rem; - height: 2.75rem; -} - -.avatar-list { - display: inline-flex; - padding: 0; - margin: 0 0 -0.5rem; - flex-wrap: wrap; -} -.avatar-list .avatar { - margin-bottom: 0.5rem; -} -.avatar-list .avatar:not(:last-child) { - margin-left: 0.5rem; -} -.avatar-list a.avatar:hover { - z-index: 1; -} - -.avatar-list-stacked .avatar { - margin-left: -0.5rem !important; - box-shadow: 0 0 0 2px 0 0 0 2px var(--tblr-card-cap-bg, var(--tblr-card-bg, var(--tblr-bg-surface))); -} - -.avatar-upload { - width: 4rem; - height: 4rem; - border: 1px dashed var(--tblr-border-color); - background: var(--tblr-bg-forms); - flex-direction: column; - transition: color 0.3s, background-color 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .avatar-upload { - transition: none; - } -} -.avatar-upload svg { - width: 1.5rem; - height: 1.5rem; - stroke-width: 1; -} -.avatar-upload:hover { - border-color: var(--tblr-primary); - color: var(--tblr-primary); - text-decoration: none; -} - -.avatar-upload-text { - font-size: 0.625rem; - line-height: 1; - margin-top: 0.25rem; -} - -.page-cover ~ * .page-avatar { - margin-top: calc(calc(-1 * calc(var(--tblr-avatar-size) * .5)) - 1.25rem); - box-shadow: 0 0 0 0.25rem #f1f5f9; -} - -.badge { - justify-content: center; - align-items: center; - background: #6c7a91; - overflow: hidden; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: var(--tblr-border-width) var(--tblr-border-style) transparent; - min-width: 1.35714285em; - font-weight: var(--tblr-font-weight-medium); - letter-spacing: 0.04em; - vertical-align: bottom; -} -a.badge { - color: var(--tblr-bg-surface); -} - -.badge:empty { - display: inline-block; - width: 0.5rem; - height: 0.5rem; - min-width: 0; - min-height: auto; - padding: 0; - border-radius: 100rem; - vertical-align: baseline; -} -.badge .avatar { - box-sizing: content-box; - width: 1.25rem; - height: 1.25rem; - margin: 0 -0.5rem 0 0.5rem; -} -.badge .icon { - width: 1em; - height: 1em; - font-size: 1rem; - stroke-width: 2; -} - -.badge-sm { - font-size: 0.625rem; - line-height: 1rem; - padding: 0 0.25rem; -} - -.badge-outline { - background-color: transparent; - border: var(--tblr-border-width) var(--tblr-border-style) currentColor; -} - -.badge-pill { - border-radius: 100rem; -} - -.breadcrumb { - padding: 0; - margin: 0; - background: transparent; -} -.breadcrumb a { - color: #616876; -} -.breadcrumb a:hover { - text-decoration: underline; -} - -.breadcrumb-item.active a { - color: inherit; - pointer-events: none; -} - -.breadcrumb-dots { - --tblr-breadcrumb-divider: "·"; -} - -.breadcrumb-arrows { - --tblr-breadcrumb-divider: "›"; -} - -.breadcrumb-bullets { - --tblr-breadcrumb-divider: "•"; -} - -.btn { - --tblr-btn-icon-size: 1.25rem; - --tblr-btn-bg: var(--tblr-bg-surface); - --tblr-btn-color: var(--tblr-body-color); - --tblr-btn-border-color: var(--tblr-border-color); - --tblr-btn-hover-bg: var(--tblr-bg-surface); - --tblr-btn-hover-border-color: var(--tblr-border-color-active); - --tblr-btn-box-shadow: var(--tblr-shadow-button); - display: inline-flex; - align-items: center; - justify-content: center; - white-space: nowrap; - box-shadow: var(--tblr-btn-box-shadow); -} -.btn .icon { - width: var(--tblr-btn-icon-size); - height: var(--tblr-btn-icon-size); - min-width: var(--tblr-btn-icon-size); - margin: 0 calc(var(--tblr-btn-padding-x) / -4) 0 calc(var(--tblr-btn-padding-x) / 2); - vertical-align: bottom; - color: inherit; -} -.btn .avatar { - width: var(--tblr-btn-icon-size); - height: var(--tblr-btn-icon-size); - margin: 0 calc(var(--tblr-btn-padding-x) / -4) 0 calc(var(--tblr-btn-padding-x) / 2); -} -.btn .icon-right { - margin: 0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4); -} -.btn .badge { - top: auto; -} - -.btn-link { - color: var(--tblr-primary); - background-color: transparent; - border-color: transparent; - box-shadow: none; -} -.btn-link .icon { - color: inherit; -} -.btn-link:hover { - color: var(--tblr-primary-darken); - border-color: transparent; -} - -.btn-primary { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-primary-fg); - --tblr-btn-bg: var(--tblr-primary); - --tblr-btn-hover-color: var(--tblr-primary-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-primary-rgb), .8); - --tblr-btn-active-color: var(--tblr-primary-fg); - --tblr-btn-active-bg: rgba(var(--tblr-primary-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-primary); - --tblr-btn-disabled-color: var(--tblr-primary-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-primary { - --tblr-btn-color: var(--tblr-primary); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-primary); - --tblr-btn-hover-color: var(--tblr-primary-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-primary); - --tblr-btn-active-color: var(--tblr-primary-fg); - --tblr-btn-active-bg: var(--tblr-primary); - --tblr-btn-disabled-color: var(--tblr-primary); - --tblr-btn-disabled-border-color: var(--tblr-primary); -} - -.btn-secondary { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-secondary-fg); - --tblr-btn-bg: var(--tblr-secondary); - --tblr-btn-hover-color: var(--tblr-secondary-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-secondary-rgb), .8); - --tblr-btn-active-color: var(--tblr-secondary-fg); - --tblr-btn-active-bg: rgba(var(--tblr-secondary-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-secondary); - --tblr-btn-disabled-color: var(--tblr-secondary-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-secondary { - --tblr-btn-color: var(--tblr-secondary); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-secondary); - --tblr-btn-hover-color: var(--tblr-secondary-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-secondary); - --tblr-btn-active-color: var(--tblr-secondary-fg); - --tblr-btn-active-bg: var(--tblr-secondary); - --tblr-btn-disabled-color: var(--tblr-secondary); - --tblr-btn-disabled-border-color: var(--tblr-secondary); -} - -.btn-success { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-success-fg); - --tblr-btn-bg: var(--tblr-success); - --tblr-btn-hover-color: var(--tblr-success-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-success-rgb), .8); - --tblr-btn-active-color: var(--tblr-success-fg); - --tblr-btn-active-bg: rgba(var(--tblr-success-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-success); - --tblr-btn-disabled-color: var(--tblr-success-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-success { - --tblr-btn-color: var(--tblr-success); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-success); - --tblr-btn-hover-color: var(--tblr-success-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-success); - --tblr-btn-active-color: var(--tblr-success-fg); - --tblr-btn-active-bg: var(--tblr-success); - --tblr-btn-disabled-color: var(--tblr-success); - --tblr-btn-disabled-border-color: var(--tblr-success); -} - -.btn-info { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-info-fg); - --tblr-btn-bg: var(--tblr-info); - --tblr-btn-hover-color: var(--tblr-info-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-info-rgb), .8); - --tblr-btn-active-color: var(--tblr-info-fg); - --tblr-btn-active-bg: rgba(var(--tblr-info-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-info); - --tblr-btn-disabled-color: var(--tblr-info-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-info { - --tblr-btn-color: var(--tblr-info); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-info); - --tblr-btn-hover-color: var(--tblr-info-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-info); - --tblr-btn-active-color: var(--tblr-info-fg); - --tblr-btn-active-bg: var(--tblr-info); - --tblr-btn-disabled-color: var(--tblr-info); - --tblr-btn-disabled-border-color: var(--tblr-info); -} - -.btn-warning { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-warning-fg); - --tblr-btn-bg: var(--tblr-warning); - --tblr-btn-hover-color: var(--tblr-warning-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-warning-rgb), .8); - --tblr-btn-active-color: var(--tblr-warning-fg); - --tblr-btn-active-bg: rgba(var(--tblr-warning-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-warning); - --tblr-btn-disabled-color: var(--tblr-warning-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-warning { - --tblr-btn-color: var(--tblr-warning); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-warning); - --tblr-btn-hover-color: var(--tblr-warning-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-warning); - --tblr-btn-active-color: var(--tblr-warning-fg); - --tblr-btn-active-bg: var(--tblr-warning); - --tblr-btn-disabled-color: var(--tblr-warning); - --tblr-btn-disabled-border-color: var(--tblr-warning); -} - -.btn-danger { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-danger-fg); - --tblr-btn-bg: var(--tblr-danger); - --tblr-btn-hover-color: var(--tblr-danger-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-danger-rgb), .8); - --tblr-btn-active-color: var(--tblr-danger-fg); - --tblr-btn-active-bg: rgba(var(--tblr-danger-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-danger); - --tblr-btn-disabled-color: var(--tblr-danger-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-danger { - --tblr-btn-color: var(--tblr-danger); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-danger); - --tblr-btn-hover-color: var(--tblr-danger-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-danger); - --tblr-btn-active-color: var(--tblr-danger-fg); - --tblr-btn-active-bg: var(--tblr-danger); - --tblr-btn-disabled-color: var(--tblr-danger); - --tblr-btn-disabled-border-color: var(--tblr-danger); -} - -.btn-light { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-light-fg); - --tblr-btn-bg: var(--tblr-light); - --tblr-btn-hover-color: var(--tblr-light-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-light-rgb), .8); - --tblr-btn-active-color: var(--tblr-light-fg); - --tblr-btn-active-bg: rgba(var(--tblr-light-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-light); - --tblr-btn-disabled-color: var(--tblr-light-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-light { - --tblr-btn-color: var(--tblr-light); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-light); - --tblr-btn-hover-color: var(--tblr-light-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-light); - --tblr-btn-active-color: var(--tblr-light-fg); - --tblr-btn-active-bg: var(--tblr-light); - --tblr-btn-disabled-color: var(--tblr-light); - --tblr-btn-disabled-border-color: var(--tblr-light); -} - -.btn-dark { - --tblr-btn-border-color: var(--tblr-dark-mode-border-color); - --tblr-btn-hover-border-color: var(--tblr-dark-mode-border-color-active); - --tblr-btn-active-border-color: var(--tblr-dark-mode-border-color-active); - --tblr-btn-color: var(--tblr-dark-fg); - --tblr-btn-bg: var(--tblr-dark); - --tblr-btn-hover-color: var(--tblr-dark-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-dark-rgb), .8); - --tblr-btn-active-color: var(--tblr-dark-fg); - --tblr-btn-active-bg: rgba(var(--tblr-dark-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-dark); - --tblr-btn-disabled-color: var(--tblr-dark-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-dark { - --tblr-btn-color: var(--tblr-dark); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-dark); - --tblr-btn-hover-color: var(--tblr-dark-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-dark); - --tblr-btn-active-color: var(--tblr-dark-fg); - --tblr-btn-active-bg: var(--tblr-dark); - --tblr-btn-disabled-color: var(--tblr-dark); - --tblr-btn-disabled-border-color: var(--tblr-dark); -} - -.btn-muted { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-muted-fg); - --tblr-btn-bg: var(--tblr-muted); - --tblr-btn-hover-color: var(--tblr-muted-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-muted-rgb), .8); - --tblr-btn-active-color: var(--tblr-muted-fg); - --tblr-btn-active-bg: rgba(var(--tblr-muted-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-muted); - --tblr-btn-disabled-color: var(--tblr-muted-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-muted { - --tblr-btn-color: var(--tblr-muted); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-muted); - --tblr-btn-hover-color: var(--tblr-muted-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-muted); - --tblr-btn-active-color: var(--tblr-muted-fg); - --tblr-btn-active-bg: var(--tblr-muted); - --tblr-btn-disabled-color: var(--tblr-muted); - --tblr-btn-disabled-border-color: var(--tblr-muted); -} - -.btn-blue { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-blue-fg); - --tblr-btn-bg: var(--tblr-blue); - --tblr-btn-hover-color: var(--tblr-blue-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-blue-rgb), .8); - --tblr-btn-active-color: var(--tblr-blue-fg); - --tblr-btn-active-bg: rgba(var(--tblr-blue-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-blue); - --tblr-btn-disabled-color: var(--tblr-blue-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-blue { - --tblr-btn-color: var(--tblr-blue); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-blue); - --tblr-btn-hover-color: var(--tblr-blue-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-blue); - --tblr-btn-active-color: var(--tblr-blue-fg); - --tblr-btn-active-bg: var(--tblr-blue); - --tblr-btn-disabled-color: var(--tblr-blue); - --tblr-btn-disabled-border-color: var(--tblr-blue); -} - -.btn-azure { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-azure-fg); - --tblr-btn-bg: var(--tblr-azure); - --tblr-btn-hover-color: var(--tblr-azure-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-azure-rgb), .8); - --tblr-btn-active-color: var(--tblr-azure-fg); - --tblr-btn-active-bg: rgba(var(--tblr-azure-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-azure); - --tblr-btn-disabled-color: var(--tblr-azure-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-azure { - --tblr-btn-color: var(--tblr-azure); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-azure); - --tblr-btn-hover-color: var(--tblr-azure-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-azure); - --tblr-btn-active-color: var(--tblr-azure-fg); - --tblr-btn-active-bg: var(--tblr-azure); - --tblr-btn-disabled-color: var(--tblr-azure); - --tblr-btn-disabled-border-color: var(--tblr-azure); -} - -.btn-indigo { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-indigo-fg); - --tblr-btn-bg: var(--tblr-indigo); - --tblr-btn-hover-color: var(--tblr-indigo-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-indigo-rgb), .8); - --tblr-btn-active-color: var(--tblr-indigo-fg); - --tblr-btn-active-bg: rgba(var(--tblr-indigo-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-indigo); - --tblr-btn-disabled-color: var(--tblr-indigo-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-indigo { - --tblr-btn-color: var(--tblr-indigo); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-indigo); - --tblr-btn-hover-color: var(--tblr-indigo-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-indigo); - --tblr-btn-active-color: var(--tblr-indigo-fg); - --tblr-btn-active-bg: var(--tblr-indigo); - --tblr-btn-disabled-color: var(--tblr-indigo); - --tblr-btn-disabled-border-color: var(--tblr-indigo); -} - -.btn-purple { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-purple-fg); - --tblr-btn-bg: var(--tblr-purple); - --tblr-btn-hover-color: var(--tblr-purple-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-purple-rgb), .8); - --tblr-btn-active-color: var(--tblr-purple-fg); - --tblr-btn-active-bg: rgba(var(--tblr-purple-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-purple); - --tblr-btn-disabled-color: var(--tblr-purple-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-purple { - --tblr-btn-color: var(--tblr-purple); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-purple); - --tblr-btn-hover-color: var(--tblr-purple-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-purple); - --tblr-btn-active-color: var(--tblr-purple-fg); - --tblr-btn-active-bg: var(--tblr-purple); - --tblr-btn-disabled-color: var(--tblr-purple); - --tblr-btn-disabled-border-color: var(--tblr-purple); -} - -.btn-pink { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-pink-fg); - --tblr-btn-bg: var(--tblr-pink); - --tblr-btn-hover-color: var(--tblr-pink-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-pink-rgb), .8); - --tblr-btn-active-color: var(--tblr-pink-fg); - --tblr-btn-active-bg: rgba(var(--tblr-pink-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-pink); - --tblr-btn-disabled-color: var(--tblr-pink-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-pink { - --tblr-btn-color: var(--tblr-pink); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-pink); - --tblr-btn-hover-color: var(--tblr-pink-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-pink); - --tblr-btn-active-color: var(--tblr-pink-fg); - --tblr-btn-active-bg: var(--tblr-pink); - --tblr-btn-disabled-color: var(--tblr-pink); - --tblr-btn-disabled-border-color: var(--tblr-pink); -} - -.btn-red { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-red-fg); - --tblr-btn-bg: var(--tblr-red); - --tblr-btn-hover-color: var(--tblr-red-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-red-rgb), .8); - --tblr-btn-active-color: var(--tblr-red-fg); - --tblr-btn-active-bg: rgba(var(--tblr-red-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-red); - --tblr-btn-disabled-color: var(--tblr-red-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-red { - --tblr-btn-color: var(--tblr-red); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-red); - --tblr-btn-hover-color: var(--tblr-red-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-red); - --tblr-btn-active-color: var(--tblr-red-fg); - --tblr-btn-active-bg: var(--tblr-red); - --tblr-btn-disabled-color: var(--tblr-red); - --tblr-btn-disabled-border-color: var(--tblr-red); -} - -.btn-orange { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-orange-fg); - --tblr-btn-bg: var(--tblr-orange); - --tblr-btn-hover-color: var(--tblr-orange-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-orange-rgb), .8); - --tblr-btn-active-color: var(--tblr-orange-fg); - --tblr-btn-active-bg: rgba(var(--tblr-orange-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-orange); - --tblr-btn-disabled-color: var(--tblr-orange-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-orange { - --tblr-btn-color: var(--tblr-orange); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-orange); - --tblr-btn-hover-color: var(--tblr-orange-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-orange); - --tblr-btn-active-color: var(--tblr-orange-fg); - --tblr-btn-active-bg: var(--tblr-orange); - --tblr-btn-disabled-color: var(--tblr-orange); - --tblr-btn-disabled-border-color: var(--tblr-orange); -} - -.btn-yellow { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-yellow-fg); - --tblr-btn-bg: var(--tblr-yellow); - --tblr-btn-hover-color: var(--tblr-yellow-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-yellow-rgb), .8); - --tblr-btn-active-color: var(--tblr-yellow-fg); - --tblr-btn-active-bg: rgba(var(--tblr-yellow-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-yellow); - --tblr-btn-disabled-color: var(--tblr-yellow-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-yellow { - --tblr-btn-color: var(--tblr-yellow); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-yellow); - --tblr-btn-hover-color: var(--tblr-yellow-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-yellow); - --tblr-btn-active-color: var(--tblr-yellow-fg); - --tblr-btn-active-bg: var(--tblr-yellow); - --tblr-btn-disabled-color: var(--tblr-yellow); - --tblr-btn-disabled-border-color: var(--tblr-yellow); -} - -.btn-lime { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-lime-fg); - --tblr-btn-bg: var(--tblr-lime); - --tblr-btn-hover-color: var(--tblr-lime-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-lime-rgb), .8); - --tblr-btn-active-color: var(--tblr-lime-fg); - --tblr-btn-active-bg: rgba(var(--tblr-lime-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-lime); - --tblr-btn-disabled-color: var(--tblr-lime-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-lime { - --tblr-btn-color: var(--tblr-lime); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-lime); - --tblr-btn-hover-color: var(--tblr-lime-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-lime); - --tblr-btn-active-color: var(--tblr-lime-fg); - --tblr-btn-active-bg: var(--tblr-lime); - --tblr-btn-disabled-color: var(--tblr-lime); - --tblr-btn-disabled-border-color: var(--tblr-lime); -} - -.btn-green { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-green-fg); - --tblr-btn-bg: var(--tblr-green); - --tblr-btn-hover-color: var(--tblr-green-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-green-rgb), .8); - --tblr-btn-active-color: var(--tblr-green-fg); - --tblr-btn-active-bg: rgba(var(--tblr-green-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-green); - --tblr-btn-disabled-color: var(--tblr-green-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-green { - --tblr-btn-color: var(--tblr-green); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-green); - --tblr-btn-hover-color: var(--tblr-green-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-green); - --tblr-btn-active-color: var(--tblr-green-fg); - --tblr-btn-active-bg: var(--tblr-green); - --tblr-btn-disabled-color: var(--tblr-green); - --tblr-btn-disabled-border-color: var(--tblr-green); -} - -.btn-teal { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-teal-fg); - --tblr-btn-bg: var(--tblr-teal); - --tblr-btn-hover-color: var(--tblr-teal-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-teal-rgb), .8); - --tblr-btn-active-color: var(--tblr-teal-fg); - --tblr-btn-active-bg: rgba(var(--tblr-teal-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-teal); - --tblr-btn-disabled-color: var(--tblr-teal-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-teal { - --tblr-btn-color: var(--tblr-teal); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-teal); - --tblr-btn-hover-color: var(--tblr-teal-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-teal); - --tblr-btn-active-color: var(--tblr-teal-fg); - --tblr-btn-active-bg: var(--tblr-teal); - --tblr-btn-disabled-color: var(--tblr-teal); - --tblr-btn-disabled-border-color: var(--tblr-teal); -} - -.btn-cyan { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-cyan-fg); - --tblr-btn-bg: var(--tblr-cyan); - --tblr-btn-hover-color: var(--tblr-cyan-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-cyan-rgb), .8); - --tblr-btn-active-color: var(--tblr-cyan-fg); - --tblr-btn-active-bg: rgba(var(--tblr-cyan-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-cyan); - --tblr-btn-disabled-color: var(--tblr-cyan-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-cyan { - --tblr-btn-color: var(--tblr-cyan); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-cyan); - --tblr-btn-hover-color: var(--tblr-cyan-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-cyan); - --tblr-btn-active-color: var(--tblr-cyan-fg); - --tblr-btn-active-bg: var(--tblr-cyan); - --tblr-btn-disabled-color: var(--tblr-cyan); - --tblr-btn-disabled-border-color: var(--tblr-cyan); -} - -.btn-facebook { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-facebook-fg); - --tblr-btn-bg: var(--tblr-facebook); - --tblr-btn-hover-color: var(--tblr-facebook-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-facebook-rgb), .8); - --tblr-btn-active-color: var(--tblr-facebook-fg); - --tblr-btn-active-bg: rgba(var(--tblr-facebook-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-facebook); - --tblr-btn-disabled-color: var(--tblr-facebook-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-facebook { - --tblr-btn-color: var(--tblr-facebook); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-facebook); - --tblr-btn-hover-color: var(--tblr-facebook-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-facebook); - --tblr-btn-active-color: var(--tblr-facebook-fg); - --tblr-btn-active-bg: var(--tblr-facebook); - --tblr-btn-disabled-color: var(--tblr-facebook); - --tblr-btn-disabled-border-color: var(--tblr-facebook); -} - -.btn-twitter { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-twitter-fg); - --tblr-btn-bg: var(--tblr-twitter); - --tblr-btn-hover-color: var(--tblr-twitter-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-twitter-rgb), .8); - --tblr-btn-active-color: var(--tblr-twitter-fg); - --tblr-btn-active-bg: rgba(var(--tblr-twitter-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-twitter); - --tblr-btn-disabled-color: var(--tblr-twitter-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-twitter { - --tblr-btn-color: var(--tblr-twitter); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-twitter); - --tblr-btn-hover-color: var(--tblr-twitter-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-twitter); - --tblr-btn-active-color: var(--tblr-twitter-fg); - --tblr-btn-active-bg: var(--tblr-twitter); - --tblr-btn-disabled-color: var(--tblr-twitter); - --tblr-btn-disabled-border-color: var(--tblr-twitter); -} - -.btn-linkedin { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-linkedin-fg); - --tblr-btn-bg: var(--tblr-linkedin); - --tblr-btn-hover-color: var(--tblr-linkedin-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-linkedin-rgb), .8); - --tblr-btn-active-color: var(--tblr-linkedin-fg); - --tblr-btn-active-bg: rgba(var(--tblr-linkedin-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-linkedin); - --tblr-btn-disabled-color: var(--tblr-linkedin-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-linkedin { - --tblr-btn-color: var(--tblr-linkedin); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-linkedin); - --tblr-btn-hover-color: var(--tblr-linkedin-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-linkedin); - --tblr-btn-active-color: var(--tblr-linkedin-fg); - --tblr-btn-active-bg: var(--tblr-linkedin); - --tblr-btn-disabled-color: var(--tblr-linkedin); - --tblr-btn-disabled-border-color: var(--tblr-linkedin); -} - -.btn-google { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-google-fg); - --tblr-btn-bg: var(--tblr-google); - --tblr-btn-hover-color: var(--tblr-google-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-google-rgb), .8); - --tblr-btn-active-color: var(--tblr-google-fg); - --tblr-btn-active-bg: rgba(var(--tblr-google-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-google); - --tblr-btn-disabled-color: var(--tblr-google-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-google { - --tblr-btn-color: var(--tblr-google); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-google); - --tblr-btn-hover-color: var(--tblr-google-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-google); - --tblr-btn-active-color: var(--tblr-google-fg); - --tblr-btn-active-bg: var(--tblr-google); - --tblr-btn-disabled-color: var(--tblr-google); - --tblr-btn-disabled-border-color: var(--tblr-google); -} - -.btn-youtube { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-youtube-fg); - --tblr-btn-bg: var(--tblr-youtube); - --tblr-btn-hover-color: var(--tblr-youtube-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-youtube-rgb), .8); - --tblr-btn-active-color: var(--tblr-youtube-fg); - --tblr-btn-active-bg: rgba(var(--tblr-youtube-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-youtube); - --tblr-btn-disabled-color: var(--tblr-youtube-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-youtube { - --tblr-btn-color: var(--tblr-youtube); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-youtube); - --tblr-btn-hover-color: var(--tblr-youtube-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-youtube); - --tblr-btn-active-color: var(--tblr-youtube-fg); - --tblr-btn-active-bg: var(--tblr-youtube); - --tblr-btn-disabled-color: var(--tblr-youtube); - --tblr-btn-disabled-border-color: var(--tblr-youtube); -} - -.btn-vimeo { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-vimeo-fg); - --tblr-btn-bg: var(--tblr-vimeo); - --tblr-btn-hover-color: var(--tblr-vimeo-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-vimeo-rgb), .8); - --tblr-btn-active-color: var(--tblr-vimeo-fg); - --tblr-btn-active-bg: rgba(var(--tblr-vimeo-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-vimeo); - --tblr-btn-disabled-color: var(--tblr-vimeo-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-vimeo { - --tblr-btn-color: var(--tblr-vimeo); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-vimeo); - --tblr-btn-hover-color: var(--tblr-vimeo-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-vimeo); - --tblr-btn-active-color: var(--tblr-vimeo-fg); - --tblr-btn-active-bg: var(--tblr-vimeo); - --tblr-btn-disabled-color: var(--tblr-vimeo); - --tblr-btn-disabled-border-color: var(--tblr-vimeo); -} - -.btn-dribbble { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-dribbble-fg); - --tblr-btn-bg: var(--tblr-dribbble); - --tblr-btn-hover-color: var(--tblr-dribbble-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-dribbble-rgb), .8); - --tblr-btn-active-color: var(--tblr-dribbble-fg); - --tblr-btn-active-bg: rgba(var(--tblr-dribbble-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-dribbble); - --tblr-btn-disabled-color: var(--tblr-dribbble-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-dribbble { - --tblr-btn-color: var(--tblr-dribbble); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-dribbble); - --tblr-btn-hover-color: var(--tblr-dribbble-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-dribbble); - --tblr-btn-active-color: var(--tblr-dribbble-fg); - --tblr-btn-active-bg: var(--tblr-dribbble); - --tblr-btn-disabled-color: var(--tblr-dribbble); - --tblr-btn-disabled-border-color: var(--tblr-dribbble); -} - -.btn-github { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-github-fg); - --tblr-btn-bg: var(--tblr-github); - --tblr-btn-hover-color: var(--tblr-github-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-github-rgb), .8); - --tblr-btn-active-color: var(--tblr-github-fg); - --tblr-btn-active-bg: rgba(var(--tblr-github-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-github); - --tblr-btn-disabled-color: var(--tblr-github-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-github { - --tblr-btn-color: var(--tblr-github); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-github); - --tblr-btn-hover-color: var(--tblr-github-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-github); - --tblr-btn-active-color: var(--tblr-github-fg); - --tblr-btn-active-bg: var(--tblr-github); - --tblr-btn-disabled-color: var(--tblr-github); - --tblr-btn-disabled-border-color: var(--tblr-github); -} - -.btn-instagram { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-instagram-fg); - --tblr-btn-bg: var(--tblr-instagram); - --tblr-btn-hover-color: var(--tblr-instagram-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-instagram-rgb), .8); - --tblr-btn-active-color: var(--tblr-instagram-fg); - --tblr-btn-active-bg: rgba(var(--tblr-instagram-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-instagram); - --tblr-btn-disabled-color: var(--tblr-instagram-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-instagram { - --tblr-btn-color: var(--tblr-instagram); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-instagram); - --tblr-btn-hover-color: var(--tblr-instagram-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-instagram); - --tblr-btn-active-color: var(--tblr-instagram-fg); - --tblr-btn-active-bg: var(--tblr-instagram); - --tblr-btn-disabled-color: var(--tblr-instagram); - --tblr-btn-disabled-border-color: var(--tblr-instagram); -} - -.btn-pinterest { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-pinterest-fg); - --tblr-btn-bg: var(--tblr-pinterest); - --tblr-btn-hover-color: var(--tblr-pinterest-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-pinterest-rgb), .8); - --tblr-btn-active-color: var(--tblr-pinterest-fg); - --tblr-btn-active-bg: rgba(var(--tblr-pinterest-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-pinterest); - --tblr-btn-disabled-color: var(--tblr-pinterest-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-pinterest { - --tblr-btn-color: var(--tblr-pinterest); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-pinterest); - --tblr-btn-hover-color: var(--tblr-pinterest-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-pinterest); - --tblr-btn-active-color: var(--tblr-pinterest-fg); - --tblr-btn-active-bg: var(--tblr-pinterest); - --tblr-btn-disabled-color: var(--tblr-pinterest); - --tblr-btn-disabled-border-color: var(--tblr-pinterest); -} - -.btn-vk { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-vk-fg); - --tblr-btn-bg: var(--tblr-vk); - --tblr-btn-hover-color: var(--tblr-vk-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-vk-rgb), .8); - --tblr-btn-active-color: var(--tblr-vk-fg); - --tblr-btn-active-bg: rgba(var(--tblr-vk-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-vk); - --tblr-btn-disabled-color: var(--tblr-vk-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-vk { - --tblr-btn-color: var(--tblr-vk); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-vk); - --tblr-btn-hover-color: var(--tblr-vk-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-vk); - --tblr-btn-active-color: var(--tblr-vk-fg); - --tblr-btn-active-bg: var(--tblr-vk); - --tblr-btn-disabled-color: var(--tblr-vk); - --tblr-btn-disabled-border-color: var(--tblr-vk); -} - -.btn-rss { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-rss-fg); - --tblr-btn-bg: var(--tblr-rss); - --tblr-btn-hover-color: var(--tblr-rss-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-rss-rgb), .8); - --tblr-btn-active-color: var(--tblr-rss-fg); - --tblr-btn-active-bg: rgba(var(--tblr-rss-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-rss); - --tblr-btn-disabled-color: var(--tblr-rss-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-rss { - --tblr-btn-color: var(--tblr-rss); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-rss); - --tblr-btn-hover-color: var(--tblr-rss-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-rss); - --tblr-btn-active-color: var(--tblr-rss-fg); - --tblr-btn-active-bg: var(--tblr-rss); - --tblr-btn-disabled-color: var(--tblr-rss); - --tblr-btn-disabled-border-color: var(--tblr-rss); -} - -.btn-flickr { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-flickr-fg); - --tblr-btn-bg: var(--tblr-flickr); - --tblr-btn-hover-color: var(--tblr-flickr-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-flickr-rgb), .8); - --tblr-btn-active-color: var(--tblr-flickr-fg); - --tblr-btn-active-bg: rgba(var(--tblr-flickr-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-flickr); - --tblr-btn-disabled-color: var(--tblr-flickr-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-flickr { - --tblr-btn-color: var(--tblr-flickr); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-flickr); - --tblr-btn-hover-color: var(--tblr-flickr-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-flickr); - --tblr-btn-active-color: var(--tblr-flickr-fg); - --tblr-btn-active-bg: var(--tblr-flickr); - --tblr-btn-disabled-color: var(--tblr-flickr); - --tblr-btn-disabled-border-color: var(--tblr-flickr); -} - -.btn-bitbucket { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-bitbucket-fg); - --tblr-btn-bg: var(--tblr-bitbucket); - --tblr-btn-hover-color: var(--tblr-bitbucket-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-bitbucket-rgb), .8); - --tblr-btn-active-color: var(--tblr-bitbucket-fg); - --tblr-btn-active-bg: rgba(var(--tblr-bitbucket-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-bitbucket); - --tblr-btn-disabled-color: var(--tblr-bitbucket-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-bitbucket { - --tblr-btn-color: var(--tblr-bitbucket); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-bitbucket); - --tblr-btn-hover-color: var(--tblr-bitbucket-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-bitbucket); - --tblr-btn-active-color: var(--tblr-bitbucket-fg); - --tblr-btn-active-bg: var(--tblr-bitbucket); - --tblr-btn-disabled-color: var(--tblr-bitbucket); - --tblr-btn-disabled-border-color: var(--tblr-bitbucket); -} - -.btn-tabler { - --tblr-btn-border-color: transparent; - --tblr-btn-hover-border-color: transparent; - --tblr-btn-active-border-color: transparent; - --tblr-btn-color: var(--tblr-tabler-fg); - --tblr-btn-bg: var(--tblr-tabler); - --tblr-btn-hover-color: var(--tblr-tabler-fg); - --tblr-btn-hover-bg: rgba(var(--tblr-tabler-rgb), .8); - --tblr-btn-active-color: var(--tblr-tabler-fg); - --tblr-btn-active-bg: rgba(var(--tblr-tabler-rgb), .8); - --tblr-btn-disabled-bg: var(--tblr-tabler); - --tblr-btn-disabled-color: var(--tblr-tabler-fg); - --tblr-btn-box-shadow: var(--tblr-shadow-button), var(--tblr-shadow-button-inset); -} - -.btn-outline-tabler { - --tblr-btn-color: var(--tblr-tabler); - --tblr-btn-bg: transparent; - --tblr-btn-border-color: var(--tblr-tabler); - --tblr-btn-hover-color: var(--tblr-tabler-fg); - --tblr-btn-hover-border-color: transparent; - --tblr-btn-hover-bg: var(--tblr-tabler); - --tblr-btn-active-color: var(--tblr-tabler-fg); - --tblr-btn-active-bg: var(--tblr-tabler); - --tblr-btn-disabled-color: var(--tblr-tabler); - --tblr-btn-disabled-border-color: var(--tblr-tabler); -} - -.btn-ghost-primary { - --tblr-btn-color: #206bc4; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #206bc4; - --tblr-btn-hover-border-color: #206bc4; - --tblr-btn-focus-shadow-rgb: 32, 107, 196; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #206bc4; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #206bc4; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-secondary { - --tblr-btn-color: #616876; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #616876; - --tblr-btn-hover-border-color: #616876; - --tblr-btn-focus-shadow-rgb: 97, 104, 118; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #616876; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #616876; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-success { - --tblr-btn-color: #2fb344; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #2fb344; - --tblr-btn-hover-border-color: #2fb344; - --tblr-btn-focus-shadow-rgb: 47, 179, 68; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #2fb344; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #2fb344; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-info { - --tblr-btn-color: #4299e1; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #4299e1; - --tblr-btn-hover-border-color: #4299e1; - --tblr-btn-focus-shadow-rgb: 66, 153, 225; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #4299e1; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #4299e1; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-warning { - --tblr-btn-color: #f76707; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #f76707; - --tblr-btn-hover-border-color: #f76707; - --tblr-btn-focus-shadow-rgb: 247, 103, 7; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #f76707; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #f76707; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-danger { - --tblr-btn-color: #d63939; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #d63939; - --tblr-btn-hover-border-color: #d63939; - --tblr-btn-focus-shadow-rgb: 214, 57, 57; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #d63939; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #d63939; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-light { - --tblr-btn-color: #f8fafc; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #1d273b; - --tblr-btn-hover-bg: #f8fafc; - --tblr-btn-hover-border-color: #f8fafc; - --tblr-btn-focus-shadow-rgb: 248, 250, 252; - --tblr-btn-active-color: #1d273b; - --tblr-btn-active-bg: #f8fafc; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #f8fafc; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-dark { - --tblr-btn-color: #1d273b; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #1d273b; - --tblr-btn-hover-border-color: #1d273b; - --tblr-btn-focus-shadow-rgb: 29, 39, 59; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #1d273b; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #1d273b; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-muted { - --tblr-btn-color: #616876; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #616876; - --tblr-btn-hover-border-color: #616876; - --tblr-btn-focus-shadow-rgb: 97, 104, 118; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #616876; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #616876; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-blue { - --tblr-btn-color: #206bc4; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #206bc4; - --tblr-btn-hover-border-color: #206bc4; - --tblr-btn-focus-shadow-rgb: 32, 107, 196; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #206bc4; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #206bc4; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-azure { - --tblr-btn-color: #4299e1; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #4299e1; - --tblr-btn-hover-border-color: #4299e1; - --tblr-btn-focus-shadow-rgb: 66, 153, 225; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #4299e1; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #4299e1; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-indigo { - --tblr-btn-color: #4263eb; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #4263eb; - --tblr-btn-hover-border-color: #4263eb; - --tblr-btn-focus-shadow-rgb: 66, 99, 235; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #4263eb; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #4263eb; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-purple { - --tblr-btn-color: #ae3ec9; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #ae3ec9; - --tblr-btn-hover-border-color: #ae3ec9; - --tblr-btn-focus-shadow-rgb: 174, 62, 201; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #ae3ec9; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #ae3ec9; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-pink { - --tblr-btn-color: #d6336c; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #d6336c; - --tblr-btn-hover-border-color: #d6336c; - --tblr-btn-focus-shadow-rgb: 214, 51, 108; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #d6336c; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #d6336c; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-red { - --tblr-btn-color: #d63939; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #d63939; - --tblr-btn-hover-border-color: #d63939; - --tblr-btn-focus-shadow-rgb: 214, 57, 57; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #d63939; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #d63939; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-orange { - --tblr-btn-color: #f76707; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #f76707; - --tblr-btn-hover-border-color: #f76707; - --tblr-btn-focus-shadow-rgb: 247, 103, 7; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #f76707; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #f76707; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-yellow { - --tblr-btn-color: #f59f00; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #f59f00; - --tblr-btn-hover-border-color: #f59f00; - --tblr-btn-focus-shadow-rgb: 245, 159, 0; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #f59f00; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #f59f00; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-lime { - --tblr-btn-color: #74b816; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #74b816; - --tblr-btn-hover-border-color: #74b816; - --tblr-btn-focus-shadow-rgb: 116, 184, 22; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #74b816; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #74b816; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-green { - --tblr-btn-color: #2fb344; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #2fb344; - --tblr-btn-hover-border-color: #2fb344; - --tblr-btn-focus-shadow-rgb: 47, 179, 68; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #2fb344; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #2fb344; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-teal { - --tblr-btn-color: #0ca678; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #0ca678; - --tblr-btn-hover-border-color: #0ca678; - --tblr-btn-focus-shadow-rgb: 12, 166, 120; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #0ca678; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #0ca678; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-cyan { - --tblr-btn-color: #17a2b8; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #17a2b8; - --tblr-btn-hover-border-color: #17a2b8; - --tblr-btn-focus-shadow-rgb: 23, 162, 184; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #17a2b8; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #17a2b8; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-facebook { - --tblr-btn-color: #3b5998; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #3b5998; - --tblr-btn-hover-border-color: #3b5998; - --tblr-btn-focus-shadow-rgb: 59, 89, 152; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #3b5998; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #3b5998; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-twitter { - --tblr-btn-color: #1da1f2; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #1da1f2; - --tblr-btn-hover-border-color: #1da1f2; - --tblr-btn-focus-shadow-rgb: 29, 161, 242; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #1da1f2; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #1da1f2; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-linkedin { - --tblr-btn-color: #0a66c2; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #0a66c2; - --tblr-btn-hover-border-color: #0a66c2; - --tblr-btn-focus-shadow-rgb: 10, 102, 194; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #0a66c2; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #0a66c2; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-google { - --tblr-btn-color: #dc4e41; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #dc4e41; - --tblr-btn-hover-border-color: #dc4e41; - --tblr-btn-focus-shadow-rgb: 220, 78, 65; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #dc4e41; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #dc4e41; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-youtube { - --tblr-btn-color: #ff0000; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #ff0000; - --tblr-btn-hover-border-color: #ff0000; - --tblr-btn-focus-shadow-rgb: 255, 0, 0; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #ff0000; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #ff0000; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-vimeo { - --tblr-btn-color: #1ab7ea; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #1ab7ea; - --tblr-btn-hover-border-color: #1ab7ea; - --tblr-btn-focus-shadow-rgb: 26, 183, 234; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #1ab7ea; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #1ab7ea; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-dribbble { - --tblr-btn-color: #ea4c89; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #ea4c89; - --tblr-btn-hover-border-color: #ea4c89; - --tblr-btn-focus-shadow-rgb: 234, 76, 137; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #ea4c89; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #ea4c89; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-github { - --tblr-btn-color: #181717; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #181717; - --tblr-btn-hover-border-color: #181717; - --tblr-btn-focus-shadow-rgb: 24, 23, 23; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #181717; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #181717; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-instagram { - --tblr-btn-color: #e4405f; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #e4405f; - --tblr-btn-hover-border-color: #e4405f; - --tblr-btn-focus-shadow-rgb: 228, 64, 95; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #e4405f; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #e4405f; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-pinterest { - --tblr-btn-color: #bd081c; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #bd081c; - --tblr-btn-hover-border-color: #bd081c; - --tblr-btn-focus-shadow-rgb: 189, 8, 28; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #bd081c; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #bd081c; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-vk { - --tblr-btn-color: #6383a8; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #6383a8; - --tblr-btn-hover-border-color: #6383a8; - --tblr-btn-focus-shadow-rgb: 99, 131, 168; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #6383a8; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #6383a8; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-rss { - --tblr-btn-color: #ffa500; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #ffa500; - --tblr-btn-hover-border-color: #ffa500; - --tblr-btn-focus-shadow-rgb: 255, 165, 0; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #ffa500; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #ffa500; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-flickr { - --tblr-btn-color: #0063dc; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #0063dc; - --tblr-btn-hover-border-color: #0063dc; - --tblr-btn-focus-shadow-rgb: 0, 99, 220; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #0063dc; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #0063dc; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-bitbucket { - --tblr-btn-color: #0052cc; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #0052cc; - --tblr-btn-hover-border-color: #0052cc; - --tblr-btn-focus-shadow-rgb: 0, 82, 204; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #0052cc; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #0052cc; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-ghost-tabler { - --tblr-btn-color: #206bc4; - --tblr-btn-bg: transparent; - --tblr-btn-border-color: transparent; - --tblr-btn-hover-color: #f8fafc; - --tblr-btn-hover-bg: #206bc4; - --tblr-btn-hover-border-color: #206bc4; - --tblr-btn-focus-shadow-rgb: 32, 107, 196; - --tblr-btn-active-color: #f8fafc; - --tblr-btn-active-bg: #206bc4; - --tblr-btn-active-border-color: transparent; - --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --tblr-btn-disabled-color: #206bc4; - --tblr-btn-disabled-bg: transparent; - --tblr-btn-disabled-border-color: transparent; - --tblr-gradient: none; - --tblr-btn-box-shadow: none; -} - -.btn-sm, .btn-group-sm > .btn { - --tblr-btn-line-height: 1.5; - --tblr-btn-icon-size: .75rem; -} - -.btn-lg, .btn-group-lg > .btn { - --tblr-btn-line-height: 1.5; - --tblr-btn-icon-size: 2rem; -} - -.btn-pill { - padding-left: 1.5em; - padding-right: 1.5em; - border-radius: 10rem; -} -.btn-pill[class*=btn-icon] { - padding: 0.375rem 15px; -} - -.btn-square { - border-radius: 0; -} - -.btn-icon { - min-width: calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2); - min-height: calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2); - padding-right: 0; - padding-left: 0; -} -.btn-icon .icon { - margin: calc(-1 * var(--tblr-btn-padding-x)); -} - -.btn-list { - display: flex; - flex-wrap: wrap; - margin-bottom: -0.5rem !important; - margin-left: -0.5rem; -} -.btn-list > * { - margin: 0 0 0.5rem 0.5rem !important; -} - -.btn-floating { - position: fixed; - z-index: 1030; - bottom: 1.5rem; - left: 1.5rem; - border-radius: 100rem; -} - -.btn-loading { - position: relative; - color: transparent !important; - text-shadow: none !important; - pointer-events: none; -} -.btn-loading > * { - opacity: 0; -} -.btn-loading:after { - content: ""; - display: inline-block; - vertical-align: text-bottom; - border: 2px var(--tblr-border-style) currentColor; - border-left-color: transparent; - border-radius: 100rem; - color: var(--tblr-btn-color); - position: absolute; - width: var(--tblr-btn-icon-size); - height: var(--tblr-btn-icon-size); - right: calc(50% - var(--tblr-btn-icon-size) / 2); - top: calc(50% - var(--tblr-btn-icon-size) / 2); - -webkit-animation: spinner-border 0.75s linear infinite; - animation: spinner-border 0.75s linear infinite; -} - -.btn-action { - padding: 0; - border: 0; - color: #616876; - display: inline-flex; - width: 2rem; - height: 2rem; - align-items: center; - justify-content: center; - border-radius: var(--tblr-border-radius); -} -.btn-action:after { - content: none; -} -.btn-action:focus { - outline: none; - box-shadow: none; -} -.btn-action:hover, .btn-action.show { - color: #1d273b; - background: #f1f5f9; -} -.btn-action.show { - color: var(--tblr-primary); -} -.btn-action .icon { - margin: 0; - width: 1.25rem; - height: 1.25rem; - font-size: 1.25rem; - stroke-width: 1; -} - -.btn-actions { - display: flex; -} - -.calendar { - display: block; - font-size: 0.765625rem; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: var(--tblr-border-radius); -} - -.calendar-nav { - display: flex; - align-items: center; -} - -.calendar-title { - flex: 1; - text-align: center; -} - -.calendar-body, -.calendar-header { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - padding: 0.5rem 0; -} - -.calendar-header { - color: #616876; -} - -.calendar-date { - flex: 0 0 14.2857142857%; - max-width: 14.2857142857%; - padding: 0.2rem; - text-align: center; - border: 0; -} -.calendar-date.next-month, .calendar-date.prev-month { - opacity: 0.25; -} -.calendar-date .date-item { - position: relative; - display: inline-block; - width: 1.4rem; - height: 1.4rem; - line-height: 1.4rem; - color: #66758c; - text-align: center; - text-decoration: none; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: 100% 0; - border: var(--tblr-border-width) var(--tblr-border-style) transparent; - border-radius: 100rem; - outline: 0; - transition: background 0.3s, border 0.3s, box-shadow 0.32s, color 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .calendar-date .date-item { - transition: none; - } -} -.calendar-date .date-item:hover { - color: var(--tblr-primary); - text-decoration: none; - background: #fefeff; - border-color: var(--tblr-border-color); -} -.calendar-date .date-today { - color: var(--tblr-primary); - border-color: var(--tblr-border-color); -} - -.calendar-range { - position: relative; -} -.calendar-range:before { - position: absolute; - top: 50%; - left: 0; - right: 0; - height: 1.4rem; - content: ""; - background: rgba(var(--tblr-primary-rgb), 0.1); - transform: translateY(-50%); -} -.calendar-range.range-start .date-item, .calendar-range.range-end .date-item { - color: #ffffff; - background: var(--tblr-primary); - border-color: var(--tblr-primary); -} -.calendar-range.range-start:before { - right: 50%; -} -.calendar-range.range-end:before { - left: 50%; -} - -.carousel-indicators-vertical { - right: auto; - top: 0; - margin: 0 0 0 1rem; - flex-direction: column; -} -.carousel-indicators-vertical [data-bs-target] { - margin: 3px 0 3px; - width: 3px; - height: 30px; - border: 0; - border-right: 10px var(--tblr-border-style) transparent; - border-left: 10px var(--tblr-border-style) transparent; -} - -.carousel-indicators-dot [data-bs-target] { - width: 0.5rem; - height: 0.5rem; - border-radius: 100rem; - border: 10px var(--tblr-border-style) transparent; - margin: 0; -} - -.carousel-indicators-thumb [data-bs-target] { - width: 2rem; - height: auto; - background: no-repeat center/cover; - border: 0; - border-radius: var(--tblr-border-radius); - box-shadow: rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0; - margin: 0 3px; - opacity: 0.75; -} -@media (min-width: 992px) { - .carousel-indicators-thumb [data-bs-target] { - width: 4rem; - } -} -.carousel-indicators-thumb [data-bs-target]:before { - content: ""; - padding-top: var(--tblr-aspect-ratio, 100%); - display: block; -} -.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target] { - margin: 3px 0; -} - -.carousel-caption-background { - background: red; - position: absolute; - right: 0; - left: 0; - bottom: 0; - height: 90%; - background: linear-gradient(0deg, rgba(29, 39, 59, 0.9), rgba(29, 39, 59, 0)); -} - -.card { - transition: transform 0.3s ease-out, opacity 0.3s ease-out, box-shadow 0.3s ease-out; -} -@media (prefers-reduced-motion: reduce) { - .card { - transition: none; - } -} -@media print { - .card { - border: none; - box-shadow: none; - } -} -a.card { - color: inherit; -} -a.card:hover { - text-decoration: none; - box-shadow: rgba(var(--tblr-body-color-rgb), 0.16) 0 2px 16px 0; -} - -.card .card { - box-shadow: none; -} - -.card-borderless, -.card-borderless .card-header, -.card-borderless .card-footer { - border-color: transparent; -} - -.card-stamp { - --tblr-stamp-size: 7rem; - position: absolute; - top: 0; - left: 0; - width: calc(var(--tblr-stamp-size) * 1); - height: calc(var(--tblr-stamp-size) * 1); - max-height: 100%; - border-top-left-radius: 4px; - opacity: 0.2; - overflow: hidden; - pointer-events: none; -} - -.card-stamp-lg { - --tblr-stamp-size: 13rem; -} - -.card-stamp-icon { - background: var(--tblr-muted); - color: var(--tblr-card-bg, var(--tblr-bg-surface)); - display: flex; - align-items: center; - justify-content: center; - border-radius: 100rem; - width: calc(var(--tblr-stamp-size) * 1); - height: calc(var(--tblr-stamp-size) * 1); - position: relative; - top: calc(var(--tblr-stamp-size) * -0.25); - left: calc(var(--tblr-stamp-size) * -0.25); - font-size: calc(var(--tblr-stamp-size) * 0.75); - transform: rotate(-10deg); -} -.card-stamp-icon .icon { - stroke-width: 2; - width: calc(var(--tblr-stamp-size) * 0.75); - height: calc(var(--tblr-stamp-size) * 0.75); -} - -.card-img, -.card-img-start { - border-top-right-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); - border-bottom-right-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); -} - -.card-img, -.card-img-end { - border-top-left-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); - border-bottom-left-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); -} - -.card-img-overlay { - display: flex; - flex-direction: column; - justify-content: flex-end; -} - -.card-img-overlay-dark { - background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%); -} - -.card-inactive { - pointer-events: none; - box-shadow: none; -} -.card-inactive .card-body { - opacity: 0.64; -} - -.card-active { - --tblr-card-border-color: var(--tblr-primary); - --tblr-card-bg: var(--tblr-active-bg); -} - -.card-btn { - display: flex; - align-items: center; - justify-content: center; - padding: 1rem 1.5rem; - text-align: center; - transition: background 0.3s; - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - flex: 1; - color: inherit; - font-weight: var(--tblr-font-weight-medium); -} -@media (prefers-reduced-motion: reduce) { - .card-btn { - transition: none; - } -} -.card-btn:hover { - text-decoration: none; - background: var(--tblr-gray-100); -} -.card-btn + .card-btn { - border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} - -/** -Stacked card - */ -.card-stacked { - --tblr-card-stacked-offset: .25rem; - position: relative; -} -.card-stacked:after { - position: absolute; - top: calc(-1 * var(--tblr-card-stacked-offset)); - left: var(--tblr-card-stacked-offset); - right: var(--tblr-card-stacked-offset); - height: var(--tblr-card-stacked-offset); - content: ""; - background: var(--tblr-card-bg, var(--tblr-bg-surface)); - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color); - border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; -} - -.card-cover { - position: relative; - padding: 1rem 1.5rem; - background: #666666 no-repeat center/cover; -} -.card-cover:before { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - content: ""; - background: rgba(29, 39, 59, 0.48); -} -.card-cover:first-child, .card-cover:first-child:before { - border-radius: 4px 4px 0 0; -} - -.card-cover-blurred:before { - -webkit-backdrop-filter: blur(2px); - backdrop-filter: blur(2px); -} - -.card-actions { - margin: -0.5rem auto -0.5rem -0.5rem; - padding-right: 0.5rem; -} -.card-actions a { - text-decoration: none; -} - -.card-header { - color: inherit; - display: flex; - align-items: center; - background: transparent; -} -.card-header:first-child { - border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; -} - -.card-header-light { - border-bottom-color: transparent; - background: var(--tblr-bg-surface-secondary); -} - -.card-header-tabs { - background: var(--tblr-bg-surface-secondary); - flex: 1; - margin: calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1); - padding: calc(var(--tblr-card-cap-padding-y) * 0.5) calc(var(--tblr-card-cap-padding-x) * 0.5) 0; -} - -.card-header-pills { - flex: 1; - margin-top: -0.5rem; - margin-bottom: -0.5rem; -} - -.card-rotate-left { - transform: rotate(1.5deg); -} - -.card-rotate-right { - transform: rotate(-1.5deg); -} - -.card-link { - color: inherit; -} -.card-link:hover { - color: inherit; - text-decoration: none; - box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.08); -} - -.card-link-rotate:hover { - transform: rotate(-1.5deg); - opacity: 1; -} - -.card-link-pop:hover { - transform: translateY(-2px); - opacity: 1; -} - -.card-footer { - margin-top: auto; -} -.card-footer:last-child { - border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius); -} - -.card-footer-transparent { - background: transparent; - border-color: transparent; - padding-top: 0; -} - -.card-footer-borderless { - border-top: none; -} - -.card-progress { - height: 0.25rem; -} -.card-progress:last-child { - border-radius: 0 0 2px 2px; -} -.card-progress:first-child { - border-radius: 2px 2px 0 0; -} - -.card-meta { - color: #616876; -} - -.card-title { - display: block; - margin: 0 0 1rem; - font-size: 1rem; - font-weight: var(--tblr-font-weight-medium); - line-height: 1.5rem; -} -a.card-title:hover { - color: inherit; -} - -.card-header .card-title { - margin: 0; -} - -.card-subtitle { - margin-bottom: 1.25rem; - color: #616876; - font-weight: normal; -} -.card-header .card-subtitle { - margin: 0; -} -.card-title .card-subtitle { - margin: 0 0.25rem 0 0; - font-size: 0.875rem; -} - -.card-body { - position: relative; -} -.card-body > :last-child { - margin-bottom: 0; -} -.card-sm > .card-body { - padding: 1rem; -} -@media (min-width: 768px) { - .card-md > .card-body { - padding: 2.5rem; - } -} -@media (min-width: 768px) { - .card-lg > .card-body { - padding: 2rem; - } -} -@media (min-width: 992px) { - .card-lg > .card-body { - padding: 4rem; - } -} -@media print { - .card-body { - padding: 0; - } -} -.card-body + .card-body { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} - -.card-body-scrollable { - overflow: auto; -} - -/** -Card optinos - */ -.card-options { - top: 1.5rem; - left: 0.75rem; - display: flex; - margin-right: auto; -} - -.card-options-link { - display: inline-block; - min-width: 1rem; - margin-right: 0.25rem; - color: #616876; -} - -/** -Card status - */ -.card-status-top { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 2px; - border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; -} - -.card-status-start { - position: absolute; - left: auto; - bottom: 0; - width: 2px; - height: 100%; - border-radius: 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0; -} - -.card-status-bottom { - position: absolute; - top: initial; - bottom: 0; - width: 100%; - height: 2px; - border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius); -} - -/** -Card table - */ -.card-table { - margin-bottom: 0 !important; -} -.card-table tr td:first-child, -.card-table tr th:first-child { - padding-right: 1.5rem; - border-right: 0; -} -.card-table tr td:last-child, -.card-table tr th:last-child { - padding-left: 1.5rem; - border-left: 0; -} -.card-table thead tr:first-child, -.card-table tbody tr:first-child, -.card-table tfoot tr:first-child { - border-top: 0; -} -.card-table thead tr:first-child td, -.card-table thead tr:first-child th, -.card-table tbody tr:first-child td, -.card-table tbody tr:first-child th, -.card-table tfoot tr:first-child td, -.card-table tfoot tr:first-child th { - border-top: 0; -} -.card-body + .card-table { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color); -} - -/* -Card code - */ -.card-code { - padding: 0; -} -.card-code .highlight { - margin: 0; - border: 0; -} -.card-code pre { - margin: 0 !important; - border: 0 !important; -} - -/* -Card chart - */ -.card-chart { - position: relative; - z-index: 1; - height: 3.5rem; -} - -/** -Card avatar - */ -.card-avatar { - margin-right: auto; - margin-left: auto; - box-shadow: 0 0 0 0.25rem var(--tblr-card-bg, var(--tblr-bg-surface)); - margin-top: calc(-1 * var(--tblr-avatar-size) * 0.5); -} - -/* -Card list group - */ -.card-body + .card-list-group { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} -.card-list-group .list-group-item { - padding-left: 1.5rem; - padding-right: 1.5rem; - border-left: 0; - border-right: 0; - border-radius: 0; -} -.card-list-group .list-group-item:last-child { - border-bottom: 0; -} -.card-list-group .list-group-item:first-child { - border-top: 0; -} - -.card-tabs .nav-tabs { - position: relative; - z-index: 1000; - border-bottom: 0; -} -.card-tabs .nav-tabs .nav-link { - background: var(--tblr-bg-surface-secondary); - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} -.card-tabs .nav-tabs .nav-link.active, .card-tabs .nav-tabs .nav-link:active, .card-tabs .nav-tabs .nav-link:hover { - border-color: var(--tblr-border-color); - color: #1d273b; -} -.card-tabs .nav-tabs .nav-link.active { - background: var(--tblr-card-bg, var(--tblr-bg-surface)); - border-bottom-color: transparent; -} -.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link { - border-top-right-radius: 0; -} -.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link { - border-top-left-radius: 0; -} -.card-tabs .nav-tabs .nav-item + .nav-item { - margin-right: calc(-1 * var(--tblr-border-width)); -} -.card-tabs .nav-tabs-bottom { - margin-bottom: 0; -} -.card-tabs .nav-tabs-bottom .nav-link { - margin-bottom: 0; -} -.card-tabs .nav-tabs-bottom .nav-link.active { - border-top-color: transparent; -} -.card-tabs .nav-tabs-bottom .nav-item { - margin-top: calc(-1 * var(--tblr-border-width)); - margin-bottom: 0; -} -.card-tabs .nav-tabs-bottom .nav-item .nav-link { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: 0 0 var(--tblr-border-radius) var(--tblr-border-radius); -} -.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link { - border-bottom-right-radius: 0; -} -.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link { - border-bottom-left-radius: 0; -} -.card-tabs .card { - border-bottom-right-radius: 0; -} -.card-tabs .nav-tabs + .tab-content .card { - border-bottom-right-radius: var(--tblr-card-border-radius); - border-top-right-radius: 0; -} - -.btn-close { - cursor: pointer; -} -.btn-close:focus { - outline: none; -} - -.dropdown-menu { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin: 0 !important; -} -.dropdown-menu.card { - padding: 0; - min-width: 25rem; - display: none; -} -.dropdown-menu.card.show { - display: flex; -} - -.dropdown-item { - min-width: 11rem; - display: flex; - align-items: center; - margin: 0; - line-height: 1.4285714286; -} - -.dropdown-item-icon { - width: 1.25rem !important; - height: 1.25rem !important; - margin-left: 0.5rem; - color: #616876; - opacity: 0.7; - text-align: center; -} - -.dropdown-item-indicator { - margin-left: 0.5rem; - margin-right: -0.25rem; - height: 1.25rem; - display: inline-flex; - line-height: 1; - vertical-align: bottom; - align-items: center; -} - -.dropdown-header { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - padding-bottom: 0.25rem; - pointer-events: none; -} - -.dropdown-menu-scrollable { - height: auto; - max-height: 13rem; - overflow-x: hidden; -} - -.dropdown-menu-column { - min-width: 11rem; -} -.dropdown-menu-column .dropdown-item { - min-width: 0; -} - -.dropdown-menu-columns { - display: flex; - flex: 0 0.25rem; -} - -.dropdown-menu-arrow:before { - content: ""; - position: absolute; - top: -0.25rem; - right: 0.75rem; - display: block; - background: inherit; - width: 14px; - height: 14px; - transform: rotate(-45deg); - transform-origin: center; - border: 1px solid; - border-color: inherit; - z-index: -1; - clip: rect(0px, 9px, 9px, 0px); -} -.dropdown-menu-arrow.dropdown-menu-end:before { - left: 0.75rem; - right: auto; -} - -.dropend > .dropdown-menu { - margin-top: calc(-0.25rem - 1px); - margin-right: -0.25rem; -} -.dropend .dropdown-toggle:after { - margin-right: auto; -} - -.dropdown-menu-card { - padding: 0; -} -.dropdown-menu-card > .card { - margin: 0; - border: 0; - box-shadow: none; -} - -.datagrid { - --tblr-datagrid-padding: 1.5rem; - --tblr-datagrid-item-width: 15rem; - display: grid; - grid-gap: var(--tblr-datagrid-padding); - grid-template-columns: repeat(auto-fit, minmax(var(--tblr-datagrid-item-width), 1fr)); -} - -.datagrid-title { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - margin-bottom: 0.25rem; -} - -.empty { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - height: 100%; - padding: 1rem; - text-align: center; -} -@media (min-width: 768px) { - .empty { - padding: 3rem; - } -} - -.empty-icon { - margin: 0 0 1rem; - width: 3rem; - height: 3rem; - line-height: 1; - color: #616876; -} -.empty-icon svg { - width: 100%; - height: 100%; -} - -.empty-img { - margin: 0 0 2rem; - line-height: 1; -} -.empty-img img { - height: 8rem; - width: auto; -} - -.empty-header { - margin: 0 0 1rem; - font-size: 4rem; - font-weight: var(--tblr-font-weight-light); - line-height: 1; - color: #616876; -} - -.empty-title { - font-size: 1.25rem; - line-height: 1.75rem; - font-weight: var(--tblr-font-weight-medium); -} - -.empty-title, -.empty-subtitle { - margin: 0 0 0.5rem; -} - -.empty-action { - margin-top: 1.5rem; -} - -.empty-bordered { - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: var(--tblr-border-radius); -} - -.row > * { - min-width: 0; -} - -.col-separator { - border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} - -@media (max-width: 991.98px) { - .container, -.container-fluid, -.container-sm, -.container-md, -.container-lg, -.container-xl, -.container-xxl { - --tblr-gutter-x: 1rem; - } -} - -.container-tight { - --tblr-gutter-x: 1.5rem; - --tblr-gutter-y: 0; - width: 100%; - padding-left: calc(var(--tblr-gutter-x) * 0.5); - padding-right: calc(var(--tblr-gutter-x) * 0.5); - margin-left: auto; - margin-right: auto; - max-width: 30rem; -} -.container-narrow { - --tblr-gutter-x: 1.5rem; - --tblr-gutter-y: 0; - width: 100%; - padding-left: calc(var(--tblr-gutter-x) * 0.5); - padding-right: calc(var(--tblr-gutter-x) * 0.5); - margin-left: auto; - margin-right: auto; - max-width: 45rem; -} - -.row-0 { - margin-left: 0; - margin-right: 0; -} -.row-0 > .col, -.row-0 > [class*=col-] { - padding-left: 0; - padding-right: 0; -} -.row-0 .card { - margin-bottom: 0; -} - -.row-sm { - margin-left: -0.375rem; - margin-right: -0.375rem; -} -.row-sm > .col, -.row-sm > [class*=col-] { - padding-left: 0.375rem; - padding-right: 0.375rem; -} -.row-sm .card { - margin-bottom: 0.75rem; -} - -.row-md { - margin-left: -1.5rem; - margin-right: -1.5rem; -} -.row-md > .col, -.row-md > [class*=col-] { - padding-left: 1.5rem; - padding-right: 1.5rem; -} -.row-md .card { - margin-bottom: 3rem; -} - -.row-lg { - margin-left: -3rem; - margin-right: -3rem; -} -.row-lg > .col, -.row-lg > [class*=col-] { - padding-left: 3rem; - padding-right: 3rem; -} -.row-lg .card { - margin-bottom: 6rem; -} - -.row-deck > .col, -.row-deck > [class*=col-] { - display: flex; - align-items: stretch; -} -.row-deck > .col .card, -.row-deck > [class*=col-] .card { - flex: 1 1 auto; -} - -.row-cards { - --tblr-gutter-x: 1rem; - --tblr-gutter-y: 1rem; - min-width: 0; -} -.row-cards .row-cards { - flex: 1; -} -@media (max-width: 991.98px) { - .row-cards { - --tblr-gutter-x: 0.5rem; - --tblr-gutter-y: 0.5rem; - } -} - -.space-y { - display: flex; - flex-direction: column; - gap: 1rem; -} - -.space-x { - display: flex; - gap: 1rem; -} - -.space-y-0 { - display: flex; - flex-direction: column; - gap: 0; -} - -.space-x-0 { - display: flex; - gap: 0; -} - -.space-y-1 { - display: flex; - flex-direction: column; - gap: 0.25rem; -} - -.space-x-1 { - display: flex; - gap: 0.25rem; -} - -.space-y-2 { - display: flex; - flex-direction: column; - gap: 0.5rem; -} - -.space-x-2 { - display: flex; - gap: 0.5rem; -} - -.space-y-3 { - display: flex; - flex-direction: column; - gap: 1rem; -} - -.space-x-3 { - display: flex; - gap: 1rem; -} - -.space-y-4 { - display: flex; - flex-direction: column; - gap: 2rem; -} - -.space-x-4 { - display: flex; - gap: 2rem; -} - -.space-y-5 { - display: flex; - flex-direction: column; - gap: 4rem; -} - -.space-x-5 { - display: flex; - gap: 4rem; -} - -.divide-y > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y > :not(template):not(:first-child) { - padding-top: 1rem !important; -} -.divide-y > :not(template):not(:last-child) { - padding-bottom: 1rem !important; -} - -.divide-x > :not(template) ~ :not(template) { - border-right: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x > :not(template):not(:first-child) { - padding-right: 1rem !important; -} -.divide-x > :not(template):not(:last-child) { - padding-left: 1rem !important; -} - -.divide-y-0 > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y-0 > :not(template):not(:first-child) { - padding-top: 0 !important; -} -.divide-y-0 > :not(template):not(:last-child) { - padding-bottom: 0 !important; -} - -.divide-x-0 > :not(template) ~ :not(template) { - border-right: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x-0 > :not(template):not(:first-child) { - padding-right: 0 !important; -} -.divide-x-0 > :not(template):not(:last-child) { - padding-left: 0 !important; -} - -.divide-y-1 > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y-1 > :not(template):not(:first-child) { - padding-top: 0.25rem !important; -} -.divide-y-1 > :not(template):not(:last-child) { - padding-bottom: 0.25rem !important; -} - -.divide-x-1 > :not(template) ~ :not(template) { - border-right: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x-1 > :not(template):not(:first-child) { - padding-right: 0.25rem !important; -} -.divide-x-1 > :not(template):not(:last-child) { - padding-left: 0.25rem !important; -} - -.divide-y-2 > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y-2 > :not(template):not(:first-child) { - padding-top: 0.5rem !important; -} -.divide-y-2 > :not(template):not(:last-child) { - padding-bottom: 0.5rem !important; -} - -.divide-x-2 > :not(template) ~ :not(template) { - border-right: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x-2 > :not(template):not(:first-child) { - padding-right: 0.5rem !important; -} -.divide-x-2 > :not(template):not(:last-child) { - padding-left: 0.5rem !important; -} - -.divide-y-3 > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y-3 > :not(template):not(:first-child) { - padding-top: 1rem !important; -} -.divide-y-3 > :not(template):not(:last-child) { - padding-bottom: 1rem !important; -} - -.divide-x-3 > :not(template) ~ :not(template) { - border-right: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x-3 > :not(template):not(:first-child) { - padding-right: 1rem !important; -} -.divide-x-3 > :not(template):not(:last-child) { - padding-left: 1rem !important; -} - -.divide-y-4 > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y-4 > :not(template):not(:first-child) { - padding-top: 2rem !important; -} -.divide-y-4 > :not(template):not(:last-child) { - padding-bottom: 2rem !important; -} - -.divide-x-4 > :not(template) ~ :not(template) { - border-right: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x-4 > :not(template):not(:first-child) { - padding-right: 2rem !important; -} -.divide-x-4 > :not(template):not(:last-child) { - padding-left: 2rem !important; -} - -.divide-y-5 > :not(template) ~ :not(template) { - border-top: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-y-5 > :not(template):not(:first-child) { - padding-top: 4rem !important; -} -.divide-y-5 > :not(template):not(:last-child) { - padding-bottom: 4rem !important; -} - -.divide-x-5 > :not(template) ~ :not(template) { - border-right: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16) !important; -} -.divide-x-5 > :not(template):not(:first-child) { - padding-right: 4rem !important; -} -.divide-x-5 > :not(template):not(:last-child) { - padding-left: 4rem !important; -} - -.divide-y-fill { - display: flex; - flex-direction: column; - height: 100%; -} -.divide-y-fill > :not(template) { - flex: 1; - display: flex; - justify-content: center; - flex-direction: column; -} - -.icon { - width: 1.25rem; - height: 1.25rem; - font-size: 1.25rem; - vertical-align: bottom; - stroke-width: 1.5; -} -.icon:hover { - text-decoration: none; -} - -.icon-inline { - width: 1rem; - height: 1rem; - font-size: 1rem; - vertical-align: -0.2rem; -} - -.icon-filled { - fill: currentColor; -} - -.icon-sm { - width: 1rem; - height: 1rem; - stroke-width: 1; -} - -.icon-md { - width: 2.5rem; - height: 2.5rem; - stroke-width: 1; -} - -.icon-lg { - width: 3.5rem; - height: 3.5rem; - stroke-width: 1; -} - -@-webkit-keyframes icon-pulse { - from { - opacity: 1; - transform: scale3d(0.8, 0.8, 0.8); - } - 50% { - transform: scale3d(1, 1, 1); - opacity: 1; - } - to { - opacity: 1; - transform: scale3d(0.8, 0.8, 0.8); - } -} - -@keyframes icon-pulse { - from { - opacity: 1; - transform: scale3d(0.8, 0.8, 0.8); - } - 50% { - transform: scale3d(1, 1, 1); - opacity: 1; - } - to { - opacity: 1; - transform: scale3d(0.8, 0.8, 0.8); - } -} -.icon-pulse { - transition: all 0.15s ease 0s; - -webkit-animation: icon-pulse 2s ease infinite; - animation: icon-pulse 2s ease infinite; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -@-webkit-keyframes icon-tada { - 0% { - transform: scale3d(1, 1, 1); - } - 10%, 5% { - transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, 5deg); - } - 15%, 25%, 35%, 45% { - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -5deg); - } - 20%, 30%, 40% { - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 5deg); - } - 50% { - transform: scale3d(1, 1, 1); - } -} - -@keyframes icon-tada { - 0% { - transform: scale3d(1, 1, 1); - } - 10%, 5% { - transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, 5deg); - } - 15%, 25%, 35%, 45% { - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -5deg); - } - 20%, 30%, 40% { - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 5deg); - } - 50% { - transform: scale3d(1, 1, 1); - } -} -.icon-tada { - transition: all 0.15s ease 0s; - -webkit-animation: icon-tada 3s ease infinite; - animation: icon-tada 3s ease infinite; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -@-webkit-keyframes icon-rotate { - from { - transform: rotate(0deg); - } - to { - transform: rotate(-360deg); - } -} - -@keyframes icon-rotate { - from { - transform: rotate(0deg); - } - to { - transform: rotate(-360deg); - } -} -.icon-rotate { - transition: all 0.15s ease 0s; - -webkit-animation: icon-rotate 3s linear infinite; - animation: icon-rotate 3s linear infinite; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -.img-responsive { - background: no-repeat center/cover; - padding-top: 75%; -} - -.img-responsive-1x1 { - padding-top: 100%; -} - -.img-responsive-4x3 { - padding-top: 75%; -} - -.img-responsive-3x4 { - padding-top: 133.3333333333%; -} - -.img-responsive-16x9 { - padding-top: 56.25%; -} - -.img-responsive-9x16 { - padding-top: 177.7777777778%; -} - -.img-responsive-21x9 { - padding-top: 42.8571428571%; -} - -.img-responsive-9x21 { - padding-top: 233.3333333333%; -} - -textarea[cols] { - height: auto; -} - -/** -Form label - */ -.col-form-label, -.form-label { - display: block; - font-weight: var(--tblr-font-weight-medium); -} -.col-form-label.required:after, -.form-label.required:after { - content: "*"; - margin-right: 0.25rem; - color: #d63939; -} - -.form-label-description { - float: left; - font-weight: var(--tblr-font-weight-normal); - color: #616876; -} - -/** -Form hint - */ -.form-hint { - display: block; - color: #616876; -} -.form-hint:last-child { - margin-bottom: 0; -} -.form-hint + .form-control { - margin-top: 0.25rem; -} -.form-label + .form-hint { - margin-top: -0.25rem; -} -.input-group + .form-hint, .form-control + .form-hint, .form-select + .form-hint { - margin-top: 0.5rem; -} - -/** -Form select - */ -.form-select:-moz-focusring { - color: var(--tblr-body-color); -} - -/** -Form control - */ -.form-control:-webkit-autofill { - box-shadow: 0 0 0 1000px var(--tblr-body-bg) inset; - color: var(--tblr-body-color); -} -.form-control:disabled, .form-control.disabled { - color: #616876; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.form-control[size] { - width: auto; -} -.form-control[type=number]::-webkit-inner-spin-button { - opacity: 1; - cursor: pointer; - height: calc(calc(1.4285714286em + 0.875rem + 2px) - 1px); - margin: 0 0 0 -0.75rem; -} -.form-control[type=number]::-moz-inner-spin-button { - opacity: 1; - cursor: pointer; - height: calc(calc(1.4285714286em + 0.875rem + 2px) - 1px); - margin: 0 0 0 -0.75rem; -} - -.form-control-light { - background-color: #f1f5f9; - border-color: transparent; -} - -.form-control-dark { - background-color: rgba(0, 0, 0, 0.1); - color: #ffffff; - border-color: transparent; -} -.form-control-dark:focus { - background-color: rgba(0, 0, 0, 0.1); - box-shadow: none; - border-color: rgba(255, 255, 255, 0.24); -} -.form-control-dark::-webkit-input-placeholder { - color: rgba(255, 255, 255, 0.6); -} -.form-control-dark::-moz-placeholder { - color: rgba(255, 255, 255, 0.6); -} -.form-control-dark:-ms-input-placeholder { - color: rgba(255, 255, 255, 0.6); -} -.form-control-dark::-ms-input-placeholder { - color: rgba(255, 255, 255, 0.6); -} -.form-control-dark::placeholder { - color: rgba(255, 255, 255, 0.6); -} - -.form-control-rounded { - border-radius: 10rem; -} - -.form-control-flush { - padding: 0; - background: none !important; - border-color: transparent !important; - resize: none; - box-shadow: none !important; - line-height: inherit; -} - -.form-footer { - margin-top: 2rem; -} - -.form-fieldset { - padding: 1rem; - margin-bottom: 1rem; - background: var(--tblr-body-bg); - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: var(--tblr-border-radius); -} - -/** -Form help - */ -.form-help { - display: inline-flex; - font-weight: var(--tblr-font-weight-bold); - align-items: center; - justify-content: center; - width: 1.125rem; - height: 1.125rem; - font-size: 0.75rem; - color: #616876; - text-align: center; - text-decoration: none; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background: var(--tblr-gray-100); - border-radius: 100rem; - transition: background-color 0.3s, color 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-help { - transition: none; - } -} -.form-help:hover, .form-help[aria-describedby] { - color: #ffffff; - background: var(--tblr-primary); -} - -/** -Input group - */ -.input-group-link { - font-size: 0.75rem; -} - -.input-group-flat:focus-within { - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); - border-radius: var(--tblr-border-radius); -} -.input-group-flat:focus-within .form-control, -.input-group-flat:focus-within .input-group-text { - border-color: #90b5e2 !important; -} -.input-group-flat .form-control:focus { - border-color: var(--tblr-border-color); - box-shadow: none; -} -.input-group-flat .form-control:not(:last-child) { - border-left: 0; -} -.input-group-flat .form-control:not(:first-child) { - border-right: 0; -} -.input-group-flat .input-group-text { - background: var(--tblr-bg-forms); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .input-group-flat .input-group-text { - transition: none; - } -} -.input-group-flat .input-group-text:first-child { - padding-left: 0; -} -.input-group-flat .input-group-text:last-child { - padding-right: 0; -} - -/** -Upload files - */ -.form-file-button { - margin-right: 0; - border-right: 0; -} - -/** -Icon input - */ -.input-icon { - position: relative; -} -.input-icon .form-control:not(:last-child), -.input-icon .form-select:not(:last-child) { - padding-left: 2.5rem; -} -.input-icon .form-control:not(:first-child), -.input-icon .form-select:not(:last-child) { - padding-right: 2.5rem; -} - -.input-icon-addon { - position: absolute; - top: 0; - bottom: 0; - right: 0; - display: flex; - align-items: center; - justify-content: center; - min-width: 2.5rem; - color: var(--tblr-icon-color); - pointer-events: none; - font-size: 1.2em; -} -.input-icon-addon:last-child { - left: 0; - right: auto; -} - -/* -Color Input - */ -.form-colorinput { - position: relative; - display: inline-block; - margin: 0; - line-height: 1; - cursor: pointer; -} - -.form-colorinput-input { - position: absolute; - z-index: -1; - opacity: 0; -} - -.form-colorinput-color { - display: block; - width: 1.5rem; - height: 1.5rem; - color: #ffffff; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - border-radius: 3px; - box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); -} -.form-colorinput-color:before { - position: absolute; - top: 0; - right: 0; - width: 100%; - height: 100%; - content: ""; - background: no-repeat center center/1rem; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); - opacity: 0; - transition: opacity 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-colorinput-color:before { - transition: none; - } -} -.form-colorinput-input:checked ~ .form-colorinput-color:before { - opacity: 1; -} -.form-colorinput-input:focus ~ .form-colorinput-color { - border-color: var(--tblr-primary); - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-colorinput-light .form-colorinput-color:before { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); -} - -/** -Image check - */ -.form-imagecheck { - position: relative; - margin: 0; - cursor: pointer; -} - -.form-imagecheck-input { - position: absolute; - z-index: -1; - opacity: 0; -} - -.form-imagecheck-figure { - position: relative; - display: block; - margin: 0; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: 3px; -} -.form-imagecheck-input:focus ~ .form-imagecheck-figure { - border-color: var(--tblr-primary); - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} -.form-imagecheck-input:checked ~ .form-imagecheck-figure { - border-color: var(--tblr-primary); -} -.form-imagecheck-figure:before { - position: absolute; - top: 0.25rem; - right: 0.25rem; - z-index: 1; - display: block; - width: 1rem; - height: 1rem; - color: #ffffff; - pointer-events: none; - content: ""; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background: var(--tblr-bg-forms); - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: var(--tblr-border-radius); - transition: opacity 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-imagecheck-figure:before { - transition: none; - } -} -.form-imagecheck-input:checked ~ .form-imagecheck-figure:before { - background-color: var(--tblr-primary); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); - background-repeat: repeat; - background-position: center; - background-size: 1rem; - border-color: var(--tblr-border-color-translucent); -} -.form-imagecheck-input[type=radio] ~ .form-imagecheck-figure:before { - border-radius: 50%; -} -.form-imagecheck-input[type=radio]:checked ~ .form-imagecheck-figure:before { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); -} - -.form-imagecheck-image { - max-width: 100%; - display: block; - opacity: 0.64; - transition: opacity 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-imagecheck-image { - transition: none; - } -} -.form-imagecheck-image:first-child { - border-top-right-radius: 2px; - border-top-left-radius: 2px; -} -.form-imagecheck-image:last-child { - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; -} -.form-imagecheck:hover .form-imagecheck-image, .form-imagecheck-input:focus ~ .form-imagecheck-figure .form-imagecheck-image, .form-imagecheck-input:checked ~ .form-imagecheck-figure .form-imagecheck-image { - opacity: 1; -} - -.form-imagecheck-caption { - padding: 0.25rem; - font-size: 0.765625rem; - color: #616876; - text-align: center; - transition: color 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-imagecheck-caption { - transition: none; - } -} -.form-imagecheck:hover .form-imagecheck-caption, .form-imagecheck-input:focus ~ .form-imagecheck-figure .form-imagecheck-caption, .form-imagecheck-input:checked ~ .form-imagecheck-figure .form-imagecheck-caption { - color: #1d273b; -} - -/* -Select group - */ -.form-selectgroup { - display: inline-flex; - margin: 0 0 -0.5rem -0.5rem; - flex-wrap: wrap; -} -.form-selectgroup .form-selectgroup-item { - margin: 0 0 0.5rem 0.5rem; -} - -.form-selectgroup-vertical { - flex-direction: column; -} - -.form-selectgroup-item { - display: block; - position: relative; -} - -.form-selectgroup-input { - position: absolute; - top: 0; - right: 0; - z-index: -1; - opacity: 0; -} - -.form-selectgroup-label { - position: relative; - display: block; - min-width: calc(1.4285714286em + 0.875rem + 2px); - margin: 0; - padding: 0.4375rem 0.75rem; - font-size: 0.875rem; - line-height: 1.4285714286; - color: #616876; - background: var(--tblr-bg-forms); - text-align: center; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - border-radius: 3px; - transition: border-color 0.3s, background 0.3s, color 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-selectgroup-label { - transition: none; - } -} -.form-selectgroup-label .icon:only-child { - margin: 0 -0.25rem; -} -.form-selectgroup-label:hover { - color: var(--tblr-body-color); -} - -.form-selectgroup-check { - display: inline-block; - width: 1rem; - height: 1rem; - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - vertical-align: middle; -} -.form-selectgroup-input[type=checkbox] + .form-selectgroup-label .form-selectgroup-check { - border-radius: var(--tblr-border-radius); -} -.form-selectgroup-input[type=radio] + .form-selectgroup-label .form-selectgroup-check { - border-radius: 50%; -} -.form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-check { - background-color: var(--tblr-primary); - background-repeat: repeat; - background-position: center; - background-size: 1rem; - border-color: var(--tblr-border-color-translucent); -} -.form-selectgroup-input[type=checkbox]:checked + .form-selectgroup-label .form-selectgroup-check { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); -} -.form-selectgroup-input[type=radio]:checked + .form-selectgroup-label .form-selectgroup-check { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); -} - -.form-selectgroup-check-floated { - position: absolute; - top: 0.4375rem; - left: 0.4375rem; -} - -.form-selectgroup-input:checked + .form-selectgroup-label { - z-index: 1; - color: var(--tblr-primary); - background: rgba(var(--tblr-primary-rgb), 0.04); - border-color: var(--tblr-primary); -} - -.form-selectgroup-input:focus + .form-selectgroup-label { - z-index: 2; - color: var(--tblr-primary); - border-color: var(--tblr-primary); - box-shadow: 0 0 0 0.25rem rgba(32, 107, 196, 0.25); -} - -/** -Alternate version of form select group - */ -.form-selectgroup-boxes .form-selectgroup-label { - text-align: right; - padding: 1.5rem 1rem; - color: inherit; -} -.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label { - color: inherit; -} -.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-title { - color: var(--tblr-primary); -} -.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-label-content { - opacity: 1; -} - -/** -Select group - */ -.form-selectgroup-pills { - flex-wrap: wrap; - align-items: flex-start; -} -.form-selectgroup-pills .form-selectgroup-item { - flex-grow: 0; -} -.form-selectgroup-pills .form-selectgroup-label { - border-radius: 50px; -} - -/** -Bootstrap color input - */ -.form-control-color::-webkit-color-swatch { - border: none; -} - -/** -Remove the cancel buttons in Chrome and Safari on macOS. - */ -[type=search]::-webkit-search-cancel-button { - -webkit-appearance: none; -} - -/** -Form control dark theme fix - */ -.form-control::-webkit-file-upload-button { - background-color: var(--tblr-btn-color, #f8fafc); -} -.form-control::file-selector-button { - background-color: var(--tblr-btn-color, #f8fafc); -} -.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { - background-color: var(--tblr-btn-color, #eceeef); -} -.form-control:hover:not(:disabled):not([readonly])::file-selector-button { - background-color: var(--tblr-btn-color, #eceeef); -} - -/* -Form check - */ -.form-check { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.form-check.form-check-highlight .form-check-input:not(:checked) ~ .form-check-label { - color: var(--tblr-muted); -} -.form-check .form-check-label-off { - color: var(--tblr-muted); -} -.form-check .form-check-input:checked ~ .form-check-label-off { - display: none; -} -.form-check .form-check-input:not(:checked) ~ .form-check-label-on { - display: none; -} - -.form-check-input { - background-size: 1rem; - margin-top: 0.125rem; -} -.form-switch .form-check-input { - transition: background-color 0.3s, background-position 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .form-switch .form-check-input { - transition: none; - } -} - -.form-check-label { - display: block; -} -.form-check-label.required:after { - content: "*"; - margin-right: 0.25rem; - color: #d63939; -} - -.form-check-description { - display: block; - color: #616876; - font-size: 0.75rem; - margin-top: 0.25rem; -} - -.form-check-single { - margin: 0; -} -.form-check-single .form-check-input { - margin: 0; -} - -/* -Form switch - */ -.form-switch .form-check-input { - height: 1.125rem; - margin-top: 0.0625rem; -} - -.form-switch-lg { - padding-right: 3.5rem; - min-height: 1.5rem; -} -.form-switch-lg .form-check-input { - height: 1.5rem; - width: 2.75rem; - background-size: 1.5rem; - margin-right: -3.5rem; -} -.form-switch-lg .form-check-label { - padding-top: 0.125rem; -} - -/*Correction of Form-check position*/ -.form-check-input:checked { - border: none; -} - -.form-select.is-invalid-lite, .form-control.is-invalid-lite, .form-select.is-valid-lite, .form-control.is-valid-lite { - border-color: var(--tblr-border-color) !important; -} - -/** -Legend - */ -.legend { - --tblr-legend-size: 0.75em; - display: inline-block; - background: var(--tblr-border-color); - width: var(--tblr-legend-size); - height: var(--tblr-legend-size); - border-radius: var(--tblr-border-radius-sm); -} - -.list-group { - margin-right: 0; - margin-left: 0; -} - -.list-group-header { - background: var(--tblr-light); - padding: 0.5rem 1.5rem; - font-size: 0.75rem; - font-weight: var(--tblr-font-weight-medium); - line-height: 1; - text-transform: uppercase; - color: var(--tblr-muted); - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} -.list-group-flush > .list-group-header:last-child { - border-bottom-width: 0; -} - -.list-group-item { - background-color: inherit; -} - -.list-group-item.active { - background-color: rgba(var(--tblr-muted-rgb), 0.04); - border-right-color: #206bc4; - border-right-width: 2px; -} - -.list-group-item:active, .list-group-item:focus, .list-group-item:hover { - background-color: rgba(var(--tblr-muted-rgb), 0.04); -} - -.list-group-item.disabled, .list-group-item:disabled { - color: #6c7a91; - background-color: rgba(var(--tblr-muted-rgb), 0.04); -} - -.list-bordered .list-item { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - margin-top: -1px; -} -.list-bordered .list-item:first-child { - border-top: none; -} - -.list-group-hoverable .list-group-item-actions { - opacity: 0; - transition: opacity 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .list-group-hoverable .list-group-item-actions { - transition: none; - } -} -.list-group-hoverable .list-group-item:hover .list-group-item-actions, -.list-group-hoverable .list-group-item-actions.show { - opacity: 1; -} - -/** -Timeline - */ -.list-timeline { - position: relative; - padding: 0; - margin: 0; - list-style: none; -} -.list-timeline > li { - position: relative; - margin-bottom: 1.5rem; -} -.list-timeline > li:last-child { - margin-bottom: 0; -} - -.list-timeline-time { - float: left; - margin-right: 1rem; - color: #616876; -} - -.list-timeline-icon { - position: absolute; - top: 0; - right: 0; - display: flex; - align-items: center; - justify-content: center; - width: 2.5rem; - height: 2.5rem; - color: #ffffff; - text-align: center; - background: #616876; - border-radius: 100rem; -} -.list-timeline-icon .icon { - width: 1rem; - height: 1rem; - font-size: 1rem; -} - -.list-timeline-title { - margin: 0; - font-weight: var(--tblr-font-weight-bold); -} - -.list-timeline-content { - margin-right: 3.5rem; -} - -@media screen and (min-width: 768px) { - .list-timeline:not(.list-timeline-simple):before { - position: absolute; - top: 0; - bottom: 0; - right: calc(7.5rem + 2px); - z-index: 1; - display: block; - width: 4px; - content: ""; - background-color: #f1f5f9; - } - .list-timeline:not(.list-timeline-simple) > li { - z-index: 2; - min-height: 40px; - } - .list-timeline:not(.list-timeline-simple) .list-timeline-time { - position: absolute; - top: 0.5rem; - right: 0; - width: 5.5rem; - margin: 0; - text-align: left; - } - .list-timeline:not(.list-timeline-simple) .list-timeline-icon { - top: 0; - right: 6.5rem; - } - .list-timeline:not(.list-timeline-simple) .list-timeline-content { - padding: 0.625rem 10rem 0 0; - margin: 0; - } -} -.list-group-transparent { - --tblr-list-group-border-radius: 0; - margin: 0 -1.5rem; -} -.list-group-transparent .list-group-item { - background: none; - border: 0; -} -.list-group-transparent .list-group-item .icon { - color: #616876; -} -.list-group-transparent .list-group-item.active { - font-weight: var(--tblr-font-weight-bold); - color: inherit; - background: var(--tblr-active-bg); -} -.list-group-transparent .list-group-item.active .icon { - color: inherit; -} - -.list-separated-item { - padding: 1rem 0; -} -.list-separated-item:first-child { - padding-top: 0; -} -.list-separated-item:last-child { - padding-bottom: 0; -} -.list-separated-item + .list-separated-item { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} - -/** -Inline list - */ -.list-inline-item:not(:last-child) { - margin-left: auto; - -webkit-margin-end: 0.5rem; - margin-inline-end: 0.5rem; -} - -.list-inline-dots .list-inline-item + .list-inline-item:before { - content: " · "; - -webkit-margin-end: 0.5rem; - margin-inline-end: 0.5rem; -} - -@-webkit-keyframes loader { - from { - transform: rotate(0deg); - } - to { - transform: rotate(-360deg); - } -} - -@keyframes loader { - from { - transform: rotate(0deg); - } - to { - transform: rotate(-360deg); - } -} -.loader { - position: relative; - display: block; - width: 2.5rem; - height: 2.5rem; - color: #206bc4; - vertical-align: middle; -} -.loader:after { - position: absolute; - top: 0; - right: 0; - width: 100%; - height: 100%; - content: ""; - border: 1px solid; - border-color: transparent; - border-top-color: currentColor; - border-right-color: currentColor; - border-radius: 100rem; - -webkit-animation: loader 0.6s linear; - animation: loader 0.6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; -} - -/** -Dimmer -*/ -.dimmer { - position: relative; -} -.dimmer .loader { - position: absolute; - top: 50%; - left: 0; - right: 0; - display: none; - margin: 0 auto; - transform: translateY(-50%); -} -.dimmer.active .loader { - display: block; -} -.dimmer.active .dimmer-content { - pointer-events: none; - opacity: 0.1; -} - -@-webkit-keyframes animated-dots { - 0% { - transform: translateX(100%); - } -} - -@keyframes animated-dots { - 0% { - transform: translateX(100%); - } -} -.animated-dots { - display: inline-block; - overflow: hidden; - vertical-align: bottom; -} -.animated-dots:after { - display: inline-block; - content: "..."; - -webkit-animation: animated-dots 1.2s steps(4, jump-none) infinite; - animation: animated-dots 1.2s steps(4, jump-none) infinite; -} - -.modal-content .btn-close { - position: absolute; - top: 0; - left: 0; - width: 3.5rem; - height: 3.5rem; - margin: 0; - padding: 0; - z-index: 10; -} - -.modal-body::-webkit-scrollbar { - width: 0.5rem; - height: 0.5rem; - -webkit-transition: background 0.3s; - transition: background 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .modal-body::-webkit-scrollbar { - -webkit-transition: none; - transition: none; - } -} -.modal-body::-webkit-scrollbar-thumb { - border-radius: 5px; - background: rgba(var(--tblr-body-color-rgb), 0.16); -} -.modal-body::-webkit-scrollbar-track { - background: rgba(var(--tblr-body-color-rgb), 0.06); -} -.modal-body:hover::-webkit-scrollbar-thumb { - background: rgba(var(--tblr-body-color-rgb), 0.32); -} -.modal-body::-webkit-scrollbar-corner { - background: transparent; -} -.modal-body .modal-title { - margin-bottom: 1rem; -} -.modal-body + .modal-body { - border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} - -.modal-status { - position: absolute; - top: 0; - right: 0; - left: 0; - height: 2px; - background: #616876; - border-radius: var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0; -} - -.modal-header { - align-items: center; - min-height: 3.5rem; - background: #ffffff; - padding: 0 1.5rem 0 3.5rem; -} - -.modal-title { - font-size: 1rem; - font-weight: var(--tblr-font-weight-medium); - line-height: 1.4285714286; -} - -.modal-footer { - padding-top: 0; - padding-bottom: 0.75rem; -} - -.modal-blur { - -webkit-backdrop-filter: blur(4px); - backdrop-filter: blur(4px); -} - -.modal-full-width { - max-width: none; - margin: 0 0.5rem; -} - -.nav-vertical, -.nav-vertical .nav { - flex-direction: column; - flex-wrap: nowrap; -} -.nav-vertical .nav { - margin-right: 1.25rem; - border-right: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); - padding-right: 0.5rem; -} -.nav-vertical .nav-link.active, -.nav-vertical .nav-item.show .nav-link { - font-weight: var(--tblr-font-weight-bold); -} -.nav-vertical.nav-pills { - margin: 0 -0.75rem; -} - -.nav-bordered { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); -} -.nav-bordered .nav-item + .nav-item { - margin-right: 1.25rem; -} -.nav-bordered .nav-link { - padding-right: 0; - padding-left: 0; - margin: 0 0 -var(--tblr-border-width); - border: 0; - border-bottom: 2px var(--tblr-border-style) transparent; - color: #616876; -} -.nav-bordered .nav-link.active, -.nav-bordered .nav-item.show .nav-link { - color: var(--tblr-primary); - border-color: var(--tblr-primary); -} - -.nav-link { - display: flex; - transition: color 0.3s; - align-items: center; -} -@media (prefers-reduced-motion: reduce) { - .nav-link { - transition: none; - } -} - -.nav-link-toggle { - margin-right: auto; - padding: 0 0.25rem; - transition: transform 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .nav-link-toggle { - transition: none; - } -} -.nav-link-toggle:after { - content: ""; - display: inline-block; - vertical-align: 0.306em; - width: 0.36em; - height: 0.36em; - border-bottom: 1px solid; - border-right: 1px solid; - margin-left: 0.1em; - margin-right: 0.4em; - transform: rotate(45deg); -} -.nav-link-toggle:after { - margin: 0; -} -.nav-link[aria-expanded=true] .nav-link-toggle { - transform: rotate(-180deg); -} - -.nav-link-icon { - width: 1.25rem; - height: 1.25rem; - margin-left: 0.5rem; - color: var(--tblr-icon-color); -} -.nav-link-icon svg { - display: block; - height: 100%; -} - -.nav-fill .nav-item .nav-link { - justify-content: center; -} - -.stars { - display: inline-flex; - color: #9ba9be; - font-size: 0.75rem; -} -.stars .star:not(:first-child) { - margin-right: 0.25rem; -} - -.pagination { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.page-link { - min-width: 1.75rem; - border-radius: var(--tblr-border-radius); -} - -.page-item { - text-align: center; -} -.page-item:not(.active) .page-link:hover { - background: transparent; -} -.page-item.page-prev, .page-item.page-next { - flex: 0 0 50%; - text-align: right; -} -.page-item.page-next { - margin-right: auto; - text-align: left; -} - -.page-item-subtitle { - margin-bottom: 2px; - font-size: 12px; - color: #616876; - text-transform: uppercase; -} -.page-item.disabled .page-item-subtitle { - color: var(--tblr-disabled-color); -} - -.page-item-title { - font-size: 1rem; - font-weight: var(--tblr-font-weight-normal); - color: #1d273b; -} -.page-link:hover .page-item-title { - color: var(--tblr-primary); -} -.page-item.disabled .page-item-title { - color: var(--tblr-disabled-color); -} - -@-webkit-keyframes progress-indeterminate { - 0% { - left: 100%; - right: -35%; - } - 100%, 60% { - left: -90%; - right: 100%; - } -} - -@keyframes progress-indeterminate { - 0% { - left: 100%; - right: -35%; - } - 100%, 60% { - left: -90%; - right: 100%; - } -} -/** -Progress - */ -.progress { - position: relative; - width: 100%; - line-height: 0.5rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} -.progress::-webkit-progress-bar { - background: var(--tblr-progress-bg); -} -.progress::-webkit-progress-value { - background-color: var(--tblr-primary); -} -.progress::-moz-progress-bar { - background-color: var(--tblr-primary); -} -.progress::-ms-fill { - background-color: var(--tblr-primary); - border: none; -} - -.progress-sm { - height: 0.25rem; -} - -/** -Progress bar - */ -.progress-bar { - height: 100%; -} - -.progress-bar-indeterminate:after, .progress-bar-indeterminate:before { - position: absolute; - top: 0; - bottom: 0; - right: 0; - content: ""; - background-color: inherit; - will-change: left, right; -} -.progress-bar-indeterminate:before { - -webkit-animation: progress-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; - animation: progress-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; -} - -.progress-separated .progress-bar { - box-shadow: 0 0 0 2px var(--tblr-card-bg, var(--tblr-bg-surface)); -} - -/** -Progressbg - */ -.progressbg { - position: relative; - padding: 0.25rem 0.5rem; - display: flex; -} - -.progressbg-text { - position: relative; - z-index: 1; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.progressbg-progress { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - z-index: 0; - height: 100%; - background: transparent; - pointer-events: none; -} - -.progressbg-value { - font-weight: var(--tblr-font-weight-medium); - margin-right: auto; - padding-right: 2rem; -} - -.ribbon { - --tblr-ribbon-margin: 0.25rem; - --tblr-ribbon-border-radius: var(--tblr-border-radius); - position: absolute; - top: 0.75rem; - left: calc(-1 * var(--tblr-ribbon-margin)); - z-index: 1; - padding: 0.25rem 0.75rem; - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - line-height: 1; - color: #ffffff; - text-align: center; - text-transform: uppercase; - background: var(--tblr-primary); - border-color: var(--tblr-primary); - border-radius: 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius); - display: inline-flex; - align-items: center; - justify-content: center; - min-height: 2rem; - min-width: 2rem; -} -.ribbon:before { - position: absolute; - left: 0; - bottom: 100%; - width: 0; - height: 0; - content: ""; - filter: brightness(70%); - border: calc(var(--tblr-ribbon-margin) * 0.5) solid; - border-color: inherit; - border-top-color: transparent; - border-left-color: transparent; -} -.ribbon.bg-blue { - border-color: var(--tblr-blue); -} -.ribbon.bg-blue-lt { - border-color: rgba(var(--tblr-blue-rgb), 0.1) !important; -} -.ribbon.bg-azure { - border-color: var(--tblr-azure); -} -.ribbon.bg-azure-lt { - border-color: rgba(var(--tblr-azure-rgb), 0.1) !important; -} -.ribbon.bg-indigo { - border-color: var(--tblr-indigo); -} -.ribbon.bg-indigo-lt { - border-color: rgba(var(--tblr-indigo-rgb), 0.1) !important; -} -.ribbon.bg-purple { - border-color: var(--tblr-purple); -} -.ribbon.bg-purple-lt { - border-color: rgba(var(--tblr-purple-rgb), 0.1) !important; -} -.ribbon.bg-pink { - border-color: var(--tblr-pink); -} -.ribbon.bg-pink-lt { - border-color: rgba(var(--tblr-pink-rgb), 0.1) !important; -} -.ribbon.bg-red { - border-color: var(--tblr-red); -} -.ribbon.bg-red-lt { - border-color: rgba(var(--tblr-red-rgb), 0.1) !important; -} -.ribbon.bg-orange { - border-color: var(--tblr-orange); -} -.ribbon.bg-orange-lt { - border-color: rgba(var(--tblr-orange-rgb), 0.1) !important; -} -.ribbon.bg-yellow { - border-color: var(--tblr-yellow); -} -.ribbon.bg-yellow-lt { - border-color: rgba(var(--tblr-yellow-rgb), 0.1) !important; -} -.ribbon.bg-lime { - border-color: var(--tblr-lime); -} -.ribbon.bg-lime-lt { - border-color: rgba(var(--tblr-lime-rgb), 0.1) !important; -} -.ribbon.bg-green { - border-color: var(--tblr-green); -} -.ribbon.bg-green-lt { - border-color: rgba(var(--tblr-green-rgb), 0.1) !important; -} -.ribbon.bg-teal { - border-color: var(--tblr-teal); -} -.ribbon.bg-teal-lt { - border-color: rgba(var(--tblr-teal-rgb), 0.1) !important; -} -.ribbon.bg-cyan { - border-color: var(--tblr-cyan); -} -.ribbon.bg-cyan-lt { - border-color: rgba(var(--tblr-cyan-rgb), 0.1) !important; -} -.ribbon .icon { - width: 1.25rem; - height: 1.25rem; - font-size: 1.25rem; -} - -.ribbon-top { - top: calc(-1 * var(--tblr-ribbon-margin)); - left: 0.75rem; - width: 2rem; - padding: 0.5rem 0; - border-radius: var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius); -} -.ribbon-top:before { - top: 0; - left: 100%; - bottom: auto; - border-color: inherit; - border-top-color: transparent; - border-right-color: transparent; -} -.ribbon-top.ribbon-start { - left: auto; - right: 0.75rem; -} -.ribbon-top.ribbon-start:before { - top: 0; - left: 100%; - right: auto; -} - -.ribbon-start { - left: auto; - right: calc(-1 * var(--tblr-ribbon-margin)); -} -.ribbon-start:before { - top: auto; - bottom: 100%; - right: 0; - border-color: inherit; - border-top-color: transparent; - border-right-color: transparent; -} - -.ribbon-bottom { - top: auto; - bottom: 0.75rem; -} - -.ribbon-bookmark { - padding-right: 0.25rem; - border-radius: 0 0 0 var(--tblr-ribbon-border-radius); -} -.ribbon-bookmark:after { - position: absolute; - top: 0; - left: 100%; - display: block; - width: 0; - height: 0; - content: ""; - border: 1rem solid; - border-color: inherit; - border-left-width: 0; - border-right-color: transparent; - border-right-width: 0.5rem; -} -.ribbon-bookmark.ribbon-left { - padding-left: 0.5rem; -} -.ribbon-bookmark.ribbon-left:after { - left: auto; - right: 100%; - border-left-color: transparent; - border-left-width: 0.5rem; - border-right-width: 0; -} -.ribbon-bookmark.ribbon-top { - padding-left: 0; - padding-bottom: 0.25rem; - padding-right: 0; - border-radius: var(--tblr-ribbon-border-radius) 0 0 0; -} -.ribbon-bookmark.ribbon-top:after { - top: 100%; - left: 0; - right: 0; - border-color: inherit; - border-width: 1rem; - border-top-width: 0; - border-bottom-color: transparent; - border-bottom-width: 0.5rem; -} - -/** -Markdown - */ -.markdown { - line-height: 1.7142857143; -} -.markdown > :first-child { - margin-top: 0; -} -.markdown > :last-child, -.markdown > :last-child .highlight { - margin-bottom: 0; -} -@media (min-width: 768px) { - .markdown > hr, .markdown > .hr { - margin-top: 3em; - margin-bottom: 3em; - } -} -.markdown > h1, .markdown > .h1, .markdown > h2, .markdown > .h2, .markdown > h3, .markdown > .h3, .markdown > h4, .markdown > .h4, .markdown > h5, .markdown > .h5, .markdown > h6, .markdown > .h6 { - font-weight: var(--tblr-font-weight-bold); -} -.markdown > blockquote { - font-size: 1rem; - margin: 1.5rem 0; - padding: 0.5rem 1.5rem; -} -.markdown > img { - border-radius: var(--tblr-border-radius); -} - -.placeholder:not(.btn):not([class*=bg-]) { - background-color: currentColor !important; -} -.placeholder:not(.avatar):not([class*=card-img-]) { - border-radius: var(--tblr-border-radius); -} - -.steps { - display: flex; - flex-wrap: nowrap; - width: 100%; - padding: 0; - margin: 2rem 0; - list-style: none; -} -.steps .step-item { - padding-top: calc(0.5rem + 4px); -} -.steps .step-item:after { - top: calc(0.25rem + 2px); - height: 2px; -} -.steps .step-item:before { - width: 0.5rem; - height: 0.5rem; -} -.steps .step-item:after, .steps .step-item:before { - color: #ffffff; - background: var(--tblr-primary); -} -.steps .step-item.active:before { - color: inherit; - border-color: var(--tblr-primary); -} - -.steps-blue .step-item:after, .steps-blue .step-item:before { - color: #ffffff; - background: #206bc4; -} -.steps-blue .step-item.active:before { - color: inherit; - border-color: #206bc4; -} - -.steps-azure .step-item:after, .steps-azure .step-item:before { - color: #ffffff; - background: #4299e1; -} -.steps-azure .step-item.active:before { - color: inherit; - border-color: #4299e1; -} - -.steps-indigo .step-item:after, .steps-indigo .step-item:before { - color: #ffffff; - background: #4263eb; -} -.steps-indigo .step-item.active:before { - color: inherit; - border-color: #4263eb; -} - -.steps-purple .step-item:after, .steps-purple .step-item:before { - color: #ffffff; - background: #ae3ec9; -} -.steps-purple .step-item.active:before { - color: inherit; - border-color: #ae3ec9; -} - -.steps-pink .step-item:after, .steps-pink .step-item:before { - color: #ffffff; - background: #d6336c; -} -.steps-pink .step-item.active:before { - color: inherit; - border-color: #d6336c; -} - -.steps-red .step-item:after, .steps-red .step-item:before { - color: #ffffff; - background: #d63939; -} -.steps-red .step-item.active:before { - color: inherit; - border-color: #d63939; -} - -.steps-orange .step-item:after, .steps-orange .step-item:before { - color: #ffffff; - background: #f76707; -} -.steps-orange .step-item.active:before { - color: inherit; - border-color: #f76707; -} - -.steps-yellow .step-item:after, .steps-yellow .step-item:before { - color: #ffffff; - background: #f59f00; -} -.steps-yellow .step-item.active:before { - color: inherit; - border-color: #f59f00; -} - -.steps-lime .step-item:after, .steps-lime .step-item:before { - color: #ffffff; - background: #74b816; -} -.steps-lime .step-item.active:before { - color: inherit; - border-color: #74b816; -} - -.steps-green .step-item:after, .steps-green .step-item:before { - color: #ffffff; - background: #2fb344; -} -.steps-green .step-item.active:before { - color: inherit; - border-color: #2fb344; -} - -.steps-teal .step-item:after, .steps-teal .step-item:before { - color: #ffffff; - background: #0ca678; -} -.steps-teal .step-item.active:before { - color: inherit; - border-color: #0ca678; -} - -.steps-cyan .step-item:after, .steps-cyan .step-item:before { - color: #ffffff; - background: #17a2b8; -} -.steps-cyan .step-item.active:before { - color: inherit; - border-color: #17a2b8; -} - -.step-item { - position: relative; - flex: 1 1 0; - min-height: 1rem; - margin-top: 0; - color: inherit; - text-align: center; - cursor: default; -} -a.step-item { - cursor: pointer; -} -a.step-item:hover { - color: inherit; -} - -.step-item:not(:first-child):after { - position: absolute; - right: -50%; - width: 100%; - content: ""; - transform: translateY(-50%); -} -.step-item:before { - position: absolute; - top: 0; - right: 50%; - z-index: 1; - box-sizing: content-box; - display: block; - content: ""; - border: 2px var(--tblr-border-style) var(--tblr-bg-surface); - border-radius: 100rem; - transform: translateX(50%); -} -.step-item.active { - font-weight: var(--tblr-font-weight-bold); -} -.step-item.active:before { - background: var(--tblr-bg-surface); -} -.step-item.active ~ .step-item { - color: #616876; -} -.step-item.active ~ .step-item:after, .step-item.active ~ .step-item:before { - background: #f3f5f5; -} -.step-item.active ~ .step-item:before { - color: #616876 !important; -} - -.steps-counter { - counter-reset: steps; -} -.steps-counter .step-item { - padding-top: calc(1.5rem + 4px); -} -.steps-counter .step-item:after { - top: calc(0.75rem + 2px); - height: 2px; -} -.steps-counter .step-item:before { - width: 1.5rem; - height: 1.5rem; -} -.steps-counter .step-item { - counter-increment: steps; -} -.steps-counter .step-item:before { - font-size: 0.75rem; - line-height: 1.5rem; - content: counter(steps); -} -.steps-counter .step-item.active ~ .step-item:before { - background: #ffffff; -} - -@-webkit-keyframes status-pulsate-main { - 40% { - transform: scale(1.25, 1.25); - } - 60% { - transform: scale(1.25, 1.25); - } -} - -@keyframes status-pulsate-main { - 40% { - transform: scale(1.25, 1.25); - } - 60% { - transform: scale(1.25, 1.25); - } -} -@-webkit-keyframes status-pulsate-secondary { - 10% { - transform: scale(1, 1); - } - 30% { - transform: scale(3, 3); - } - 80% { - transform: scale(3, 3); - } - 100% { - transform: scale(1, 1); - } -} -@keyframes status-pulsate-secondary { - 10% { - transform: scale(1, 1); - } - 30% { - transform: scale(3, 3); - } - 80% { - transform: scale(3, 3); - } - 100% { - transform: scale(1, 1); - } -} -@-webkit-keyframes status-pulsate-tertiary { - 25% { - transform: scale(1, 1); - } - 80% { - transform: scale(3, 3); - opacity: 0; - } - 100% { - transform: scale(3, 3); - opacity: 0; - } -} -@keyframes status-pulsate-tertiary { - 25% { - transform: scale(1, 1); - } - 80% { - transform: scale(3, 3); - opacity: 0; - } - 100% { - transform: scale(3, 3); - opacity: 0; - } -} -.status { - --tblr-status-height: 1.5rem; - --tblr-status-color: #616876; - --tblr-status-color-rgb: 97, 104, 118; - display: inline-flex; - align-items: center; - height: var(--tblr-status-height); - padding: 0.25rem 0.75rem; - gap: 0.5rem; - color: var(--tblr-status-color); - background: rgba(var(--tblr-status-color-rgb), 0.1); - font-size: 0.875rem; - text-transform: none; - letter-spacing: normal; - border-radius: 100rem; - font-weight: var(--tblr-font-weight-medium); - line-height: 1; - margin: 0; -} -.status .status-dot { - background: var(--tblr-status-color); -} -.status .icon { - font-size: 1.25rem; -} - -.status-lite { - border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; - background: transparent !important; - color: var(--tblr-body-text) !important; -} - -.status-primary { - --tblr-status-color: #206bc4; - --tblr-status-color-rgb: 32, 107, 196; -} - -.status-secondary { - --tblr-status-color: #616876; - --tblr-status-color-rgb: 97, 104, 118; -} - -.status-success { - --tblr-status-color: #2fb344; - --tblr-status-color-rgb: 47, 179, 68; -} - -.status-info { - --tblr-status-color: #4299e1; - --tblr-status-color-rgb: 66, 153, 225; -} - -.status-warning { - --tblr-status-color: #f76707; - --tblr-status-color-rgb: 247, 103, 7; -} - -.status-danger { - --tblr-status-color: #d63939; - --tblr-status-color-rgb: 214, 57, 57; -} - -.status-light { - --tblr-status-color: #f8fafc; - --tblr-status-color-rgb: 248, 250, 252; -} - -.status-dark { - --tblr-status-color: #1d273b; - --tblr-status-color-rgb: 29, 39, 59; -} - -.status-muted { - --tblr-status-color: #616876; - --tblr-status-color-rgb: 97, 104, 118; -} - -.status-blue { - --tblr-status-color: #206bc4; - --tblr-status-color-rgb: 32, 107, 196; -} - -.status-azure { - --tblr-status-color: #4299e1; - --tblr-status-color-rgb: 66, 153, 225; -} - -.status-indigo { - --tblr-status-color: #4263eb; - --tblr-status-color-rgb: 66, 99, 235; -} - -.status-purple { - --tblr-status-color: #ae3ec9; - --tblr-status-color-rgb: 174, 62, 201; -} - -.status-pink { - --tblr-status-color: #d6336c; - --tblr-status-color-rgb: 214, 51, 108; -} - -.status-red { - --tblr-status-color: #d63939; - --tblr-status-color-rgb: 214, 57, 57; -} - -.status-orange { - --tblr-status-color: #f76707; - --tblr-status-color-rgb: 247, 103, 7; -} - -.status-yellow { - --tblr-status-color: #f59f00; - --tblr-status-color-rgb: 245, 159, 0; -} - -.status-lime { - --tblr-status-color: #74b816; - --tblr-status-color-rgb: 116, 184, 22; -} - -.status-green { - --tblr-status-color: #2fb344; - --tblr-status-color-rgb: 47, 179, 68; -} - -.status-teal { - --tblr-status-color: #0ca678; - --tblr-status-color-rgb: 12, 166, 120; -} - -.status-cyan { - --tblr-status-color: #17a2b8; - --tblr-status-color-rgb: 23, 162, 184; -} - -.status-facebook { - --tblr-status-color: #3b5998; - --tblr-status-color-rgb: 59, 89, 152; -} - -.status-twitter { - --tblr-status-color: #1da1f2; - --tblr-status-color-rgb: 29, 161, 242; -} - -.status-linkedin { - --tblr-status-color: #0a66c2; - --tblr-status-color-rgb: 10, 102, 194; -} - -.status-google { - --tblr-status-color: #dc4e41; - --tblr-status-color-rgb: 220, 78, 65; -} - -.status-youtube { - --tblr-status-color: #ff0000; - --tblr-status-color-rgb: 255, 0, 0; -} - -.status-vimeo { - --tblr-status-color: #1ab7ea; - --tblr-status-color-rgb: 26, 183, 234; -} - -.status-dribbble { - --tblr-status-color: #ea4c89; - --tblr-status-color-rgb: 234, 76, 137; -} - -.status-github { - --tblr-status-color: #181717; - --tblr-status-color-rgb: 24, 23, 23; -} - -.status-instagram { - --tblr-status-color: #e4405f; - --tblr-status-color-rgb: 228, 64, 95; -} - -.status-pinterest { - --tblr-status-color: #bd081c; - --tblr-status-color-rgb: 189, 8, 28; -} - -.status-vk { - --tblr-status-color: #6383a8; - --tblr-status-color-rgb: 99, 131, 168; -} - -.status-rss { - --tblr-status-color: #ffa500; - --tblr-status-color-rgb: 255, 165, 0; -} - -.status-flickr { - --tblr-status-color: #0063dc; - --tblr-status-color-rgb: 0, 99, 220; -} - -.status-bitbucket { - --tblr-status-color: #0052cc; - --tblr-status-color-rgb: 0, 82, 204; -} - -.status-tabler { - --tblr-status-color: #206bc4; - --tblr-status-color-rgb: 32, 107, 196; -} - -.status-dot { - --tblr-status-dot-color: var(--tblr-status-color, #616876); - --tblr-status-size: 0.5rem; - position: relative; - display: inline-block; - width: var(--tblr-status-size); - height: var(--tblr-status-size); - background: var(--tblr-status-dot-color); - border-radius: 100rem; -} - -.status-dot-animated:before { - content: ""; - position: absolute; - inset: 0; - z-index: 0; - background: inherit; - border-radius: inherit; - opacity: 0.6; - -webkit-animation: 1s linear 2s backwards infinite status-pulsate-tertiary; - animation: 1s linear 2s backwards infinite status-pulsate-tertiary; -} - -.status-indicator { - --tblr-status-indicator-size: 2.5rem; - --tblr-status-indicator-color: var(--tblr-status-color, #616876); - display: block; - position: relative; - width: var(--tblr-status-indicator-size); - height: var(--tblr-status-indicator-size); -} - -.status-indicator-circle { - --tblr-status-circle-size: .75rem; - position: absolute; - right: 50%; - top: 50%; - margin: calc(var(--tblr-status-circle-size) / -2) calc(var(--tblr-status-circle-size) / -2) 0 0; - width: var(--tblr-status-circle-size); - height: var(--tblr-status-circle-size); - border-radius: 100rem; - background: var(--tblr-status-color); -} -.status-indicator-circle:nth-child(1) { - z-index: 3; -} -.status-indicator-circle:nth-child(2) { - z-index: 2; - opacity: 0.1; -} -.status-indicator-circle:nth-child(3) { - z-index: 1; - opacity: 0.3; -} - -.status-indicator-animated .status-indicator-circle:nth-child(1) { - -webkit-animation: 2s linear 1s infinite backwards status-pulsate-main; - animation: 2s linear 1s infinite backwards status-pulsate-main; -} -.status-indicator-animated .status-indicator-circle:nth-child(2) { - -webkit-animation: 2s linear 1s infinite backwards status-pulsate-secondary; - animation: 2s linear 1s infinite backwards status-pulsate-secondary; -} -.status-indicator-animated .status-indicator-circle:nth-child(3) { - -webkit-animation: 2s linear 1s infinite backwards status-pulsate-tertiary; - animation: 2s linear 1s infinite backwards status-pulsate-tertiary; -} - -.switch-icon { - display: inline-block; - line-height: 1; - border: 0; - padding: 0; - background: transparent; - width: 1.25rem; - height: 1.25rem; - vertical-align: bottom; - position: relative; - cursor: pointer; -} -.switch-icon.disabled { - pointer-events: none; - opacity: 0.4; -} -.switch-icon:focus { - outline: none; -} -.switch-icon svg { - display: block; - width: 100%; - height: 100%; -} -.switch-icon .switch-icon-a, -.switch-icon .switch-icon-b { - display: block; - width: 100%; - height: 100%; -} -.switch-icon .switch-icon-a { - opacity: 1; -} -.switch-icon .switch-icon-b { - position: absolute; - top: 0; - right: 0; - opacity: 0; -} -.switch-icon.active .switch-icon-a { - opacity: 0; -} -.switch-icon.active .switch-icon-b { - opacity: 1; -} - -.switch-icon-fade .switch-icon-a, -.switch-icon-fade .switch-icon-b { - transition: opacity 0.5s; -} -@media (prefers-reduced-motion: reduce) { - .switch-icon-fade .switch-icon-a, -.switch-icon-fade .switch-icon-b { - transition: none; - } -} - -.switch-icon-scale .switch-icon-a, -.switch-icon-scale .switch-icon-b { - transition: opacity 0.5s, transform 0s 0.5s; -} -@media (prefers-reduced-motion: reduce) { - .switch-icon-scale .switch-icon-a, -.switch-icon-scale .switch-icon-b { - transition: none; - } -} -.switch-icon-scale .switch-icon-b { - transform: scale(1.5); -} -.switch-icon-scale.active .switch-icon-a, -.switch-icon-scale.active .switch-icon-b { - transition: opacity 0s, transform 0.5s; -} -@media (prefers-reduced-motion: reduce) { - .switch-icon-scale.active .switch-icon-a, -.switch-icon-scale.active .switch-icon-b { - transition: none; - } -} -.switch-icon-scale.active .switch-icon-b { - transform: scale(1); -} - -.switch-icon-flip { - perspective: 10em; -} -.switch-icon-flip .switch-icon-a, -.switch-icon-flip .switch-icon-b { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - transform-style: preserve-3d; - transition: opacity 0s 0.2s, transform 0.4s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .switch-icon-flip .switch-icon-a, -.switch-icon-flip .switch-icon-b { - transition: none; - } -} -.switch-icon-flip .switch-icon-a { - opacity: 1; - transform: rotateY(0deg); -} -.switch-icon-flip .switch-icon-b { - opacity: 1; - transform: rotateY(180deg); -} -.switch-icon-flip.active .switch-icon-a { - opacity: 1; - transform: rotateY(-180deg); -} -.switch-icon-flip.active .switch-icon-b { - opacity: 1; - transform: rotateY(0deg); -} - -.switch-icon-slide-up, -.switch-icon-slide-right, -.switch-icon-slide-left, -.switch-icon-slide-down { - overflow: hidden; -} -.switch-icon-slide-up .switch-icon-a, -.switch-icon-slide-up .switch-icon-b, -.switch-icon-slide-right .switch-icon-a, -.switch-icon-slide-right .switch-icon-b, -.switch-icon-slide-left .switch-icon-a, -.switch-icon-slide-left .switch-icon-b, -.switch-icon-slide-down .switch-icon-a, -.switch-icon-slide-down .switch-icon-b { - transition: opacity 0.3s, transform 0.3s; -} -@media (prefers-reduced-motion: reduce) { - .switch-icon-slide-up .switch-icon-a, -.switch-icon-slide-up .switch-icon-b, -.switch-icon-slide-right .switch-icon-a, -.switch-icon-slide-right .switch-icon-b, -.switch-icon-slide-left .switch-icon-a, -.switch-icon-slide-left .switch-icon-b, -.switch-icon-slide-down .switch-icon-a, -.switch-icon-slide-down .switch-icon-b { - transition: none; - } -} -.switch-icon-slide-up .switch-icon-a, -.switch-icon-slide-right .switch-icon-a, -.switch-icon-slide-left .switch-icon-a, -.switch-icon-slide-down .switch-icon-a { - transform: translateY(0); -} -.switch-icon-slide-up .switch-icon-b, -.switch-icon-slide-right .switch-icon-b, -.switch-icon-slide-left .switch-icon-b, -.switch-icon-slide-down .switch-icon-b { - transform: translateY(100%); -} -.switch-icon-slide-up.active .switch-icon-a, -.switch-icon-slide-right.active .switch-icon-a, -.switch-icon-slide-left.active .switch-icon-a, -.switch-icon-slide-down.active .switch-icon-a { - transform: translateY(-100%); -} -.switch-icon-slide-up.active .switch-icon-b, -.switch-icon-slide-right.active .switch-icon-b, -.switch-icon-slide-left.active .switch-icon-b, -.switch-icon-slide-down.active .switch-icon-b { - transform: translateY(0); -} - -.switch-icon-slide-right .switch-icon-a { - transform: translateX(0); -} -.switch-icon-slide-left .switch-icon-b { - transform: translateX(-100%); -} -.switch-icon-slide-left.active .switch-icon-a { - transform: translateX(100%); -} -.switch-icon-slide-right.active .switch-icon-b { - transform: translateX(0); -} - -.switch-icon-slide-left .switch-icon-a { - transform: translateX(0); -} -.switch-icon-slide-right .switch-icon-b { - transform: translateX(100%); -} -.switch-icon-slide-right.active .switch-icon-a { - transform: translateX(-100%); -} -.switch-icon-slide-left.active .switch-icon-b { - transform: translateX(0); -} - -.switch-icon-slide-down .switch-icon-a { - transform: translateY(0); -} -.switch-icon-slide-down .switch-icon-b { - transform: translateY(-100%); -} -.switch-icon-slide-down.active .switch-icon-a { - transform: translateY(100%); -} -.switch-icon-slide-down.active .switch-icon-b { - transform: translateY(0); -} - -@media not print { - .theme-dark .table-primary { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #134076; - --tblr-table-border-color: #2a5383; - --tblr-table-striped-bg: #1e497d; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #2a5383; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #244e80; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark .table-secondary { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #3a3e47; - --tblr-table-border-color: #4d5159; - --tblr-table-striped-bg: #444750; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #4d5159; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #484c55; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark .table-success { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #1c6b29; - --tblr-table-border-color: #32793e; - --tblr-table-striped-bg: #277234; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #32793e; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #2d7639; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark .table-info { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #285c87; - --tblr-table-border-color: #3d6c93; - --tblr-table-striped-bg: #32648d; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #3d6c93; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #386890; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark .table-warning { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #943e04; - --tblr-table-border-color: #9e511d; - --tblr-table-striped-bg: #994710; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #9e511d; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #9c4c17; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark .table-danger { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #802222; - --tblr-table-border-color: #8c3838; - --tblr-table-striped-bg: #862d2d; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #8c3838; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #893232; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } -} -@media not print { - @media (prefers-color-scheme: dark) { - .theme-dark-auto .table-primary { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #134076; - --tblr-table-border-color: #2a5383; - --tblr-table-striped-bg: #1e497d; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #2a5383; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #244e80; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark-auto .table-secondary { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #3a3e47; - --tblr-table-border-color: #4d5159; - --tblr-table-striped-bg: #444750; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #4d5159; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #484c55; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark-auto .table-success { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #1c6b29; - --tblr-table-border-color: #32793e; - --tblr-table-striped-bg: #277234; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #32793e; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #2d7639; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark-auto .table-info { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #285c87; - --tblr-table-border-color: #3d6c93; - --tblr-table-striped-bg: #32648d; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #3d6c93; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #386890; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark-auto .table-warning { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #943e04; - --tblr-table-border-color: #9e511d; - --tblr-table-striped-bg: #994710; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #9e511d; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #9c4c17; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - .theme-dark-auto .table-danger { - --tblr-table-color: #f8fafc; - --tblr-table-bg: #802222; - --tblr-table-border-color: #8c3838; - --tblr-table-striped-bg: #862d2d; - --tblr-table-striped-color: #f8fafc; - --tblr-table-active-bg: #8c3838; - --tblr-table-active-color: #f8fafc; - --tblr-table-hover-bg: #893232; - --tblr-table-hover-color: #f8fafc; - color: var(--tblr-table-color); - border-color: var(--tblr-table-border-color); - } - } -} -.table thead th, .markdown > table thead th { - color: var(--tblr-muted); - background: var(--tblr-gray-50); - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - padding-top: 0.5rem; - padding-bottom: 0.5rem; - white-space: nowrap; -} -@media print { - .table thead th, .markdown > table thead th { - background: transparent; - } -} - -.table-responsive .table, .table-responsive .markdown > table { - margin-bottom: 0; -} -.table-responsive + .card-footer { - border-top: 0; -} - -.table-transparent thead th { - background: transparent; -} - -.table-nowrap > :not(caption) > * > * { - white-space: nowrap; -} - -.table-vcenter > :not(caption) > * > * { - vertical-align: middle; -} - -.table-center > :not(caption) > * > * { - text-align: center; -} - -.td-truncate { - max-width: 1px; - width: 100%; -} - -.table-mobile { - display: block; -} -.table-mobile thead { - display: none; -} -.table-mobile tbody, -.table-mobile tr { - display: flex; - flex-direction: column; -} -.table-mobile td { - display: block; - padding: 0.75rem 0.75rem !important; - border: none; - color: #1d273b !important; -} -.table-mobile td[data-label]:before { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - content: attr(data-label); - display: block; -} -.table-mobile tr { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); -} -.table-mobile .btn { - display: block; -} -@media (max-width: 575.98px) { - .table-mobile-sm { - display: block; - } - .table-mobile-sm thead { - display: none; - } - .table-mobile-sm tbody, -.table-mobile-sm tr { - display: flex; - flex-direction: column; - } - .table-mobile-sm td { - display: block; - padding: 0.75rem 0.75rem !important; - border: none; - color: #1d273b !important; - } - .table-mobile-sm td[data-label]:before { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - content: attr(data-label); - display: block; - } - .table-mobile-sm tr { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - } - .table-mobile-sm .btn { - display: block; - } -} -@media (max-width: 767.98px) { - .table-mobile-md { - display: block; - } - .table-mobile-md thead { - display: none; - } - .table-mobile-md tbody, -.table-mobile-md tr { - display: flex; - flex-direction: column; - } - .table-mobile-md td { - display: block; - padding: 0.75rem 0.75rem !important; - border: none; - color: #1d273b !important; - } - .table-mobile-md td[data-label]:before { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - content: attr(data-label); - display: block; - } - .table-mobile-md tr { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - } - .table-mobile-md .btn { - display: block; - } -} -@media (max-width: 991.98px) { - .table-mobile-lg { - display: block; - } - .table-mobile-lg thead { - display: none; - } - .table-mobile-lg tbody, -.table-mobile-lg tr { - display: flex; - flex-direction: column; - } - .table-mobile-lg td { - display: block; - padding: 0.75rem 0.75rem !important; - border: none; - color: #1d273b !important; - } - .table-mobile-lg td[data-label]:before { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - content: attr(data-label); - display: block; - } - .table-mobile-lg tr { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - } - .table-mobile-lg .btn { - display: block; - } -} -@media (max-width: 1199.98px) { - .table-mobile-xl { - display: block; - } - .table-mobile-xl thead { - display: none; - } - .table-mobile-xl tbody, -.table-mobile-xl tr { - display: flex; - flex-direction: column; - } - .table-mobile-xl td { - display: block; - padding: 0.75rem 0.75rem !important; - border: none; - color: #1d273b !important; - } - .table-mobile-xl td[data-label]:before { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - content: attr(data-label); - display: block; - } - .table-mobile-xl tr { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - } - .table-mobile-xl .btn { - display: block; - } -} -@media (max-width: 1399.98px) { - .table-mobile-xxl { - display: block; - } - .table-mobile-xxl thead { - display: none; - } - .table-mobile-xxl tbody, -.table-mobile-xxl tr { - display: flex; - flex-direction: column; - } - .table-mobile-xxl td { - display: block; - padding: 0.75rem 0.75rem !important; - border: none; - color: #1d273b !important; - } - .table-mobile-xxl td[data-label]:before { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - content: attr(data-label); - display: block; - } - .table-mobile-xxl tr { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); - } - .table-mobile-xxl .btn { - display: block; - } -} - -.table-sort { - font: inherit; - color: inherit; - text-transform: inherit; - letter-spacing: inherit; - border: 0; - background: inherit; - display: block; - width: 100%; - text-align: inherit; - transition: color 0.3s; - margin: -0.5rem -0.75rem; - padding: 0.5rem 0.75rem; -} -@media (prefers-reduced-motion: reduce) { - .table-sort { - transition: none; - } -} -.table-sort:hover, .table-sort.asc, .table-sort.desc { - color: #1d273b; -} -.table-sort:after, .table-sort.asc:after, .table-sort.desc:after { - content: ""; - display: inline-flex; - width: 1rem; - height: 1rem; - vertical-align: bottom; - background: url("data:image/svg+xml,") no-repeat center; - opacity: 0.2; -} -.table-sort.asc:after { - background: url("data:image/svg+xml,") no-repeat center; - opacity: 1; -} -.table-sort.desc:after { - background: url("data:image/svg+xml,") no-repeat center; - opacity: 1; -} - -.table-borderless thead th { - background: transparent; -} - -.toast { - background: #ffffff; - border: 1px var(--tblr-border-style) var(--tblr-border-color-translucent); - box-shadow: rgba(29, 39, 59, 0.04) 0 2px 4px 0; -} -.toast .toast-header { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.toast button[data-bs-dismiss=toast] { - outline: none; -} - -.toast-primary { - --tblr-toast-color: #206bc4; -} - -.toast-secondary { - --tblr-toast-color: #616876; -} - -.toast-success { - --tblr-toast-color: #2fb344; -} - -.toast-info { - --tblr-toast-color: #4299e1; -} - -.toast-warning { - --tblr-toast-color: #f76707; -} - -.toast-danger { - --tblr-toast-color: #d63939; -} - -.toast-light { - --tblr-toast-color: #f8fafc; -} - -.toast-dark { - --tblr-toast-color: #1d273b; -} - -.toast-muted { - --tblr-toast-color: #616876; -} - -.toast-blue { - --tblr-toast-color: #206bc4; -} - -.toast-azure { - --tblr-toast-color: #4299e1; -} - -.toast-indigo { - --tblr-toast-color: #4263eb; -} - -.toast-purple { - --tblr-toast-color: #ae3ec9; -} - -.toast-pink { - --tblr-toast-color: #d6336c; -} - -.toast-red { - --tblr-toast-color: #d63939; -} - -.toast-orange { - --tblr-toast-color: #f76707; -} - -.toast-yellow { - --tblr-toast-color: #f59f00; -} - -.toast-lime { - --tblr-toast-color: #74b816; -} - -.toast-green { - --tblr-toast-color: #2fb344; -} - -.toast-teal { - --tblr-toast-color: #0ca678; -} - -.toast-cyan { - --tblr-toast-color: #17a2b8; -} - -.toast-facebook { - --tblr-toast-color: #3b5998; -} - -.toast-twitter { - --tblr-toast-color: #1da1f2; -} - -.toast-linkedin { - --tblr-toast-color: #0a66c2; -} - -.toast-google { - --tblr-toast-color: #dc4e41; -} - -.toast-youtube { - --tblr-toast-color: #ff0000; -} - -.toast-vimeo { - --tblr-toast-color: #1ab7ea; -} - -.toast-dribbble { - --tblr-toast-color: #ea4c89; -} - -.toast-github { - --tblr-toast-color: #181717; -} - -.toast-instagram { - --tblr-toast-color: #e4405f; -} - -.toast-pinterest { - --tblr-toast-color: #bd081c; -} - -.toast-vk { - --tblr-toast-color: #6383a8; -} - -.toast-rss { - --tblr-toast-color: #ffa500; -} - -.toast-flickr { - --tblr-toast-color: #0063dc; -} - -.toast-bitbucket { - --tblr-toast-color: #0052cc; -} - -.toast-tabler { - --tblr-toast-color: #206bc4; -} - -.toolbar { - display: flex; - flex-wrap: nowrap; - flex-shrink: 0; - margin: 0 -0.5rem; -} -.toolbar > * { - margin: 0 0.5rem; -} - -.tracking { - --tblr-tracking-height: 1.5rem; - --tblr-tracking-gap-width: 0.125rem; - --tblr-tracking-block-border-radius: var(--tblr-border-radius); - display: flex; - gap: var(--tblr-tracking-gap-width); -} - -.tracking-squares { - --tblr-tracking-block-border-radius: var(--tblr-border-radius-sm); -} -.tracking-squares .tracking-block { - height: auto; -} -.tracking-squares .tracking-block:before { - content: ""; - display: block; - padding-top: 100%; -} - -.tracking-block { - flex: 1; - border-radius: var(--tblr-tracking-block-border-radius); - height: var(--tblr-tracking-height); - min-width: 0.25rem; - background: var(--tblr-border-color); -} - -/** -Horizontal rules - */ -/** -Hr text - */ -.hr-text { - display: flex; - align-items: center; - margin: 2rem 0; - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); - height: 1px; -} -.hr-text:after, .hr-text:before { - flex: 1 1 auto; - height: 1px; - background-color: var(--tblr-border-color); -} -.hr-text:before { - content: ""; - margin-left: 0.5rem; -} -.hr-text:after { - content: ""; - margin-right: 0.5rem; -} -.hr-text > *:first-child { - padding-left: 0.5rem; - padding-right: 0; - color: #616876; -} -.hr-text.hr-text-right:before { - content: none; -} -.hr-text.hr-text-left > *:first-child { - padding-left: 0.5rem; - padding-right: 0.5rem; -} -.hr-text.hr-text-left:before { - content: ""; -} -.hr-text.hr-text-left:after { - content: none; -} -.hr-text.hr-text-right > *:first-child { - padding-left: 0; - padding-right: 0.5rem; -} -.card > .hr-text { - margin: 0; -} - -.hr-text-spaceless { - margin: -0.5rem 0; -} - -.lead { - line-height: 1.4; -} - -a { - -webkit-text-decoration-skip: ink; - text-decoration-skip-ink: auto; -} - -h1 a, -h2 a, -h3 a, -h4 a, -h5 a, -h6 a, -.h1 a, -.h2 a, -.h3 a, -.h4 a, -.h5 a, -.h6 a { - color: inherit; -} -h1 a:hover, -h2 a:hover, -h3 a:hover, -h4 a:hover, -h5 a:hover, -h6 a:hover, -.h1 a:hover, -.h2 a:hover, -.h3 a:hover, -.h4 a:hover, -.h5 a:hover, -.h6 a:hover { - color: inherit; -} - -h1, -.h1 { - font-size: var(--tblr-font-size-h1); - line-height: var(--tblr-line-height-h1); -} - -h2, -.h2 { - font-size: var(--tblr-font-size-h2); - line-height: var(--tblr-line-height-h2); -} - -h3, -.h3 { - font-size: var(--tblr-font-size-h3); - line-height: var(--tblr-line-height-h3); -} - -h4, -.h4 { - font-size: var(--tblr-font-size-h4); - line-height: var(--tblr-line-height-h4); -} - -h5, -.h5 { - font-size: var(--tblr-font-size-h5); - line-height: var(--tblr-line-height-h5); -} - -h6, -.h6 { - font-size: var(--tblr-font-size-h6); - line-height: var(--tblr-line-height-h6); -} - -strong, -.strong, -b { - font-weight: var(--tblr-font-weight-bold); -} - -blockquote { - padding-right: 1rem; - border-right: 2px var(--tblr-border-style) var(--tblr-border-color); -} -blockquote p { - margin-bottom: 1rem; -} -blockquote cite { - display: block; - text-align: left; -} -blockquote cite:before { - content: "— "; -} - -ul, ol { - padding-right: 1.5rem; -} - -hr, .hr { - margin: 2rem 0; -} - -dl dd:last-child { - margin-bottom: 0; -} - -pre { - padding: 1rem; - background: var(--tblr-bg-surface-dark); - color: var(--tblr-light); - border-radius: var(--tblr-border-radius); -} -pre code { - background: transparent; -} - -code { - background: var(--tblr-code-bg); - padding: 2px 4px; - border-radius: var(--tblr-border-radius); -} - -kbd { - font: inherit; - box-shadow: 0 0 0 1px var(--tblr-border-color), 0 3px 0 0 var(--tblr-bg-surface), 0 3px 0 1px var(--tblr-border-color); -} - -img { - max-width: 100%; -} - -.list-unstyled { - margin-right: 0; -} - -/** -Selection - */ -::-moz-selection { - background-color: rgba(var(--tblr-primary-rgb), 0.16); -} -::selection { - background-color: rgba(var(--tblr-primary-rgb), 0.16); -} - -/** -Links - */ -[class^=link-].disabled, [class*=" link-"].disabled { - color: var(--tblr-disabled-color); - pointer-events: none; -} - -/** -Subheader - */ -.subheader { - font-size: 0.625rem; - font-weight: var(--tblr-font-weight-bold); - text-transform: uppercase; - letter-spacing: 0.04em; - line-height: 1rem; - color: var(--tblr-muted); -} - -.chart { - display: block; - min-height: 10rem; -} -.chart text { - font-family: inherit; -} - -.chart-sm { - height: 2.5rem; -} - -.chart-lg { - height: 15rem; -} - -.chart-square { - height: 5.75rem; -} - -/** -Chart sparkline - */ -.chart-sparkline { - position: relative; - width: 4rem; - height: 2.5rem; - line-height: 1; - min-height: 0 !important; -} - -.chart-sparkline-sm { - height: 1.5rem; -} - -.chart-sparkline-square { - width: 2.5rem; -} - -.chart-sparkline-wide { - width: 6rem; -} - -.chart-sparkline-label { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - display: flex; - align-items: center; - justify-content: center; - font-size: 0.625rem; -} -.chart-sparkline-label .icon { - width: 1rem; - height: 1rem; - font-size: 1rem; -} - -.offcanvas-header { - border-bottom: var(--tblr-border-width) var(--tblr-border-style) rgba(97, 104, 118, 0.16); -} - -.offcanvas-footer { - padding: 1.5rem 1.5rem; -} - -.offcanvas-title { - font-size: 1rem; - font-weight: var(--tblr-font-weight-medium); - line-height: 1.5rem; -} - -.offcanvas-narrow { - width: 20rem; -} - -.bg-white-overlay { - color: #ffffff; - background-color: rgba(248, 250, 252, 0.24); -} - -.bg-dark-overlay { - color: #ffffff; - background-color: rgba(29, 39, 59, 0.24); -} - -.bg-cover { - background-repeat: no-repeat; - background-size: cover; - background-position: center; -} - -.bg-primary { - background-color: var(--tblr-primary) !important; -} - -.bg-primary-lt { - color: var(--tblr-primary) !important; - background-color: rgba(var(--tblr-primary-rgb), 0.1) !important; -} - -.bg-secondary { - background-color: var(--tblr-secondary) !important; -} - -.bg-secondary-lt { - color: var(--tblr-secondary) !important; - background-color: rgba(var(--tblr-secondary-rgb), 0.1) !important; -} - -.bg-success { - background-color: var(--tblr-success) !important; -} - -.bg-success-lt { - color: var(--tblr-success) !important; - background-color: rgba(var(--tblr-success-rgb), 0.1) !important; -} - -.bg-info { - background-color: var(--tblr-info) !important; -} - -.bg-info-lt { - color: var(--tblr-info) !important; - background-color: rgba(var(--tblr-info-rgb), 0.1) !important; -} - -.bg-warning { - background-color: var(--tblr-warning) !important; -} - -.bg-warning-lt { - color: var(--tblr-warning) !important; - background-color: rgba(var(--tblr-warning-rgb), 0.1) !important; -} - -.bg-danger { - background-color: var(--tblr-danger) !important; -} - -.bg-danger-lt { - color: var(--tblr-danger) !important; - background-color: rgba(var(--tblr-danger-rgb), 0.1) !important; -} - -.bg-light { - background-color: var(--tblr-light) !important; -} - -.bg-light-lt { - color: var(--tblr-light) !important; - background-color: rgba(var(--tblr-light-rgb), 0.1) !important; -} - -.bg-dark { - background-color: var(--tblr-dark) !important; -} - -.bg-dark-lt { - color: var(--tblr-dark) !important; - background-color: rgba(var(--tblr-dark-rgb), 0.1) !important; -} - -.bg-muted { - background-color: var(--tblr-muted) !important; -} - -.bg-muted-lt { - color: var(--tblr-muted) !important; - background-color: rgba(var(--tblr-muted-rgb), 0.1) !important; -} - -.bg-blue { - background-color: var(--tblr-blue) !important; -} - -.bg-blue-lt { - color: var(--tblr-blue) !important; - background-color: rgba(var(--tblr-blue-rgb), 0.1) !important; -} - -.bg-azure { - background-color: var(--tblr-azure) !important; -} - -.bg-azure-lt { - color: var(--tblr-azure) !important; - background-color: rgba(var(--tblr-azure-rgb), 0.1) !important; -} - -.bg-indigo { - background-color: var(--tblr-indigo) !important; -} - -.bg-indigo-lt { - color: var(--tblr-indigo) !important; - background-color: rgba(var(--tblr-indigo-rgb), 0.1) !important; -} - -.bg-purple { - background-color: var(--tblr-purple) !important; -} - -.bg-purple-lt { - color: var(--tblr-purple) !important; - background-color: rgba(var(--tblr-purple-rgb), 0.1) !important; -} - -.bg-pink { - background-color: var(--tblr-pink) !important; -} - -.bg-pink-lt { - color: var(--tblr-pink) !important; - background-color: rgba(var(--tblr-pink-rgb), 0.1) !important; -} - -.bg-red { - background-color: var(--tblr-red) !important; -} - -.bg-red-lt { - color: var(--tblr-red) !important; - background-color: rgba(var(--tblr-red-rgb), 0.1) !important; -} - -.bg-orange { - background-color: var(--tblr-orange) !important; -} - -.bg-orange-lt { - color: var(--tblr-orange) !important; - background-color: rgba(var(--tblr-orange-rgb), 0.1) !important; -} - -.bg-yellow { - background-color: var(--tblr-yellow) !important; -} - -.bg-yellow-lt { - color: var(--tblr-yellow) !important; - background-color: rgba(var(--tblr-yellow-rgb), 0.1) !important; -} - -.bg-lime { - background-color: var(--tblr-lime) !important; -} - -.bg-lime-lt { - color: var(--tblr-lime) !important; - background-color: rgba(var(--tblr-lime-rgb), 0.1) !important; -} - -.bg-green { - background-color: var(--tblr-green) !important; -} - -.bg-green-lt { - color: var(--tblr-green) !important; - background-color: rgba(var(--tblr-green-rgb), 0.1) !important; -} - -.bg-teal { - background-color: var(--tblr-teal) !important; -} - -.bg-teal-lt { - color: var(--tblr-teal) !important; - background-color: rgba(var(--tblr-teal-rgb), 0.1) !important; -} - -.bg-cyan { - background-color: var(--tblr-cyan) !important; -} - -.bg-cyan-lt { - color: var(--tblr-cyan) !important; - background-color: rgba(var(--tblr-cyan-rgb), 0.1) !important; -} - -.bg-facebook { - background-color: var(--tblr-facebook) !important; -} - -.bg-facebook-lt { - color: var(--tblr-facebook) !important; - background-color: rgba(var(--tblr-facebook-rgb), 0.1) !important; -} - -.bg-twitter { - background-color: var(--tblr-twitter) !important; -} - -.bg-twitter-lt { - color: var(--tblr-twitter) !important; - background-color: rgba(var(--tblr-twitter-rgb), 0.1) !important; -} - -.bg-linkedin { - background-color: var(--tblr-linkedin) !important; -} - -.bg-linkedin-lt { - color: var(--tblr-linkedin) !important; - background-color: rgba(var(--tblr-linkedin-rgb), 0.1) !important; -} - -.bg-google { - background-color: var(--tblr-google) !important; -} - -.bg-google-lt { - color: var(--tblr-google) !important; - background-color: rgba(var(--tblr-google-rgb), 0.1) !important; -} - -.bg-youtube { - background-color: var(--tblr-youtube) !important; -} - -.bg-youtube-lt { - color: var(--tblr-youtube) !important; - background-color: rgba(var(--tblr-youtube-rgb), 0.1) !important; -} - -.bg-vimeo { - background-color: var(--tblr-vimeo) !important; -} - -.bg-vimeo-lt { - color: var(--tblr-vimeo) !important; - background-color: rgba(var(--tblr-vimeo-rgb), 0.1) !important; -} - -.bg-dribbble { - background-color: var(--tblr-dribbble) !important; -} - -.bg-dribbble-lt { - color: var(--tblr-dribbble) !important; - background-color: rgba(var(--tblr-dribbble-rgb), 0.1) !important; -} - -.bg-github { - background-color: var(--tblr-github) !important; -} - -.bg-github-lt { - color: var(--tblr-github) !important; - background-color: rgba(var(--tblr-github-rgb), 0.1) !important; -} - -.bg-instagram { - background-color: var(--tblr-instagram) !important; -} - -.bg-instagram-lt { - color: var(--tblr-instagram) !important; - background-color: rgba(var(--tblr-instagram-rgb), 0.1) !important; -} - -.bg-pinterest { - background-color: var(--tblr-pinterest) !important; -} - -.bg-pinterest-lt { - color: var(--tblr-pinterest) !important; - background-color: rgba(var(--tblr-pinterest-rgb), 0.1) !important; -} - -.bg-vk { - background-color: var(--tblr-vk) !important; -} - -.bg-vk-lt { - color: var(--tblr-vk) !important; - background-color: rgba(var(--tblr-vk-rgb), 0.1) !important; -} - -.bg-rss { - background-color: var(--tblr-rss) !important; -} - -.bg-rss-lt { - color: var(--tblr-rss) !important; - background-color: rgba(var(--tblr-rss-rgb), 0.1) !important; -} - -.bg-flickr { - background-color: var(--tblr-flickr) !important; -} - -.bg-flickr-lt { - color: var(--tblr-flickr) !important; - background-color: rgba(var(--tblr-flickr-rgb), 0.1) !important; -} - -.bg-bitbucket { - background-color: var(--tblr-bitbucket) !important; -} - -.bg-bitbucket-lt { - color: var(--tblr-bitbucket) !important; - background-color: rgba(var(--tblr-bitbucket-rgb), 0.1) !important; -} - -.bg-tabler { - background-color: var(--tblr-tabler) !important; -} - -.bg-tabler-lt { - color: var(--tblr-tabler) !important; - background-color: rgba(var(--tblr-tabler-rgb), 0.1) !important; -} - -.text-primary { - color: var(--tblr-primary) !important; -} - -.text-primary-fg { - color: var(--tblr-primary-fg) !important; -} - -.text-secondary { - color: var(--tblr-secondary) !important; -} - -.text-secondary-fg { - color: var(--tblr-secondary-fg) !important; -} - -.text-success { - color: var(--tblr-success) !important; -} - -.text-success-fg { - color: var(--tblr-success-fg) !important; -} - -.text-info { - color: var(--tblr-info) !important; -} - -.text-info-fg { - color: var(--tblr-info-fg) !important; -} - -.text-warning { - color: var(--tblr-warning) !important; -} - -.text-warning-fg { - color: var(--tblr-warning-fg) !important; -} - -.text-danger { - color: var(--tblr-danger) !important; -} - -.text-danger-fg { - color: var(--tblr-danger-fg) !important; -} - -.text-light { - color: var(--tblr-light) !important; -} - -.text-light-fg { - color: var(--tblr-light-fg) !important; -} - -.text-dark { - color: var(--tblr-dark) !important; -} - -.text-dark-fg { - color: var(--tblr-dark-fg) !important; -} - -.text-muted { - color: var(--tblr-muted) !important; -} - -.text-muted-fg { - color: var(--tblr-muted-fg) !important; -} - -.text-blue { - color: var(--tblr-blue) !important; -} - -.text-blue-fg { - color: var(--tblr-blue-fg) !important; -} - -.text-azure { - color: var(--tblr-azure) !important; -} - -.text-azure-fg { - color: var(--tblr-azure-fg) !important; -} - -.text-indigo { - color: var(--tblr-indigo) !important; -} - -.text-indigo-fg { - color: var(--tblr-indigo-fg) !important; -} - -.text-purple { - color: var(--tblr-purple) !important; -} - -.text-purple-fg { - color: var(--tblr-purple-fg) !important; -} - -.text-pink { - color: var(--tblr-pink) !important; -} - -.text-pink-fg { - color: var(--tblr-pink-fg) !important; -} - -.text-red { - color: var(--tblr-red) !important; -} - -.text-red-fg { - color: var(--tblr-red-fg) !important; -} - -.text-orange { - color: var(--tblr-orange) !important; -} - -.text-orange-fg { - color: var(--tblr-orange-fg) !important; -} - -.text-yellow { - color: var(--tblr-yellow) !important; -} - -.text-yellow-fg { - color: var(--tblr-yellow-fg) !important; -} - -.text-lime { - color: var(--tblr-lime) !important; -} - -.text-lime-fg { - color: var(--tblr-lime-fg) !important; -} - -.text-green { - color: var(--tblr-green) !important; -} - -.text-green-fg { - color: var(--tblr-green-fg) !important; -} - -.text-teal { - color: var(--tblr-teal) !important; -} - -.text-teal-fg { - color: var(--tblr-teal-fg) !important; -} - -.text-cyan { - color: var(--tblr-cyan) !important; -} - -.text-cyan-fg { - color: var(--tblr-cyan-fg) !important; -} - -.text-facebook { - color: var(--tblr-facebook) !important; -} - -.text-facebook-fg { - color: var(--tblr-facebook-fg) !important; -} - -.text-twitter { - color: var(--tblr-twitter) !important; -} - -.text-twitter-fg { - color: var(--tblr-twitter-fg) !important; -} - -.text-linkedin { - color: var(--tblr-linkedin) !important; -} - -.text-linkedin-fg { - color: var(--tblr-linkedin-fg) !important; -} - -.text-google { - color: var(--tblr-google) !important; -} - -.text-google-fg { - color: var(--tblr-google-fg) !important; -} - -.text-youtube { - color: var(--tblr-youtube) !important; -} - -.text-youtube-fg { - color: var(--tblr-youtube-fg) !important; -} - -.text-vimeo { - color: var(--tblr-vimeo) !important; -} - -.text-vimeo-fg { - color: var(--tblr-vimeo-fg) !important; -} - -.text-dribbble { - color: var(--tblr-dribbble) !important; -} - -.text-dribbble-fg { - color: var(--tblr-dribbble-fg) !important; -} - -.text-github { - color: var(--tblr-github) !important; -} - -.text-github-fg { - color: var(--tblr-github-fg) !important; -} - -.text-instagram { - color: var(--tblr-instagram) !important; -} - -.text-instagram-fg { - color: var(--tblr-instagram-fg) !important; -} - -.text-pinterest { - color: var(--tblr-pinterest) !important; -} - -.text-pinterest-fg { - color: var(--tblr-pinterest-fg) !important; -} - -.text-vk { - color: var(--tblr-vk) !important; -} - -.text-vk-fg { - color: var(--tblr-vk-fg) !important; -} - -.text-rss { - color: var(--tblr-rss) !important; -} - -.text-rss-fg { - color: var(--tblr-rss-fg) !important; -} - -.text-flickr { - color: var(--tblr-flickr) !important; -} - -.text-flickr-fg { - color: var(--tblr-flickr-fg) !important; -} - -.text-bitbucket { - color: var(--tblr-bitbucket) !important; -} - -.text-bitbucket-fg { - color: var(--tblr-bitbucket-fg) !important; -} - -.text-tabler { - color: var(--tblr-tabler) !important; -} - -.text-tabler-fg { - color: var(--tblr-tabler-fg) !important; -} - -.bg-gray-50 { - background-color: var(--tblr-gray-50) !important; -} - -.text-gray-50-fg { - color: #1d273b !important; -} - -.bg-gray-100 { - background-color: var(--tblr-gray-100) !important; -} - -.text-gray-100-fg { - color: #1d273b !important; -} - -.bg-gray-200 { - background-color: var(--tblr-gray-200) !important; -} - -.text-gray-200-fg { - color: #1d273b !important; -} - -.bg-gray-300 { - background-color: var(--tblr-gray-300) !important; -} - -.text-gray-300-fg { - color: #1d273b !important; -} - -.bg-gray-400 { - background-color: var(--tblr-gray-400) !important; -} - -.text-gray-400-fg { - color: #f8fafc !important; -} - -.bg-gray-500 { - background-color: var(--tblr-gray-500) !important; -} - -.text-gray-500-fg { - color: #f8fafc !important; -} - -.bg-gray-600 { - background-color: var(--tblr-gray-600) !important; -} - -.text-gray-600-fg { - color: #f8fafc !important; -} - -.bg-gray-700 { - background-color: var(--tblr-gray-700) !important; -} - -.text-gray-700-fg { - color: #f8fafc !important; -} - -.bg-gray-800 { - background-color: var(--tblr-gray-800) !important; -} - -.text-gray-800-fg { - color: #f8fafc !important; -} - -.bg-gray-900 { - background-color: var(--tblr-gray-900) !important; -} - -.text-gray-900-fg { - color: #f8fafc !important; -} - -/* -Scrollable -*/ -.scrollable { - overflow-x: hidden; - overflow-y: auto; - -webkit-overflow-scrolling: touch; -} -.scrollable.hover { - overflow-y: hidden; -} -.scrollable.hover > * { - margin-top: -1px; -} -.scrollable.hover:hover, .scrollable.hover:focus, .scrollable.hover:active { - overflow: visible; - overflow-y: auto; -} -.touch .scrollable { - overflow-y: auto !important; -} - -.scroll-x, -.scroll-y { - overflow: hidden; - -webkit-overflow-scrolling: touch; -} - -.scroll-y { - overflow-y: auto; -} - -.scroll-x { - overflow-x: auto; -} - -.no-scroll { - overflow: hidden; -} - -.w-0 { - width: 0 !important; -} - -.h-0 { - height: 0 !important; -} - -.w-1 { - width: 0.25rem !important; -} - -.h-1 { - height: 0.25rem !important; -} - -.w-2 { - width: 0.5rem !important; -} - -.h-2 { - height: 0.5rem !important; -} - -.w-3 { - width: 1rem !important; -} - -.h-3 { - height: 1rem !important; -} - -.w-4 { - width: 2rem !important; -} - -.h-4 { - height: 2rem !important; -} - -.w-5 { - width: 4rem !important; -} - -.h-5 { - height: 4rem !important; -} - -.w-auto { - width: auto !important; -} - -.h-auto { - height: auto !important; -} - -.w-px { - width: 1px !important; -} - -.h-px { - height: 1px !important; -} - -.w-full { - width: 100% !important; -} - -.h-full { - height: 100% !important; -} - -.opacity-0 { - opacity: 0 !important; -} - -.opacity-5 { - opacity: 0.05 !important; -} - -.opacity-10 { - opacity: 0.1 !important; -} - -.opacity-15 { - opacity: 0.15 !important; -} - -.opacity-20 { - opacity: 0.2 !important; -} - -.opacity-25 { - opacity: 0.25 !important; -} - -.opacity-30 { - opacity: 0.3 !important; -} - -.opacity-35 { - opacity: 0.35 !important; -} - -.opacity-40 { - opacity: 0.4 !important; -} - -.opacity-45 { - opacity: 0.45 !important; -} - -.opacity-50 { - opacity: 0.5 !important; -} - -.opacity-55 { - opacity: 0.55 !important; -} - -.opacity-60 { - opacity: 0.6 !important; -} - -.opacity-65 { - opacity: 0.65 !important; -} - -.opacity-70 { - opacity: 0.7 !important; -} - -.opacity-75 { - opacity: 0.75 !important; -} - -.opacity-80 { - opacity: 0.8 !important; -} - -.opacity-85 { - opacity: 0.85 !important; -} - -.opacity-90 { - opacity: 0.9 !important; -} - -.opacity-95 { - opacity: 0.95 !important; -} - -.opacity-100 { - opacity: 1 !important; -} - -.hover-shadow-sm:hover { - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; -} - -.hover-shadow:hover { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; -} - -.hover-shadow-lg:hover { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; -} - -.hover-shadow-none:hover { - box-shadow: none !important; -} - -/** -Antialiasing - */ -.antialiased { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.subpixel-antialiased { - -webkit-font-smoothing: auto; - -moz-osx-font-smoothing: auto; -} \ No newline at end of file diff --git a/demo/dist/css/tabler.rtl.min.css b/demo/dist/css/tabler.rtl.min.css deleted file mode 100644 index b710e6691..000000000 --- a/demo/dist/css/tabler.rtl.min.css +++ /dev/null @@ -1,14 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -@charset "UTF-8";:root{--tblr-blue:#206bc4;--tblr-indigo:#4263eb;--tblr-purple:#ae3ec9;--tblr-pink:#d6336c;--tblr-red:#d63939;--tblr-orange:#f76707;--tblr-yellow:#f59f00;--tblr-green:#2fb344;--tblr-teal:#0ca678;--tblr-cyan:#17a2b8;--tblr-black:#000000;--tblr-white:#ffffff;--tblr-gray:#49566c;--tblr-gray-dark:#1d273b;--tblr-gray-100:#f1f5f9;--tblr-gray-200:#e2e8f0;--tblr-gray-300:#c8d3e1;--tblr-gray-400:#9ba9be;--tblr-gray-500:#6c7a91;--tblr-gray-600:#49566c;--tblr-gray-700:#313c52;--tblr-gray-800:#1d273b;--tblr-gray-900:#0f172a;--tblr-primary:#206bc4;--tblr-secondary:#616876;--tblr-success:#2fb344;--tblr-info:#4299e1;--tblr-warning:#f76707;--tblr-danger:#d63939;--tblr-light:#f8fafc;--tblr-dark:#1d273b;--tblr-muted:#616876;--tblr-blue:#206bc4;--tblr-azure:#4299e1;--tblr-indigo:#4263eb;--tblr-purple:#ae3ec9;--tblr-pink:#d6336c;--tblr-red:#d63939;--tblr-orange:#f76707;--tblr-yellow:#f59f00;--tblr-lime:#74b816;--tblr-green:#2fb344;--tblr-teal:#0ca678;--tblr-cyan:#17a2b8;--tblr-facebook:#3b5998;--tblr-twitter:#1da1f2;--tblr-linkedin:#0a66c2;--tblr-google:#dc4e41;--tblr-youtube:#ff0000;--tblr-vimeo:#1ab7ea;--tblr-dribbble:#ea4c89;--tblr-github:#181717;--tblr-instagram:#e4405f;--tblr-pinterest:#bd081c;--tblr-vk:#6383a8;--tblr-rss:#ffa500;--tblr-flickr:#0063dc;--tblr-bitbucket:#0052cc;--tblr-tabler:#206bc4;--tblr-primary-rgb:32,107,196;--tblr-secondary-rgb:97,104,118;--tblr-success-rgb:47,179,68;--tblr-info-rgb:66,153,225;--tblr-warning-rgb:247,103,7;--tblr-danger-rgb:214,57,57;--tblr-light-rgb:248,250,252;--tblr-dark-rgb:29,39,59;--tblr-muted-rgb:97,104,118;--tblr-blue-rgb:32,107,196;--tblr-azure-rgb:66,153,225;--tblr-indigo-rgb:66,99,235;--tblr-purple-rgb:174,62,201;--tblr-pink-rgb:214,51,108;--tblr-red-rgb:214,57,57;--tblr-orange-rgb:247,103,7;--tblr-yellow-rgb:245,159,0;--tblr-lime-rgb:116,184,22;--tblr-green-rgb:47,179,68;--tblr-teal-rgb:12,166,120;--tblr-cyan-rgb:23,162,184;--tblr-facebook-rgb:59,89,152;--tblr-twitter-rgb:29,161,242;--tblr-linkedin-rgb:10,102,194;--tblr-google-rgb:220,78,65;--tblr-youtube-rgb:255,0,0;--tblr-vimeo-rgb:26,183,234;--tblr-dribbble-rgb:234,76,137;--tblr-github-rgb:24,23,23;--tblr-instagram-rgb:228,64,95;--tblr-pinterest-rgb:189,8,28;--tblr-vk-rgb:99,131,168;--tblr-rss-rgb:255,165,0;--tblr-flickr-rgb:0,99,220;--tblr-bitbucket-rgb:0,82,204;--tblr-tabler-rgb:32,107,196;--tblr-white-rgb:255,255,255;--tblr-black-rgb:0,0,0;--tblr-body-color-rgb:29,39,59;--tblr-body-bg-rgb:241,245,249;--tblr-font-sans-serif:-apple-system,BlinkMacSystemFont,San Francisco,Segoe UI,Roboto,Helvetica Neue,sans-serif;--tblr-font-monospace:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;--tblr-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--tblr-body-font-family:var(--tblr-font-sans-serif);--tblr-body-font-size:0.875rem;--tblr-body-font-weight:400;--tblr-body-line-height:1.4285714286;--tblr-body-color:#1d273b;--tblr-body-bg:#f1f5f9;--tblr-border-width:1px;--tblr-border-style:solid;--tblr-border-color:#e6e7e9;--tblr-border-color-translucent:rgba(97, 104, 118, 0.16);--tblr-border-radius:4px;--tblr-border-radius-sm:2px;--tblr-border-radius-lg:8px;--tblr-border-radius-xl:1rem;--tblr-border-radius-2xl:2rem;--tblr-border-radius-pill:100rem;--tblr-link-color:var(--tblr-primary);--tblr-link-hover-color:var(--tblr-primary-darken);--tblr-code-color:var(--tblr-gray-600);--tblr-highlight-bg:#fdeccc}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--tblr-body-font-family);font-size:var(--tblr-body-font-size);font-weight:var(--tblr-body-font-weight);line-height:var(--tblr-body-line-height);color:var(--tblr-body-color);text-align:var(--tblr-body-text-align);background-color:var(--tblr-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.hr,hr{margin:2rem 0;color:inherit;border:0;border-top:1px solid;opacity:.16}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:var(--tblr-font-weight-medium);line-height:1.2}.h1,h1{font-size:1.5rem}.h2,h2{font-size:1.25rem}.h3,h3{font-size:1rem}.h4,h4{font-size:.875rem}.h5,h5{font-size:.75rem}.h6,h6{font-size:.625rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:600}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:85.714285%}.mark,mark{padding:.1875em;background-color:var(--tblr-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--tblr-link-color);text-decoration:none}a:hover{color:var(--tblr-link-hover-color);text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--tblr-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:85.714285%;color:var(--tblr-light)}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:85.714285%;color:var(--tblr-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:2px .375rem;font-size:85.714285%;color:var(--tblr-muted);background-color:transparent;border-radius:2px}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#616876;text-align:right}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:.875rem;font-weight:var(--tblr-font-weight-normal)}.display-1{font-size:5rem;font-weight:300;line-height:1.2}.display-2{font-size:4.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}.display-5{font-size:3rem;font-weight:300;line-height:1.2}.display-6{font-size:2rem;font-weight:300;line-height:1.2}.list-unstyled{padding-right:0;list-style:none}.list-inline{padding-right:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-left:.5rem}.initialism{font-size:85.714285%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:.875rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:85.714285%;color:#49566c}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#f1f5f9;border:1px solid var(--tblr-border-color);border-radius:4px;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:85.714285%;color:#49566c}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--tblr-gutter-x:1.5rem;--tblr-gutter-y:0;width:100%;padding-left:calc(var(--tblr-gutter-x) * .5);padding-right:calc(var(--tblr-gutter-x) * .5);margin-left:auto;margin-right:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--tblr-gutter-x:1rem;--tblr-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--tblr-gutter-y));margin-left:calc(-.5 * var(--tblr-gutter-x));margin-right:calc(-.5 * var(--tblr-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-left:calc(var(--tblr-gutter-x) * .5);padding-right:calc(var(--tblr-gutter-x) * .5);margin-top:var(--tblr-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-right:8.33333333%}.offset-2{margin-right:16.66666667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333333%}.offset-5{margin-right:41.66666667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333333%}.offset-8{margin-right:66.66666667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333333%}.offset-11{margin-right:91.66666667%}.g-0,.gx-0{--tblr-gutter-x:0}.g-0,.gy-0{--tblr-gutter-y:0}.g-1,.gx-1{--tblr-gutter-x:0.25rem}.g-1,.gy-1{--tblr-gutter-y:0.25rem}.g-2,.gx-2{--tblr-gutter-x:0.5rem}.g-2,.gy-2{--tblr-gutter-y:0.5rem}.g-3,.gx-3{--tblr-gutter-x:1rem}.g-3,.gy-3{--tblr-gutter-y:1rem}.g-4,.gx-4{--tblr-gutter-x:2rem}.g-4,.gy-4{--tblr-gutter-y:2rem}.g-5,.gx-5{--tblr-gutter-x:4rem}.g-5,.gy-5{--tblr-gutter-y:4rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-right:0}.offset-sm-1{margin-right:8.33333333%}.offset-sm-2{margin-right:16.66666667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333333%}.offset-sm-5{margin-right:41.66666667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333333%}.offset-sm-8{margin-right:66.66666667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333333%}.offset-sm-11{margin-right:91.66666667%}.g-sm-0,.gx-sm-0{--tblr-gutter-x:0}.g-sm-0,.gy-sm-0{--tblr-gutter-y:0}.g-sm-1,.gx-sm-1{--tblr-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--tblr-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--tblr-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--tblr-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--tblr-gutter-x:1rem}.g-sm-3,.gy-sm-3{--tblr-gutter-y:1rem}.g-sm-4,.gx-sm-4{--tblr-gutter-x:2rem}.g-sm-4,.gy-sm-4{--tblr-gutter-y:2rem}.g-sm-5,.gx-sm-5{--tblr-gutter-x:4rem}.g-sm-5,.gy-sm-5{--tblr-gutter-y:4rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-right:0}.offset-md-1{margin-right:8.33333333%}.offset-md-2{margin-right:16.66666667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333333%}.offset-md-5{margin-right:41.66666667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333333%}.offset-md-8{margin-right:66.66666667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333333%}.offset-md-11{margin-right:91.66666667%}.g-md-0,.gx-md-0{--tblr-gutter-x:0}.g-md-0,.gy-md-0{--tblr-gutter-y:0}.g-md-1,.gx-md-1{--tblr-gutter-x:0.25rem}.g-md-1,.gy-md-1{--tblr-gutter-y:0.25rem}.g-md-2,.gx-md-2{--tblr-gutter-x:0.5rem}.g-md-2,.gy-md-2{--tblr-gutter-y:0.5rem}.g-md-3,.gx-md-3{--tblr-gutter-x:1rem}.g-md-3,.gy-md-3{--tblr-gutter-y:1rem}.g-md-4,.gx-md-4{--tblr-gutter-x:2rem}.g-md-4,.gy-md-4{--tblr-gutter-y:2rem}.g-md-5,.gx-md-5{--tblr-gutter-x:4rem}.g-md-5,.gy-md-5{--tblr-gutter-y:4rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-right:0}.offset-lg-1{margin-right:8.33333333%}.offset-lg-2{margin-right:16.66666667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333333%}.offset-lg-5{margin-right:41.66666667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333333%}.offset-lg-8{margin-right:66.66666667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333333%}.offset-lg-11{margin-right:91.66666667%}.g-lg-0,.gx-lg-0{--tblr-gutter-x:0}.g-lg-0,.gy-lg-0{--tblr-gutter-y:0}.g-lg-1,.gx-lg-1{--tblr-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--tblr-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--tblr-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--tblr-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--tblr-gutter-x:1rem}.g-lg-3,.gy-lg-3{--tblr-gutter-y:1rem}.g-lg-4,.gx-lg-4{--tblr-gutter-x:2rem}.g-lg-4,.gy-lg-4{--tblr-gutter-y:2rem}.g-lg-5,.gx-lg-5{--tblr-gutter-x:4rem}.g-lg-5,.gy-lg-5{--tblr-gutter-y:4rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-right:0}.offset-xl-1{margin-right:8.33333333%}.offset-xl-2{margin-right:16.66666667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333333%}.offset-xl-5{margin-right:41.66666667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333333%}.offset-xl-8{margin-right:66.66666667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333333%}.offset-xl-11{margin-right:91.66666667%}.g-xl-0,.gx-xl-0{--tblr-gutter-x:0}.g-xl-0,.gy-xl-0{--tblr-gutter-y:0}.g-xl-1,.gx-xl-1{--tblr-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--tblr-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--tblr-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--tblr-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--tblr-gutter-x:1rem}.g-xl-3,.gy-xl-3{--tblr-gutter-y:1rem}.g-xl-4,.gx-xl-4{--tblr-gutter-x:2rem}.g-xl-4,.gy-xl-4{--tblr-gutter-y:2rem}.g-xl-5,.gx-xl-5{--tblr-gutter-x:4rem}.g-xl-5,.gy-xl-5{--tblr-gutter-y:4rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-right:0}.offset-xxl-1{margin-right:8.33333333%}.offset-xxl-2{margin-right:16.66666667%}.offset-xxl-3{margin-right:25%}.offset-xxl-4{margin-right:33.33333333%}.offset-xxl-5{margin-right:41.66666667%}.offset-xxl-6{margin-right:50%}.offset-xxl-7{margin-right:58.33333333%}.offset-xxl-8{margin-right:66.66666667%}.offset-xxl-9{margin-right:75%}.offset-xxl-10{margin-right:83.33333333%}.offset-xxl-11{margin-right:91.66666667%}.g-xxl-0,.gx-xxl-0{--tblr-gutter-x:0}.g-xxl-0,.gy-xxl-0{--tblr-gutter-y:0}.g-xxl-1,.gx-xxl-1{--tblr-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--tblr-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--tblr-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--tblr-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--tblr-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--tblr-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--tblr-gutter-x:2rem}.g-xxl-4,.gy-xxl-4{--tblr-gutter-y:2rem}.g-xxl-5,.gx-xxl-5{--tblr-gutter-x:4rem}.g-xxl-5,.gy-xxl-5{--tblr-gutter-y:4rem}}.markdown>table,.table{--tblr-table-color:inherit;--tblr-table-bg:transparent;--tblr-table-border-color:var(--tblr-border-color-translucent);--tblr-table-accent-bg:transparent;--tblr-table-striped-color:inherit;--tblr-table-striped-bg:var(--tblr-bg-surface-secondary);--tblr-table-active-color:inherit;--tblr-table-active-bg:rgba(0, 0, 0, 0.1);--tblr-table-hover-color:inherit;--tblr-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--tblr-table-color);vertical-align:top;border-color:var(--tblr-table-border-color)}.markdown>table>:not(caption)>*>*,.table>:not(caption)>*>*{padding:.75rem .75rem;background-color:var(--tblr-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--tblr-table-accent-bg)}.markdown>table>tbody,.table>tbody{vertical-align:inherit}.markdown>table>thead,.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid var(--tblr-border-color-translucent)}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.markdown>table>:not(caption)>*,.table-bordered>:not(caption)>*{border-width:1px 0}.markdown>table>:not(caption)>*>*,.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(even)>*{--tblr-table-accent-bg:var(--tblr-table-striped-bg);color:var(--tblr-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--tblr-table-accent-bg:var(--tblr-table-striped-bg);color:var(--tblr-table-striped-color)}.table-active{--tblr-table-accent-bg:var(--tblr-table-active-bg);color:var(--tblr-table-active-color)}.table-hover>tbody>tr:hover>*{--tblr-table-accent-bg:var(--tblr-table-hover-bg);color:var(--tblr-table-hover-color)}.table-primary{--tblr-table-color:#1d273b;--tblr-table-bg:#d2e1f3;--tblr-table-border-color:#c0cee1;--tblr-table-striped-bg:#c9d8ea;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#c0cee1;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#c4d3e5;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-secondary{--tblr-table-color:#1d273b;--tblr-table-bg:#dfe1e4;--tblr-table-border-color:#ccced3;--tblr-table-striped-bg:#d5d8dc;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#ccced3;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#d0d3d7;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-success{--tblr-table-color:#1d273b;--tblr-table-bg:#d5f0da;--tblr-table-border-color:#c3dcca;--tblr-table-striped-bg:#cce6d2;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#c3dcca;--tblr-table-active-color:#1d273b;--tblr-table-hover-bg:#c7e1ce;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-info{--tblr-table-color:#1d273b;--tblr-table-bg:#d9ebf9;--tblr-table-border-color:#c6d7e6;--tblr-table-striped-bg:#d0e1f0;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#c6d7e6;--tblr-table-active-color:#1d273b;--tblr-table-hover-bg:#cbdceb;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-warning{--tblr-table-color:#1d273b;--tblr-table-bg:#fde1cd;--tblr-table-border-color:#e7cebe;--tblr-table-striped-bg:#f2d8c6;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#e7cebe;--tblr-table-active-color:#1d273b;--tblr-table-hover-bg:#ecd3c2;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-danger{--tblr-table-color:#1d273b;--tblr-table-bg:#f7d7d7;--tblr-table-border-color:#e1c5c7;--tblr-table-striped-bg:#eccecf;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#e1c5c7;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#e7cacb;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-light{--tblr-table-color:#1d273b;--tblr-table-bg:#f8fafc;--tblr-table-border-color:#e2e5e9;--tblr-table-striped-bg:#edeff2;--tblr-table-striped-color:#1d273b;--tblr-table-active-bg:#e2e5e9;--tblr-table-active-color:#1d273b;--tblr-table-hover-bg:#e8eaee;--tblr-table-hover-color:#1d273b;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-dark{--tblr-table-color:#f8fafc;--tblr-table-bg:#1d273b;--tblr-table-border-color:#333c4e;--tblr-table-striped-bg:#283245;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#333c4e;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#2d3749;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem;font-size:.875rem;font-weight:var(--tblr-font-weight-medium)}.col-form-label{padding-top:calc(.4375rem + 1px);padding-bottom:calc(.4375rem + 1px);margin-bottom:0;font-size:inherit;font-weight:var(--tblr-font-weight-medium);line-height:1.4285714286}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.125rem + 1px);padding-bottom:calc(.125rem + 1px);font-size:.75rem}.form-text{margin-top:.25rem;font-size:85.714285%;color:#616876}.form-control{display:block;width:100%;padding:.4375rem .75rem;font-family:var(--tblr-font-sans-serif);font-size:.875rem;font-weight:400;line-height:1.4285714286;color:inherit;background-color:var(--tblr-bg-forms);background-clip:padding-box;border:1px solid var(--tblr-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--tblr-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:inherit;background-color:var(--tblr-bg-forms);border-color:#90b5e2;outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-control::-webkit-date-and-time-value{height:1.4285714286em}.form-control::-webkit-input-placeholder{color:#a5a9b1;opacity:1}.form-control::-moz-placeholder{color:#a5a9b1;opacity:1}.form-control:-ms-input-placeholder{color:#a5a9b1;opacity:1}.form-control::-ms-input-placeholder{color:#a5a9b1;opacity:1}.form-control::placeholder{color:#a5a9b1;opacity:1}.form-control:disabled{background-color:var(--tblr-gray-100);opacity:1}.form-control::-webkit-file-upload-button{padding:.4375rem .75rem;margin:-.4375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:inherit;background-color:#f8fafc;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.4375rem .75rem;margin:-.4375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:inherit;background-color:#f8fafc;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#eceeef}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#eceeef}.form-control-plaintext{display:block;width:100%;padding:.4375rem 0;margin-bottom:0;line-height:1.4285714286;color:#1d273b;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{min-height:calc(1.4285714286em + .25rem + 2px);padding:.125rem .5rem;font-size:.75rem;border-radius:2px}.form-control-sm::-webkit-file-upload-button{padding:.125rem .5rem;margin:-.125rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.125rem .5rem;margin:-.125rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.4285714286em + 1rem + 2px);padding:.5rem 1.5rem;font-size:1.25rem;border-radius:8px}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1.5rem;margin:-.5rem -1.5rem;-webkit-margin-end:1.5rem;margin-inline-end:1.5rem}.form-control-lg::file-selector-button{padding:.5rem 1.5rem;margin:-.5rem -1.5rem;-webkit-margin-end:1.5rem;margin-inline-end:1.5rem}textarea.form-control{min-height:calc(1.4285714286em + .875rem + 2px)}textarea.form-control-sm{min-height:calc(1.4285714286em + .25rem + 2px)}textarea.form-control-lg{min-height:calc(1.4285714286em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.4285714286em + .875rem + 2px);padding:.4375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--tblr-border-radius)}.form-control-color::-webkit-color-swatch{border-radius:var(--tblr-border-radius)}.form-control-color.form-control-sm{height:calc(1.4285714286em + .25rem + 2px)}.form-control-color.form-control-lg{height:calc(1.4285714286em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.4375rem .75rem .4375rem 2.25rem;-moz-padding-start:calc(.75rem - 3px);font-family:var(--tblr-font-sans-serif);font-size:.875rem;font-weight:400;line-height:1.4285714286;color:inherit;background-color:var(--tblr-bg-forms);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left .75rem center;background-size:16px 12px;border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#90b5e2;outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-left:.75rem;background-image:none}.form-select:disabled{background-color:#e2e8f0}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 inherit}.form-select-sm{padding-top:.125rem;padding-bottom:.125rem;padding-right:.5rem;font-size:.75rem;border-radius:2px}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-right:1.5rem;font-size:1.25rem;border-radius:8px}.form-check{display:block;min-height:1.25rem;padding-right:1.5rem;margin-bottom:.5rem}.form-check .form-check-input{float:right;margin-right:-1.5rem}.form-check-reverse{padding-left:1.5rem;padding-right:0;text-align:left}.form-check-reverse .form-check-input{float:left;margin-left:-1.5rem;margin-right:0}.form-check-input{width:1rem;height:1rem;margin-top:.2142857143rem;vertical-align:top;background-color:var(--tblr-bg-forms);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:var(--tblr-border-radius)}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#90b5e2;outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-check-input:checked{background-color:var(--tblr-primary);border-color:var(--tblr-border-color-translucent)}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#206bc4;border-color:#206bc4;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.7}.form-switch{padding-right:2.5rem}.form-switch .form-check-input{width:2rem;margin-right:-2.5rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23e6e7e9'/%3e%3c/svg%3e");background-position:right center;border-radius:2rem;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2390b5e2'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:left center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-left:2.5rem;padding-right:0}.form-switch.form-check-reverse .form-check-input{margin-left:-2.5rem;margin-right:0}.form-check-inline{display:inline-block;margin-left:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.4}.form-range{width:100%;height:1.25rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f1f5f9,0 0 0 .25rem rgba(32,107,196,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f1f5f9,0 0 0 .25rem rgba(32,107,196,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.375rem;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #fff;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#bcd3ed}.form-range::-webkit-slider-runnable-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:var(--tblr-primary);border:2px var(--tblr-border-style) #fff;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#bcd3ed}.form-range::-moz-range-track{width:100%;height:.25rem;color:transparent;cursor:pointer;background-color:var(--tblr-border-color);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#6c7a91}.form-range:disabled::-moz-range-thumb{background-color:#6c7a91}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;right:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;transform-origin:100% 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-webkit-input-placeholder,.form-floating>.form-control::-webkit-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext:-ms-input-placeholder,.form-floating>.form-control:-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::-ms-input-placeholder,.form-floating>.form-control::-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:not(:-ms-input-placeholder),.form-floating>.form-control:not(:-ms-input-placeholder){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.4375rem .75rem;font-size:.875rem;font-weight:400;line-height:1.4285714286;color:var(--tblr-muted);text-align:center;white-space:nowrap;background-color:#f8fafc;border:1px solid var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1.5rem;font-size:1.25rem;border-radius:8px}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.125rem .5rem;font-size:.75rem;border-radius:2px}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-left:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-left-radius:0;border-bottom-left-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:85.714285%;color:#2fb344}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.765625rem;color:#f8fafc;background-color:rgba(47,179,68,.9);border-radius:4px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#2fb344;padding-left:calc(1.4285714286em + .875rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#2fb344;box-shadow:0 0 0 .25rem rgba(47,179,68,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-left:calc(1.4285714286em + .875rem);background-position:top calc(.3571428572em + .21875rem) left calc(.3571428572em + .21875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#2fb344}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-left:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e");background-position:left .75rem center,center left 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#2fb344;box-shadow:0 0 0 .25rem rgba(47,179,68,.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.4285714286em + .875rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#2fb344}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#2fb344}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(47,179,68,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#2fb344}.form-check-inline .form-check-input~.valid-feedback{margin-right:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:85.714285%;color:#d63939}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.765625rem;color:#f8fafc;background-color:rgba(214,57,57,.9);border-radius:4px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#d63939;padding-left:calc(1.4285714286em + .875rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left calc(.3571428572em + .21875rem) center;background-size:calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#d63939;box-shadow:0 0 0 .25rem rgba(214,57,57,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-left:calc(1.4285714286em + .875rem);background-position:top calc(.3571428572em + .21875rem) left calc(.3571428572em + .21875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#d63939}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-left:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a5a9b1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-position:left .75rem center,center left 2.25rem;background-size:16px 12px,calc(.7142857143em + .4375rem) calc(.7142857143em + .4375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#d63939;box-shadow:0 0 0 .25rem rgba(214,57,57,.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.4285714286em + .875rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#d63939}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#d63939}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(214,57,57,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#d63939}.form-check-inline .form-check-input~.invalid-feedback{margin-right:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--tblr-btn-padding-x:1rem;--tblr-btn-padding-y:0.4375rem;--tblr-btn-font-family:var(--tblr-font-sans-serif);--tblr-btn-font-size:0.875rem;--tblr-btn-font-weight:var(--tblr-font-weight-medium);--tblr-btn-line-height:1.4285714286;--tblr-btn-color:#1d273b;--tblr-btn-bg:transparent;--tblr-btn-border-width:1px;--tblr-btn-border-color:transparent;--tblr-btn-border-radius:var(--tblr-border-radius);--tblr-btn-hover-border-color:transparent;--tblr-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--tblr-btn-disabled-opacity:0.4;--tblr-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--tblr-btn-padding-y) var(--tblr-btn-padding-x);font-family:var(--tblr-btn-font-family);font-size:var(--tblr-btn-font-size);font-weight:var(--tblr-btn-font-weight);line-height:var(--tblr-btn-line-height);color:var(--tblr-btn-color);text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-btn-border-width) solid var(--tblr-btn-border-color);border-radius:var(--tblr-btn-border-radius);background-color:var(--tblr-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--tblr-btn-hover-color);text-decoration:none;background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--tblr-btn-color);background-color:var(--tblr-btn-bg);border-color:var(--tblr-btn-border-color)}.btn:focus-visible{color:var(--tblr-btn-hover-color);background-color:var(--tblr-btn-hover-bg);border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--tblr-btn-hover-border-color);outline:0;box-shadow:var(--tblr-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--tblr-btn-active-color);background-color:var(--tblr-btn-active-bg);border-color:var(--tblr-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--tblr-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--tblr-btn-disabled-color);pointer-events:none;background-color:var(--tblr-btn-disabled-bg);border-color:var(--tblr-btn-disabled-border-color);opacity:var(--tblr-btn-disabled-opacity)}.btn-link{--tblr-btn-font-weight:400;--tblr-btn-color:var(--tblr-link-color);--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:var(--tblr-link-hover-color);--tblr-btn-hover-border-color:transparent;--tblr-btn-active-color:var(--tblr-link-hover-color);--tblr-btn-active-border-color:transparent;--tblr-btn-disabled-color:#49566c;--tblr-btn-disabled-border-color:transparent;--tblr-btn-box-shadow:none;--tblr-btn-focus-shadow-rgb:64,128,204;text-decoration:none}.btn-link:focus-visible,.btn-link:hover{text-decoration:underline}.btn-link:focus-visible{color:var(--tblr-btn-color)}.btn-link:hover{color:var(--tblr-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--tblr-btn-padding-y:0.5rem;--tblr-btn-padding-x:1.5rem;--tblr-btn-font-size:1.25rem;--tblr-btn-border-radius:8px}.btn-group-sm>.btn,.btn-sm{--tblr-btn-padding-y:0.125rem;--tblr-btn-padding-x:0.5rem;--tblr-btn-font-size:0.75rem;--tblr-btn-border-radius:2px}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px solid;border-right:1px solid;margin-left:.1em;margin-right:.4em;transform:rotate(45deg)}.dropdown-menu{--tblr-dropdown-zindex:1000;--tblr-dropdown-min-width:11rem;--tblr-dropdown-padding-x:0;--tblr-dropdown-padding-y:0.25rem;--tblr-dropdown-spacer:1px;--tblr-dropdown-font-size:0.875rem;--tblr-dropdown-color:#1d273b;--tblr-dropdown-bg:#ffffff;--tblr-dropdown-border-color:var(--tblr-border-color-translucent);--tblr-dropdown-border-radius:4px;--tblr-dropdown-border-width:1px;--tblr-dropdown-inner-border-radius:3px;--tblr-dropdown-divider-bg:var(--tblr-border-color-translucent);--tblr-dropdown-divider-margin-y:0.5rem;--tblr-dropdown-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--tblr-dropdown-link-color:inherit;--tblr-dropdown-link-hover-color:inherit;--tblr-dropdown-link-hover-bg:rgba(var(--tblr-muted-rgb), 0.04);--tblr-dropdown-link-active-color:var(--tblr-primary);--tblr-dropdown-link-active-bg:var(--tblr-active-bg);--tblr-dropdown-link-disabled-color:#6c7a91;--tblr-dropdown-item-padding-x:0.75rem;--tblr-dropdown-item-padding-y:0.5rem;--tblr-dropdown-header-color:#49566c;--tblr-dropdown-header-padding-x:0.75rem;--tblr-dropdown-header-padding-y:0.25rem;position:absolute;z-index:var(--tblr-dropdown-zindex);display:none;min-width:var(--tblr-dropdown-min-width);padding:var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x);margin:0;font-size:var(--tblr-dropdown-font-size);color:var(--tblr-dropdown-color);text-align:right;list-style:none;background-color:var(--tblr-dropdown-bg);background-clip:padding-box;border:var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color);border-radius:var(--tblr-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;right:0;margin-top:var(--tblr-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{left:0;right:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{left:0;right:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{left:0;right:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{left:0;right:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{left:0;right:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{left:0;right:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--tblr-dropdown-spacer)}.dropup .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px solid;border-right:1px solid;margin-left:.1em;margin-right:.4em;transform:rotate(-135deg)}.dropend .dropdown-menu[data-bs-popper]{top:0;left:auto;right:100%;margin-top:0;margin-right:var(--tblr-dropdown-spacer)}.dropend .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px solid;border-right:1px solid;margin-left:.1em;margin-right:.4em;transform:rotate(135deg)}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;left:100%;right:auto;margin-top:0;margin-left:var(--tblr-dropdown-spacer)}.dropstart .dropdown-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px solid;border-right:1px solid;margin-left:.1em;margin-right:.4em;transform:rotate(-45deg)}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--tblr-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--tblr-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--tblr-dropdown-link-color);text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:var(--tblr-dropdown-link-hover-color);text-decoration:none;background-color:var(--tblr-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--tblr-dropdown-link-active-color);text-decoration:none;background-color:var(--tblr-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--tblr-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x);margin-bottom:0;font-size:.765625rem;color:var(--tblr-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);color:var(--tblr-dropdown-link-color)}.dropdown-menu-dark{--tblr-dropdown-color:#c8d3e1;--tblr-dropdown-bg:#1d273b;--tblr-dropdown-border-color:var(--tblr-border-color-translucent);--tblr-dropdown-link-color:#c8d3e1;--tblr-dropdown-link-hover-color:#ffffff;--tblr-dropdown-divider-bg:var(--tblr-border-color-translucent);--tblr-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--tblr-dropdown-link-active-color:var(--tblr-primary);--tblr-dropdown-link-active-bg:var(--tblr-active-bg);--tblr-dropdown-link-disabled-color:#6c7a91;--tblr-dropdown-header-color:#6c7a91}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--tblr-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-right:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-right-radius:0;border-bottom-right-radius:0}.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-right:0}.dropstart .dropdown-toggle-split::before{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:1.125rem;padding-right:1.125rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-right-radius:0;border-top-left-radius:0}.nav{--tblr-nav-link-padding-x:0.75rem;--tblr-nav-link-padding-y:0.5rem;--tblr-nav-link-color:var(--tblr-muted);--tblr-nav-link-hover-color:var(--tblr-link-hover-color);--tblr-nav-link-disabled-color:var(--tblr-disabled-color);display:flex;flex-wrap:wrap;padding-right:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x);font-size:var(--tblr-nav-link-font-size);font-weight:var(--tblr-nav-link-font-weight);color:var(--tblr-nav-link-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--tblr-nav-link-hover-color);text-decoration:none}.nav-link.disabled{color:var(--tblr-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--tblr-nav-tabs-border-width:1px;--tblr-nav-tabs-border-color:var(--tblr-border-color);--tblr-nav-tabs-border-radius:var(--tblr-border-radius);--tblr-nav-tabs-link-hover-border-color:var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);--tblr-nav-tabs-link-active-color:var(--tblr-body-color);--tblr-nav-tabs-link-active-bg:#f1f5f9;--tblr-nav-tabs-link-active-border-color:var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);border-bottom:var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--tblr-nav-tabs-border-width));background:0 0;border:var(--tblr-nav-tabs-border-width) solid transparent;border-top-right-radius:var(--tblr-nav-tabs-border-radius);border-top-left-radius:var(--tblr-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--tblr-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--tblr-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--tblr-nav-tabs-link-active-color);background-color:var(--tblr-nav-tabs-link-active-bg);border-color:var(--tblr-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--tblr-nav-tabs-border-width));border-top-right-radius:0;border-top-left-radius:0}.nav-pills{--tblr-nav-pills-border-radius:4px;--tblr-nav-pills-link-active-color:var(--tblr-primary);--tblr-nav-pills-link-active-bg:var(--tblr-active-bg)}.nav-pills .nav-link{background:0 0;border:0;border-radius:var(--tblr-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--tblr-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--tblr-nav-pills-link-active-color);background-color:var(--tblr-nav-pills-link-active-bg)}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--tblr-navbar-padding-x:0;--tblr-navbar-padding-y:0.25rem;--tblr-navbar-color:var(--tblr-body-color);--tblr-navbar-hover-color:rgba(0, 0, 0, 0.7);--tblr-navbar-disabled-color:var(--tblr-disabled-color);--tblr-navbar-active-color:var(--tblr-body-color) color;--tblr-navbar-brand-padding-y:0.5rem;--tblr-navbar-brand-margin-end:1rem;--tblr-navbar-brand-font-size:1rem;--tblr-navbar-brand-color:var(--tblr-body-color);--tblr-navbar-brand-hover-color:var(--tblr-body-color) color;--tblr-navbar-nav-link-padding-x:0.75rem;--tblr-navbar-toggler-padding-y:0;--tblr-navbar-toggler-padding-x:0;--tblr-navbar-toggler-font-size:1rem;--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='var%28--tblr-body-color%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--tblr-navbar-toggler-border-color:rgba(0, 0, 0, 0.1);--tblr-navbar-toggler-border-radius:var(--tblr-border-radius);--tblr-navbar-toggler-focus-width:0;--tblr-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--tblr-navbar-brand-padding-y);padding-bottom:var(--tblr-navbar-brand-padding-y);margin-left:var(--tblr-navbar-brand-margin-end);font-size:var(--tblr-navbar-brand-font-size);color:var(--tblr-navbar-brand-color);white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--tblr-navbar-brand-hover-color);text-decoration:none}.navbar-nav{--tblr-nav-link-padding-x:0;--tblr-nav-link-padding-y:0.5rem;--tblr-nav-link-color:var(--tblr-navbar-color);--tblr-nav-link-hover-color:var(--tblr-navbar-hover-color);--tblr-nav-link-disabled-color:var(--tblr-navbar-disabled-color);display:flex;flex-direction:column;padding-right:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link{color:var(--tblr-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--tblr-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--tblr-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x);font-size:var(--tblr-navbar-toggler-font-size);line-height:1;color:var(--tblr-navbar-color);background-color:transparent;border:var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color);border-radius:var(--tblr-navbar-toggler-border-radius);transition:var(--tblr-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--tblr-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--tblr-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--tblr-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:var(--tblr-navbar-nav-link-padding-x);padding-right:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:var(--tblr-navbar-nav-link-padding-x);padding-right:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:var(--tblr-navbar-nav-link-padding-x);padding-right:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--tblr-navbar-nav-link-padding-x);padding-right:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-left:var(--tblr-navbar-nav-link-padding-x);padding-right:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:var(--tblr-navbar-nav-link-padding-x);padding-right:var(--tblr-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark{--tblr-navbar-color:rgba(255, 255, 255, 0.7);--tblr-navbar-hover-color:rgba(255, 255, 255, 0.75);--tblr-navbar-disabled-color:var(--tblr-disabled-color);--tblr-navbar-active-color:#ffffff;--tblr-navbar-brand-color:#ffffff;--tblr-navbar-brand-hover-color:#ffffff;--tblr-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--tblr-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--tblr-card-spacer-y:1rem;--tblr-card-spacer-x:1.5rem;--tblr-card-title-spacer-y:1.25rem;--tblr-card-border-width:var(--tblr-border-width);--tblr-card-border-color:var(--tblr-border-color);--tblr-card-border-radius:var(--tblr-border-radius);--tblr-card-box-shadow:var(--tblr-shadow-card);--tblr-card-inner-border-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));--tblr-card-cap-padding-y:1rem;--tblr-card-cap-padding-x:1.5rem;--tblr-card-cap-bg:var(--tblr-bg-surface-secondary);--tblr-card-cap-color:inherit;--tblr-card-color:inherit;--tblr-card-bg:var(--tblr-bg-surface);--tblr-card-img-overlay-padding:1rem;--tblr-card-group-margin:1.5rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--tblr-card-height);word-wrap:break-word;background-color:var(--tblr-card-bg);background-clip:border-box;border:var(--tblr-card-border-width) solid var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius)}.card>.hr,.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-right-radius:var(--tblr-card-inner-border-radius);border-top-left-radius:var(--tblr-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-left-radius:var(--tblr-card-inner-border-radius);border-bottom-right-radius:var(--tblr-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--tblr-card-spacer-y) var(--tblr-card-spacer-x);color:var(--tblr-card-color)}.card-title{margin-bottom:var(--tblr-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--tblr-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-right:var(--tblr-card-spacer-x)}.card-header{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);margin-bottom:0;color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-bottom:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-header:first-child{border-radius:var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0}.card-footer{padding:var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);color:var(--tblr-card-cap-color);background-color:var(--tblr-card-cap-bg);border-top:var(--tblr-card-border-width) solid var(--tblr-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius)}.card-header-tabs{margin-left:calc(-.5 * var(--tblr-card-cap-padding-x));margin-bottom:calc(-1 * var(--tblr-card-cap-padding-y));margin-right:calc(-.5 * var(--tblr-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--tblr-card-bg);border-bottom-color:var(--tblr-card-bg)}.card-header-pills{margin-left:calc(-.5 * var(--tblr-card-cap-padding-x));margin-right:calc(-.5 * var(--tblr-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;left:0;bottom:0;right:0;padding:var(--tblr-card-img-overlay-padding);border-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-right-radius:var(--tblr-card-inner-border-radius);border-top-left-radius:var(--tblr-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-left-radius:var(--tblr-card-inner-border-radius);border-bottom-right-radius:var(--tblr-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--tblr-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-right:0;border-right:0}.card-group>.card:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:not(:first-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-right-radius:0}}.accordion{--tblr-accordion-color:var(--tblr-body-color);--tblr-accordion-bg:transparent;--tblr-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--tblr-accordion-border-color:var(--tblr-border-color-translucent);--tblr-accordion-border-width:1px;--tblr-accordion-border-radius:4px;--tblr-accordion-inner-border-radius:3px;--tblr-accordion-btn-padding-x:1.25rem;--tblr-accordion-btn-padding-y:1rem;--tblr-accordion-btn-color:var(--tblr-body-color);--tblr-accordion-btn-bg:transparent;--tblr-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--tblr-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-icon-width:1rem;--tblr-accordion-btn-icon-transform:rotate(-180deg);--tblr-accordion-btn-icon-transition:transform 0.2s ease-in-out;--tblr-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='inherit'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--tblr-accordion-btn-focus-border-color:var(--tblr-border-color-translucent);--tblr-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(32, 107, 196, 0.25);--tblr-accordion-body-padding-x:1.25rem;--tblr-accordion-body-padding-y:1rem;--tblr-accordion-active-color:inherit;--tblr-accordion-active-bg:transparent}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-btn-padding-x);font-size:.875rem;color:var(--tblr-accordion-btn-color);text-align:right;background-color:var(--tblr-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--tblr-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--tblr-accordion-active-color);background-color:var(--tblr-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--tblr-accordion-border-width)) 0 var(--tblr-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--tblr-accordion-btn-active-icon);transform:var(--tblr-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--tblr-accordion-btn-icon-width);height:var(--tblr-accordion-btn-icon-width);margin-right:auto;content:"";background-image:var(--tblr-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--tblr-accordion-btn-icon-width);transition:var(--tblr-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--tblr-accordion-btn-focus-border-color);outline:0;box-shadow:var(--tblr-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--tblr-accordion-color);background-color:var(--tblr-accordion-bg);border:var(--tblr-accordion-border-width) solid var(--tblr-accordion-border-color)}.accordion-item:first-of-type{border-top-right-radius:var(--tblr-accordion-border-radius);border-top-left-radius:var(--tblr-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-right-radius:var(--tblr-accordion-inner-border-radius);border-top-left-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-left-radius:var(--tblr-accordion-border-radius);border-bottom-right-radius:var(--tblr-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-left-radius:var(--tblr-accordion-inner-border-radius);border-bottom-right-radius:var(--tblr-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-left-radius:var(--tblr-accordion-border-radius);border-bottom-right-radius:var(--tblr-accordion-border-radius)}.accordion-body{padding:var(--tblr-accordion-body-padding-y) var(--tblr-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-left:0;border-right:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--tblr-breadcrumb-padding-x:0;--tblr-breadcrumb-padding-y:0;--tblr-breadcrumb-margin-bottom:1rem;--tblr-breadcrumb-divider-color:var(--tblr-muted);--tblr-breadcrumb-item-padding-x:0.5rem;--tblr-breadcrumb-item-active-color:inherit;display:flex;flex-wrap:wrap;padding:var(--tblr-breadcrumb-padding-y) var(--tblr-breadcrumb-padding-x);margin-bottom:var(--tblr-breadcrumb-margin-bottom);font-size:var(--tblr-breadcrumb-font-size);list-style:none;background-color:var(--tblr-breadcrumb-bg);border-radius:var(--tblr-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-right:var(--tblr-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:right;padding-left:var(--tblr-breadcrumb-item-padding-x);color:var(--tblr-breadcrumb-divider-color);content:var(--tblr-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--tblr-breadcrumb-item-active-color)}.pagination{--tblr-pagination-padding-x:0.25rem;--tblr-pagination-padding-y:0.25rem;--tblr-pagination-font-size:0.875rem;--tblr-pagination-color:var(--tblr-muted);--tblr-pagination-bg:transparent;--tblr-pagination-border-width:0;--tblr-pagination-border-color:#c8d3e1;--tblr-pagination-border-radius:4px;--tblr-pagination-hover-color:var(--tblr-link-hover-color);--tblr-pagination-hover-bg:#e2e8f0;--tblr-pagination-hover-border-color:#c8d3e1;--tblr-pagination-focus-color:var(--tblr-link-hover-color);--tblr-pagination-focus-bg:#e2e8f0;--tblr-pagination-focus-box-shadow:0 0 0 0.25rem rgba(32, 107, 196, 0.25);--tblr-pagination-active-color:#ffffff;--tblr-pagination-active-bg:var(--tblr-primary);--tblr-pagination-active-border-color:var(--tblr-primary);--tblr-pagination-disabled-color:var(--tblr-disabled-color);--tblr-pagination-disabled-bg:transparent;--tblr-pagination-disabled-border-color:#c8d3e1;display:flex;padding-right:0;list-style:none}.page-link{position:relative;display:block;padding:var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x);font-size:var(--tblr-pagination-font-size);color:var(--tblr-pagination-color);background-color:var(--tblr-pagination-bg);border:var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--tblr-pagination-hover-color);text-decoration:none;background-color:var(--tblr-pagination-hover-bg);border-color:var(--tblr-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--tblr-pagination-focus-color);background-color:var(--tblr-pagination-focus-bg);outline:0;box-shadow:var(--tblr-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--tblr-pagination-active-color);background-color:var(--tblr-pagination-active-bg);border-color:var(--tblr-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--tblr-pagination-disabled-color);pointer-events:none;background-color:var(--tblr-pagination-disabled-bg);border-color:var(--tblr-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-right:0}.page-item:first-child .page-link{border-top-right-radius:var(--tblr-pagination-border-radius);border-bottom-right-radius:var(--tblr-pagination-border-radius)}.page-item:last-child .page-link{border-top-left-radius:var(--tblr-pagination-border-radius);border-bottom-left-radius:var(--tblr-pagination-border-radius)}.pagination-lg{--tblr-pagination-padding-x:1.5rem;--tblr-pagination-padding-y:0.75rem;--tblr-pagination-font-size:1.09375rem;--tblr-pagination-border-radius:8px}.pagination-sm{--tblr-pagination-padding-x:0.5rem;--tblr-pagination-padding-y:0.25rem;--tblr-pagination-font-size:0.765625rem;--tblr-pagination-border-radius:2px}.badge{--tblr-badge-padding-x:0.5em;--tblr-badge-padding-y:0.25em;--tblr-badge-font-size:85.714285%;--tblr-badge-font-weight:var(--tblr-font-weight-medium);--tblr-badge-color:#ffffff;--tblr-badge-border-radius:4px;display:inline-block;padding:var(--tblr-badge-padding-y) var(--tblr-badge-padding-x);font-size:var(--tblr-badge-font-size);font-weight:var(--tblr-badge-font-weight);line-height:1;color:var(--tblr-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--tblr-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--tblr-alert-bg:transparent;--tblr-alert-padding-x:1rem;--tblr-alert-padding-y:1rem;--tblr-alert-margin-bottom:1rem;--tblr-alert-color:inherit;--tblr-alert-border-color:transparent;--tblr-alert-border:1px solid var(--tblr-alert-border-color);--tblr-alert-border-radius:4px;position:relative;padding:var(--tblr-alert-padding-y) var(--tblr-alert-padding-x);margin-bottom:var(--tblr-alert-margin-bottom);color:var(--tblr-alert-color);background-color:var(--tblr-alert-bg);border:var(--tblr-alert-border);border-radius:var(--tblr-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:var(--tblr-font-weight-bold)}.alert-dismissible{padding-left:3rem}.alert-dismissible .btn-close{position:absolute;top:0;left:0;z-index:2;padding:1.25rem 1rem}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:.5rem}}@keyframes progress-bar-stripes{0%{background-position-x:.5rem}}.progress{--tblr-progress-height:0.5rem;--tblr-progress-font-size:0.65625rem;--tblr-progress-bg:var(--tblr-border-color);--tblr-progress-border-radius:var(--tblr-border-radius);--tblr-progress-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.075);--tblr-progress-bar-color:#ffffff;--tblr-progress-bar-bg:var(--tblr-primary);--tblr-progress-bar-transition:width 0.6s ease;display:flex;height:var(--tblr-progress-height);overflow:hidden;font-size:var(--tblr-progress-font-size);background-color:var(--tblr-progress-bg);border-radius:var(--tblr-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--tblr-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--tblr-progress-bar-bg);transition:var(--tblr-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--tblr-progress-height) var(--tblr-progress-height)}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{--tblr-list-group-color:#0f172a;--tblr-list-group-bg:inherit;--tblr-list-group-border-color:var(--tblr-border-color);--tblr-list-group-border-width:1px;--tblr-list-group-border-radius:4px;--tblr-list-group-item-padding-x:1.5rem;--tblr-list-group-item-padding-y:1rem;--tblr-list-group-action-color:inherit;--tblr-list-group-action-hover-color:inherit;--tblr-list-group-action-hover-bg:rgba(var(--tblr-muted-rgb), 0.04);--tblr-list-group-action-active-color:#1d273b;--tblr-list-group-action-active-bg:#e2e8f0;--tblr-list-group-disabled-color:#49566c;--tblr-list-group-disabled-bg:inherit;--tblr-list-group-active-color:inherit;--tblr-list-group-active-bg:var(--tblr-active-bg);--tblr-list-group-active-border-color:var(--tblr-border-color);display:flex;flex-direction:column;padding-right:0;margin-bottom:0;border-radius:var(--tblr-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--tblr-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--tblr-list-group-action-hover-color);text-decoration:none;background-color:var(--tblr-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--tblr-list-group-action-active-color);background-color:var(--tblr-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x);color:var(--tblr-list-group-color);background-color:var(--tblr-list-group-bg);border:var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color)}.list-group-item:first-child{border-top-right-radius:inherit;border-top-left-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--tblr-list-group-disabled-color);pointer-events:none;background-color:var(--tblr-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--tblr-list-group-active-color);background-color:var(--tblr-list-group-active-bg);border-color:var(--tblr-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--tblr-list-group-border-width));border-top-width:var(--tblr-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--tblr-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--tblr-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-right-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--tblr-list-group-border-width));border-right-width:var(--tblr-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--tblr-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--tblr-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-right-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--tblr-list-group-border-width));border-right-width:var(--tblr-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--tblr-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--tblr-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-right-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--tblr-list-group-border-width));border-right-width:var(--tblr-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--tblr-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--tblr-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-right-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--tblr-list-group-border-width));border-right-width:var(--tblr-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--tblr-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--tblr-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-right-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--tblr-list-group-border-width));border-right-width:var(--tblr-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--tblr-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--tblr-list-group-border-radius);border-bottom-right-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--tblr-list-group-border-width);border-right-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-right:calc(-1 * var(--tblr-list-group-border-width));border-right-width:var(--tblr-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--tblr-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#134076;background-color:#d2e1f3}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#134076;background-color:#bdcbdb}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#134076;border-color:#134076}.list-group-item-secondary{color:#3a3e47;background-color:#dfe1e4}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#3a3e47;background-color:#c9cbcd}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#3a3e47;border-color:#3a3e47}.list-group-item-success{color:#1c6b29;background-color:#d5f0da}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#1c6b29;background-color:#c0d8c4}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#1c6b29;border-color:#1c6b29}.list-group-item-info{color:#285c87;background-color:#d9ebf9}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#285c87;background-color:#c3d4e0}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#285c87;border-color:#285c87}.list-group-item-warning{color:#943e04;background-color:#fde1cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#943e04;background-color:#e4cbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#943e04;border-color:#943e04}.list-group-item-danger{color:#802222;background-color:#f7d7d7}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#802222;background-color:#dec2c2}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#802222;border-color:#802222}.list-group-item-light{color:#959697;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#959697;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#959697;border-color:#959697}.list-group-item-dark{color:#111723;background-color:#d2d4d8}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#111723;background-color:#bdbfc2}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#111723;border-color:#111723}.list-group-item-muted{color:#3a3e47;background-color:#dfe1e4}.list-group-item-muted.list-group-item-action:focus,.list-group-item-muted.list-group-item-action:hover{color:#3a3e47;background-color:#c9cbcd}.list-group-item-muted.list-group-item-action.active{color:#fff;background-color:#3a3e47;border-color:#3a3e47}.list-group-item-blue{color:#134076;background-color:#d2e1f3}.list-group-item-blue.list-group-item-action:focus,.list-group-item-blue.list-group-item-action:hover{color:#134076;background-color:#bdcbdb}.list-group-item-blue.list-group-item-action.active{color:#fff;background-color:#134076;border-color:#134076}.list-group-item-azure{color:#285c87;background-color:#d9ebf9}.list-group-item-azure.list-group-item-action:focus,.list-group-item-azure.list-group-item-action:hover{color:#285c87;background-color:#c3d4e0}.list-group-item-azure.list-group-item-action.active{color:#fff;background-color:#285c87;border-color:#285c87}.list-group-item-indigo{color:#283b8d;background-color:#d9e0fb}.list-group-item-indigo.list-group-item-action:focus,.list-group-item-indigo.list-group-item-action:hover{color:#283b8d;background-color:#c3cae2}.list-group-item-indigo.list-group-item-action.active{color:#fff;background-color:#283b8d;border-color:#283b8d}.list-group-item-purple{color:#682579;background-color:#efd8f4}.list-group-item-purple.list-group-item-action:focus,.list-group-item-purple.list-group-item-action:hover{color:#682579;background-color:#d7c2dc}.list-group-item-purple.list-group-item-action.active{color:#fff;background-color:#682579;border-color:#682579}.list-group-item-pink{color:#801f41;background-color:#f7d6e2}.list-group-item-pink.list-group-item-action:focus,.list-group-item-pink.list-group-item-action:hover{color:#801f41;background-color:#dec1cb}.list-group-item-pink.list-group-item-action.active{color:#fff;background-color:#801f41;border-color:#801f41}.list-group-item-red{color:#802222;background-color:#f7d7d7}.list-group-item-red.list-group-item-action:focus,.list-group-item-red.list-group-item-action:hover{color:#802222;background-color:#dec2c2}.list-group-item-red.list-group-item-action.active{color:#fff;background-color:#802222;border-color:#802222}.list-group-item-orange{color:#943e04;background-color:#fde1cd}.list-group-item-orange.list-group-item-action:focus,.list-group-item-orange.list-group-item-action:hover{color:#943e04;background-color:#e4cbb9}.list-group-item-orange.list-group-item-action.active{color:#fff;background-color:#943e04;border-color:#943e04}.list-group-item-yellow{color:#935f00;background-color:#fdeccc}.list-group-item-yellow.list-group-item-action:focus,.list-group-item-yellow.list-group-item-action:hover{color:#935f00;background-color:#e4d4b8}.list-group-item-yellow.list-group-item-action.active{color:#fff;background-color:#935f00;border-color:#935f00}.list-group-item-lime{color:#466e0d;background-color:#e3f1d0}.list-group-item-lime.list-group-item-action:focus,.list-group-item-lime.list-group-item-action:hover{color:#466e0d;background-color:#ccd9bb}.list-group-item-lime.list-group-item-action.active{color:#fff;background-color:#466e0d;border-color:#466e0d}.list-group-item-green{color:#1c6b29;background-color:#d5f0da}.list-group-item-green.list-group-item-action:focus,.list-group-item-green.list-group-item-action:hover{color:#1c6b29;background-color:#c0d8c4}.list-group-item-green.list-group-item-action.active{color:#fff;background-color:#1c6b29;border-color:#1c6b29}.list-group-item-teal{color:#076448;background-color:#ceede4}.list-group-item-teal.list-group-item-action:focus,.list-group-item-teal.list-group-item-action:hover{color:#076448;background-color:#b9d5cd}.list-group-item-teal.list-group-item-action.active{color:#fff;background-color:#076448;border-color:#076448}.list-group-item-cyan{color:#0e616e;background-color:#d1ecf1}.list-group-item-cyan.list-group-item-action:focus,.list-group-item-cyan.list-group-item-action:hover{color:#0e616e;background-color:#bcd4d9}.list-group-item-cyan.list-group-item-action.active{color:#fff;background-color:#0e616e;border-color:#0e616e}.list-group-item-facebook{color:#23355b;background-color:#d8deea}.list-group-item-facebook.list-group-item-action:focus,.list-group-item-facebook.list-group-item-action:hover{color:#23355b;background-color:#c2c8d3}.list-group-item-facebook.list-group-item-action.active{color:#fff;background-color:#23355b;border-color:#23355b}.list-group-item-twitter{color:#116191;background-color:#d2ecfc}.list-group-item-twitter.list-group-item-action:focus,.list-group-item-twitter.list-group-item-action:hover{color:#116191;background-color:#bdd4e3}.list-group-item-twitter.list-group-item-action.active{color:#fff;background-color:#116191;border-color:#116191}.list-group-item-linkedin{color:#063d74;background-color:#cee0f3}.list-group-item-linkedin.list-group-item-action:focus,.list-group-item-linkedin.list-group-item-action:hover{color:#063d74;background-color:#b9cadb}.list-group-item-linkedin.list-group-item-action.active{color:#fff;background-color:#063d74;border-color:#063d74}.list-group-item-google{color:#842f27;background-color:#f8dcd9}.list-group-item-google.list-group-item-action:focus,.list-group-item-google.list-group-item-action:hover{color:#842f27;background-color:#dfc6c3}.list-group-item-google.list-group-item-action.active{color:#fff;background-color:#842f27;border-color:#842f27}.list-group-item-youtube{color:#900;background-color:#fcc}.list-group-item-youtube.list-group-item-action:focus,.list-group-item-youtube.list-group-item-action:hover{color:#900;background-color:#e6b8b8}.list-group-item-youtube.list-group-item-action.active{color:#fff;background-color:#900;border-color:#900}.list-group-item-vimeo{color:#106e8c;background-color:#d1f1fb}.list-group-item-vimeo.list-group-item-action:focus,.list-group-item-vimeo.list-group-item-action:hover{color:#106e8c;background-color:#bcd9e2}.list-group-item-vimeo.list-group-item-action.active{color:#fff;background-color:#106e8c;border-color:#106e8c}.list-group-item-dribbble{color:#8c2e52;background-color:#fbdbe7}.list-group-item-dribbble.list-group-item-action:focus,.list-group-item-dribbble.list-group-item-action:hover{color:#8c2e52;background-color:#e2c5d0}.list-group-item-dribbble.list-group-item-action.active{color:#fff;background-color:#8c2e52;border-color:#8c2e52}.list-group-item-github{color:#0e0e0e;background-color:#d1d1d1}.list-group-item-github.list-group-item-action:focus,.list-group-item-github.list-group-item-action:hover{color:#0e0e0e;background-color:#bcbcbc}.list-group-item-github.list-group-item-action.active{color:#fff;background-color:#0e0e0e;border-color:#0e0e0e}.list-group-item-instagram{color:#892639;background-color:#fad9df}.list-group-item-instagram.list-group-item-action:focus,.list-group-item-instagram.list-group-item-action:hover{color:#892639;background-color:#e1c3c9}.list-group-item-instagram.list-group-item-action.active{color:#fff;background-color:#892639;border-color:#892639}.list-group-item-pinterest{color:#710511;background-color:#f2ced2}.list-group-item-pinterest.list-group-item-action:focus,.list-group-item-pinterest.list-group-item-action:hover{color:#710511;background-color:#dab9bd}.list-group-item-pinterest.list-group-item-action.active{color:#fff;background-color:#710511;border-color:#710511}.list-group-item-vk{color:#3b4f65;background-color:#e0e6ee}.list-group-item-vk.list-group-item-action:focus,.list-group-item-vk.list-group-item-action:hover{color:#3b4f65;background-color:#cacfd6}.list-group-item-vk.list-group-item-action.active{color:#fff;background-color:#3b4f65;border-color:#3b4f65}.list-group-item-rss{color:#996300;background-color:#ffedcc}.list-group-item-rss.list-group-item-action:focus,.list-group-item-rss.list-group-item-action:hover{color:#996300;background-color:#e6d5b8}.list-group-item-rss.list-group-item-action.active{color:#fff;background-color:#996300;border-color:#996300}.list-group-item-flickr{color:#003b84;background-color:#cce0f8}.list-group-item-flickr.list-group-item-action:focus,.list-group-item-flickr.list-group-item-action:hover{color:#003b84;background-color:#b8cadf}.list-group-item-flickr.list-group-item-action.active{color:#fff;background-color:#003b84;border-color:#003b84}.list-group-item-bitbucket{color:#00317a;background-color:#ccdcf5}.list-group-item-bitbucket.list-group-item-action:focus,.list-group-item-bitbucket.list-group-item-action:hover{color:#00317a;background-color:#b8c6dd}.list-group-item-bitbucket.list-group-item-action.active{color:#fff;background-color:#00317a;border-color:#00317a}.list-group-item-tabler{color:#134076;background-color:#d2e1f3}.list-group-item-tabler.list-group-item-action:focus,.list-group-item-tabler.list-group-item-action:hover{color:#134076;background-color:#bdcbdb}.list-group-item-tabler.list-group-item-action.active{color:#fff;background-color:#134076;border-color:#134076}.btn-close{box-sizing:content-box;width:.75rem;height:.75rem;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/.75rem auto no-repeat;border:0;border-radius:4px;opacity:.3}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(32,107,196,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--tblr-toast-zindex:1090;--tblr-toast-padding-x:0.75rem;--tblr-toast-padding-y:0.5rem;--tblr-toast-spacing:1.5rem;--tblr-toast-max-width:350px;--tblr-toast-font-size:0.875rem;--tblr-toast-bg:rgba(255, 255, 255, 0.85);--tblr-toast-border-width:1px;--tblr-toast-border-color:var(--tblr-border-color);--tblr-toast-border-radius:4px;--tblr-toast-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--tblr-toast-header-color:var(--tblr-muted);--tblr-toast-header-bg:rgba(255, 255, 255, 0.85);--tblr-toast-header-border-color:rgba(0, 0, 0, 0.05);width:var(--tblr-toast-max-width);max-width:100%;font-size:var(--tblr-toast-font-size);color:var(--tblr-toast-color);pointer-events:auto;background-color:var(--tblr-toast-bg);background-clip:padding-box;border:var(--tblr-toast-border-width) solid var(--tblr-toast-border-color);box-shadow:var(--tblr-toast-box-shadow);border-radius:var(--tblr-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--tblr-toast-zindex:1090;position:absolute;z-index:var(--tblr-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--tblr-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--tblr-toast-padding-y) var(--tblr-toast-padding-x);color:var(--tblr-toast-header-color);background-color:var(--tblr-toast-header-bg);background-clip:padding-box;border-bottom:var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color);border-top-right-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width));border-top-left-radius:calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width))}.toast-header .btn-close{margin-left:calc(-.5 * var(--tblr-toast-padding-x));margin-right:var(--tblr-toast-padding-x)}.toast-body{padding:var(--tblr-toast-padding-x);word-wrap:break-word}.modal{--tblr-modal-zindex:1055;--tblr-modal-width:540px;--tblr-modal-padding:1.5rem;--tblr-modal-margin:0.5rem;--tblr-modal-bg:var(--tblr-bg-surface);--tblr-modal-border-color:transparent;--tblr-modal-border-width:1px;--tblr-modal-border-radius:var(--tblr-border-radius-lg);--tblr-modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--tblr-modal-inner-border-radius:calc(var(--tblr-modal-border-radius) - 1px);--tblr-modal-header-padding-x:1.5rem;--tblr-modal-header-padding-y:1.5rem;--tblr-modal-header-padding:1.5rem;--tblr-modal-header-border-color:var(--tblr-border-color);--tblr-modal-header-border-width:1px;--tblr-modal-title-line-height:1.4285714286;--tblr-modal-footer-gap:0.75rem;--tblr-modal-footer-border-color:var(--tblr-border-color);--tblr-modal-footer-border-width:0;position:fixed;top:0;right:0;z-index:var(--tblr-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--tblr-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-1rem)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--tblr-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--tblr-modal-color);pointer-events:auto;background-color:var(--tblr-modal-bg);background-clip:padding-box;border:var(--tblr-modal-border-width) solid var(--tblr-modal-border-color);border-radius:var(--tblr-modal-border-radius);outline:0}.modal-backdrop{--tblr-backdrop-zindex:1050;--tblr-backdrop-bg:#1d273b;--tblr-backdrop-opacity:0.24;position:fixed;top:0;right:0;z-index:var(--tblr-backdrop-zindex);width:100vw;height:100vh;background-color:var(--tblr-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--tblr-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--tblr-modal-header-padding);border-bottom:var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color);border-top-right-radius:var(--tblr-modal-inner-border-radius);border-top-left-radius:var(--tblr-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--tblr-modal-header-padding-y) * .5) calc(var(--tblr-modal-header-padding-x) * .5);margin:calc(-.5 * var(--tblr-modal-header-padding-y)) auto calc(-.5 * var(--tblr-modal-header-padding-y)) calc(-.5 * var(--tblr-modal-header-padding-x))}.modal-title{margin-bottom:0;line-height:var(--tblr-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--tblr-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * .5);background-color:var(--tblr-modal-footer-bg);border-top:var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color);border-bottom-left-radius:var(--tblr-modal-inner-border-radius);border-bottom-right-radius:var(--tblr-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--tblr-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--tblr-modal-margin:1.75rem;--tblr-modal-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--tblr-modal-width);margin-left:auto;margin-right:auto}.modal-sm{--tblr-modal-width:380px}}@media (min-width:992px){.modal-lg,.modal-xl{--tblr-modal-width:720px}}@media (min-width:1200px){.modal-xl{--tblr-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--tblr-tooltip-zindex:1080;--tblr-tooltip-max-width:200px;--tblr-tooltip-padding-x:0.5rem;--tblr-tooltip-padding-y:0.25rem;--tblr-tooltip-font-size:0.765625rem;--tblr-tooltip-color:var(--tblr-light);--tblr-tooltip-bg:var(--tblr-bg-surface-dark);--tblr-tooltip-border-radius:4px;--tblr-tooltip-opacity:0.9;--tblr-tooltip-arrow-width:0.8rem;--tblr-tooltip-arrow-height:0.4rem;z-index:var(--tblr-tooltip-zindex);display:block;padding:var(--tblr-tooltip-arrow-height);margin:var(--tblr-tooltip-margin);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:right;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--tblr-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--tblr-tooltip-arrow-width);height:var(--tblr-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-top-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * .5) 0;border-right-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-bottom-color:var(--tblr-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:var(--tblr-tooltip-arrow-height);height:var(--tblr-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--tblr-tooltip-arrow-width) * .5) 0 calc(var(--tblr-tooltip-arrow-width) * .5) var(--tblr-tooltip-arrow-height);border-left-color:var(--tblr-tooltip-bg)}.tooltip-inner{max-width:var(--tblr-tooltip-max-width);padding:var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x);color:var(--tblr-tooltip-color);text-align:center;background-color:var(--tblr-tooltip-bg);border-radius:var(--tblr-tooltip-border-radius)}.popover{--tblr-popover-zindex:1070;--tblr-popover-max-width:276px;--tblr-popover-font-size:0.765625rem;--tblr-popover-bg:var(--tblr-bg-surface);--tblr-popover-border-width:1px;--tblr-popover-border-color:var(--tblr-border-color);--tblr-popover-border-radius:8px;--tblr-popover-inner-border-radius:7px;--tblr-popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--tblr-popover-header-padding-x:1rem;--tblr-popover-header-padding-y:0.5rem;--tblr-popover-header-font-size:0.875rem;--tblr-popover-header-bg:transparent;--tblr-popover-body-padding-x:1rem;--tblr-popover-body-padding-y:1rem;--tblr-popover-body-color:inherit;--tblr-popover-arrow-width:1rem;--tblr-popover-arrow-height:0.5rem;--tblr-popover-arrow-border:var(--tblr-popover-border-color);z-index:var(--tblr-popover-zindex);display:block;max-width:var(--tblr-popover-max-width);font-family:var(--tblr-font-sans-serif);font-style:normal;font-weight:400;line-height:1.4285714286;text-align:right;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--tblr-popover-font-size);word-wrap:break-word;background-color:var(--tblr-popover-bg);background-clip:padding-box;border:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-radius:var(--tblr-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--tblr-popover-arrow-width);height:var(--tblr-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--tblr-popover-border-width);border-top-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--tblr-popover-border-width);border-right-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--tblr-popover-border-width);border-bottom-color:var(--tblr-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;right:50%;display:block;width:var(--tblr-popover-arrow-width);margin-right:calc(-.5 * var(--tblr-popover-arrow-width));content:"";border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));width:var(--tblr-popover-arrow-height);height:var(--tblr-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--tblr-popover-arrow-width) * .5) 0 calc(var(--tblr-popover-arrow-width) * .5) var(--tblr-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--tblr-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--tblr-popover-border-width);border-left-color:var(--tblr-popover-bg)}.popover-header{padding:var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x);margin-bottom:0;font-size:var(--tblr-popover-header-font-size);color:var(--tblr-popover-header-color);background-color:var(--tblr-popover-header-bg);border-bottom:var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);border-top-right-radius:var(--tblr-popover-inner-border-radius);border-top-left-radius:var(--tblr-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x);color:var(--tblr-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:right;width:100%;margin-left:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{right:0}.carousel-control-next{left:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:1.5rem;height:1.5rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e")}.carousel-indicators{position:absolute;left:0;bottom:0;right:0;z-index:2;display:flex;justify-content:center;padding:0;margin-left:15%;margin-bottom:1rem;margin-right:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-left:3px;margin-right:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;left:15%;bottom:1.25rem;right:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--tblr-spinner-width);height:var(--tblr-spinner-height);vertical-align:var(--tblr-spinner-vertical-align);border-radius:50%;-webkit-animation:var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name);animation:var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name)}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--tblr-spinner-width:1.5rem;--tblr-spinner-height:1.5rem;--tblr-spinner-vertical-align:-0.125em;--tblr-spinner-border-width:2px;--tblr-spinner-animation-speed:0.75s;--tblr-spinner-animation-name:spinner-border;border:var(--tblr-spinner-border-width) solid currentcolor;border-left-color:transparent}.spinner-border-sm{--tblr-spinner-width:1rem;--tblr-spinner-height:1rem;--tblr-spinner-border-width:1px}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--tblr-spinner-width:1.5rem;--tblr-spinner-height:1.5rem;--tblr-spinner-vertical-align:-0.125em;--tblr-spinner-animation-speed:0.75s;--tblr-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--tblr-spinner-width:1rem;--tblr-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--tblr-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--tblr-offcanvas-zindex:1045;--tblr-offcanvas-width:400px;--tblr-offcanvas-height:30vh;--tblr-offcanvas-padding-x:1.5rem;--tblr-offcanvas-padding-y:1.5rem;--tblr-offcanvas-bg:var(--tblr-bg-surface);--tblr-offcanvas-border-width:1px;--tblr-offcanvas-border-color:var(--tblr-border-color);--tblr-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-end{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-top{top:0;left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-bottom{left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:575.98px){.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}}@media (max-width:575.98px){.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-end{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-top{top:0;left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-bottom{left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:767.98px){.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}}@media (max-width:767.98px){.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-end{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-top{top:0;left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-bottom{left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:991.98px){.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}}@media (max-width:991.98px){.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-end{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-top{top:0;left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-bottom{left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1199.98px){.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}}@media (max-width:1199.98px){.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-end{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-top{top:0;left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-bottom{left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}}@media (max-width:1399.98px){.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--tblr-offcanvas-height:auto;--tblr-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--tblr-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--tblr-offcanvas-color);visibility:hidden;background-color:var(--tblr-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;right:0;width:var(--tblr-offcanvas-width);border-left:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-end{top:0;left:0;width:var(--tblr-offcanvas-width);border-right:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-top{top:0;left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-bottom:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{left:0;right:0;height:var(--tblr-offcanvas-height);max-height:100%;border-top:var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;right:0;z-index:1040;width:100vw;height:100vh;background-color:#1d273b}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.24}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--tblr-offcanvas-padding-y) * .5) calc(var(--tblr-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--tblr-offcanvas-padding-y));margin-left:calc(-.5 * var(--tblr-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--tblr-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.4285714286}.offcanvas-body{flex-grow:1;padding:var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.2}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.1}}@keyframes placeholder-glow{50%{opacity:.1}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.9) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.9) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0;mask-position:-200% 0}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0;mask-position:-200% 0}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#f8fafc!important;background-color:RGBA(32,107,196,var(--tblr-bg-opacity,1))!important}.text-bg-secondary{color:#f8fafc!important;background-color:RGBA(97,104,118,var(--tblr-bg-opacity,1))!important}.text-bg-success{color:#f8fafc!important;background-color:RGBA(47,179,68,var(--tblr-bg-opacity,1))!important}.text-bg-info{color:#f8fafc!important;background-color:RGBA(66,153,225,var(--tblr-bg-opacity,1))!important}.text-bg-warning{color:#f8fafc!important;background-color:RGBA(247,103,7,var(--tblr-bg-opacity,1))!important}.text-bg-danger{color:#f8fafc!important;background-color:RGBA(214,57,57,var(--tblr-bg-opacity,1))!important}.text-bg-light{color:#1d273b!important;background-color:RGBA(248,250,252,var(--tblr-bg-opacity,1))!important}.text-bg-dark{color:#f8fafc!important;background-color:RGBA(29,39,59,var(--tblr-bg-opacity,1))!important}.text-bg-muted{color:#f8fafc!important;background-color:RGBA(97,104,118,var(--tblr-bg-opacity,1))!important}.text-bg-blue{color:#f8fafc!important;background-color:RGBA(32,107,196,var(--tblr-bg-opacity,1))!important}.text-bg-azure{color:#f8fafc!important;background-color:RGBA(66,153,225,var(--tblr-bg-opacity,1))!important}.text-bg-indigo{color:#f8fafc!important;background-color:RGBA(66,99,235,var(--tblr-bg-opacity,1))!important}.text-bg-purple{color:#f8fafc!important;background-color:RGBA(174,62,201,var(--tblr-bg-opacity,1))!important}.text-bg-pink{color:#f8fafc!important;background-color:RGBA(214,51,108,var(--tblr-bg-opacity,1))!important}.text-bg-red{color:#f8fafc!important;background-color:RGBA(214,57,57,var(--tblr-bg-opacity,1))!important}.text-bg-orange{color:#f8fafc!important;background-color:RGBA(247,103,7,var(--tblr-bg-opacity,1))!important}.text-bg-yellow{color:#f8fafc!important;background-color:RGBA(245,159,0,var(--tblr-bg-opacity,1))!important}.text-bg-lime{color:#f8fafc!important;background-color:RGBA(116,184,22,var(--tblr-bg-opacity,1))!important}.text-bg-green{color:#f8fafc!important;background-color:RGBA(47,179,68,var(--tblr-bg-opacity,1))!important}.text-bg-teal{color:#f8fafc!important;background-color:RGBA(12,166,120,var(--tblr-bg-opacity,1))!important}.text-bg-cyan{color:#f8fafc!important;background-color:RGBA(23,162,184,var(--tblr-bg-opacity,1))!important}.text-bg-facebook{color:#f8fafc!important;background-color:RGBA(59,89,152,var(--tblr-bg-opacity,1))!important}.text-bg-twitter{color:#f8fafc!important;background-color:RGBA(29,161,242,var(--tblr-bg-opacity,1))!important}.text-bg-linkedin{color:#f8fafc!important;background-color:RGBA(10,102,194,var(--tblr-bg-opacity,1))!important}.text-bg-google{color:#f8fafc!important;background-color:RGBA(220,78,65,var(--tblr-bg-opacity,1))!important}.text-bg-youtube{color:#f8fafc!important;background-color:RGBA(255,0,0,var(--tblr-bg-opacity,1))!important}.text-bg-vimeo{color:#f8fafc!important;background-color:RGBA(26,183,234,var(--tblr-bg-opacity,1))!important}.text-bg-dribbble{color:#f8fafc!important;background-color:RGBA(234,76,137,var(--tblr-bg-opacity,1))!important}.text-bg-github{color:#f8fafc!important;background-color:RGBA(24,23,23,var(--tblr-bg-opacity,1))!important}.text-bg-instagram{color:#f8fafc!important;background-color:RGBA(228,64,95,var(--tblr-bg-opacity,1))!important}.text-bg-pinterest{color:#f8fafc!important;background-color:RGBA(189,8,28,var(--tblr-bg-opacity,1))!important}.text-bg-vk{color:#f8fafc!important;background-color:RGBA(99,131,168,var(--tblr-bg-opacity,1))!important}.text-bg-rss{color:#f8fafc!important;background-color:RGBA(255,165,0,var(--tblr-bg-opacity,1))!important}.text-bg-flickr{color:#f8fafc!important;background-color:RGBA(0,99,220,var(--tblr-bg-opacity,1))!important}.text-bg-bitbucket{color:#f8fafc!important;background-color:RGBA(0,82,204,var(--tblr-bg-opacity,1))!important}.text-bg-tabler{color:#f8fafc!important;background-color:RGBA(32,107,196,var(--tblr-bg-opacity,1))!important}.link-primary{color:#206bc4!important}.link-primary:focus,.link-primary:hover{color:#1a569d!important}.link-secondary{color:#616876!important}.link-secondary:focus,.link-secondary:hover{color:#4e535e!important}.link-success{color:#2fb344!important}.link-success:focus,.link-success:hover{color:#268f36!important}.link-info{color:#4299e1!important}.link-info:focus,.link-info:hover{color:#357ab4!important}.link-warning{color:#f76707!important}.link-warning:focus,.link-warning:hover{color:#c65206!important}.link-danger{color:#d63939!important}.link-danger:focus,.link-danger:hover{color:#ab2e2e!important}.link-light{color:#f8fafc!important}.link-light:focus,.link-light:hover{color:#f9fbfd!important}.link-dark{color:#1d273b!important}.link-dark:focus,.link-dark:hover{color:#171f2f!important}.link-muted{color:#616876!important}.link-muted:focus,.link-muted:hover{color:#4e535e!important}.link-blue{color:#206bc4!important}.link-blue:focus,.link-blue:hover{color:#1a569d!important}.link-azure{color:#4299e1!important}.link-azure:focus,.link-azure:hover{color:#357ab4!important}.link-indigo{color:#4263eb!important}.link-indigo:focus,.link-indigo:hover{color:#354fbc!important}.link-purple{color:#ae3ec9!important}.link-purple:focus,.link-purple:hover{color:#8b32a1!important}.link-pink{color:#d6336c!important}.link-pink:focus,.link-pink:hover{color:#ab2956!important}.link-red{color:#d63939!important}.link-red:focus,.link-red:hover{color:#ab2e2e!important}.link-orange{color:#f76707!important}.link-orange:focus,.link-orange:hover{color:#c65206!important}.link-yellow{color:#f59f00!important}.link-yellow:focus,.link-yellow:hover{color:#c47f00!important}.link-lime{color:#74b816!important}.link-lime:focus,.link-lime:hover{color:#5d9312!important}.link-green{color:#2fb344!important}.link-green:focus,.link-green:hover{color:#268f36!important}.link-teal{color:#0ca678!important}.link-teal:focus,.link-teal:hover{color:#0a8560!important}.link-cyan{color:#17a2b8!important}.link-cyan:focus,.link-cyan:hover{color:#128293!important}.link-facebook{color:#3b5998!important}.link-facebook:focus,.link-facebook:hover{color:#2f477a!important}.link-twitter{color:#1da1f2!important}.link-twitter:focus,.link-twitter:hover{color:#1781c2!important}.link-linkedin{color:#0a66c2!important}.link-linkedin:focus,.link-linkedin:hover{color:#08529b!important}.link-google{color:#dc4e41!important}.link-google:focus,.link-google:hover{color:#b03e34!important}.link-youtube{color:red!important}.link-youtube:focus,.link-youtube:hover{color:#c00!important}.link-vimeo{color:#1ab7ea!important}.link-vimeo:focus,.link-vimeo:hover{color:#1592bb!important}.link-dribbble{color:#ea4c89!important}.link-dribbble:focus,.link-dribbble:hover{color:#bb3d6e!important}.link-github{color:#181717!important}.link-github:focus,.link-github:hover{color:#131212!important}.link-instagram{color:#e4405f!important}.link-instagram:focus,.link-instagram:hover{color:#b6334c!important}.link-pinterest{color:#bd081c!important}.link-pinterest:focus,.link-pinterest:hover{color:#970616!important}.link-vk{color:#6383a8!important}.link-vk:focus,.link-vk:hover{color:#4f6986!important}.link-rss{color:orange!important}.link-rss:focus,.link-rss:hover{color:#cc8400!important}.link-flickr{color:#0063dc!important}.link-flickr:focus,.link-flickr:hover{color:#004fb0!important}.link-bitbucket{color:#0052cc!important}.link-bitbucket:focus,.link-bitbucket:hover{color:#0042a3!important}.link-tabler{color:#206bc4!important}.link-tabler:focus,.link-tabler:hover{color:#1a569d!important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--tblr-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;right:0;width:100%;height:100%}.ratio-1x1{--tblr-aspect-ratio:100%}.ratio-4x3{--tblr-aspect-ratio:75%}.ratio-3x4{--tblr-aspect-ratio:133.3333333333%}.ratio-16x9{--tblr-aspect-ratio:56.25%}.ratio-9x16{--tblr-aspect-ratio:177.7777777778%}.ratio-21x9{--tblr-aspect-ratio:42.8571428571%}.ratio-9x21{--tblr-aspect-ratio:233.3333333333%}.fixed-top{position:fixed;top:0;left:0;right:0;z-index:1030}.fixed-bottom{position:fixed;left:0;bottom:0;right:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.16}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:right!important}.float-end{float:left!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{right:0!important}.start-50{right:50%!important}.start-100{right:100%!important}.end-0{left:0!important}.end-50{left:50%!important}.end-100{left:100%!important}.translate-middle{transform:translate(50%,-50%)!important}.translate-middle-x{transform:translateX(50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-wide{border:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-0{border:0!important}.border-top{border-top:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-top-wide{border-top:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-top-0{border-top:0!important}.border-end{border-left:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-end-wide{border-left:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-end-0{border-left:0!important}.border-bottom{border-bottom:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-bottom-wide{border-bottom:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-right:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-start-wide{border-right:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-start-0{border-right:0!important}.border-primary{--tblr-border-opacity:1;border-color:rgba(var(--tblr-primary-rgb),var(--tblr-border-opacity))!important}.border-secondary{--tblr-border-opacity:1;border-color:rgba(var(--tblr-secondary-rgb),var(--tblr-border-opacity))!important}.border-success{--tblr-border-opacity:1;border-color:rgba(var(--tblr-success-rgb),var(--tblr-border-opacity))!important}.border-info{--tblr-border-opacity:1;border-color:rgba(var(--tblr-info-rgb),var(--tblr-border-opacity))!important}.border-warning{--tblr-border-opacity:1;border-color:rgba(var(--tblr-warning-rgb),var(--tblr-border-opacity))!important}.border-danger{--tblr-border-opacity:1;border-color:rgba(var(--tblr-danger-rgb),var(--tblr-border-opacity))!important}.border-light{--tblr-border-opacity:1;border-color:rgba(var(--tblr-light-rgb),var(--tblr-border-opacity))!important}.border-dark{--tblr-border-opacity:1;border-color:rgba(var(--tblr-dark-rgb),var(--tblr-border-opacity))!important}.border-muted{--tblr-border-opacity:1;border-color:rgba(var(--tblr-muted-rgb),var(--tblr-border-opacity))!important}.border-blue{--tblr-border-opacity:1;border-color:rgba(var(--tblr-blue-rgb),var(--tblr-border-opacity))!important}.border-azure{--tblr-border-opacity:1;border-color:rgba(var(--tblr-azure-rgb),var(--tblr-border-opacity))!important}.border-indigo{--tblr-border-opacity:1;border-color:rgba(var(--tblr-indigo-rgb),var(--tblr-border-opacity))!important}.border-purple{--tblr-border-opacity:1;border-color:rgba(var(--tblr-purple-rgb),var(--tblr-border-opacity))!important}.border-pink{--tblr-border-opacity:1;border-color:rgba(var(--tblr-pink-rgb),var(--tblr-border-opacity))!important}.border-red{--tblr-border-opacity:1;border-color:rgba(var(--tblr-red-rgb),var(--tblr-border-opacity))!important}.border-orange{--tblr-border-opacity:1;border-color:rgba(var(--tblr-orange-rgb),var(--tblr-border-opacity))!important}.border-yellow{--tblr-border-opacity:1;border-color:rgba(var(--tblr-yellow-rgb),var(--tblr-border-opacity))!important}.border-lime{--tblr-border-opacity:1;border-color:rgba(var(--tblr-lime-rgb),var(--tblr-border-opacity))!important}.border-green{--tblr-border-opacity:1;border-color:rgba(var(--tblr-green-rgb),var(--tblr-border-opacity))!important}.border-teal{--tblr-border-opacity:1;border-color:rgba(var(--tblr-teal-rgb),var(--tblr-border-opacity))!important}.border-cyan{--tblr-border-opacity:1;border-color:rgba(var(--tblr-cyan-rgb),var(--tblr-border-opacity))!important}.border-facebook{--tblr-border-opacity:1;border-color:rgba(var(--tblr-facebook-rgb),var(--tblr-border-opacity))!important}.border-twitter{--tblr-border-opacity:1;border-color:rgba(var(--tblr-twitter-rgb),var(--tblr-border-opacity))!important}.border-linkedin{--tblr-border-opacity:1;border-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-border-opacity))!important}.border-google{--tblr-border-opacity:1;border-color:rgba(var(--tblr-google-rgb),var(--tblr-border-opacity))!important}.border-youtube{--tblr-border-opacity:1;border-color:rgba(var(--tblr-youtube-rgb),var(--tblr-border-opacity))!important}.border-vimeo{--tblr-border-opacity:1;border-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-border-opacity))!important}.border-dribbble{--tblr-border-opacity:1;border-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-border-opacity))!important}.border-github{--tblr-border-opacity:1;border-color:rgba(var(--tblr-github-rgb),var(--tblr-border-opacity))!important}.border-instagram{--tblr-border-opacity:1;border-color:rgba(var(--tblr-instagram-rgb),var(--tblr-border-opacity))!important}.border-pinterest{--tblr-border-opacity:1;border-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-border-opacity))!important}.border-vk{--tblr-border-opacity:1;border-color:rgba(var(--tblr-vk-rgb),var(--tblr-border-opacity))!important}.border-rss{--tblr-border-opacity:1;border-color:rgba(var(--tblr-rss-rgb),var(--tblr-border-opacity))!important}.border-flickr{--tblr-border-opacity:1;border-color:rgba(var(--tblr-flickr-rgb),var(--tblr-border-opacity))!important}.border-bitbucket{--tblr-border-opacity:1;border-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-border-opacity))!important}.border-tabler{--tblr-border-opacity:1;border-color:rgba(var(--tblr-tabler-rgb),var(--tblr-border-opacity))!important}.border-white{--tblr-border-opacity:1;border-color:rgba(var(--tblr-white-rgb),var(--tblr-border-opacity))!important}.border-1{--tblr-border-width:1px}.border-2{--tblr-border-width:2px}.border-3{--tblr-border-width:3px}.border-4{--tblr-border-width:4px}.border-5{--tblr-border-width:5px}.border-opacity-10{--tblr-border-opacity:0.1}.border-opacity-25{--tblr-border-opacity:0.25}.border-opacity-50{--tblr-border-opacity:0.5}.border-opacity-75{--tblr-border-opacity:0.75}.border-opacity-100{--tblr-border-opacity:1}.w-0{width:0!important}.w-1{width:.25rem!important}.w-2{width:.5rem!important}.w-3{width:1rem!important}.w-4{width:2rem!important}.w-5{width:4rem!important}.w-25{width:25%!important}.w-33{width:33.33333%!important}.w-50{width:50%!important}.w-66{width:66.66666%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-0{height:0!important}.h-1{height:.25rem!important}.h-2{height:.5rem!important}.h-3{height:1rem!important}.h-4{height:2rem!important}.h-5{height:4rem!important}.h-25{height:25%!important}.h-33{height:33.33333%!important}.h-50{height:50%!important}.h-66{height:66.66666%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:2rem!important}.m-5{margin:4rem!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:2rem!important;margin-right:2rem!important}.mx-5{margin-left:4rem!important;margin-right:4rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:2rem!important;margin-bottom:2rem!important}.my-5{margin-top:4rem!important;margin-bottom:4rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:2rem!important}.mt-5{margin-top:4rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-left:0!important}.me-1{margin-left:.25rem!important}.me-2{margin-left:.5rem!important}.me-3{margin-left:1rem!important}.me-4{margin-left:2rem!important}.me-5{margin-left:4rem!important}.me-auto{margin-left:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:2rem!important}.mb-5{margin-bottom:4rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-right:0!important}.ms-1{margin-right:.25rem!important}.ms-2{margin-right:.5rem!important}.ms-3{margin-right:1rem!important}.ms-4{margin-right:2rem!important}.ms-5{margin-right:4rem!important}.ms-auto{margin-right:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:2rem!important}.p-5{padding:4rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:2rem!important;padding-right:2rem!important}.px-5{padding-left:4rem!important;padding-right:4rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-5{padding-top:4rem!important;padding-bottom:4rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:2rem!important}.pt-5{padding-top:4rem!important}.pe-0{padding-left:0!important}.pe-1{padding-left:.25rem!important}.pe-2{padding-left:.5rem!important}.pe-3{padding-left:1rem!important}.pe-4{padding-left:2rem!important}.pe-5{padding-left:4rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:2rem!important}.pb-5{padding-bottom:4rem!important}.ps-0{padding-right:0!important}.ps-1{padding-right:.25rem!important}.ps-2{padding-right:.5rem!important}.ps-3{padding-right:1rem!important}.ps-4{padding-right:2rem!important}.ps-5{padding-right:4rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:2rem!important}.gap-5{gap:4rem!important}.font-monospace{font-family:var(--tblr-font-monospace)!important}.fs-h1{font-size:1.5rem!important}.fs-h2{font-size:1.25rem!important}.fs-h3{font-size:1rem!important}.fs-h4{font-size:.875rem!important}.fs-h5{font-size:.75rem!important}.fs-h6{font-size:.625rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:600!important}.fw-semibold{font-weight:600!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.1428571429!important}.lh-base{line-height:1.4285714286!important}.lh-lg{line-height:1.7142857143!important}.text-start{text-align:right!important}.text-end{text-align:left!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-primary{--tblr-text-opacity:1;color:rgba(var(--tblr-primary-rgb),var(--tblr-text-opacity))!important}.text-secondary{--tblr-text-opacity:1;color:rgba(var(--tblr-secondary-rgb),var(--tblr-text-opacity))!important}.text-success{--tblr-text-opacity:1;color:rgba(var(--tblr-success-rgb),var(--tblr-text-opacity))!important}.text-info{--tblr-text-opacity:1;color:rgba(var(--tblr-info-rgb),var(--tblr-text-opacity))!important}.text-warning{--tblr-text-opacity:1;color:rgba(var(--tblr-warning-rgb),var(--tblr-text-opacity))!important}.text-danger{--tblr-text-opacity:1;color:rgba(var(--tblr-danger-rgb),var(--tblr-text-opacity))!important}.text-light{--tblr-text-opacity:1;color:rgba(var(--tblr-light-rgb),var(--tblr-text-opacity))!important}.text-dark{--tblr-text-opacity:1;color:rgba(var(--tblr-dark-rgb),var(--tblr-text-opacity))!important}.text-muted{--tblr-text-opacity:1;color:#616876!important}.text-blue{--tblr-text-opacity:1;color:rgba(var(--tblr-blue-rgb),var(--tblr-text-opacity))!important}.text-azure{--tblr-text-opacity:1;color:rgba(var(--tblr-azure-rgb),var(--tblr-text-opacity))!important}.text-indigo{--tblr-text-opacity:1;color:rgba(var(--tblr-indigo-rgb),var(--tblr-text-opacity))!important}.text-purple{--tblr-text-opacity:1;color:rgba(var(--tblr-purple-rgb),var(--tblr-text-opacity))!important}.text-pink{--tblr-text-opacity:1;color:rgba(var(--tblr-pink-rgb),var(--tblr-text-opacity))!important}.text-red{--tblr-text-opacity:1;color:rgba(var(--tblr-red-rgb),var(--tblr-text-opacity))!important}.text-orange{--tblr-text-opacity:1;color:rgba(var(--tblr-orange-rgb),var(--tblr-text-opacity))!important}.text-yellow{--tblr-text-opacity:1;color:rgba(var(--tblr-yellow-rgb),var(--tblr-text-opacity))!important}.text-lime{--tblr-text-opacity:1;color:rgba(var(--tblr-lime-rgb),var(--tblr-text-opacity))!important}.text-green{--tblr-text-opacity:1;color:rgba(var(--tblr-green-rgb),var(--tblr-text-opacity))!important}.text-teal{--tblr-text-opacity:1;color:rgba(var(--tblr-teal-rgb),var(--tblr-text-opacity))!important}.text-cyan{--tblr-text-opacity:1;color:rgba(var(--tblr-cyan-rgb),var(--tblr-text-opacity))!important}.text-facebook{--tblr-text-opacity:1;color:rgba(var(--tblr-facebook-rgb),var(--tblr-text-opacity))!important}.text-twitter{--tblr-text-opacity:1;color:rgba(var(--tblr-twitter-rgb),var(--tblr-text-opacity))!important}.text-linkedin{--tblr-text-opacity:1;color:rgba(var(--tblr-linkedin-rgb),var(--tblr-text-opacity))!important}.text-google{--tblr-text-opacity:1;color:rgba(var(--tblr-google-rgb),var(--tblr-text-opacity))!important}.text-youtube{--tblr-text-opacity:1;color:rgba(var(--tblr-youtube-rgb),var(--tblr-text-opacity))!important}.text-vimeo{--tblr-text-opacity:1;color:rgba(var(--tblr-vimeo-rgb),var(--tblr-text-opacity))!important}.text-dribbble{--tblr-text-opacity:1;color:rgba(var(--tblr-dribbble-rgb),var(--tblr-text-opacity))!important}.text-github{--tblr-text-opacity:1;color:rgba(var(--tblr-github-rgb),var(--tblr-text-opacity))!important}.text-instagram{--tblr-text-opacity:1;color:rgba(var(--tblr-instagram-rgb),var(--tblr-text-opacity))!important}.text-pinterest{--tblr-text-opacity:1;color:rgba(var(--tblr-pinterest-rgb),var(--tblr-text-opacity))!important}.text-vk{--tblr-text-opacity:1;color:rgba(var(--tblr-vk-rgb),var(--tblr-text-opacity))!important}.text-rss{--tblr-text-opacity:1;color:rgba(var(--tblr-rss-rgb),var(--tblr-text-opacity))!important}.text-flickr{--tblr-text-opacity:1;color:rgba(var(--tblr-flickr-rgb),var(--tblr-text-opacity))!important}.text-bitbucket{--tblr-text-opacity:1;color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-text-opacity))!important}.text-tabler{--tblr-text-opacity:1;color:rgba(var(--tblr-tabler-rgb),var(--tblr-text-opacity))!important}.text-black{--tblr-text-opacity:1;color:rgba(var(--tblr-black-rgb),var(--tblr-text-opacity))!important}.text-white{--tblr-text-opacity:1;color:rgba(var(--tblr-white-rgb),var(--tblr-text-opacity))!important}.text-body{--tblr-text-opacity:1;color:rgba(var(--tblr-body-color-rgb),var(--tblr-text-opacity))!important}.text-black-50{--tblr-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--tblr-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--tblr-text-opacity:1;color:inherit!important}.text-opacity-25{--tblr-text-opacity:0.25}.text-opacity-50{--tblr-text-opacity:0.5}.text-opacity-75{--tblr-text-opacity:0.75}.text-opacity-100{--tblr-text-opacity:1}.bg-primary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-primary-rgb),var(--tblr-bg-opacity))!important}.bg-secondary{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-secondary-rgb),var(--tblr-bg-opacity))!important}.bg-success{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-success-rgb),var(--tblr-bg-opacity))!important}.bg-info{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-info-rgb),var(--tblr-bg-opacity))!important}.bg-warning{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-warning-rgb),var(--tblr-bg-opacity))!important}.bg-danger{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-danger-rgb),var(--tblr-bg-opacity))!important}.bg-light{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-light-rgb),var(--tblr-bg-opacity))!important}.bg-dark{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dark-rgb),var(--tblr-bg-opacity))!important}.bg-muted{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-muted-rgb),var(--tblr-bg-opacity))!important}.bg-blue{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-blue-rgb),var(--tblr-bg-opacity))!important}.bg-azure{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-azure-rgb),var(--tblr-bg-opacity))!important}.bg-indigo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-indigo-rgb),var(--tblr-bg-opacity))!important}.bg-purple{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-purple-rgb),var(--tblr-bg-opacity))!important}.bg-pink{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pink-rgb),var(--tblr-bg-opacity))!important}.bg-red{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-red-rgb),var(--tblr-bg-opacity))!important}.bg-orange{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-orange-rgb),var(--tblr-bg-opacity))!important}.bg-yellow{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-yellow-rgb),var(--tblr-bg-opacity))!important}.bg-lime{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-lime-rgb),var(--tblr-bg-opacity))!important}.bg-green{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-green-rgb),var(--tblr-bg-opacity))!important}.bg-teal{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-teal-rgb),var(--tblr-bg-opacity))!important}.bg-cyan{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-cyan-rgb),var(--tblr-bg-opacity))!important}.bg-facebook{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-facebook-rgb),var(--tblr-bg-opacity))!important}.bg-twitter{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-twitter-rgb),var(--tblr-bg-opacity))!important}.bg-linkedin{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-linkedin-rgb),var(--tblr-bg-opacity))!important}.bg-google{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-google-rgb),var(--tblr-bg-opacity))!important}.bg-youtube{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-youtube-rgb),var(--tblr-bg-opacity))!important}.bg-vimeo{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vimeo-rgb),var(--tblr-bg-opacity))!important}.bg-dribbble{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-dribbble-rgb),var(--tblr-bg-opacity))!important}.bg-github{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-github-rgb),var(--tblr-bg-opacity))!important}.bg-instagram{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-instagram-rgb),var(--tblr-bg-opacity))!important}.bg-pinterest{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-pinterest-rgb),var(--tblr-bg-opacity))!important}.bg-vk{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-vk-rgb),var(--tblr-bg-opacity))!important}.bg-rss{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-rss-rgb),var(--tblr-bg-opacity))!important}.bg-flickr{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-flickr-rgb),var(--tblr-bg-opacity))!important}.bg-bitbucket{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-bitbucket-rgb),var(--tblr-bg-opacity))!important}.bg-tabler{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-tabler-rgb),var(--tblr-bg-opacity))!important}.bg-black{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-black-rgb),var(--tblr-bg-opacity))!important}.bg-white{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-white-rgb),var(--tblr-bg-opacity))!important}.bg-body{--tblr-bg-opacity:1;background-color:rgba(var(--tblr-body-bg-rgb),var(--tblr-bg-opacity))!important}.bg-transparent{--tblr-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--tblr-bg-opacity:0.1}.bg-opacity-25{--tblr-bg-opacity:0.25}.bg-opacity-50{--tblr-bg-opacity:0.5}.bg-opacity-75{--tblr-bg-opacity:0.75}.bg-opacity-100{--tblr-bg-opacity:1}.bg-gradient{background-image:var(--tblr-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--tblr-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--tblr-border-radius-sm)!important}.rounded-2{border-radius:var(--tblr-border-radius)!important}.rounded-3{border-radius:var(--tblr-border-radius-lg)!important}.rounded-4{border-radius:var(--tblr-border-radius-xl)!important}.rounded-5{border-radius:var(--tblr-border-radius-2xl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--tblr-border-radius-pill)!important}.rounded-top{border-top-right-radius:var(--tblr-border-radius)!important;border-top-left-radius:var(--tblr-border-radius)!important}.rounded-end{border-top-left-radius:var(--tblr-border-radius)!important;border-bottom-left-radius:var(--tblr-border-radius)!important}.rounded-bottom{border-bottom-left-radius:var(--tblr-border-radius)!important;border-bottom-right-radius:var(--tblr-border-radius)!important}.rounded-start{border-bottom-right-radius:var(--tblr-border-radius)!important;border-top-right-radius:var(--tblr-border-radius)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.object-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-scale-down{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-none{-o-object-fit:none!important;object-fit:none!important}.tracking-tight{letter-spacing:-.05em!important}.tracking-normal{letter-spacing:0!important}.tracking-wide{letter-spacing:.05em!important}.cursor-auto{cursor:auto!important}.cursor-pointer{cursor:pointer!important}.cursor-move{cursor:move!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-zoom-in{cursor:zoom-in!important}.cursor-zoom-out{cursor:zoom-out!important}.cursor-default{cursor:default!important}.cursor-none{cursor:none!important}.cursor-help{cursor:help!important}.cursor-progress{cursor:progress!important}.cursor-wait{cursor:wait!important}.cursor-text{cursor:text!important}.cursor-v-text{cursor:vertical-text!important}.cursor-grab{cursor:-webkit-grab!important;cursor:grab!important}.cursor-grabbing{cursor:-webkit-grabbing!important;cursor:grabbing!important}.border-x{border-right:1px var(--tblr-border-style) rgba(97,104,118,.16)!important;border-left:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-x-wide{border-right:2px var(--tblr-border-style) rgba(97,104,118,.16)!important;border-left:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-x-0{border-right:0!important;border-left:0!important}.border-y{border-top:1px var(--tblr-border-style) rgba(97,104,118,.16)!important;border-bottom:1px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-y-wide{border-top:2px var(--tblr-border-style) rgba(97,104,118,.16)!important;border-bottom:2px var(--tblr-border-style) rgba(97,104,118,.16)!important}.border-y-0{border-top:0!important;border-bottom:0!important}.columns-2{-moz-columns:2!important;columns:2!important}.columns-3{-moz-columns:3!important;columns:3!important}.columns-4{-moz-columns:4!important;columns:4!important}@media (min-width:576px){.float-sm-start{float:right!important}.float-sm-end{float:left!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:2rem!important}.m-sm-5{margin:4rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:2rem!important;margin-right:2rem!important}.mx-sm-5{margin-left:4rem!important;margin-right:4rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:2rem!important;margin-bottom:2rem!important}.my-sm-5{margin-top:4rem!important;margin-bottom:4rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:2rem!important}.mt-sm-5{margin-top:4rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-left:0!important}.me-sm-1{margin-left:.25rem!important}.me-sm-2{margin-left:.5rem!important}.me-sm-3{margin-left:1rem!important}.me-sm-4{margin-left:2rem!important}.me-sm-5{margin-left:4rem!important}.me-sm-auto{margin-left:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:2rem!important}.mb-sm-5{margin-bottom:4rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-right:0!important}.ms-sm-1{margin-right:.25rem!important}.ms-sm-2{margin-right:.5rem!important}.ms-sm-3{margin-right:1rem!important}.ms-sm-4{margin-right:2rem!important}.ms-sm-5{margin-right:4rem!important}.ms-sm-auto{margin-right:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:2rem!important}.p-sm-5{padding:4rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:2rem!important;padding-right:2rem!important}.px-sm-5{padding-left:4rem!important;padding-right:4rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-sm-5{padding-top:4rem!important;padding-bottom:4rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:2rem!important}.pt-sm-5{padding-top:4rem!important}.pe-sm-0{padding-left:0!important}.pe-sm-1{padding-left:.25rem!important}.pe-sm-2{padding-left:.5rem!important}.pe-sm-3{padding-left:1rem!important}.pe-sm-4{padding-left:2rem!important}.pe-sm-5{padding-left:4rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:2rem!important}.pb-sm-5{padding-bottom:4rem!important}.ps-sm-0{padding-right:0!important}.ps-sm-1{padding-right:.25rem!important}.ps-sm-2{padding-right:.5rem!important}.ps-sm-3{padding-right:1rem!important}.ps-sm-4{padding-right:2rem!important}.ps-sm-5{padding-right:4rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:2rem!important}.gap-sm-5{gap:4rem!important}.text-sm-start{text-align:right!important}.text-sm-end{text-align:left!important}.text-sm-center{text-align:center!important}.columns-sm-2{-moz-columns:2!important;columns:2!important}.columns-sm-3{-moz-columns:3!important;columns:3!important}.columns-sm-4{-moz-columns:4!important;columns:4!important}}@media (min-width:768px){.float-md-start{float:right!important}.float-md-end{float:left!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:2rem!important}.m-md-5{margin:4rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:2rem!important;margin-right:2rem!important}.mx-md-5{margin-left:4rem!important;margin-right:4rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:2rem!important;margin-bottom:2rem!important}.my-md-5{margin-top:4rem!important;margin-bottom:4rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:2rem!important}.mt-md-5{margin-top:4rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-left:0!important}.me-md-1{margin-left:.25rem!important}.me-md-2{margin-left:.5rem!important}.me-md-3{margin-left:1rem!important}.me-md-4{margin-left:2rem!important}.me-md-5{margin-left:4rem!important}.me-md-auto{margin-left:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:2rem!important}.mb-md-5{margin-bottom:4rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-right:0!important}.ms-md-1{margin-right:.25rem!important}.ms-md-2{margin-right:.5rem!important}.ms-md-3{margin-right:1rem!important}.ms-md-4{margin-right:2rem!important}.ms-md-5{margin-right:4rem!important}.ms-md-auto{margin-right:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:2rem!important}.p-md-5{padding:4rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:2rem!important;padding-right:2rem!important}.px-md-5{padding-left:4rem!important;padding-right:4rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-md-5{padding-top:4rem!important;padding-bottom:4rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:2rem!important}.pt-md-5{padding-top:4rem!important}.pe-md-0{padding-left:0!important}.pe-md-1{padding-left:.25rem!important}.pe-md-2{padding-left:.5rem!important}.pe-md-3{padding-left:1rem!important}.pe-md-4{padding-left:2rem!important}.pe-md-5{padding-left:4rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:2rem!important}.pb-md-5{padding-bottom:4rem!important}.ps-md-0{padding-right:0!important}.ps-md-1{padding-right:.25rem!important}.ps-md-2{padding-right:.5rem!important}.ps-md-3{padding-right:1rem!important}.ps-md-4{padding-right:2rem!important}.ps-md-5{padding-right:4rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:2rem!important}.gap-md-5{gap:4rem!important}.text-md-start{text-align:right!important}.text-md-end{text-align:left!important}.text-md-center{text-align:center!important}.columns-md-2{-moz-columns:2!important;columns:2!important}.columns-md-3{-moz-columns:3!important;columns:3!important}.columns-md-4{-moz-columns:4!important;columns:4!important}}@media (min-width:992px){.float-lg-start{float:right!important}.float-lg-end{float:left!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:2rem!important}.m-lg-5{margin:4rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:2rem!important;margin-right:2rem!important}.mx-lg-5{margin-left:4rem!important;margin-right:4rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:2rem!important;margin-bottom:2rem!important}.my-lg-5{margin-top:4rem!important;margin-bottom:4rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:2rem!important}.mt-lg-5{margin-top:4rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-left:0!important}.me-lg-1{margin-left:.25rem!important}.me-lg-2{margin-left:.5rem!important}.me-lg-3{margin-left:1rem!important}.me-lg-4{margin-left:2rem!important}.me-lg-5{margin-left:4rem!important}.me-lg-auto{margin-left:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:2rem!important}.mb-lg-5{margin-bottom:4rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-right:0!important}.ms-lg-1{margin-right:.25rem!important}.ms-lg-2{margin-right:.5rem!important}.ms-lg-3{margin-right:1rem!important}.ms-lg-4{margin-right:2rem!important}.ms-lg-5{margin-right:4rem!important}.ms-lg-auto{margin-right:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:2rem!important}.p-lg-5{padding:4rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:2rem!important;padding-right:2rem!important}.px-lg-5{padding-left:4rem!important;padding-right:4rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-lg-5{padding-top:4rem!important;padding-bottom:4rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:2rem!important}.pt-lg-5{padding-top:4rem!important}.pe-lg-0{padding-left:0!important}.pe-lg-1{padding-left:.25rem!important}.pe-lg-2{padding-left:.5rem!important}.pe-lg-3{padding-left:1rem!important}.pe-lg-4{padding-left:2rem!important}.pe-lg-5{padding-left:4rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:2rem!important}.pb-lg-5{padding-bottom:4rem!important}.ps-lg-0{padding-right:0!important}.ps-lg-1{padding-right:.25rem!important}.ps-lg-2{padding-right:.5rem!important}.ps-lg-3{padding-right:1rem!important}.ps-lg-4{padding-right:2rem!important}.ps-lg-5{padding-right:4rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:2rem!important}.gap-lg-5{gap:4rem!important}.text-lg-start{text-align:right!important}.text-lg-end{text-align:left!important}.text-lg-center{text-align:center!important}.columns-lg-2{-moz-columns:2!important;columns:2!important}.columns-lg-3{-moz-columns:3!important;columns:3!important}.columns-lg-4{-moz-columns:4!important;columns:4!important}}@media (min-width:1200px){.float-xl-start{float:right!important}.float-xl-end{float:left!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:2rem!important}.m-xl-5{margin:4rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:2rem!important;margin-right:2rem!important}.mx-xl-5{margin-left:4rem!important;margin-right:4rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:2rem!important;margin-bottom:2rem!important}.my-xl-5{margin-top:4rem!important;margin-bottom:4rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:2rem!important}.mt-xl-5{margin-top:4rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-left:0!important}.me-xl-1{margin-left:.25rem!important}.me-xl-2{margin-left:.5rem!important}.me-xl-3{margin-left:1rem!important}.me-xl-4{margin-left:2rem!important}.me-xl-5{margin-left:4rem!important}.me-xl-auto{margin-left:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:2rem!important}.mb-xl-5{margin-bottom:4rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-right:0!important}.ms-xl-1{margin-right:.25rem!important}.ms-xl-2{margin-right:.5rem!important}.ms-xl-3{margin-right:1rem!important}.ms-xl-4{margin-right:2rem!important}.ms-xl-5{margin-right:4rem!important}.ms-xl-auto{margin-right:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:2rem!important}.p-xl-5{padding:4rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:2rem!important;padding-right:2rem!important}.px-xl-5{padding-left:4rem!important;padding-right:4rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-xl-5{padding-top:4rem!important;padding-bottom:4rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:2rem!important}.pt-xl-5{padding-top:4rem!important}.pe-xl-0{padding-left:0!important}.pe-xl-1{padding-left:.25rem!important}.pe-xl-2{padding-left:.5rem!important}.pe-xl-3{padding-left:1rem!important}.pe-xl-4{padding-left:2rem!important}.pe-xl-5{padding-left:4rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:2rem!important}.pb-xl-5{padding-bottom:4rem!important}.ps-xl-0{padding-right:0!important}.ps-xl-1{padding-right:.25rem!important}.ps-xl-2{padding-right:.5rem!important}.ps-xl-3{padding-right:1rem!important}.ps-xl-4{padding-right:2rem!important}.ps-xl-5{padding-right:4rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:2rem!important}.gap-xl-5{gap:4rem!important}.text-xl-start{text-align:right!important}.text-xl-end{text-align:left!important}.text-xl-center{text-align:center!important}.columns-xl-2{-moz-columns:2!important;columns:2!important}.columns-xl-3{-moz-columns:3!important;columns:3!important}.columns-xl-4{-moz-columns:4!important;columns:4!important}}@media (min-width:1400px){.float-xxl-start{float:right!important}.float-xxl-end{float:left!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:2rem!important}.m-xxl-5{margin:4rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:2rem!important;margin-right:2rem!important}.mx-xxl-5{margin-left:4rem!important;margin-right:4rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:2rem!important;margin-bottom:2rem!important}.my-xxl-5{margin-top:4rem!important;margin-bottom:4rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:2rem!important}.mt-xxl-5{margin-top:4rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-left:0!important}.me-xxl-1{margin-left:.25rem!important}.me-xxl-2{margin-left:.5rem!important}.me-xxl-3{margin-left:1rem!important}.me-xxl-4{margin-left:2rem!important}.me-xxl-5{margin-left:4rem!important}.me-xxl-auto{margin-left:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:2rem!important}.mb-xxl-5{margin-bottom:4rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-right:0!important}.ms-xxl-1{margin-right:.25rem!important}.ms-xxl-2{margin-right:.5rem!important}.ms-xxl-3{margin-right:1rem!important}.ms-xxl-4{margin-right:2rem!important}.ms-xxl-5{margin-right:4rem!important}.ms-xxl-auto{margin-right:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:2rem!important}.p-xxl-5{padding:4rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:2rem!important;padding-right:2rem!important}.px-xxl-5{padding-left:4rem!important;padding-right:4rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:2rem!important;padding-bottom:2rem!important}.py-xxl-5{padding-top:4rem!important;padding-bottom:4rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:2rem!important}.pt-xxl-5{padding-top:4rem!important}.pe-xxl-0{padding-left:0!important}.pe-xxl-1{padding-left:.25rem!important}.pe-xxl-2{padding-left:.5rem!important}.pe-xxl-3{padding-left:1rem!important}.pe-xxl-4{padding-left:2rem!important}.pe-xxl-5{padding-left:4rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:2rem!important}.pb-xxl-5{padding-bottom:4rem!important}.ps-xxl-0{padding-right:0!important}.ps-xxl-1{padding-right:.25rem!important}.ps-xxl-2{padding-right:.5rem!important}.ps-xxl-3{padding-right:1rem!important}.ps-xxl-4{padding-right:2rem!important}.ps-xxl-5{padding-right:4rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:2rem!important}.gap-xxl-5{gap:4rem!important}.text-xxl-start{text-align:right!important}.text-xxl-end{text-align:left!important}.text-xxl-center{text-align:center!important}.columns-xxl-2{-moz-columns:2!important;columns:2!important}.columns-xxl-3{-moz-columns:3!important;columns:3!important}.columns-xxl-4{-moz-columns:4!important;columns:4!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}:host,:root{font-size:16px;height:100%;--tblr-primary:#206bc4;--tblr-primary-fg:var(--tblr-light);--tblr-primary-darken:#1d60b0;--tblr-primary-rgb:32,107,196;--tblr-secondary:#616876;--tblr-secondary-fg:var(--tblr-light);--tblr-secondary-darken:#575e6a;--tblr-secondary-rgb:97,104,118;--tblr-success:#2fb344;--tblr-success-fg:var(--tblr-light);--tblr-success-darken:#2aa13d;--tblr-success-rgb:47,179,68;--tblr-info:#4299e1;--tblr-info-fg:var(--tblr-light);--tblr-info-darken:#3b8acb;--tblr-info-rgb:66,153,225;--tblr-warning:#f76707;--tblr-warning-fg:var(--tblr-light);--tblr-warning-darken:#de5d06;--tblr-warning-rgb:247,103,7;--tblr-danger:#d63939;--tblr-danger-fg:var(--tblr-light);--tblr-danger-darken:#c13333;--tblr-danger-rgb:214,57,57;--tblr-light:#f8fafc;--tblr-light-fg:var(--tblr-dark);--tblr-light-darken:#dfe1e3;--tblr-light-rgb:248,250,252;--tblr-dark:#1d273b;--tblr-dark-fg:var(--tblr-light);--tblr-dark-darken:#1a2335;--tblr-dark-rgb:29,39,59;--tblr-muted:#616876;--tblr-muted-fg:var(--tblr-light);--tblr-muted-darken:#575e6a;--tblr-muted-rgb:97,104,118;--tblr-blue:#206bc4;--tblr-blue-fg:var(--tblr-light);--tblr-blue-darken:#1d60b0;--tblr-blue-rgb:32,107,196;--tblr-azure:#4299e1;--tblr-azure-fg:var(--tblr-light);--tblr-azure-darken:#3b8acb;--tblr-azure-rgb:66,153,225;--tblr-indigo:#4263eb;--tblr-indigo-fg:var(--tblr-light);--tblr-indigo-darken:#3b59d4;--tblr-indigo-rgb:66,99,235;--tblr-purple:#ae3ec9;--tblr-purple-fg:var(--tblr-light);--tblr-purple-darken:#9d38b5;--tblr-purple-rgb:174,62,201;--tblr-pink:#d6336c;--tblr-pink-fg:var(--tblr-light);--tblr-pink-darken:#c12e61;--tblr-pink-rgb:214,51,108;--tblr-red:#d63939;--tblr-red-fg:var(--tblr-light);--tblr-red-darken:#c13333;--tblr-red-rgb:214,57,57;--tblr-orange:#f76707;--tblr-orange-fg:var(--tblr-light);--tblr-orange-darken:#de5d06;--tblr-orange-rgb:247,103,7;--tblr-yellow:#f59f00;--tblr-yellow-fg:var(--tblr-light);--tblr-yellow-darken:#dd8f00;--tblr-yellow-rgb:245,159,0;--tblr-lime:#74b816;--tblr-lime-fg:var(--tblr-light);--tblr-lime-darken:#68a614;--tblr-lime-rgb:116,184,22;--tblr-green:#2fb344;--tblr-green-fg:var(--tblr-light);--tblr-green-darken:#2aa13d;--tblr-green-rgb:47,179,68;--tblr-teal:#0ca678;--tblr-teal-fg:var(--tblr-light);--tblr-teal-darken:#0b956c;--tblr-teal-rgb:12,166,120;--tblr-cyan:#17a2b8;--tblr-cyan-fg:var(--tblr-light);--tblr-cyan-darken:#1592a6;--tblr-cyan-rgb:23,162,184;--tblr-facebook:#3b5998;--tblr-facebook-fg:var(--tblr-light);--tblr-facebook-darken:#355089;--tblr-facebook-rgb:59,89,152;--tblr-twitter:#1da1f2;--tblr-twitter-fg:var(--tblr-light);--tblr-twitter-darken:#1a91da;--tblr-twitter-rgb:29,161,242;--tblr-linkedin:#0a66c2;--tblr-linkedin-fg:var(--tblr-light);--tblr-linkedin-darken:#095caf;--tblr-linkedin-rgb:10,102,194;--tblr-google:#dc4e41;--tblr-google-fg:var(--tblr-light);--tblr-google-darken:#c6463b;--tblr-google-rgb:220,78,65;--tblr-youtube:#ff0000;--tblr-youtube-fg:var(--tblr-light);--tblr-youtube-darken:#e60000;--tblr-youtube-rgb:255,0,0;--tblr-vimeo:#1ab7ea;--tblr-vimeo-fg:var(--tblr-light);--tblr-vimeo-darken:#17a5d3;--tblr-vimeo-rgb:26,183,234;--tblr-dribbble:#ea4c89;--tblr-dribbble-fg:var(--tblr-light);--tblr-dribbble-darken:#d3447b;--tblr-dribbble-rgb:234,76,137;--tblr-github:#181717;--tblr-github-fg:var(--tblr-light);--tblr-github-darken:#161515;--tblr-github-rgb:24,23,23;--tblr-instagram:#e4405f;--tblr-instagram-fg:var(--tblr-light);--tblr-instagram-darken:#cd3a56;--tblr-instagram-rgb:228,64,95;--tblr-pinterest:#bd081c;--tblr-pinterest-fg:var(--tblr-light);--tblr-pinterest-darken:#aa0719;--tblr-pinterest-rgb:189,8,28;--tblr-vk:#6383a8;--tblr-vk-fg:var(--tblr-light);--tblr-vk-darken:#597697;--tblr-vk-rgb:99,131,168;--tblr-rss:#ffa500;--tblr-rss-fg:var(--tblr-light);--tblr-rss-darken:#e69500;--tblr-rss-rgb:255,165,0;--tblr-flickr:#0063dc;--tblr-flickr-fg:var(--tblr-light);--tblr-flickr-darken:#0059c6;--tblr-flickr-rgb:0,99,220;--tblr-bitbucket:#0052cc;--tblr-bitbucket-fg:var(--tblr-light);--tblr-bitbucket-darken:#004ab8;--tblr-bitbucket-rgb:0,82,204;--tblr-tabler:#206bc4;--tblr-tabler-fg:var(--tblr-light);--tblr-tabler-darken:#1d60b0;--tblr-tabler-rgb:32,107,196;--tblr-gray-50:#f8fafc;--tblr-gray-50-fg:var(--tblr-dark);--tblr-gray-50-darken:#dfe1e3;--tblr-gray-50-rgb:248,250,252;--tblr-gray-100:#f1f5f9;--tblr-gray-100-fg:var(--tblr-dark);--tblr-gray-100-darken:#d9dde0;--tblr-gray-100-rgb:241,245,249;--tblr-gray-200:#e2e8f0;--tblr-gray-200-fg:var(--tblr-dark);--tblr-gray-200-darken:#cbd1d8;--tblr-gray-200-rgb:226,232,240;--tblr-gray-300:#c8d3e1;--tblr-gray-300-fg:var(--tblr-dark);--tblr-gray-300-darken:#b4becb;--tblr-gray-300-rgb:200,211,225;--tblr-gray-400:#9ba9be;--tblr-gray-400-fg:var(--tblr-light);--tblr-gray-400-darken:#8c98ab;--tblr-gray-400-rgb:155,169,190;--tblr-gray-500:#6c7a91;--tblr-gray-500-fg:var(--tblr-light);--tblr-gray-500-darken:#616e83;--tblr-gray-500-rgb:108,122,145;--tblr-gray-600:#49566c;--tblr-gray-600-fg:var(--tblr-light);--tblr-gray-600-darken:#424d61;--tblr-gray-600-rgb:73,86,108;--tblr-gray-700:#313c52;--tblr-gray-700-fg:var(--tblr-light);--tblr-gray-700-darken:#2c364a;--tblr-gray-700-rgb:49,60,82;--tblr-gray-800:#1d273b;--tblr-gray-800-fg:var(--tblr-light);--tblr-gray-800-darken:#1a2335;--tblr-gray-800-rgb:29,39,59;--tblr-gray-900:#0f172a;--tblr-gray-900-fg:var(--tblr-light);--tblr-gray-900-darken:#0e1526;--tblr-gray-900-rgb:15,23,42;--tblr-bg-surface:var(--tblr-white);--tblr-bg-surface-secondary:var(--tblr-light);--tblr-bg-surface-dark:var(--tblr-dark);--tblr-bg-forms:var(--tblr-bg-surface);--tblr-border-color:#e6e7e9;--tblr-border-color-light:#f2f3f4;--tblr-border-color-active:#b3b7bd;--tblr-icon-color:var(--tblr-gray-500);--tblr-active-bg:var(--tblr-gray-100);--tblr-disabled-bg:var(--tblr-gray-100);--tblr-disabled-color:var(--tblr-gray-300);--tblr-code-color:var(--tblr-gray-600);--tblr-code-bg:var(--tblr-gray-100);--tblr-dark-mode-border-color:#243049;--tblr-dark-mode-border-color-light:#243049;--tblr-dark-mode-border-color-active:#314264;--tblr-font-weight-light:300;--tblr-font-weight-normal:400;--tblr-font-weight-medium:500;--tblr-font-weight-bold:600;--tblr-font-weight-headings:var(--tblr-font-weight-medium);--tblr-font-size-h1:1.5rem;--tblr-font-size-h2:1.25rem;--tblr-font-size-h3:1rem;--tblr-font-size-h4:0.875rem;--tblr-font-size-h5:0.75rem;--tblr-font-size-h6:0.625rem;--tblr-line-height-h1:2rem;--tblr-line-height-h2:1.75rem;--tblr-line-height-h3:1.5rem;--tblr-line-height-h4:1.25rem;--tblr-line-height-h5:1rem;--tblr-line-height-h6:1rem;--tblr-shadow:rgba(var(--tblr-body-color-rgb), 0.04) 0 2px 4px 0;--tblr-shadow-transparent:0 0 0 0 transparent;--tblr-shadow-button:0 1px 0 rgba(var(--tblr-body-color-rgb), 0.04);--tblr-shadow-button-inset:inset 0 -1px 0 rgba(var(--tblr-body-color-rgb), 0.2);--tblr-shadow-card:0 0 4px rgba(var(--tblr-body-color-rgb), 0.04);--tblr-shadow-card-hover:rgba(var(--tblr-body-color-rgb), 0.16) 0 2px 16px 0}body{overflow-y:scroll;letter-spacing:0;touch-action:manipulation;text-rendering:optimizeLegibility;font-feature-settings:"liga" 0;position:relative;min-height:100%;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media print{body{background:0 0}}::-webkit-scrollbar{width:.5rem;height:.5rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){::-webkit-scrollbar{-webkit-transition:none;transition:none}}::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(var(--tblr-body-color-rgb),.16)}::-webkit-scrollbar-track{background:rgba(var(--tblr-body-color-rgb),.06)}:hover::-webkit-scrollbar-thumb{background:rgba(var(--tblr-body-color-rgb),.32)}::-webkit-scrollbar-corner{background:0 0}.layout-fluid .container,.layout-fluid [class*=" container-"],.layout-fluid [class^=container-]{max-width:100%}.layout-boxed{--tblr-theme-boxed-border-radius:0;--tblr-theme-boxed-width:1320px}@media (min-width:768px){.layout-boxed{background:#1d273b linear-gradient(to left,rgba(255,255,255,.1),transparent) fixed;padding:1rem;--tblr-theme-boxed-border-radius:4px}}.layout-boxed .page{margin:0 auto;max-width:var(--tblr-theme-boxed-width);border-radius:var(--tblr-theme-boxed-border-radius);color:#1d273b}@media (min-width:768px){.layout-boxed .page{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background:var(--tblr-body-bg)}}.layout-boxed .page>.navbar:first-child{border-top-right-radius:var(--tblr-theme-boxed-border-radius);border-top-left-radius:var(--tblr-theme-boxed-border-radius)}.navbar{--tblr-navbar-border-width:var(--tblr-border-width);--tblr-navbar-active-border-color:var(--tblr-primary);--tblr-navbar-active-bg:rgba(0, 0, 0, 0.06);--tblr-navbar-bg:transparent;align-items:stretch;min-height:3.5rem;box-shadow:inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color);background:var(--tblr-navbar-bg);--tblr-navbar-active-bg:rgba(0, 0, 0, 0.06);--tblr-navbar-bg:transparent;color:var(--tblr-body-color)}.navbar-collapse .navbar{flex-grow:1}.navbar.collapsing{min-height:0}.navbar .navbar-brand{color:var(--tblr-body-color)}.navbar .navbar-brand:focus,.navbar .navbar-brand:hover{color:var(--tblr-body-color);opacity:.8}.navbar .navbar-nav .nav-link{color:var(--tblr-body-color)}.navbar .navbar-nav .nav-link:focus,.navbar .navbar-nav .nav-link:hover{color:var(--tblr-body-color) color}.navbar .navbar-nav .nav-link.disabled{color:var(--tblr-disabled-color)}.navbar .navbar-nav .active>.nav-link,.navbar .navbar-nav .nav-link.active,.navbar .navbar-nav .nav-link.show,.navbar .navbar-nav .show>.nav-link{color:var(--tblr-body-color) color}.navbar .navbar-toggler{color:var(--tblr-body-color);border-color:transparent}.navbar .navbar-text{color:var(--tblr-body-color)}.navbar .navbar-text a,.navbar .navbar-text a:focus,.navbar .navbar-text a:hover{color:var(--tblr-body-color)}@media not print{.theme-dark .navbar{--tblr-navbar-border-color:#243049;--tblr-navbar-bg:#1d273b;--tblr-navbar-active-bg:rgba(255, 255, 255, 0.06);--tblr-navbar-bg:#1d273b;color:rgba(255,255,255,.7)}.theme-dark .navbar .navbar-brand{color:#fff}.theme-dark .navbar .navbar-brand:focus,.theme-dark .navbar .navbar-brand:hover{color:#fff;opacity:.8}.theme-dark .navbar .navbar-nav .nav-link{color:rgba(255,255,255,.7)}.theme-dark .navbar .navbar-nav .nav-link:focus,.theme-dark .navbar .navbar-nav .nav-link:hover{color:#fff}.theme-dark .navbar .navbar-nav .nav-link.disabled{color:var(--tblr-disabled-color)}.theme-dark .navbar .navbar-nav .active>.nav-link,.theme-dark .navbar .navbar-nav .nav-link.active,.theme-dark .navbar .navbar-nav .nav-link.show,.theme-dark .navbar .navbar-nav .show>.nav-link{color:#fff}.theme-dark .navbar .navbar-toggler{color:#fff;border-color:transparent}.theme-dark .navbar .navbar-text{color:rgba(255,255,255,.7)}.theme-dark .navbar .navbar-text a,.theme-dark .navbar .navbar-text a:focus,.theme-dark .navbar .navbar-text a:hover{color:rgba(255,255,255,.7)}.theme-dark .navbar::-webkit-scrollbar{width:.5rem;height:.5rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.theme-dark .navbar::-webkit-scrollbar{-webkit-transition:none;transition:none}}.theme-dark .navbar::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(var(--tblr-body-color-rgb),.16)}.theme-dark .navbar::-webkit-scrollbar-track{background:rgba(var(--tblr-body-color-rgb),.06)}.theme-dark .navbar:hover::-webkit-scrollbar-thumb{background:rgba(var(--tblr-body-color-rgb),.32)}.theme-dark .navbar::-webkit-scrollbar-corner{background:0 0}}@media not print{@media (prefers-color-scheme:dark){.theme-dark-auto .navbar{--tblr-navbar-border-color:#243049;--tblr-navbar-bg:#1d273b;--tblr-navbar-active-bg:rgba(255, 255, 255, 0.06);--tblr-navbar-bg:#1d273b;color:rgba(255,255,255,.7)}.theme-dark-auto .navbar .navbar-brand{color:#fff}.theme-dark-auto .navbar .navbar-brand:focus,.theme-dark-auto .navbar .navbar-brand:hover{color:#fff;opacity:.8}.theme-dark-auto .navbar .navbar-nav .nav-link{color:rgba(255,255,255,.7)}.theme-dark-auto .navbar .navbar-nav .nav-link:focus,.theme-dark-auto .navbar .navbar-nav .nav-link:hover{color:#fff}.theme-dark-auto .navbar .navbar-nav .nav-link.disabled{color:var(--tblr-disabled-color)}.theme-dark-auto .navbar .navbar-nav .active>.nav-link,.theme-dark-auto .navbar .navbar-nav .nav-link.active,.theme-dark-auto .navbar .navbar-nav .nav-link.show,.theme-dark-auto .navbar .navbar-nav .show>.nav-link{color:#fff}.theme-dark-auto .navbar .navbar-toggler{color:#fff;border-color:transparent}.theme-dark-auto .navbar .navbar-text{color:rgba(255,255,255,.7)}.theme-dark-auto .navbar .navbar-text a,.theme-dark-auto .navbar .navbar-text a:focus,.theme-dark-auto .navbar .navbar-text a:hover{color:rgba(255,255,255,.7)}.theme-dark-auto .navbar::-webkit-scrollbar{width:.5rem;height:.5rem;-webkit-transition:background .3s;transition:background .3s}}@media (prefers-color-scheme:dark) and (prefers-reduced-motion:reduce){.theme-dark-auto .navbar::-webkit-scrollbar{-webkit-transition:none;transition:none}}@media (prefers-color-scheme:dark){.theme-dark-auto .navbar::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(var(--tblr-body-color-rgb),.16)}}@media (prefers-color-scheme:dark){.theme-dark-auto .navbar::-webkit-scrollbar-track{background:rgba(var(--tblr-body-color-rgb),.06)}}@media (prefers-color-scheme:dark){.theme-dark-auto .navbar:hover::-webkit-scrollbar-thumb{background:rgba(var(--tblr-body-color-rgb),.32)}}@media (prefers-color-scheme:dark){.theme-dark-auto .navbar::-webkit-scrollbar-corner{background:0 0}}}.navbar .dropdown-menu{position:absolute;z-index:1030}.navbar .navbar-nav{min-height:3rem}.navbar .navbar-nav .nav-link{position:relative;min-width:2rem;min-height:2rem;justify-content:center;border-radius:var(--tblr-border-radius)}.navbar .navbar-nav .nav-link .badge{position:absolute;top:.375rem;left:.375rem;transform:translate(-50%,-50%)}.navbar-nav{margin:0;padding:0}@media (max-width:575.98px){.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-sm .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:2.5rem;color:inherit}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:4rem}.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:5.5rem}.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:576px){.navbar-expand-sm .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-sm .navbar-light .nav-item.active,.navbar-expand-sm.navbar-light .nav-item.active{position:relative}.navbar-expand-sm .navbar-light .nav-item.active:after,.navbar-expand-sm.navbar-light .nav-item.active:after{content:"";position:absolute;right:0;left:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-sm.navbar-vertical{box-shadow:inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical.navbar-right{box-shadow:inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-sm.navbar-vertical~.navbar,.navbar-expand-sm.navbar-vertical~.page-wrapper{margin-right:15rem}.navbar-expand-sm.navbar-vertical.navbar-right~.navbar,.navbar-expand-sm.navbar-vertical.navbar-right~.page-wrapper{margin-right:0;margin-left:15rem}}@media (max-width:767.98px){.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-md .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:2.5rem;color:inherit}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:4rem}.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:5.5rem}.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:768px){.navbar-expand-md .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-md .navbar-light .nav-item.active,.navbar-expand-md.navbar-light .nav-item.active{position:relative}.navbar-expand-md .navbar-light .nav-item.active:after,.navbar-expand-md.navbar-light .nav-item.active:after{content:"";position:absolute;right:0;left:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-md.navbar-vertical{box-shadow:inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical.navbar-right{box-shadow:inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-md.navbar-vertical~.navbar,.navbar-expand-md.navbar-vertical~.page-wrapper{margin-right:15rem}.navbar-expand-md.navbar-vertical.navbar-right~.navbar,.navbar-expand-md.navbar-vertical.navbar-right~.page-wrapper{margin-right:0;margin-left:15rem}}@media (max-width:991.98px){.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-lg .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:2.5rem;color:inherit}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:4rem}.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:5.5rem}.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:992px){.navbar-expand-lg .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-lg .navbar-light .nav-item.active,.navbar-expand-lg.navbar-light .nav-item.active{position:relative}.navbar-expand-lg .navbar-light .nav-item.active:after,.navbar-expand-lg.navbar-light .nav-item.active:after{content:"";position:absolute;right:0;left:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-lg.navbar-vertical{box-shadow:inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical.navbar-right{box-shadow:inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-lg.navbar-vertical~.navbar,.navbar-expand-lg.navbar-vertical~.page-wrapper{margin-right:15rem}.navbar-expand-lg.navbar-vertical.navbar-right~.navbar,.navbar-expand-lg.navbar-vertical.navbar-right~.page-wrapper{margin-right:0;margin-left:15rem}}@media (max-width:1199.98px){.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xl .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:2.5rem;color:inherit}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:4rem}.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:5.5rem}.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:1200px){.navbar-expand-xl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xl .navbar-light .nav-item.active,.navbar-expand-xl.navbar-light .nav-item.active{position:relative}.navbar-expand-xl .navbar-light .nav-item.active:after,.navbar-expand-xl.navbar-light .nav-item.active:after{content:"";position:absolute;right:0;left:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xl.navbar-vertical{box-shadow:inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical.navbar-right{box-shadow:inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xl.navbar-vertical~.navbar,.navbar-expand-xl.navbar-vertical~.page-wrapper{margin-right:15rem}.navbar-expand-xl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xl.navbar-vertical.navbar-right~.page-wrapper{margin-right:0;margin-left:15rem}}@media (max-width:1399.98px){.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:2.5rem;color:inherit}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:4rem}.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:5.5rem}.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:1400px){.navbar-expand-xxl .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand-xxl .navbar-light .nav-item.active,.navbar-expand-xxl.navbar-light .nav-item.active{position:relative}.navbar-expand-xxl .navbar-light .nav-item.active:after,.navbar-expand-xxl.navbar-light .nav-item.active:after{content:"";position:absolute;right:0;left:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand-xxl.navbar-vertical{box-shadow:inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical.navbar-right{box-shadow:inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand-xxl.navbar-vertical~.navbar,.navbar-expand-xxl.navbar-vertical~.page-wrapper{margin-right:15rem}.navbar-expand-xxl.navbar-vertical.navbar-right~.navbar,.navbar-expand-xxl.navbar-vertical.navbar-right~.page-wrapper{margin-right:0;margin-left:15rem}}.navbar-expand .navbar-collapse{flex-direction:column}.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-expand .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:2.5rem;color:inherit}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:4rem}.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:5.5rem}.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}.navbar-expand .navbar-collapse{width:auto;flex:1 1 auto}.navbar-expand .navbar-light .nav-item.active,.navbar-expand.navbar-light .nav-item.active{position:relative}.navbar-expand .navbar-light .nav-item.active:after,.navbar-expand.navbar-light .nav-item.active:after{content:"";position:absolute;right:0;left:0;bottom:-.25rem;border:0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);border-bottom-width:2px}.navbar-expand.navbar-vertical{box-shadow:inset calc(-1*(-1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical.navbar-right{box-shadow:inset calc(-1*(1 * var(--tblr-navbar-border-width))) 0 0 0 var(--tblr-navbar-border-color)}.navbar-expand.navbar-vertical~.navbar,.navbar-expand.navbar-vertical~.page-wrapper{margin-right:15rem}.navbar-expand.navbar-vertical.navbar-right~.navbar,.navbar-expand.navbar-vertical.navbar-right~.page-wrapper{margin-right:0;margin-left:15rem}.navbar-brand{display:inline-flex;align-items:center;font-weight:var(--tblr-font-weight-bold);margin:0;line-height:1}.navbar-brand-image{height:2rem;width:auto}.navbar-toggler{border:0;width:2rem;height:2rem;position:relative;display:flex;align-items:center;justify-content:center}.navbar-toggler-icon{height:2px;width:1.25em;background:currentColor;border-radius:10px;transition:top .2s .2s,bottom .2s .2s,transform .2s,opacity 0s .2s;position:relative}@media (prefers-reduced-motion:reduce){.navbar-toggler-icon{transition:none}}.navbar-toggler-icon:after,.navbar-toggler-icon:before{content:"";display:block;height:inherit;width:inherit;border-radius:inherit;background:inherit;position:absolute;right:0;transition:inherit}@media (prefers-reduced-motion:reduce){.navbar-toggler-icon:after,.navbar-toggler-icon:before{transition:none}}.navbar-toggler-icon:before{top:-.45em}.navbar-toggler-icon:after{bottom:-.45em}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transform:rotate(-45deg);transition:top .3s,bottom .3s,transform .3s .3s,opacity 0s .3s}@media (prefers-reduced-motion:reduce){.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{transition:none}}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before{top:0;transform:rotate(90deg)}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after{bottom:0;opacity:0}.navbar-light{--tblr-navbar-border-color:var(--tblr-border-color);--tblr-navbar-bg:var(--tblr-bg-surface)}.navbar-dark{--tblr-navbar-border-color:#243049;--tblr-navbar-bg:#1d273b;--tblr-navbar-active-bg:rgba(255, 255, 255, 0.06);--tblr-navbar-bg:#1d273b;color:rgba(255,255,255,.7)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff;opacity:.8}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.7)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#fff}.navbar-dark .navbar-nav .nav-link.disabled{color:var(--tblr-disabled-color)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:#fff;border-color:transparent}.navbar-dark .navbar-text{color:rgba(255,255,255,.7)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:rgba(255,255,255,.7)}.navbar-dark::-webkit-scrollbar{width:.5rem;height:.5rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.navbar-dark::-webkit-scrollbar{-webkit-transition:none;transition:none}}.navbar-dark::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(var(--tblr-body-color-rgb),.16)}.navbar-dark::-webkit-scrollbar-track{background:rgba(var(--tblr-body-color-rgb),.06)}.navbar-dark:hover::-webkit-scrollbar-thumb{background:rgba(var(--tblr-body-color-rgb),.32)}.navbar-dark::-webkit-scrollbar-corner{background:0 0}.navbar-transparent{--tblr-navbar-border-color:transparent!important;background:0 0!important}.navbar-nav{align-items:stretch}.navbar-nav .nav-item{display:flex;flex-direction:column;justify-content:center}.navbar-side{margin:0;display:flex;flex-direction:row;align-items:center;justify-content:space-around}@media (min-width:576px){.navbar-vertical.navbar-expand-sm{width:15rem;position:fixed;top:0;right:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-x:auto;padding:0}}@media (min-width:576px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-sm{transition:none}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm.navbar-right{right:auto;left:0}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm .navbar-brand{padding:.75rem 0;justify-content:center}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm .navbar-collapse{align-items:stretch}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-sm .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm~.page{padding-right:15rem}.navbar-vertical.navbar-expand-sm~.page [class^=container]{padding-right:1.5rem;padding-left:1.5rem}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm.navbar-right~.page{padding-right:0;padding-left:15rem}}@media (min-width:576px){.navbar-vertical.navbar-expand-sm .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:2.5rem;color:inherit}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:4rem}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:5.5rem}.navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:768px){.navbar-vertical.navbar-expand-md{width:15rem;position:fixed;top:0;right:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-x:auto;padding:0}}@media (min-width:768px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-md{transition:none}}@media (min-width:768px){.navbar-vertical.navbar-expand-md.navbar-right{right:auto;left:0}}@media (min-width:768px){.navbar-vertical.navbar-expand-md .navbar-brand{padding:.75rem 0;justify-content:center}}@media (min-width:768px){.navbar-vertical.navbar-expand-md .navbar-collapse{align-items:stretch}}@media (min-width:768px){.navbar-vertical.navbar-expand-md .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-md .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}}@media (min-width:768px){.navbar-vertical.navbar-expand-md>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}}@media (min-width:768px){.navbar-vertical.navbar-expand-md~.page{padding-right:15rem}.navbar-vertical.navbar-expand-md~.page [class^=container]{padding-right:1.5rem;padding-left:1.5rem}}@media (min-width:768px){.navbar-vertical.navbar-expand-md.navbar-right~.page{padding-right:0;padding-left:15rem}}@media (min-width:768px){.navbar-vertical.navbar-expand-md .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:2.5rem;color:inherit}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:4rem}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:5.5rem}.navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg{width:15rem;position:fixed;top:0;right:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-x:auto;padding:0}}@media (min-width:992px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-lg{transition:none}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg.navbar-right{right:auto;left:0}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg .navbar-brand{padding:.75rem 0;justify-content:center}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg .navbar-collapse{align-items:stretch}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-lg .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg~.page{padding-right:15rem}.navbar-vertical.navbar-expand-lg~.page [class^=container]{padding-right:1.5rem;padding-left:1.5rem}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg.navbar-right~.page{padding-right:0;padding-left:15rem}}@media (min-width:992px){.navbar-vertical.navbar-expand-lg .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:2.5rem;color:inherit}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:4rem}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:5.5rem}.navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl{width:15rem;position:fixed;top:0;right:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-x:auto;padding:0}}@media (min-width:1200px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xl{transition:none}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl.navbar-right{right:auto;left:0}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl .navbar-brand{padding:.75rem 0;justify-content:center}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl .navbar-collapse{align-items:stretch}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl~.page{padding-right:15rem}.navbar-vertical.navbar-expand-xl~.page [class^=container]{padding-right:1.5rem;padding-left:1.5rem}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl.navbar-right~.page{padding-right:0;padding-left:15rem}}@media (min-width:1200px){.navbar-vertical.navbar-expand-xl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:2.5rem;color:inherit}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:4rem}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:5.5rem}.navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl{width:15rem;position:fixed;top:0;right:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-x:auto;padding:0}}@media (min-width:1400px) and (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand-xxl{transition:none}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl.navbar-right{right:auto;left:0}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl .navbar-brand{padding:.75rem 0;justify-content:center}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl .navbar-collapse{align-items:stretch}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl~.page{padding-right:15rem}.navbar-vertical.navbar-expand-xxl~.page [class^=container]{padding-right:1.5rem;padding-left:1.5rem}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl.navbar-right~.page{padding-right:0;padding-left:15rem}}@media (min-width:1400px){.navbar-vertical.navbar-expand-xxl .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:2.5rem;color:inherit}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:4rem}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:5.5rem}.navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}}.navbar-vertical.navbar-expand{width:15rem;position:fixed;top:0;right:0;bottom:0;z-index:1030;align-items:flex-start;transition:transform .3s;overflow-x:auto;padding:0}@media (prefers-reduced-motion:reduce){.navbar-vertical.navbar-expand{transition:none}}.navbar-vertical.navbar-expand.navbar-right{right:auto;left:0}.navbar-vertical.navbar-expand .navbar-brand{padding:.75rem 0;justify-content:center}.navbar-vertical.navbar-expand .navbar-collapse{align-items:stretch}.navbar-vertical.navbar-expand .navbar-nav{flex-direction:column;flex-grow:1;min-height:auto}.navbar-vertical.navbar-expand .navbar-nav .nav-link{padding-top:.5rem;padding-bottom:.5rem}.navbar-vertical.navbar-expand>[class^=container]{flex-direction:column;align-items:stretch;min-height:100%;justify-content:flex-start;padding:0}.navbar-vertical.navbar-expand~.page{padding-right:15rem}.navbar-vertical.navbar-expand~.page [class^=container]{padding-right:1.5rem;padding-left:1.5rem}.navbar-vertical.navbar-expand.navbar-right~.page{padding-right:0;padding-left:15rem}.navbar-vertical.navbar-expand .navbar-collapse{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse [class^=container]{flex-direction:column;align-items:stretch;padding:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav{margin-right:0;margin-left:0}.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link{padding:.5rem .75rem;justify-content:flex-start}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns{flex-direction:column}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu{padding:0;background:0 0;position:static;color:inherit;box-shadow:none;border:none;min-width:0;margin:0}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item{min-width:0;display:flex;width:auto;padding-right:2.5rem;color:inherit}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active,.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active{background:var(--tblr-navbar-active-bg)}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item{padding-right:4rem}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item{padding-right:5.5rem}.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after{margin-right:auto}.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after{border-bottom-width:0;border-right-width:3px;left:auto;top:0;bottom:0}.navbar-overlap:after{content:"";height:9rem;position:absolute;top:100%;right:0;left:0;background:inherit;z-index:-1;box-shadow:inherit}.page{display:flex;flex-direction:column;position:relative;min-height:100%}.page-center{justify-content:center}.page-wrapper{flex:1;display:flex;flex-direction:column}@media print{.page-wrapper{margin:0!important}}.page-wrapper-full .page-body:first-child{margin:0;border-top:0}.page-body{margin-top:1.25rem;margin-bottom:1.25rem}.page-body-card{background:var(--tblr-bg-surface);border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding:1.25rem 0;margin-bottom:0;flex:1}.page-body~.page-body-card{margin-top:0}.page-cover{background:no-repeat center/cover;min-height:9rem}@media (min-width:768px){.page-cover{min-height:12rem}}@media (min-width:992px){.page-cover{min-height:15rem}}.page-cover-overlay{position:relative}.page-cover-overlay:after{content:"";position:absolute;top:0;right:0;left:0;bottom:0;background-image:linear-gradient(-180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 100%)}.page-header{display:flex;flex-wrap:wrap;min-height:2.25rem;flex-direction:column;justify-content:center}.page-wrapper .page-header{margin:1.25rem 0 0}.page-header-border{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding:1.25rem 0;margin:0!important;background-color:var(--tblr-bg-surface)}.page-pretitle{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted)}.page-title{margin:0;font-size:1.25rem;line-height:1.75rem;font-weight:var(--tblr-font-weight-bold);color:inherit;display:flex;align-items:center}.page-title svg{width:1.5rem;height:1.5rem;margin-left:.25rem}.page-title-lg{font-size:1.5rem;line-height:2rem}.page-subtitle{margin-top:.25rem;color:#616876}.page-tabs{margin-top:.5rem;position:relative}.page-header-tabs .nav-bordered{border:0}.page-header-tabs+.page-body-card{margin-top:0}.footer{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);background-color:#fff;padding:2rem 0;color:var(--tblr-muted);margin-top:auto}.footer-transparent{background-color:transparent;border-top:0}/*! - * Tabler (v0.9.0): _dark.scss - * Copyright 2018-2021 The Tabler Authors - * Copyright 2018-2021 codecalm - * Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) - */body:not(.theme-dark) .hide-theme-light{display:none!important}@media not print{.theme-dark{--tblr-body-color:#f8fafc;--tblr-body-color-rgb:248,250,252;--tblr-muted:rgba(153, 159, 164, 1);--tblr-body-bg:#1a2234;--tblr-body-bg-rgb:26,34,52;--tblr-bg-forms:#1a2234;--tblr-bg-surface:#1d273b;--tblr-bg-surface-dark:#1a2234;--tblr-bg-surface-secondary:#1a2234;--tblr-link-color:#307fdd;--tblr-link-hover-color:#206bc4;--tblr-active-bg:#202c42;--tblr-disabled-color:var(--tblr-gray-700);--tblr-card-bg:#1a2234;--tblr-card-bg-hover:#1a2234;--tblr-card-bg-rgb:26,34,52;--tblr-card-color:#f8fafc;--tblr-border-color:var(--tblr-dark-mode-border-color);--tblr-border-color-light:var(--tblr-dark-mode-border-color-light);--tblr-border-color-active:var(--tblr-dark-mode-border-color-active);--tblr-btn-color:#1a2234;--tblr-code-color:var(--tblr-body-color);--tblr-code-bg:#243049;color:#f8fafc;background-color:#1a2234}.theme-dark .page{color:#f8fafc}.theme-dark .hide-theme-dark{display:none!important}.theme-dark .text-body{color:#f8fafc!important}.theme-dark .alert:not(.alert-important),.theme-dark .card,.theme-dark .card-footer,.theme-dark .card-stacked::after,.theme-dark .dropdown-menu,.theme-dark .footer:not(.footer-transparent),.theme-dark .modal-content,.theme-dark .modal-header,.theme-dark .toast,.theme-dark .toast-header{background-color:var(--tblr-bg-surface);color:inherit}.theme-dark .modal{--tblr-modal-border-color:var(--tblr-border-color)}.theme-dark .bg-light{background-color:#1a2234!important}.theme-dark .card-tabs .nav-tabs .nav-link{background-color:#1a2234;color:inherit}.theme-dark .card-tabs .nav-tabs .nav-link.active{background-color:#1d273b;color:inherit}.theme-dark .form-check-input:not(:checked),.theme-dark .form-control,.theme-dark .form-file-text,.theme-dark .form-select,.theme-dark .form-selectgroup-check{background-color:#1a2234;color:#f8fafc;border-color:#243049}.theme-dark .form-control-plaintext{color:#f8fafc}.theme-dark .input-group-flat .input-group-text{background-color:#1a2234}.theme-dark .input-group-text{border-color:#243049}.theme-dark .highlight{background-color:#1a2234}.theme-dark .avatar{--tblr-avatar-bg:#202c42}.theme-dark .accordion-button,.theme-dark .markdown,.theme-dark .markdown>*{color:inherit}.theme-dark .accordion-button:after,.theme-dark .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}.theme-dark .apexcharts-text{fill:#f8fafc}.theme-dark .apexcharts-gridline{stroke:var(--tblr-border-color)}.theme-dark .apexcharts-legend-text{color:inherit!important}.theme-dark .navbar-brand-autodark{filter:brightness(0) invert(1)}.theme-dark .input-group-text,.theme-dark .markdown>table thead th,.theme-dark .table thead th{background:0 0}.theme-dark .list-group-header{background:#1a2234}.theme-dark .list-group-item:not(.disabled):not(:disabled){color:#f8fafc}.theme-dark .list-group-item.disabled,.theme-dark .list-group-item:disabled{color:#49566c}.theme-dark .apexcharts-radialbar-area{stroke:#243049}.theme-dark .form-control.is-invalid,.theme-dark .was-validated .form-control:invalid{border-color:var(--tblr-danger)}.theme-dark .form-control.is-valid,.theme-dark .was-validated .form-control:valid{border-color:var(--tblr-success)}}@media not print{@media (prefers-color-scheme:dark){.theme-dark-auto{--tblr-body-color:#f8fafc;--tblr-body-color-rgb:248,250,252;--tblr-muted:rgba(153, 159, 164, 1);--tblr-body-bg:#1a2234;--tblr-body-bg-rgb:26,34,52;--tblr-bg-forms:#1a2234;--tblr-bg-surface:#1d273b;--tblr-bg-surface-dark:#1a2234;--tblr-bg-surface-secondary:#1a2234;--tblr-link-color:#307fdd;--tblr-link-hover-color:#206bc4;--tblr-active-bg:#202c42;--tblr-disabled-color:var(--tblr-gray-700);--tblr-card-bg:#1a2234;--tblr-card-bg-hover:#1a2234;--tblr-card-bg-rgb:26,34,52;--tblr-card-color:#f8fafc;--tblr-border-color:var(--tblr-dark-mode-border-color);--tblr-border-color-light:var(--tblr-dark-mode-border-color-light);--tblr-border-color-active:var(--tblr-dark-mode-border-color-active);--tblr-btn-color:#1a2234;--tblr-code-color:var(--tblr-body-color);--tblr-code-bg:#243049;color:#f8fafc;background-color:#1a2234}.theme-dark-auto .page{color:#f8fafc}.theme-dark-auto .hide-theme-dark{display:none!important}.theme-dark-auto .text-body{color:#f8fafc!important}.theme-dark-auto .alert:not(.alert-important),.theme-dark-auto .card,.theme-dark-auto .card-footer,.theme-dark-auto .card-stacked::after,.theme-dark-auto .dropdown-menu,.theme-dark-auto .footer:not(.footer-transparent),.theme-dark-auto .modal-content,.theme-dark-auto .modal-header,.theme-dark-auto .toast,.theme-dark-auto .toast-header{background-color:var(--tblr-bg-surface);color:inherit}.theme-dark-auto .modal{--tblr-modal-border-color:var(--tblr-border-color)}.theme-dark-auto .bg-light{background-color:#1a2234!important}.theme-dark-auto .card-tabs .nav-tabs .nav-link{background-color:#1a2234;color:inherit}.theme-dark-auto .card-tabs .nav-tabs .nav-link.active{background-color:#1d273b;color:inherit}.theme-dark-auto .form-check-input:not(:checked),.theme-dark-auto .form-control,.theme-dark-auto .form-file-text,.theme-dark-auto .form-select,.theme-dark-auto .form-selectgroup-check{background-color:#1a2234;color:#f8fafc;border-color:#243049}.theme-dark-auto .form-control-plaintext{color:#f8fafc}.theme-dark-auto .input-group-flat .input-group-text{background-color:#1a2234}.theme-dark-auto .input-group-text{border-color:#243049}.theme-dark-auto .highlight{background-color:#1a2234}.theme-dark-auto .avatar{--tblr-avatar-bg:#202c42}.theme-dark-auto .accordion-button,.theme-dark-auto .markdown,.theme-dark-auto .markdown>*{color:inherit}.theme-dark-auto .accordion-button:after,.theme-dark-auto .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}.theme-dark-auto .apexcharts-text{fill:#f8fafc}.theme-dark-auto .apexcharts-gridline{stroke:var(--tblr-border-color)}.theme-dark-auto .apexcharts-legend-text{color:inherit!important}.theme-dark-auto .navbar-brand-autodark{filter:brightness(0) invert(1)}.theme-dark-auto .input-group-text,.theme-dark-auto .markdown>table thead th,.theme-dark-auto .table thead th{background:0 0}.theme-dark-auto .list-group-header{background:#1a2234}.theme-dark-auto .list-group-item:not(.disabled):not(:disabled){color:#f8fafc}.theme-dark-auto .list-group-item.disabled,.theme-dark-auto .list-group-item:disabled{color:#49566c}.theme-dark-auto .apexcharts-radialbar-area{stroke:#243049}.theme-dark-auto .form-control.is-invalid,.theme-dark-auto .was-validated .form-control:invalid{border-color:var(--tblr-danger)}.theme-dark-auto .form-control.is-valid,.theme-dark-auto .was-validated .form-control:valid{border-color:var(--tblr-success)}}}.accordion{--tblr-accordion-color:var(--tblr-body-color)}.accordion-button:focus:not(:focus-visible){outline:0;box-shadow:none}.accordion-button:after{opacity:.7}.accordion-button:not(.collapsed){font-weight:var(--tblr-font-weight-bold);border-bottom-color:transparent;box-shadow:none}.accordion-button:not(.collapsed):after{opacity:1}.alert{--tblr-alert-color:#616876;background:#fff;border:1px var(--tblr-border-style) var(--tblr-border-color-translucent);border-right:.25rem var(--tblr-border-style) var(--tblr-alert-color);box-shadow:rgba(29,39,59,.04) 0 2px 4px 0}.alert>:last-child{margin-bottom:0}.alert-important{border-color:transparent;background:var(--tblr-alert-color);color:#fff}.alert-important .alert-icon,.alert-important .alert-link{color:inherit}.alert-important .alert-link:hover{color:inherit}.alert-link,.alert-link:hover{color:var(--tblr-alert-color)}.alert-primary{--tblr-alert-color:#206bc4}.alert-secondary{--tblr-alert-color:#616876}.alert-success{--tblr-alert-color:#2fb344}.alert-info{--tblr-alert-color:#4299e1}.alert-warning{--tblr-alert-color:#f76707}.alert-danger{--tblr-alert-color:#d63939}.alert-light{--tblr-alert-color:#f8fafc}.alert-dark{--tblr-alert-color:#1d273b}.alert-muted{--tblr-alert-color:#616876}.alert-blue{--tblr-alert-color:#206bc4}.alert-azure{--tblr-alert-color:#4299e1}.alert-indigo{--tblr-alert-color:#4263eb}.alert-purple{--tblr-alert-color:#ae3ec9}.alert-pink{--tblr-alert-color:#d6336c}.alert-red{--tblr-alert-color:#d63939}.alert-orange{--tblr-alert-color:#f76707}.alert-yellow{--tblr-alert-color:#f59f00}.alert-lime{--tblr-alert-color:#74b816}.alert-green{--tblr-alert-color:#2fb344}.alert-teal{--tblr-alert-color:#0ca678}.alert-cyan{--tblr-alert-color:#17a2b8}.alert-facebook{--tblr-alert-color:#3b5998}.alert-twitter{--tblr-alert-color:#1da1f2}.alert-linkedin{--tblr-alert-color:#0a66c2}.alert-google{--tblr-alert-color:#dc4e41}.alert-youtube{--tblr-alert-color:#ff0000}.alert-vimeo{--tblr-alert-color:#1ab7ea}.alert-dribbble{--tblr-alert-color:#ea4c89}.alert-github{--tblr-alert-color:#181717}.alert-instagram{--tblr-alert-color:#e4405f}.alert-pinterest{--tblr-alert-color:#bd081c}.alert-vk{--tblr-alert-color:#6383a8}.alert-rss{--tblr-alert-color:#ffa500}.alert-flickr{--tblr-alert-color:#0063dc}.alert-bitbucket{--tblr-alert-color:#0052cc}.alert-tabler{--tblr-alert-color:#206bc4}.alert-icon{color:var(--tblr-alert-color);width:1.5rem!important;height:1.5rem!important;margin:-.125rem 0 -.125rem 1rem}.alert-title{font-size:.875rem;line-height:1.25rem;font-weight:var(--tblr-font-weight-bold);margin-bottom:.25rem;color:var(--tblr-alert-color)}.avatar{--tblr-avatar-size:2.5rem;--tblr-avatar-bg:var(--tblr-gray-100);position:relative;width:var(--tblr-avatar-size);height:var(--tblr-avatar-size);font-size:calc(var(--tblr-avatar-size)/ 2.8571428572);font-weight:var(--tblr-font-weight-medium);display:inline-flex;align-items:center;justify-content:center;color:#616876;text-align:center;text-transform:uppercase;vertical-align:bottom;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-avatar-bg) no-repeat center/cover;border-radius:var(--tblr-border-radius)}.avatar svg{width:calc(var(--tblr-avatar-size)/ 1.6666666667);height:calc(var(--tblr-avatar-size)/ 1.6666666667)}.avatar .badge{position:absolute;left:0;bottom:0;border-radius:100rem;box-shadow:0 0 0 2px var(--tblr-bg-surface)}a.avatar{cursor:pointer}.avatar-rounded{border-radius:100rem}.avatar-xs{--tblr-avatar-size:1.5rem}.avatar-xs .badge:empty{width:.375rem;height:.375rem}.avatar-sm{--tblr-avatar-size:2rem}.avatar-sm .badge:empty{width:.5rem;height:.5rem}.avatar-md{--tblr-avatar-size:3.75rem}.avatar-md .badge:empty{width:.9375rem;height:.9375rem}.avatar-lg{--tblr-avatar-size:5rem}.avatar-lg .badge:empty{width:1.25rem;height:1.25rem}.avatar-xl{--tblr-avatar-size:7rem}.avatar-xl .badge:empty{width:1.75rem;height:1.75rem}.avatar-2xl{--tblr-avatar-size:11rem}.avatar-2xl .badge:empty{width:2.75rem;height:2.75rem}.avatar-list{display:inline-flex;padding:0;margin:0 0 -.5rem;flex-wrap:wrap}.avatar-list .avatar{margin-bottom:.5rem}.avatar-list .avatar:not(:last-child){margin-left:.5rem}.avatar-list a.avatar:hover{z-index:1}.avatar-list-stacked .avatar{margin-left:-.5rem!important;box-shadow:0 0 0 2px 0 0 0 2px var(--tblr-card-cap-bg,var(--tblr-card-bg,var(--tblr-bg-surface)))}.avatar-upload{width:4rem;height:4rem;border:1px dashed var(--tblr-border-color);background:var(--tblr-bg-forms);flex-direction:column;transition:color .3s,background-color .3s}@media (prefers-reduced-motion:reduce){.avatar-upload{transition:none}}.avatar-upload svg{width:1.5rem;height:1.5rem;stroke-width:1}.avatar-upload:hover{border-color:var(--tblr-primary);color:var(--tblr-primary);text-decoration:none}.avatar-upload-text{font-size:.625rem;line-height:1;margin-top:.25rem}.page-cover~* .page-avatar{margin-top:calc(calc(-1 * calc(var(--tblr-avatar-size) * .5)) - 1.25rem);box-shadow:0 0 0 .25rem #f1f5f9}.badge{justify-content:center;align-items:center;background:#6c7a91;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) transparent;min-width:1.35714285em;font-weight:var(--tblr-font-weight-medium);letter-spacing:.04em;vertical-align:bottom}a.badge{color:var(--tblr-bg-surface)}.badge:empty{display:inline-block;width:.5rem;height:.5rem;min-width:0;min-height:auto;padding:0;border-radius:100rem;vertical-align:baseline}.badge .avatar{box-sizing:content-box;width:1.25rem;height:1.25rem;margin:0 -.5rem 0 .5rem}.badge .icon{width:1em;height:1em;font-size:1rem;stroke-width:2}.badge-sm{font-size:.625rem;line-height:1rem;padding:0 .25rem}.badge-outline{background-color:transparent;border:var(--tblr-border-width) var(--tblr-border-style) currentColor}.badge-pill{border-radius:100rem}.breadcrumb{padding:0;margin:0;background:0 0}.breadcrumb a{color:#616876}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-item.active a{color:inherit;pointer-events:none}.breadcrumb-dots{--tblr-breadcrumb-divider:"·"}.breadcrumb-arrows{--tblr-breadcrumb-divider:"›"}.breadcrumb-bullets{--tblr-breadcrumb-divider:"•"}.btn{--tblr-btn-icon-size:1.25rem;--tblr-btn-bg:var(--tblr-bg-surface);--tblr-btn-color:var(--tblr-body-color);--tblr-btn-border-color:var(--tblr-border-color);--tblr-btn-hover-bg:var(--tblr-bg-surface);--tblr-btn-hover-border-color:var(--tblr-border-color-active);--tblr-btn-box-shadow:var(--tblr-shadow-button);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:var(--tblr-btn-box-shadow)}.btn .icon{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);min-width:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x)/ -4) 0 calc(var(--tblr-btn-padding-x)/ 2);vertical-align:bottom;color:inherit}.btn .avatar{width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);margin:0 calc(var(--tblr-btn-padding-x)/ -4) 0 calc(var(--tblr-btn-padding-x)/ 2)}.btn .icon-right{margin:0 calc(var(--tblr-btn-padding-x)/ 2) 0 calc(var(--tblr-btn-padding-x)/ -4)}.btn .badge{top:auto}.btn-link{color:var(--tblr-primary);background-color:transparent;border-color:transparent;box-shadow:none}.btn-link .icon{color:inherit}.btn-link:hover{color:var(--tblr-primary-darken);border-color:transparent}.btn-primary{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-primary-fg);--tblr-btn-bg:var(--tblr-primary);--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-bg:rgba(var(--tblr-primary-rgb), .8);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:rgba(var(--tblr-primary-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-primary);--tblr-btn-disabled-color:var(--tblr-primary-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-primary{--tblr-btn-color:var(--tblr-primary);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-primary);--tblr-btn-hover-color:var(--tblr-primary-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-primary);--tblr-btn-active-color:var(--tblr-primary-fg);--tblr-btn-active-bg:var(--tblr-primary);--tblr-btn-disabled-color:var(--tblr-primary);--tblr-btn-disabled-border-color:var(--tblr-primary)}.btn-secondary{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-secondary-fg);--tblr-btn-bg:var(--tblr-secondary);--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-bg:rgba(var(--tblr-secondary-rgb), .8);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:rgba(var(--tblr-secondary-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-secondary);--tblr-btn-disabled-color:var(--tblr-secondary-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-secondary{--tblr-btn-color:var(--tblr-secondary);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-secondary);--tblr-btn-hover-color:var(--tblr-secondary-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-secondary);--tblr-btn-active-color:var(--tblr-secondary-fg);--tblr-btn-active-bg:var(--tblr-secondary);--tblr-btn-disabled-color:var(--tblr-secondary);--tblr-btn-disabled-border-color:var(--tblr-secondary)}.btn-success{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-success-fg);--tblr-btn-bg:var(--tblr-success);--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-bg:rgba(var(--tblr-success-rgb), .8);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:rgba(var(--tblr-success-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-success);--tblr-btn-disabled-color:var(--tblr-success-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-success{--tblr-btn-color:var(--tblr-success);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-success);--tblr-btn-hover-color:var(--tblr-success-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-success);--tblr-btn-active-color:var(--tblr-success-fg);--tblr-btn-active-bg:var(--tblr-success);--tblr-btn-disabled-color:var(--tblr-success);--tblr-btn-disabled-border-color:var(--tblr-success)}.btn-info{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-info-fg);--tblr-btn-bg:var(--tblr-info);--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-bg:rgba(var(--tblr-info-rgb), .8);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:rgba(var(--tblr-info-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-info);--tblr-btn-disabled-color:var(--tblr-info-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-info{--tblr-btn-color:var(--tblr-info);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-info);--tblr-btn-hover-color:var(--tblr-info-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-info);--tblr-btn-active-color:var(--tblr-info-fg);--tblr-btn-active-bg:var(--tblr-info);--tblr-btn-disabled-color:var(--tblr-info);--tblr-btn-disabled-border-color:var(--tblr-info)}.btn-warning{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-warning-fg);--tblr-btn-bg:var(--tblr-warning);--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-bg:rgba(var(--tblr-warning-rgb), .8);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:rgba(var(--tblr-warning-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-warning);--tblr-btn-disabled-color:var(--tblr-warning-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-warning{--tblr-btn-color:var(--tblr-warning);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-warning);--tblr-btn-hover-color:var(--tblr-warning-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-warning);--tblr-btn-active-color:var(--tblr-warning-fg);--tblr-btn-active-bg:var(--tblr-warning);--tblr-btn-disabled-color:var(--tblr-warning);--tblr-btn-disabled-border-color:var(--tblr-warning)}.btn-danger{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-danger-fg);--tblr-btn-bg:var(--tblr-danger);--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-bg:rgba(var(--tblr-danger-rgb), .8);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:rgba(var(--tblr-danger-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-danger);--tblr-btn-disabled-color:var(--tblr-danger-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-danger{--tblr-btn-color:var(--tblr-danger);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-danger);--tblr-btn-hover-color:var(--tblr-danger-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-danger);--tblr-btn-active-color:var(--tblr-danger-fg);--tblr-btn-active-bg:var(--tblr-danger);--tblr-btn-disabled-color:var(--tblr-danger);--tblr-btn-disabled-border-color:var(--tblr-danger)}.btn-light{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-light-fg);--tblr-btn-bg:var(--tblr-light);--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-bg:rgba(var(--tblr-light-rgb), .8);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:rgba(var(--tblr-light-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-light);--tblr-btn-disabled-color:var(--tblr-light-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-light{--tblr-btn-color:var(--tblr-light);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-light);--tblr-btn-hover-color:var(--tblr-light-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-light);--tblr-btn-active-color:var(--tblr-light-fg);--tblr-btn-active-bg:var(--tblr-light);--tblr-btn-disabled-color:var(--tblr-light);--tblr-btn-disabled-border-color:var(--tblr-light)}.btn-dark{--tblr-btn-border-color:var(--tblr-dark-mode-border-color);--tblr-btn-hover-border-color:var(--tblr-dark-mode-border-color-active);--tblr-btn-active-border-color:var(--tblr-dark-mode-border-color-active);--tblr-btn-color:var(--tblr-dark-fg);--tblr-btn-bg:var(--tblr-dark);--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-bg:rgba(var(--tblr-dark-rgb), .8);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:rgba(var(--tblr-dark-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-dark);--tblr-btn-disabled-color:var(--tblr-dark-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-dark{--tblr-btn-color:var(--tblr-dark);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-dark);--tblr-btn-hover-color:var(--tblr-dark-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-dark);--tblr-btn-active-color:var(--tblr-dark-fg);--tblr-btn-active-bg:var(--tblr-dark);--tblr-btn-disabled-color:var(--tblr-dark);--tblr-btn-disabled-border-color:var(--tblr-dark)}.btn-muted{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-muted-fg);--tblr-btn-bg:var(--tblr-muted);--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-bg:rgba(var(--tblr-muted-rgb), .8);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:rgba(var(--tblr-muted-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-muted);--tblr-btn-disabled-color:var(--tblr-muted-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-muted{--tblr-btn-color:var(--tblr-muted);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-muted);--tblr-btn-hover-color:var(--tblr-muted-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-muted);--tblr-btn-active-color:var(--tblr-muted-fg);--tblr-btn-active-bg:var(--tblr-muted);--tblr-btn-disabled-color:var(--tblr-muted);--tblr-btn-disabled-border-color:var(--tblr-muted)}.btn-blue{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-blue-fg);--tblr-btn-bg:var(--tblr-blue);--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-bg:rgba(var(--tblr-blue-rgb), .8);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:rgba(var(--tblr-blue-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-blue);--tblr-btn-disabled-color:var(--tblr-blue-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-blue{--tblr-btn-color:var(--tblr-blue);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-blue);--tblr-btn-hover-color:var(--tblr-blue-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-blue);--tblr-btn-active-color:var(--tblr-blue-fg);--tblr-btn-active-bg:var(--tblr-blue);--tblr-btn-disabled-color:var(--tblr-blue);--tblr-btn-disabled-border-color:var(--tblr-blue)}.btn-azure{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-azure-fg);--tblr-btn-bg:var(--tblr-azure);--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-bg:rgba(var(--tblr-azure-rgb), .8);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:rgba(var(--tblr-azure-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-azure);--tblr-btn-disabled-color:var(--tblr-azure-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-azure{--tblr-btn-color:var(--tblr-azure);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-azure);--tblr-btn-hover-color:var(--tblr-azure-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-azure);--tblr-btn-active-color:var(--tblr-azure-fg);--tblr-btn-active-bg:var(--tblr-azure);--tblr-btn-disabled-color:var(--tblr-azure);--tblr-btn-disabled-border-color:var(--tblr-azure)}.btn-indigo{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-indigo-fg);--tblr-btn-bg:var(--tblr-indigo);--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-bg:rgba(var(--tblr-indigo-rgb), .8);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:rgba(var(--tblr-indigo-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-indigo);--tblr-btn-disabled-color:var(--tblr-indigo-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-indigo{--tblr-btn-color:var(--tblr-indigo);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-indigo);--tblr-btn-hover-color:var(--tblr-indigo-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-indigo);--tblr-btn-active-color:var(--tblr-indigo-fg);--tblr-btn-active-bg:var(--tblr-indigo);--tblr-btn-disabled-color:var(--tblr-indigo);--tblr-btn-disabled-border-color:var(--tblr-indigo)}.btn-purple{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-purple-fg);--tblr-btn-bg:var(--tblr-purple);--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-bg:rgba(var(--tblr-purple-rgb), .8);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:rgba(var(--tblr-purple-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-purple);--tblr-btn-disabled-color:var(--tblr-purple-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-purple{--tblr-btn-color:var(--tblr-purple);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-purple);--tblr-btn-hover-color:var(--tblr-purple-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-purple);--tblr-btn-active-color:var(--tblr-purple-fg);--tblr-btn-active-bg:var(--tblr-purple);--tblr-btn-disabled-color:var(--tblr-purple);--tblr-btn-disabled-border-color:var(--tblr-purple)}.btn-pink{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-pink-fg);--tblr-btn-bg:var(--tblr-pink);--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-bg:rgba(var(--tblr-pink-rgb), .8);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:rgba(var(--tblr-pink-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-pink);--tblr-btn-disabled-color:var(--tblr-pink-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-pink{--tblr-btn-color:var(--tblr-pink);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-pink);--tblr-btn-hover-color:var(--tblr-pink-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-pink);--tblr-btn-active-color:var(--tblr-pink-fg);--tblr-btn-active-bg:var(--tblr-pink);--tblr-btn-disabled-color:var(--tblr-pink);--tblr-btn-disabled-border-color:var(--tblr-pink)}.btn-red{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-red-fg);--tblr-btn-bg:var(--tblr-red);--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-bg:rgba(var(--tblr-red-rgb), .8);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:rgba(var(--tblr-red-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-red);--tblr-btn-disabled-color:var(--tblr-red-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-red{--tblr-btn-color:var(--tblr-red);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-red);--tblr-btn-hover-color:var(--tblr-red-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-red);--tblr-btn-active-color:var(--tblr-red-fg);--tblr-btn-active-bg:var(--tblr-red);--tblr-btn-disabled-color:var(--tblr-red);--tblr-btn-disabled-border-color:var(--tblr-red)}.btn-orange{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-orange-fg);--tblr-btn-bg:var(--tblr-orange);--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-bg:rgba(var(--tblr-orange-rgb), .8);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:rgba(var(--tblr-orange-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-orange);--tblr-btn-disabled-color:var(--tblr-orange-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-orange{--tblr-btn-color:var(--tblr-orange);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-orange);--tblr-btn-hover-color:var(--tblr-orange-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-orange);--tblr-btn-active-color:var(--tblr-orange-fg);--tblr-btn-active-bg:var(--tblr-orange);--tblr-btn-disabled-color:var(--tblr-orange);--tblr-btn-disabled-border-color:var(--tblr-orange)}.btn-yellow{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-yellow-fg);--tblr-btn-bg:var(--tblr-yellow);--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-bg:rgba(var(--tblr-yellow-rgb), .8);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:rgba(var(--tblr-yellow-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-yellow);--tblr-btn-disabled-color:var(--tblr-yellow-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-yellow{--tblr-btn-color:var(--tblr-yellow);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-yellow);--tblr-btn-hover-color:var(--tblr-yellow-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-yellow);--tblr-btn-active-color:var(--tblr-yellow-fg);--tblr-btn-active-bg:var(--tblr-yellow);--tblr-btn-disabled-color:var(--tblr-yellow);--tblr-btn-disabled-border-color:var(--tblr-yellow)}.btn-lime{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-lime-fg);--tblr-btn-bg:var(--tblr-lime);--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-bg:rgba(var(--tblr-lime-rgb), .8);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:rgba(var(--tblr-lime-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-lime);--tblr-btn-disabled-color:var(--tblr-lime-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-lime{--tblr-btn-color:var(--tblr-lime);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-lime);--tblr-btn-hover-color:var(--tblr-lime-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-lime);--tblr-btn-active-color:var(--tblr-lime-fg);--tblr-btn-active-bg:var(--tblr-lime);--tblr-btn-disabled-color:var(--tblr-lime);--tblr-btn-disabled-border-color:var(--tblr-lime)}.btn-green{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-green-fg);--tblr-btn-bg:var(--tblr-green);--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-bg:rgba(var(--tblr-green-rgb), .8);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:rgba(var(--tblr-green-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-green);--tblr-btn-disabled-color:var(--tblr-green-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-green{--tblr-btn-color:var(--tblr-green);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-green);--tblr-btn-hover-color:var(--tblr-green-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-green);--tblr-btn-active-color:var(--tblr-green-fg);--tblr-btn-active-bg:var(--tblr-green);--tblr-btn-disabled-color:var(--tblr-green);--tblr-btn-disabled-border-color:var(--tblr-green)}.btn-teal{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-teal-fg);--tblr-btn-bg:var(--tblr-teal);--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-bg:rgba(var(--tblr-teal-rgb), .8);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:rgba(var(--tblr-teal-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-teal);--tblr-btn-disabled-color:var(--tblr-teal-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-teal{--tblr-btn-color:var(--tblr-teal);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-teal);--tblr-btn-hover-color:var(--tblr-teal-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-teal);--tblr-btn-active-color:var(--tblr-teal-fg);--tblr-btn-active-bg:var(--tblr-teal);--tblr-btn-disabled-color:var(--tblr-teal);--tblr-btn-disabled-border-color:var(--tblr-teal)}.btn-cyan{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-cyan-fg);--tblr-btn-bg:var(--tblr-cyan);--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-bg:rgba(var(--tblr-cyan-rgb), .8);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:rgba(var(--tblr-cyan-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-cyan);--tblr-btn-disabled-color:var(--tblr-cyan-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-cyan{--tblr-btn-color:var(--tblr-cyan);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-cyan);--tblr-btn-hover-color:var(--tblr-cyan-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-cyan);--tblr-btn-active-color:var(--tblr-cyan-fg);--tblr-btn-active-bg:var(--tblr-cyan);--tblr-btn-disabled-color:var(--tblr-cyan);--tblr-btn-disabled-border-color:var(--tblr-cyan)}.btn-facebook{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-facebook-fg);--tblr-btn-bg:var(--tblr-facebook);--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-bg:rgba(var(--tblr-facebook-rgb), .8);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:rgba(var(--tblr-facebook-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-facebook);--tblr-btn-disabled-color:var(--tblr-facebook-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-facebook{--tblr-btn-color:var(--tblr-facebook);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-facebook);--tblr-btn-hover-color:var(--tblr-facebook-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-facebook);--tblr-btn-active-color:var(--tblr-facebook-fg);--tblr-btn-active-bg:var(--tblr-facebook);--tblr-btn-disabled-color:var(--tblr-facebook);--tblr-btn-disabled-border-color:var(--tblr-facebook)}.btn-twitter{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-twitter-fg);--tblr-btn-bg:var(--tblr-twitter);--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-bg:rgba(var(--tblr-twitter-rgb), .8);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:rgba(var(--tblr-twitter-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-twitter);--tblr-btn-disabled-color:var(--tblr-twitter-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-twitter{--tblr-btn-color:var(--tblr-twitter);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-twitter);--tblr-btn-hover-color:var(--tblr-twitter-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-twitter);--tblr-btn-active-color:var(--tblr-twitter-fg);--tblr-btn-active-bg:var(--tblr-twitter);--tblr-btn-disabled-color:var(--tblr-twitter);--tblr-btn-disabled-border-color:var(--tblr-twitter)}.btn-linkedin{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-linkedin-fg);--tblr-btn-bg:var(--tblr-linkedin);--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-bg:rgba(var(--tblr-linkedin-rgb), .8);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:rgba(var(--tblr-linkedin-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-linkedin);--tblr-btn-disabled-color:var(--tblr-linkedin-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-linkedin{--tblr-btn-color:var(--tblr-linkedin);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-linkedin);--tblr-btn-hover-color:var(--tblr-linkedin-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-linkedin);--tblr-btn-active-color:var(--tblr-linkedin-fg);--tblr-btn-active-bg:var(--tblr-linkedin);--tblr-btn-disabled-color:var(--tblr-linkedin);--tblr-btn-disabled-border-color:var(--tblr-linkedin)}.btn-google{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-google-fg);--tblr-btn-bg:var(--tblr-google);--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-bg:rgba(var(--tblr-google-rgb), .8);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:rgba(var(--tblr-google-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-google);--tblr-btn-disabled-color:var(--tblr-google-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-google{--tblr-btn-color:var(--tblr-google);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-google);--tblr-btn-hover-color:var(--tblr-google-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-google);--tblr-btn-active-color:var(--tblr-google-fg);--tblr-btn-active-bg:var(--tblr-google);--tblr-btn-disabled-color:var(--tblr-google);--tblr-btn-disabled-border-color:var(--tblr-google)}.btn-youtube{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-youtube-fg);--tblr-btn-bg:var(--tblr-youtube);--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-bg:rgba(var(--tblr-youtube-rgb), .8);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:rgba(var(--tblr-youtube-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-youtube);--tblr-btn-disabled-color:var(--tblr-youtube-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-youtube{--tblr-btn-color:var(--tblr-youtube);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-youtube);--tblr-btn-hover-color:var(--tblr-youtube-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-youtube);--tblr-btn-active-color:var(--tblr-youtube-fg);--tblr-btn-active-bg:var(--tblr-youtube);--tblr-btn-disabled-color:var(--tblr-youtube);--tblr-btn-disabled-border-color:var(--tblr-youtube)}.btn-vimeo{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-vimeo-fg);--tblr-btn-bg:var(--tblr-vimeo);--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-bg:rgba(var(--tblr-vimeo-rgb), .8);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:rgba(var(--tblr-vimeo-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-vimeo);--tblr-btn-disabled-color:var(--tblr-vimeo-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-vimeo{--tblr-btn-color:var(--tblr-vimeo);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-vimeo);--tblr-btn-hover-color:var(--tblr-vimeo-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-vimeo);--tblr-btn-active-color:var(--tblr-vimeo-fg);--tblr-btn-active-bg:var(--tblr-vimeo);--tblr-btn-disabled-color:var(--tblr-vimeo);--tblr-btn-disabled-border-color:var(--tblr-vimeo)}.btn-dribbble{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-dribbble-fg);--tblr-btn-bg:var(--tblr-dribbble);--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-bg:rgba(var(--tblr-dribbble-rgb), .8);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:rgba(var(--tblr-dribbble-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-dribbble);--tblr-btn-disabled-color:var(--tblr-dribbble-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-dribbble{--tblr-btn-color:var(--tblr-dribbble);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-dribbble);--tblr-btn-hover-color:var(--tblr-dribbble-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-dribbble);--tblr-btn-active-color:var(--tblr-dribbble-fg);--tblr-btn-active-bg:var(--tblr-dribbble);--tblr-btn-disabled-color:var(--tblr-dribbble);--tblr-btn-disabled-border-color:var(--tblr-dribbble)}.btn-github{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-github-fg);--tblr-btn-bg:var(--tblr-github);--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-bg:rgba(var(--tblr-github-rgb), .8);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:rgba(var(--tblr-github-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-github);--tblr-btn-disabled-color:var(--tblr-github-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-github{--tblr-btn-color:var(--tblr-github);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-github);--tblr-btn-hover-color:var(--tblr-github-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-github);--tblr-btn-active-color:var(--tblr-github-fg);--tblr-btn-active-bg:var(--tblr-github);--tblr-btn-disabled-color:var(--tblr-github);--tblr-btn-disabled-border-color:var(--tblr-github)}.btn-instagram{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-instagram-fg);--tblr-btn-bg:var(--tblr-instagram);--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-bg:rgba(var(--tblr-instagram-rgb), .8);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:rgba(var(--tblr-instagram-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-instagram);--tblr-btn-disabled-color:var(--tblr-instagram-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-instagram{--tblr-btn-color:var(--tblr-instagram);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-instagram);--tblr-btn-hover-color:var(--tblr-instagram-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-instagram);--tblr-btn-active-color:var(--tblr-instagram-fg);--tblr-btn-active-bg:var(--tblr-instagram);--tblr-btn-disabled-color:var(--tblr-instagram);--tblr-btn-disabled-border-color:var(--tblr-instagram)}.btn-pinterest{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-pinterest-fg);--tblr-btn-bg:var(--tblr-pinterest);--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-bg:rgba(var(--tblr-pinterest-rgb), .8);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:rgba(var(--tblr-pinterest-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-pinterest);--tblr-btn-disabled-color:var(--tblr-pinterest-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-pinterest{--tblr-btn-color:var(--tblr-pinterest);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-pinterest);--tblr-btn-hover-color:var(--tblr-pinterest-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-pinterest);--tblr-btn-active-color:var(--tblr-pinterest-fg);--tblr-btn-active-bg:var(--tblr-pinterest);--tblr-btn-disabled-color:var(--tblr-pinterest);--tblr-btn-disabled-border-color:var(--tblr-pinterest)}.btn-vk{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-vk-fg);--tblr-btn-bg:var(--tblr-vk);--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-bg:rgba(var(--tblr-vk-rgb), .8);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:rgba(var(--tblr-vk-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-vk);--tblr-btn-disabled-color:var(--tblr-vk-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-vk{--tblr-btn-color:var(--tblr-vk);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-vk);--tblr-btn-hover-color:var(--tblr-vk-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-vk);--tblr-btn-active-color:var(--tblr-vk-fg);--tblr-btn-active-bg:var(--tblr-vk);--tblr-btn-disabled-color:var(--tblr-vk);--tblr-btn-disabled-border-color:var(--tblr-vk)}.btn-rss{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-rss-fg);--tblr-btn-bg:var(--tblr-rss);--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-bg:rgba(var(--tblr-rss-rgb), .8);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:rgba(var(--tblr-rss-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-rss);--tblr-btn-disabled-color:var(--tblr-rss-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-rss{--tblr-btn-color:var(--tblr-rss);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-rss);--tblr-btn-hover-color:var(--tblr-rss-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-rss);--tblr-btn-active-color:var(--tblr-rss-fg);--tblr-btn-active-bg:var(--tblr-rss);--tblr-btn-disabled-color:var(--tblr-rss);--tblr-btn-disabled-border-color:var(--tblr-rss)}.btn-flickr{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-flickr-fg);--tblr-btn-bg:var(--tblr-flickr);--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-bg:rgba(var(--tblr-flickr-rgb), .8);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:rgba(var(--tblr-flickr-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-flickr);--tblr-btn-disabled-color:var(--tblr-flickr-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-flickr{--tblr-btn-color:var(--tblr-flickr);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-flickr);--tblr-btn-hover-color:var(--tblr-flickr-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-flickr);--tblr-btn-active-color:var(--tblr-flickr-fg);--tblr-btn-active-bg:var(--tblr-flickr);--tblr-btn-disabled-color:var(--tblr-flickr);--tblr-btn-disabled-border-color:var(--tblr-flickr)}.btn-bitbucket{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-bitbucket-fg);--tblr-btn-bg:var(--tblr-bitbucket);--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-bg:rgba(var(--tblr-bitbucket-rgb), .8);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:rgba(var(--tblr-bitbucket-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-bitbucket);--tblr-btn-disabled-color:var(--tblr-bitbucket-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-bitbucket{--tblr-btn-color:var(--tblr-bitbucket);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-bitbucket);--tblr-btn-hover-color:var(--tblr-bitbucket-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-bitbucket);--tblr-btn-active-color:var(--tblr-bitbucket-fg);--tblr-btn-active-bg:var(--tblr-bitbucket);--tblr-btn-disabled-color:var(--tblr-bitbucket);--tblr-btn-disabled-border-color:var(--tblr-bitbucket)}.btn-tabler{--tblr-btn-border-color:transparent;--tblr-btn-hover-border-color:transparent;--tblr-btn-active-border-color:transparent;--tblr-btn-color:var(--tblr-tabler-fg);--tblr-btn-bg:var(--tblr-tabler);--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-bg:rgba(var(--tblr-tabler-rgb), .8);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:rgba(var(--tblr-tabler-rgb), .8);--tblr-btn-disabled-bg:var(--tblr-tabler);--tblr-btn-disabled-color:var(--tblr-tabler-fg);--tblr-btn-box-shadow:var(--tblr-shadow-button),var(--tblr-shadow-button-inset)}.btn-outline-tabler{--tblr-btn-color:var(--tblr-tabler);--tblr-btn-bg:transparent;--tblr-btn-border-color:var(--tblr-tabler);--tblr-btn-hover-color:var(--tblr-tabler-fg);--tblr-btn-hover-border-color:transparent;--tblr-btn-hover-bg:var(--tblr-tabler);--tblr-btn-active-color:var(--tblr-tabler-fg);--tblr-btn-active-bg:var(--tblr-tabler);--tblr-btn-disabled-color:var(--tblr-tabler);--tblr-btn-disabled-border-color:var(--tblr-tabler)}.btn-ghost-primary{--tblr-btn-color:#206bc4;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#206bc4;--tblr-btn-hover-border-color:#206bc4;--tblr-btn-focus-shadow-rgb:32,107,196;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#206bc4;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#206bc4;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-secondary{--tblr-btn-color:#616876;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#616876;--tblr-btn-hover-border-color:#616876;--tblr-btn-focus-shadow-rgb:97,104,118;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#616876;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#616876;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-success{--tblr-btn-color:#2fb344;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#2fb344;--tblr-btn-hover-border-color:#2fb344;--tblr-btn-focus-shadow-rgb:47,179,68;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#2fb344;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#2fb344;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-info{--tblr-btn-color:#4299e1;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#4299e1;--tblr-btn-hover-border-color:#4299e1;--tblr-btn-focus-shadow-rgb:66,153,225;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#4299e1;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#4299e1;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-warning{--tblr-btn-color:#f76707;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#f76707;--tblr-btn-hover-border-color:#f76707;--tblr-btn-focus-shadow-rgb:247,103,7;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#f76707;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#f76707;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-danger{--tblr-btn-color:#d63939;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#d63939;--tblr-btn-hover-border-color:#d63939;--tblr-btn-focus-shadow-rgb:214,57,57;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#d63939;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#d63939;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-light{--tblr-btn-color:#f8fafc;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#1d273b;--tblr-btn-hover-bg:#f8fafc;--tblr-btn-hover-border-color:#f8fafc;--tblr-btn-focus-shadow-rgb:248,250,252;--tblr-btn-active-color:#1d273b;--tblr-btn-active-bg:#f8fafc;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#f8fafc;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-dark{--tblr-btn-color:#1d273b;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#1d273b;--tblr-btn-hover-border-color:#1d273b;--tblr-btn-focus-shadow-rgb:29,39,59;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#1d273b;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#1d273b;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-muted{--tblr-btn-color:#616876;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#616876;--tblr-btn-hover-border-color:#616876;--tblr-btn-focus-shadow-rgb:97,104,118;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#616876;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#616876;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-blue{--tblr-btn-color:#206bc4;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#206bc4;--tblr-btn-hover-border-color:#206bc4;--tblr-btn-focus-shadow-rgb:32,107,196;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#206bc4;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#206bc4;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-azure{--tblr-btn-color:#4299e1;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#4299e1;--tblr-btn-hover-border-color:#4299e1;--tblr-btn-focus-shadow-rgb:66,153,225;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#4299e1;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#4299e1;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-indigo{--tblr-btn-color:#4263eb;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#4263eb;--tblr-btn-hover-border-color:#4263eb;--tblr-btn-focus-shadow-rgb:66,99,235;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#4263eb;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#4263eb;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-purple{--tblr-btn-color:#ae3ec9;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#ae3ec9;--tblr-btn-hover-border-color:#ae3ec9;--tblr-btn-focus-shadow-rgb:174,62,201;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#ae3ec9;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#ae3ec9;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-pink{--tblr-btn-color:#d6336c;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#d6336c;--tblr-btn-hover-border-color:#d6336c;--tblr-btn-focus-shadow-rgb:214,51,108;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#d6336c;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#d6336c;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-red{--tblr-btn-color:#d63939;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#d63939;--tblr-btn-hover-border-color:#d63939;--tblr-btn-focus-shadow-rgb:214,57,57;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#d63939;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#d63939;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-orange{--tblr-btn-color:#f76707;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#f76707;--tblr-btn-hover-border-color:#f76707;--tblr-btn-focus-shadow-rgb:247,103,7;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#f76707;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#f76707;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-yellow{--tblr-btn-color:#f59f00;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#f59f00;--tblr-btn-hover-border-color:#f59f00;--tblr-btn-focus-shadow-rgb:245,159,0;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#f59f00;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#f59f00;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-lime{--tblr-btn-color:#74b816;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#74b816;--tblr-btn-hover-border-color:#74b816;--tblr-btn-focus-shadow-rgb:116,184,22;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#74b816;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#74b816;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-green{--tblr-btn-color:#2fb344;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#2fb344;--tblr-btn-hover-border-color:#2fb344;--tblr-btn-focus-shadow-rgb:47,179,68;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#2fb344;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#2fb344;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-teal{--tblr-btn-color:#0ca678;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#0ca678;--tblr-btn-hover-border-color:#0ca678;--tblr-btn-focus-shadow-rgb:12,166,120;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#0ca678;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#0ca678;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-cyan{--tblr-btn-color:#17a2b8;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#17a2b8;--tblr-btn-hover-border-color:#17a2b8;--tblr-btn-focus-shadow-rgb:23,162,184;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#17a2b8;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#17a2b8;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-facebook{--tblr-btn-color:#3b5998;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#3b5998;--tblr-btn-hover-border-color:#3b5998;--tblr-btn-focus-shadow-rgb:59,89,152;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#3b5998;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#3b5998;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-twitter{--tblr-btn-color:#1da1f2;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#1da1f2;--tblr-btn-hover-border-color:#1da1f2;--tblr-btn-focus-shadow-rgb:29,161,242;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#1da1f2;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#1da1f2;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-linkedin{--tblr-btn-color:#0a66c2;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#0a66c2;--tblr-btn-hover-border-color:#0a66c2;--tblr-btn-focus-shadow-rgb:10,102,194;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#0a66c2;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#0a66c2;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-google{--tblr-btn-color:#dc4e41;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#dc4e41;--tblr-btn-hover-border-color:#dc4e41;--tblr-btn-focus-shadow-rgb:220,78,65;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#dc4e41;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#dc4e41;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-youtube{--tblr-btn-color:#ff0000;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#ff0000;--tblr-btn-hover-border-color:#ff0000;--tblr-btn-focus-shadow-rgb:255,0,0;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#ff0000;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#ff0000;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-vimeo{--tblr-btn-color:#1ab7ea;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#1ab7ea;--tblr-btn-hover-border-color:#1ab7ea;--tblr-btn-focus-shadow-rgb:26,183,234;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#1ab7ea;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#1ab7ea;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-dribbble{--tblr-btn-color:#ea4c89;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#ea4c89;--tblr-btn-hover-border-color:#ea4c89;--tblr-btn-focus-shadow-rgb:234,76,137;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#ea4c89;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#ea4c89;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-github{--tblr-btn-color:#181717;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#181717;--tblr-btn-hover-border-color:#181717;--tblr-btn-focus-shadow-rgb:24,23,23;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#181717;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#181717;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-instagram{--tblr-btn-color:#e4405f;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#e4405f;--tblr-btn-hover-border-color:#e4405f;--tblr-btn-focus-shadow-rgb:228,64,95;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#e4405f;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#e4405f;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-pinterest{--tblr-btn-color:#bd081c;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#bd081c;--tblr-btn-hover-border-color:#bd081c;--tblr-btn-focus-shadow-rgb:189,8,28;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#bd081c;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#bd081c;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-vk{--tblr-btn-color:#6383a8;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#6383a8;--tblr-btn-hover-border-color:#6383a8;--tblr-btn-focus-shadow-rgb:99,131,168;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#6383a8;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#6383a8;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-rss{--tblr-btn-color:#ffa500;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#ffa500;--tblr-btn-hover-border-color:#ffa500;--tblr-btn-focus-shadow-rgb:255,165,0;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#ffa500;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#ffa500;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-flickr{--tblr-btn-color:#0063dc;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#0063dc;--tblr-btn-hover-border-color:#0063dc;--tblr-btn-focus-shadow-rgb:0,99,220;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#0063dc;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#0063dc;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-bitbucket{--tblr-btn-color:#0052cc;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#0052cc;--tblr-btn-hover-border-color:#0052cc;--tblr-btn-focus-shadow-rgb:0,82,204;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#0052cc;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#0052cc;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-ghost-tabler{--tblr-btn-color:#206bc4;--tblr-btn-bg:transparent;--tblr-btn-border-color:transparent;--tblr-btn-hover-color:#f8fafc;--tblr-btn-hover-bg:#206bc4;--tblr-btn-hover-border-color:#206bc4;--tblr-btn-focus-shadow-rgb:32,107,196;--tblr-btn-active-color:#f8fafc;--tblr-btn-active-bg:#206bc4;--tblr-btn-active-border-color:transparent;--tblr-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--tblr-btn-disabled-color:#206bc4;--tblr-btn-disabled-bg:transparent;--tblr-btn-disabled-border-color:transparent;--tblr-gradient:none;--tblr-btn-box-shadow:none}.btn-group-sm>.btn,.btn-sm{--tblr-btn-line-height:1.5;--tblr-btn-icon-size:.75rem}.btn-group-lg>.btn,.btn-lg{--tblr-btn-line-height:1.5;--tblr-btn-icon-size:2rem}.btn-pill{padding-left:1.5em;padding-right:1.5em;border-radius:10rem}.btn-pill[class*=btn-icon]{padding:.375rem 15px}.btn-square{border-radius:0}.btn-icon{min-width:calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);min-height:calc(var(--tblr-btn-line-height) * var(--tblr-btn-font-size) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);padding-right:0;padding-left:0}.btn-icon .icon{margin:calc(-1 * var(--tblr-btn-padding-x))}.btn-list{display:flex;flex-wrap:wrap;margin-bottom:-.5rem!important;margin-left:-.5rem}.btn-list>*{margin:0 0 .5rem .5rem!important}.btn-floating{position:fixed;z-index:1030;bottom:1.5rem;left:1.5rem;border-radius:100rem}.btn-loading{position:relative;color:transparent!important;text-shadow:none!important;pointer-events:none}.btn-loading>*{opacity:0}.btn-loading:after{content:"";display:inline-block;vertical-align:text-bottom;border:2px var(--tblr-border-style) currentColor;border-left-color:transparent;border-radius:100rem;color:var(--tblr-btn-color);position:absolute;width:var(--tblr-btn-icon-size);height:var(--tblr-btn-icon-size);right:calc(50% - var(--tblr-btn-icon-size)/ 2);top:calc(50% - var(--tblr-btn-icon-size)/ 2);-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.btn-action{padding:0;border:0;color:#616876;display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:var(--tblr-border-radius)}.btn-action:after{content:none}.btn-action:focus{outline:0;box-shadow:none}.btn-action.show,.btn-action:hover{color:#1d273b;background:#f1f5f9}.btn-action.show{color:var(--tblr-primary)}.btn-action .icon{margin:0;width:1.25rem;height:1.25rem;font-size:1.25rem;stroke-width:1}.btn-actions{display:flex}.calendar{display:block;font-size:.765625rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.calendar-nav{display:flex;align-items:center}.calendar-title{flex:1;text-align:center}.calendar-body,.calendar-header{display:flex;flex-wrap:wrap;justify-content:flex-start;padding:.5rem 0}.calendar-header{color:#616876}.calendar-date{flex:0 0 14.2857142857%;max-width:14.2857142857%;padding:.2rem;text-align:center;border:0}.calendar-date.next-month,.calendar-date.prev-month{opacity:.25}.calendar-date .date-item{position:relative;display:inline-block;width:1.4rem;height:1.4rem;line-height:1.4rem;color:#66758c;text-align:center;text-decoration:none;white-space:nowrap;vertical-align:middle;cursor:pointer;background:100% 0;border:var(--tblr-border-width) var(--tblr-border-style) transparent;border-radius:100rem;outline:0;transition:background .3s,border .3s,box-shadow .32s,color .3s}@media (prefers-reduced-motion:reduce){.calendar-date .date-item{transition:none}}.calendar-date .date-item:hover{color:var(--tblr-primary);text-decoration:none;background:#fefeff;border-color:var(--tblr-border-color)}.calendar-date .date-today{color:var(--tblr-primary);border-color:var(--tblr-border-color)}.calendar-range{position:relative}.calendar-range:before{position:absolute;top:50%;left:0;right:0;height:1.4rem;content:"";background:rgba(var(--tblr-primary-rgb),.1);transform:translateY(-50%)}.calendar-range.range-end .date-item,.calendar-range.range-start .date-item{color:#fff;background:var(--tblr-primary);border-color:var(--tblr-primary)}.calendar-range.range-start:before{right:50%}.calendar-range.range-end:before{left:50%}.carousel-indicators-vertical{right:auto;top:0;margin:0 0 0 1rem;flex-direction:column}.carousel-indicators-vertical [data-bs-target]{margin:3px 0 3px;width:3px;height:30px;border:0;border-right:10px var(--tblr-border-style) transparent;border-left:10px var(--tblr-border-style) transparent}.carousel-indicators-dot [data-bs-target]{width:.5rem;height:.5rem;border-radius:100rem;border:10px var(--tblr-border-style) transparent;margin:0}.carousel-indicators-thumb [data-bs-target]{width:2rem;height:auto;background:no-repeat center/cover;border:0;border-radius:var(--tblr-border-radius);box-shadow:rgba(var(--tblr-body-color-rgb),.04) 0 2px 4px 0;margin:0 3px;opacity:.75}@media (min-width:992px){.carousel-indicators-thumb [data-bs-target]{width:4rem}}.carousel-indicators-thumb [data-bs-target]:before{content:"";padding-top:var(--tblr-aspect-ratio,100%);display:block}.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target]{margin:3px 0}.carousel-caption-background{background:red;position:absolute;right:0;left:0;bottom:0;height:90%;background:linear-gradient(0deg,rgba(29,39,59,.9),rgba(29,39,59,0))}.card{transition:transform .3s ease-out,opacity .3s ease-out,box-shadow .3s ease-out}@media (prefers-reduced-motion:reduce){.card{transition:none}}@media print{.card{border:none;box-shadow:none}}a.card{color:inherit}a.card:hover{text-decoration:none;box-shadow:rgba(var(--tblr-body-color-rgb),.16) 0 2px 16px 0}.card .card{box-shadow:none}.card-borderless,.card-borderless .card-footer,.card-borderless .card-header{border-color:transparent}.card-stamp{--tblr-stamp-size:7rem;position:absolute;top:0;left:0;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);max-height:100%;border-top-left-radius:4px;opacity:.2;overflow:hidden;pointer-events:none}.card-stamp-lg{--tblr-stamp-size:13rem}.card-stamp-icon{background:var(--tblr-muted);color:var(--tblr-card-bg,var(--tblr-bg-surface));display:flex;align-items:center;justify-content:center;border-radius:100rem;width:calc(var(--tblr-stamp-size) * 1);height:calc(var(--tblr-stamp-size) * 1);position:relative;top:calc(var(--tblr-stamp-size) * -.25);left:calc(var(--tblr-stamp-size) * -.25);font-size:calc(var(--tblr-stamp-size) * .75);transform:rotate(-10deg)}.card-stamp-icon .icon{stroke-width:2;width:calc(var(--tblr-stamp-size) * .75);height:calc(var(--tblr-stamp-size) * .75)}.card-img,.card-img-start{border-top-right-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));border-bottom-right-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)))}.card-img,.card-img-end{border-top-left-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)));border-bottom-left-radius:calc(var(--tblr-border-radius) - (var(--tblr-border-width)))}.card-img-overlay{display:flex;flex-direction:column;justify-content:flex-end}.card-img-overlay-dark{background-image:linear-gradient(-180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 100%)}.card-inactive{pointer-events:none;box-shadow:none}.card-inactive .card-body{opacity:.64}.card-active{--tblr-card-border-color:var(--tblr-primary);--tblr-card-bg:var(--tblr-active-bg)}.card-btn{display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem;text-align:center;transition:background .3s;border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);flex:1;color:inherit;font-weight:var(--tblr-font-weight-medium)}@media (prefers-reduced-motion:reduce){.card-btn{transition:none}}.card-btn:hover{text-decoration:none;background:var(--tblr-gray-100)}.card-btn+.card-btn{border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-stacked{--tblr-card-stacked-offset:.25rem;position:relative}.card-stacked:after{position:absolute;top:calc(-1 * var(--tblr-card-stacked-offset));left:var(--tblr-card-stacked-offset);right:var(--tblr-card-stacked-offset);height:var(--tblr-card-stacked-offset);content:"";background:var(--tblr-card-bg,var(--tblr-bg-surface));border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color);border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-cover{position:relative;padding:1rem 1.5rem;background:#666 no-repeat center/cover}.card-cover:before{position:absolute;top:0;left:0;bottom:0;right:0;content:"";background:rgba(29,39,59,.48)}.card-cover:first-child,.card-cover:first-child:before{border-radius:4px 4px 0 0}.card-cover-blurred:before{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card-actions{margin:-.5rem auto -.5rem -.5rem;padding-right:.5rem}.card-actions a{text-decoration:none}.card-header{color:inherit;display:flex;align-items:center;background:0 0}.card-header:first-child{border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-header-light{border-bottom-color:transparent;background:var(--tblr-bg-surface-secondary)}.card-header-tabs{background:var(--tblr-bg-surface-secondary);flex:1;margin:calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1);padding:calc(var(--tblr-card-cap-padding-y) * .5) calc(var(--tblr-card-cap-padding-x) * .5) 0}.card-header-pills{flex:1;margin-top:-.5rem;margin-bottom:-.5rem}.card-rotate-left{transform:rotate(1.5deg)}.card-rotate-right{transform:rotate(-1.5deg)}.card-link{color:inherit}.card-link:hover{color:inherit;text-decoration:none;box-shadow:0 1px 6px 0 rgba(0,0,0,.08)}.card-link-rotate:hover{transform:rotate(-1.5deg);opacity:1}.card-link-pop:hover{transform:translateY(-2px);opacity:1}.card-footer{margin-top:auto}.card-footer:last-child{border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-footer-transparent{background:0 0;border-color:transparent;padding-top:0}.card-footer-borderless{border-top:none}.card-progress{height:.25rem}.card-progress:last-child{border-radius:0 0 2px 2px}.card-progress:first-child{border-radius:2px 2px 0 0}.card-meta{color:#616876}.card-title{display:block;margin:0 0 1rem;font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.5rem}a.card-title:hover{color:inherit}.card-header .card-title{margin:0}.card-subtitle{margin-bottom:1.25rem;color:#616876;font-weight:400}.card-header .card-subtitle{margin:0}.card-title .card-subtitle{margin:0 .25rem 0 0;font-size:.875rem}.card-body{position:relative}.card-body>:last-child{margin-bottom:0}.card-sm>.card-body{padding:1rem}@media (min-width:768px){.card-md>.card-body{padding:2.5rem}}@media (min-width:768px){.card-lg>.card-body{padding:2rem}}@media (min-width:992px){.card-lg>.card-body{padding:4rem}}@media print{.card-body{padding:0}}.card-body+.card-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-body-scrollable{overflow:auto}.card-options{top:1.5rem;left:.75rem;display:flex;margin-right:auto}.card-options-link{display:inline-block;min-width:1rem;margin-right:.25rem;color:#616876}.card-status-top{position:absolute;top:0;left:0;right:0;height:2px;border-radius:var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0}.card-status-start{position:absolute;left:auto;bottom:0;width:2px;height:100%;border-radius:0 var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0}.card-status-bottom{position:absolute;top:initial;bottom:0;width:100%;height:2px;border-radius:0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius)}.card-table{margin-bottom:0!important}.card-table tr td:first-child,.card-table tr th:first-child{padding-right:1.5rem;border-right:0}.card-table tr td:last-child,.card-table tr th:last-child{padding-left:1.5rem;border-left:0}.card-table tbody tr:first-child,.card-table tfoot tr:first-child,.card-table thead tr:first-child{border-top:0}.card-table tbody tr:first-child td,.card-table tbody tr:first-child th,.card-table tfoot tr:first-child td,.card-table tfoot tr:first-child th,.card-table thead tr:first-child td,.card-table thead tr:first-child th{border-top:0}.card-body+.card-table{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color)}.card-code{padding:0}.card-code .highlight{margin:0;border:0}.card-code pre{margin:0!important;border:0!important}.card-chart{position:relative;z-index:1;height:3.5rem}.card-avatar{margin-right:auto;margin-left:auto;box-shadow:0 0 0 .25rem var(--tblr-card-bg,var(--tblr-bg-surface));margin-top:calc(-1 * var(--tblr-avatar-size) * .5)}.card-body+.card-list-group{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-list-group .list-group-item{padding-left:1.5rem;padding-right:1.5rem;border-left:0;border-right:0;border-radius:0}.card-list-group .list-group-item:last-child{border-bottom:0}.card-list-group .list-group-item:first-child{border-top:0}.card-tabs .nav-tabs{position:relative;z-index:1000;border-bottom:0}.card-tabs .nav-tabs .nav-link{background:var(--tblr-bg-surface-secondary);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.card-tabs .nav-tabs .nav-link.active,.card-tabs .nav-tabs .nav-link:active,.card-tabs .nav-tabs .nav-link:hover{border-color:var(--tblr-border-color);color:#1d273b}.card-tabs .nav-tabs .nav-link.active{background:var(--tblr-card-bg,var(--tblr-bg-surface));border-bottom-color:transparent}.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link{border-top-right-radius:0}.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link{border-top-left-radius:0}.card-tabs .nav-tabs .nav-item+.nav-item{margin-right:calc(-1 * var(--tblr-border-width))}.card-tabs .nav-tabs-bottom{margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-link{margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-link.active{border-top-color:transparent}.card-tabs .nav-tabs-bottom .nav-item{margin-top:calc(-1 * var(--tblr-border-width));margin-bottom:0}.card-tabs .nav-tabs-bottom .nav-item .nav-link{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:0 0 var(--tblr-border-radius) var(--tblr-border-radius)}.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link{border-bottom-right-radius:0}.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link{border-bottom-left-radius:0}.card-tabs .card{border-bottom-right-radius:0}.card-tabs .nav-tabs+.tab-content .card{border-bottom-right-radius:var(--tblr-card-border-radius);border-top-right-radius:0}.btn-close{cursor:pointer}.btn-close:focus{outline:0}.dropdown-menu{box-shadow:0 .5rem 1rem rgba(0,0,0,.15);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0!important}.dropdown-menu.card{padding:0;min-width:25rem;display:none}.dropdown-menu.card.show{display:flex}.dropdown-item{min-width:11rem;display:flex;align-items:center;margin:0;line-height:1.4285714286}.dropdown-item-icon{width:1.25rem!important;height:1.25rem!important;margin-left:.5rem;color:#616876;opacity:.7;text-align:center}.dropdown-item-indicator{margin-left:.5rem;margin-right:-.25rem;height:1.25rem;display:inline-flex;line-height:1;vertical-align:bottom;align-items:center}.dropdown-header{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);padding-bottom:.25rem;pointer-events:none}.dropdown-menu-scrollable{height:auto;max-height:13rem;overflow-x:hidden}.dropdown-menu-column{min-width:11rem}.dropdown-menu-column .dropdown-item{min-width:0}.dropdown-menu-columns{display:flex;flex:0 .25rem}.dropdown-menu-arrow:before{content:"";position:absolute;top:-.25rem;right:.75rem;display:block;background:inherit;width:14px;height:14px;transform:rotate(-45deg);transform-origin:center;border:1px solid;border-color:inherit;z-index:-1;clip:rect(0,9px,9px,0)}.dropdown-menu-arrow.dropdown-menu-end:before{left:.75rem;right:auto}.dropend>.dropdown-menu{margin-top:calc(-.25rem - 1px);margin-right:-.25rem}.dropend .dropdown-toggle:after{margin-right:auto}.dropdown-menu-card{padding:0}.dropdown-menu-card>.card{margin:0;border:0;box-shadow:none}.datagrid{--tblr-datagrid-padding:1.5rem;--tblr-datagrid-item-width:15rem;display:grid;grid-gap:var(--tblr-datagrid-padding);grid-template-columns:repeat(auto-fit,minmax(var(--tblr-datagrid-item-width),1fr))}.datagrid-title{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);margin-bottom:.25rem}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:1rem;text-align:center}@media (min-width:768px){.empty{padding:3rem}}.empty-icon{margin:0 0 1rem;width:3rem;height:3rem;line-height:1;color:#616876}.empty-icon svg{width:100%;height:100%}.empty-img{margin:0 0 2rem;line-height:1}.empty-img img{height:8rem;width:auto}.empty-header{margin:0 0 1rem;font-size:4rem;font-weight:var(--tblr-font-weight-light);line-height:1;color:#616876}.empty-title{font-size:1.25rem;line-height:1.75rem;font-weight:var(--tblr-font-weight-medium)}.empty-subtitle,.empty-title{margin:0 0 .5rem}.empty-action{margin-top:1.5rem}.empty-bordered{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.row>*{min-width:0}.col-separator{border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}@media (max-width:991.98px){.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--tblr-gutter-x:1rem}}.container-tight{--tblr-gutter-x:1.5rem;--tblr-gutter-y:0;width:100%;padding-left:calc(var(--tblr-gutter-x) * .5);padding-right:calc(var(--tblr-gutter-x) * .5);margin-left:auto;margin-right:auto;max-width:30rem}.container-narrow{--tblr-gutter-x:1.5rem;--tblr-gutter-y:0;width:100%;padding-left:calc(var(--tblr-gutter-x) * .5);padding-right:calc(var(--tblr-gutter-x) * .5);margin-left:auto;margin-right:auto;max-width:45rem}.row-0{margin-left:0;margin-right:0}.row-0>.col,.row-0>[class*=col-]{padding-left:0;padding-right:0}.row-0 .card{margin-bottom:0}.row-sm{margin-left:-.375rem;margin-right:-.375rem}.row-sm>.col,.row-sm>[class*=col-]{padding-left:.375rem;padding-right:.375rem}.row-sm .card{margin-bottom:.75rem}.row-md{margin-left:-1.5rem;margin-right:-1.5rem}.row-md>.col,.row-md>[class*=col-]{padding-left:1.5rem;padding-right:1.5rem}.row-md .card{margin-bottom:3rem}.row-lg{margin-left:-3rem;margin-right:-3rem}.row-lg>.col,.row-lg>[class*=col-]{padding-left:3rem;padding-right:3rem}.row-lg .card{margin-bottom:6rem}.row-deck>.col,.row-deck>[class*=col-]{display:flex;align-items:stretch}.row-deck>.col .card,.row-deck>[class*=col-] .card{flex:1 1 auto}.row-cards{--tblr-gutter-x:1rem;--tblr-gutter-y:1rem;min-width:0}.row-cards .row-cards{flex:1}@media (max-width:991.98px){.row-cards{--tblr-gutter-x:0.5rem;--tblr-gutter-y:0.5rem}}.space-y{display:flex;flex-direction:column;gap:1rem}.space-x{display:flex;gap:1rem}.space-y-0{display:flex;flex-direction:column;gap:0}.space-x-0{display:flex;gap:0}.space-y-1{display:flex;flex-direction:column;gap:.25rem}.space-x-1{display:flex;gap:.25rem}.space-y-2{display:flex;flex-direction:column;gap:.5rem}.space-x-2{display:flex;gap:.5rem}.space-y-3{display:flex;flex-direction:column;gap:1rem}.space-x-3{display:flex;gap:1rem}.space-y-4{display:flex;flex-direction:column;gap:2rem}.space-x-4{display:flex;gap:2rem}.space-y-5{display:flex;flex-direction:column;gap:4rem}.space-x-5{display:flex;gap:4rem}.divide-y>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y>:not(template):not(:first-child){padding-top:1rem!important}.divide-y>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x>:not(template):not(:first-child){padding-right:1rem!important}.divide-x>:not(template):not(:last-child){padding-left:1rem!important}.divide-y-0>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y-0>:not(template):not(:first-child){padding-top:0!important}.divide-y-0>:not(template):not(:last-child){padding-bottom:0!important}.divide-x-0>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x-0>:not(template):not(:first-child){padding-right:0!important}.divide-x-0>:not(template):not(:last-child){padding-left:0!important}.divide-y-1>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y-1>:not(template):not(:first-child){padding-top:.25rem!important}.divide-y-1>:not(template):not(:last-child){padding-bottom:.25rem!important}.divide-x-1>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x-1>:not(template):not(:first-child){padding-right:.25rem!important}.divide-x-1>:not(template):not(:last-child){padding-left:.25rem!important}.divide-y-2>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y-2>:not(template):not(:first-child){padding-top:.5rem!important}.divide-y-2>:not(template):not(:last-child){padding-bottom:.5rem!important}.divide-x-2>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x-2>:not(template):not(:first-child){padding-right:.5rem!important}.divide-x-2>:not(template):not(:last-child){padding-left:.5rem!important}.divide-y-3>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y-3>:not(template):not(:first-child){padding-top:1rem!important}.divide-y-3>:not(template):not(:last-child){padding-bottom:1rem!important}.divide-x-3>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x-3>:not(template):not(:first-child){padding-right:1rem!important}.divide-x-3>:not(template):not(:last-child){padding-left:1rem!important}.divide-y-4>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y-4>:not(template):not(:first-child){padding-top:2rem!important}.divide-y-4>:not(template):not(:last-child){padding-bottom:2rem!important}.divide-x-4>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x-4>:not(template):not(:first-child){padding-right:2rem!important}.divide-x-4>:not(template):not(:last-child){padding-left:2rem!important}.divide-y-5>:not(template)~:not(template){border-top:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-y-5>:not(template):not(:first-child){padding-top:4rem!important}.divide-y-5>:not(template):not(:last-child){padding-bottom:4rem!important}.divide-x-5>:not(template)~:not(template){border-right:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)!important}.divide-x-5>:not(template):not(:first-child){padding-right:4rem!important}.divide-x-5>:not(template):not(:last-child){padding-left:4rem!important}.divide-y-fill{display:flex;flex-direction:column;height:100%}.divide-y-fill>:not(template){flex:1;display:flex;justify-content:center;flex-direction:column}.icon{width:1.25rem;height:1.25rem;font-size:1.25rem;vertical-align:bottom;stroke-width:1.5}.icon:hover{text-decoration:none}.icon-inline{width:1rem;height:1rem;font-size:1rem;vertical-align:-.2rem}.icon-filled{fill:currentColor}.icon-sm{width:1rem;height:1rem;stroke-width:1}.icon-md{width:2.5rem;height:2.5rem;stroke-width:1}.icon-lg{width:3.5rem;height:3.5rem;stroke-width:1}@-webkit-keyframes icon-pulse{from{opacity:1;transform:scale3d(.8,.8,.8)}50%{transform:scale3d(1,1,1);opacity:1}to{opacity:1;transform:scale3d(.8,.8,.8)}}@keyframes icon-pulse{from{opacity:1;transform:scale3d(.8,.8,.8)}50%{transform:scale3d(1,1,1);opacity:1}to{opacity:1;transform:scale3d(.8,.8,.8)}}.icon-pulse{transition:all .15s ease 0s;-webkit-animation:icon-pulse 2s ease infinite;animation:icon-pulse 2s ease infinite;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes icon-tada{0%{transform:scale3d(1,1,1)}10%,5%{transform:scale3d(.9,.9,.9) rotate3d(0,0,1,5deg)}15%,25%,35%,45%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-5deg)}20%,30%,40%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,5deg)}50%{transform:scale3d(1,1,1)}}@keyframes icon-tada{0%{transform:scale3d(1,1,1)}10%,5%{transform:scale3d(.9,.9,.9) rotate3d(0,0,1,5deg)}15%,25%,35%,45%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-5deg)}20%,30%,40%{transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,5deg)}50%{transform:scale3d(1,1,1)}}.icon-tada{transition:all .15s ease 0s;-webkit-animation:icon-tada 3s ease infinite;animation:icon-tada 3s ease infinite;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes icon-rotate{from{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes icon-rotate{from{transform:rotate(0)}to{transform:rotate(-360deg)}}.icon-rotate{transition:all .15s ease 0s;-webkit-animation:icon-rotate 3s linear infinite;animation:icon-rotate 3s linear infinite;-webkit-animation-fill-mode:both;animation-fill-mode:both}.img-responsive{background:no-repeat center/cover;padding-top:75%}.img-responsive-1x1{padding-top:100%}.img-responsive-4x3{padding-top:75%}.img-responsive-3x4{padding-top:133.3333333333%}.img-responsive-16x9{padding-top:56.25%}.img-responsive-9x16{padding-top:177.7777777778%}.img-responsive-21x9{padding-top:42.8571428571%}.img-responsive-9x21{padding-top:233.3333333333%}textarea[cols]{height:auto}.col-form-label,.form-label{display:block;font-weight:var(--tblr-font-weight-medium)}.col-form-label.required:after,.form-label.required:after{content:"*";margin-right:.25rem;color:#d63939}.form-label-description{float:left;font-weight:var(--tblr-font-weight-normal);color:#616876}.form-hint{display:block;color:#616876}.form-hint:last-child{margin-bottom:0}.form-hint+.form-control{margin-top:.25rem}.form-label+.form-hint{margin-top:-.25rem}.form-control+.form-hint,.form-select+.form-hint,.input-group+.form-hint{margin-top:.5rem}.form-select:-moz-focusring{color:var(--tblr-body-color)}.form-control:-webkit-autofill{box-shadow:0 0 0 1000px var(--tblr-body-bg) inset;color:var(--tblr-body-color)}.form-control.disabled,.form-control:disabled{color:#616876;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-control[size]{width:auto}.form-control[type=number]::-webkit-inner-spin-button{opacity:1;cursor:pointer;height:calc(calc(1.4285714286em + .875rem + 2px) - 1px);margin:0 0 0 -.75rem}.form-control[type=number]::-moz-inner-spin-button{opacity:1;cursor:pointer;height:calc(calc(1.4285714286em + .875rem + 2px) - 1px);margin:0 0 0 -.75rem}.form-control-light{background-color:#f1f5f9;border-color:transparent}.form-control-dark{background-color:rgba(0,0,0,.1);color:#fff;border-color:transparent}.form-control-dark:focus{background-color:rgba(0,0,0,.1);box-shadow:none;border-color:rgba(255,255,255,.24)}.form-control-dark::-webkit-input-placeholder{color:rgba(255,255,255,.6)}.form-control-dark::-moz-placeholder{color:rgba(255,255,255,.6)}.form-control-dark:-ms-input-placeholder{color:rgba(255,255,255,.6)}.form-control-dark::-ms-input-placeholder{color:rgba(255,255,255,.6)}.form-control-dark::placeholder{color:rgba(255,255,255,.6)}.form-control-rounded{border-radius:10rem}.form-control-flush{padding:0;background:0 0!important;border-color:transparent!important;resize:none;box-shadow:none!important;line-height:inherit}.form-footer{margin-top:2rem}.form-fieldset{padding:1rem;margin-bottom:1rem;background:var(--tblr-body-bg);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius)}.form-help{display:inline-flex;font-weight:var(--tblr-font-weight-bold);align-items:center;justify-content:center;width:1.125rem;height:1.125rem;font-size:.75rem;color:#616876;text-align:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-gray-100);border-radius:100rem;transition:background-color .3s,color .3s}@media (prefers-reduced-motion:reduce){.form-help{transition:none}}.form-help:hover,.form-help[aria-describedby]{color:#fff;background:var(--tblr-primary)}.input-group-link{font-size:.75rem}.input-group-flat:focus-within{box-shadow:0 0 0 .25rem rgba(32,107,196,.25);border-radius:var(--tblr-border-radius)}.input-group-flat:focus-within .form-control,.input-group-flat:focus-within .input-group-text{border-color:#90b5e2!important}.input-group-flat .form-control:focus{border-color:var(--tblr-border-color);box-shadow:none}.input-group-flat .form-control:not(:last-child){border-left:0}.input-group-flat .form-control:not(:first-child){border-right:0}.input-group-flat .input-group-text{background:var(--tblr-bg-forms);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.input-group-flat .input-group-text{transition:none}}.input-group-flat .input-group-text:first-child{padding-left:0}.input-group-flat .input-group-text:last-child{padding-right:0}.form-file-button{margin-right:0;border-right:0}.input-icon{position:relative}.input-icon .form-control:not(:last-child),.input-icon .form-select:not(:last-child){padding-left:2.5rem}.input-icon .form-control:not(:first-child),.input-icon .form-select:not(:last-child){padding-right:2.5rem}.input-icon-addon{position:absolute;top:0;bottom:0;right:0;display:flex;align-items:center;justify-content:center;min-width:2.5rem;color:var(--tblr-icon-color);pointer-events:none;font-size:1.2em}.input-icon-addon:last-child{left:0;right:auto}.form-colorinput{position:relative;display:inline-block;margin:0;line-height:1;cursor:pointer}.form-colorinput-input{position:absolute;z-index:-1;opacity:0}.form-colorinput-color{display:block;width:1.5rem;height:1.5rem;color:#fff;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);border-radius:3px;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.form-colorinput-color:before{position:absolute;top:0;right:0;width:100%;height:100%;content:"";background:no-repeat center center/1rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");opacity:0;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-colorinput-color:before{transition:none}}.form-colorinput-input:checked~.form-colorinput-color:before{opacity:1}.form-colorinput-input:focus~.form-colorinput-color{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-colorinput-light .form-colorinput-color:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-imagecheck{position:relative;margin:0;cursor:pointer}.form-imagecheck-input{position:absolute;z-index:-1;opacity:0}.form-imagecheck-figure{position:relative;display:block;margin:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px}.form-imagecheck-input:focus~.form-imagecheck-figure{border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-imagecheck-input:checked~.form-imagecheck-figure{border-color:var(--tblr-primary)}.form-imagecheck-figure:before{position:absolute;top:.25rem;right:.25rem;z-index:1;display:block;width:1rem;height:1rem;color:#fff;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:var(--tblr-bg-forms);border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:var(--tblr-border-radius);transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-figure:before{transition:none}}.form-imagecheck-input:checked~.form-imagecheck-figure:before{background-color:var(--tblr-primary);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e");background-repeat:repeat;background-position:center;background-size:1rem;border-color:var(--tblr-border-color-translucent)}.form-imagecheck-input[type=radio]~.form-imagecheck-figure:before{border-radius:50%}.form-imagecheck-input[type=radio]:checked~.form-imagecheck-figure:before{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-imagecheck-image{max-width:100%;display:block;opacity:.64;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-image{transition:none}}.form-imagecheck-image:first-child{border-top-right-radius:2px;border-top-left-radius:2px}.form-imagecheck-image:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-image,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-image,.form-imagecheck:hover .form-imagecheck-image{opacity:1}.form-imagecheck-caption{padding:.25rem;font-size:.765625rem;color:#616876;text-align:center;transition:color .3s}@media (prefers-reduced-motion:reduce){.form-imagecheck-caption{transition:none}}.form-imagecheck-input:checked~.form-imagecheck-figure .form-imagecheck-caption,.form-imagecheck-input:focus~.form-imagecheck-figure .form-imagecheck-caption,.form-imagecheck:hover .form-imagecheck-caption{color:#1d273b}.form-selectgroup{display:inline-flex;margin:0 0 -.5rem -.5rem;flex-wrap:wrap}.form-selectgroup .form-selectgroup-item{margin:0 0 .5rem .5rem}.form-selectgroup-vertical{flex-direction:column}.form-selectgroup-item{display:block;position:relative}.form-selectgroup-input{position:absolute;top:0;right:0;z-index:-1;opacity:0}.form-selectgroup-label{position:relative;display:block;min-width:calc(1.4285714286em + .875rem + 2px);margin:0;padding:.4375rem .75rem;font-size:.875rem;line-height:1.4285714286;color:#616876;background:var(--tblr-bg-forms);text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);border-radius:3px;transition:border-color .3s,background .3s,color .3s}@media (prefers-reduced-motion:reduce){.form-selectgroup-label{transition:none}}.form-selectgroup-label .icon:only-child{margin:0 -.25rem}.form-selectgroup-label:hover{color:var(--tblr-body-color)}.form-selectgroup-check{display:inline-block;width:1rem;height:1rem;border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);vertical-align:middle}.form-selectgroup-input[type=checkbox]+.form-selectgroup-label .form-selectgroup-check{border-radius:var(--tblr-border-radius)}.form-selectgroup-input[type=radio]+.form-selectgroup-label .form-selectgroup-check{border-radius:50%}.form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-check{background-color:var(--tblr-primary);background-repeat:repeat;background-position:center;background-size:1rem;border-color:var(--tblr-border-color-translucent)}.form-selectgroup-input[type=checkbox]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e")}.form-selectgroup-input[type=radio]:checked+.form-selectgroup-label .form-selectgroup-check{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e")}.form-selectgroup-check-floated{position:absolute;top:.4375rem;left:.4375rem}.form-selectgroup-input:checked+.form-selectgroup-label{z-index:1;color:var(--tblr-primary);background:rgba(var(--tblr-primary-rgb),.04);border-color:var(--tblr-primary)}.form-selectgroup-input:focus+.form-selectgroup-label{z-index:2;color:var(--tblr-primary);border-color:var(--tblr-primary);box-shadow:0 0 0 .25rem rgba(32,107,196,.25)}.form-selectgroup-boxes .form-selectgroup-label{text-align:right;padding:1.5rem 1rem;color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label{color:inherit}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-title{color:var(--tblr-primary)}.form-selectgroup-boxes .form-selectgroup-input:checked+.form-selectgroup-label .form-selectgroup-label-content{opacity:1}.form-selectgroup-pills{flex-wrap:wrap;align-items:flex-start}.form-selectgroup-pills .form-selectgroup-item{flex-grow:0}.form-selectgroup-pills .form-selectgroup-label{border-radius:50px}.form-control-color::-webkit-color-swatch{border:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.form-control::-webkit-file-upload-button{background-color:var(--tblr-btn-color,#f8fafc)}.form-control::file-selector-button{background-color:var(--tblr-btn-color,#f8fafc)}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--tblr-btn-color,#eceeef)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--tblr-btn-color,#eceeef)}.form-check{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-check.form-check-highlight .form-check-input:not(:checked)~.form-check-label{color:var(--tblr-muted)}.form-check .form-check-label-off{color:var(--tblr-muted)}.form-check .form-check-input:checked~.form-check-label-off{display:none}.form-check .form-check-input:not(:checked)~.form-check-label-on{display:none}.form-check-input{background-size:1rem;margin-top:.125rem}.form-switch .form-check-input{transition:background-color .3s,background-position .3s}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-check-label{display:block}.form-check-label.required:after{content:"*";margin-right:.25rem;color:#d63939}.form-check-description{display:block;color:#616876;font-size:.75rem;margin-top:.25rem}.form-check-single{margin:0}.form-check-single .form-check-input{margin:0}.form-switch .form-check-input{height:1.125rem;margin-top:.0625rem}.form-switch-lg{padding-right:3.5rem;min-height:1.5rem}.form-switch-lg .form-check-input{height:1.5rem;width:2.75rem;background-size:1.5rem;margin-right:-3.5rem}.form-switch-lg .form-check-label{padding-top:.125rem}.form-check-input:checked{border:none}.form-control.is-invalid-lite,.form-control.is-valid-lite,.form-select.is-invalid-lite,.form-select.is-valid-lite{border-color:var(--tblr-border-color)!important}.legend{--tblr-legend-size:0.75em;display:inline-block;background:var(--tblr-border-color);width:var(--tblr-legend-size);height:var(--tblr-legend-size);border-radius:var(--tblr-border-radius-sm)}.list-group{margin-right:0;margin-left:0}.list-group-header{background:var(--tblr-light);padding:.5rem 1.5rem;font-size:.75rem;font-weight:var(--tblr-font-weight-medium);line-height:1;text-transform:uppercase;color:var(--tblr-muted);border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.list-group-flush>.list-group-header:last-child{border-bottom-width:0}.list-group-item{background-color:inherit}.list-group-item.active{background-color:rgba(var(--tblr-muted-rgb),.04);border-right-color:#206bc4;border-right-width:2px}.list-group-item:active,.list-group-item:focus,.list-group-item:hover{background-color:rgba(var(--tblr-muted-rgb),.04)}.list-group-item.disabled,.list-group-item:disabled{color:#6c7a91;background-color:rgba(var(--tblr-muted-rgb),.04)}.list-bordered .list-item{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);margin-top:-1px}.list-bordered .list-item:first-child{border-top:none}.list-group-hoverable .list-group-item-actions{opacity:0;transition:opacity .3s}@media (prefers-reduced-motion:reduce){.list-group-hoverable .list-group-item-actions{transition:none}}.list-group-hoverable .list-group-item-actions.show,.list-group-hoverable .list-group-item:hover .list-group-item-actions{opacity:1}.list-timeline{position:relative;padding:0;margin:0;list-style:none}.list-timeline>li{position:relative;margin-bottom:1.5rem}.list-timeline>li:last-child{margin-bottom:0}.list-timeline-time{float:left;margin-right:1rem;color:#616876}.list-timeline-icon{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:#fff;text-align:center;background:#616876;border-radius:100rem}.list-timeline-icon .icon{width:1rem;height:1rem;font-size:1rem}.list-timeline-title{margin:0;font-weight:var(--tblr-font-weight-bold)}.list-timeline-content{margin-right:3.5rem}@media screen and (min-width:768px){.list-timeline:not(.list-timeline-simple):before{position:absolute;top:0;bottom:0;right:calc(7.5rem + 2px);z-index:1;display:block;width:4px;content:"";background-color:#f1f5f9}.list-timeline:not(.list-timeline-simple)>li{z-index:2;min-height:40px}.list-timeline:not(.list-timeline-simple) .list-timeline-time{position:absolute;top:.5rem;right:0;width:5.5rem;margin:0;text-align:left}.list-timeline:not(.list-timeline-simple) .list-timeline-icon{top:0;right:6.5rem}.list-timeline:not(.list-timeline-simple) .list-timeline-content{padding:.625rem 10rem 0 0;margin:0}}.list-group-transparent{--tblr-list-group-border-radius:0;margin:0 -1.5rem}.list-group-transparent .list-group-item{background:0 0;border:0}.list-group-transparent .list-group-item .icon{color:#616876}.list-group-transparent .list-group-item.active{font-weight:var(--tblr-font-weight-bold);color:inherit;background:var(--tblr-active-bg)}.list-group-transparent .list-group-item.active .icon{color:inherit}.list-separated-item{padding:1rem 0}.list-separated-item:first-child{padding-top:0}.list-separated-item:last-child{padding-bottom:0}.list-separated-item+.list-separated-item{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.list-inline-item:not(:last-child){margin-left:auto;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.list-inline-dots .list-inline-item+.list-inline-item:before{content:" · ";-webkit-margin-end:.5rem;margin-inline-end:.5rem}@-webkit-keyframes loader{from{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes loader{from{transform:rotate(0)}to{transform:rotate(-360deg)}}.loader{position:relative;display:block;width:2.5rem;height:2.5rem;color:#206bc4;vertical-align:middle}.loader:after{position:absolute;top:0;right:0;width:100%;height:100%;content:"";border:1px solid;border-color:transparent;border-top-color:currentColor;border-right-color:currentColor;border-radius:100rem;-webkit-animation:loader .6s linear;animation:loader .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.dimmer{position:relative}.dimmer .loader{position:absolute;top:50%;left:0;right:0;display:none;margin:0 auto;transform:translateY(-50%)}.dimmer.active .loader{display:block}.dimmer.active .dimmer-content{pointer-events:none;opacity:.1}@-webkit-keyframes animated-dots{0%{transform:translateX(100%)}}@keyframes animated-dots{0%{transform:translateX(100%)}}.animated-dots{display:inline-block;overflow:hidden;vertical-align:bottom}.animated-dots:after{display:inline-block;content:"...";-webkit-animation:animated-dots 1.2s steps(4,jump-none) infinite;animation:animated-dots 1.2s steps(4,jump-none) infinite}.modal-content .btn-close{position:absolute;top:0;left:0;width:3.5rem;height:3.5rem;margin:0;padding:0;z-index:10}.modal-body::-webkit-scrollbar{width:.5rem;height:.5rem;-webkit-transition:background .3s;transition:background .3s}@media (prefers-reduced-motion:reduce){.modal-body::-webkit-scrollbar{-webkit-transition:none;transition:none}}.modal-body::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(var(--tblr-body-color-rgb),.16)}.modal-body::-webkit-scrollbar-track{background:rgba(var(--tblr-body-color-rgb),.06)}.modal-body:hover::-webkit-scrollbar-thumb{background:rgba(var(--tblr-body-color-rgb),.32)}.modal-body::-webkit-scrollbar-corner{background:0 0}.modal-body .modal-title{margin-bottom:1rem}.modal-body+.modal-body{border-top:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.modal-status{position:absolute;top:0;right:0;left:0;height:2px;background:#616876;border-radius:var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0}.modal-header{align-items:center;min-height:3.5rem;background:#fff;padding:0 1.5rem 0 3.5rem}.modal-title{font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.4285714286}.modal-footer{padding-top:0;padding-bottom:.75rem}.modal-blur{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-full-width{max-width:none;margin:0 .5rem}.nav-vertical,.nav-vertical .nav{flex-direction:column;flex-wrap:nowrap}.nav-vertical .nav{margin-right:1.25rem;border-right:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);padding-right:.5rem}.nav-vertical .nav-item.show .nav-link,.nav-vertical .nav-link.active{font-weight:var(--tblr-font-weight-bold)}.nav-vertical.nav-pills{margin:0 -.75rem}.nav-bordered{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)}.nav-bordered .nav-item+.nav-item{margin-right:1.25rem}.nav-bordered .nav-link{padding-right:0;padding-left:0;margin:0 0 -var(--tblr-border-width);border:0;border-bottom:2px var(--tblr-border-style) transparent;color:#616876}.nav-bordered .nav-item.show .nav-link,.nav-bordered .nav-link.active{color:var(--tblr-primary);border-color:var(--tblr-primary)}.nav-link{display:flex;transition:color .3s;align-items:center}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link-toggle{margin-right:auto;padding:0 .25rem;transition:transform .3s}@media (prefers-reduced-motion:reduce){.nav-link-toggle{transition:none}}.nav-link-toggle:after{content:"";display:inline-block;vertical-align:.306em;width:.36em;height:.36em;border-bottom:1px solid;border-right:1px solid;margin-left:.1em;margin-right:.4em;transform:rotate(45deg)}.nav-link-toggle:after{margin:0}.nav-link[aria-expanded=true] .nav-link-toggle{transform:rotate(-180deg)}.nav-link-icon{width:1.25rem;height:1.25rem;margin-left:.5rem;color:var(--tblr-icon-color)}.nav-link-icon svg{display:block;height:100%}.nav-fill .nav-item .nav-link{justify-content:center}.stars{display:inline-flex;color:#9ba9be;font-size:.75rem}.stars .star:not(:first-child){margin-right:.25rem}.pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.page-link{min-width:1.75rem;border-radius:var(--tblr-border-radius)}.page-item{text-align:center}.page-item:not(.active) .page-link:hover{background:0 0}.page-item.page-next,.page-item.page-prev{flex:0 0 50%;text-align:right}.page-item.page-next{margin-right:auto;text-align:left}.page-item-subtitle{margin-bottom:2px;font-size:12px;color:#616876;text-transform:uppercase}.page-item.disabled .page-item-subtitle{color:var(--tblr-disabled-color)}.page-item-title{font-size:1rem;font-weight:var(--tblr-font-weight-normal);color:#1d273b}.page-link:hover .page-item-title{color:var(--tblr-primary)}.page-item.disabled .page-item-title{color:var(--tblr-disabled-color)}@-webkit-keyframes progress-indeterminate{0%{left:100%;right:-35%}100%,60%{left:-90%;right:100%}}@keyframes progress-indeterminate{0%{left:100%;right:-35%}100%,60%{left:-90%;right:100%}}.progress{position:relative;width:100%;line-height:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress::-webkit-progress-bar{background:var(--tblr-progress-bg)}.progress::-webkit-progress-value{background-color:var(--tblr-primary)}.progress::-moz-progress-bar{background-color:var(--tblr-primary)}.progress::-ms-fill{background-color:var(--tblr-primary);border:none}.progress-sm{height:.25rem}.progress-bar{height:100%}.progress-bar-indeterminate:after,.progress-bar-indeterminate:before{position:absolute;top:0;bottom:0;right:0;content:"";background-color:inherit;will-change:left,right}.progress-bar-indeterminate:before{-webkit-animation:progress-indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:progress-indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress-separated .progress-bar{box-shadow:0 0 0 2px var(--tblr-card-bg,var(--tblr-bg-surface))}.progressbg{position:relative;padding:.25rem .5rem;display:flex}.progressbg-text{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progressbg-progress{position:absolute;top:0;left:0;bottom:0;right:0;z-index:0;height:100%;background:0 0;pointer-events:none}.progressbg-value{font-weight:var(--tblr-font-weight-medium);margin-right:auto;padding-right:2rem}.ribbon{--tblr-ribbon-margin:0.25rem;--tblr-ribbon-border-radius:var(--tblr-border-radius);position:absolute;top:.75rem;left:calc(-1 * var(--tblr-ribbon-margin));z-index:1;padding:.25rem .75rem;font-size:.625rem;font-weight:var(--tblr-font-weight-bold);line-height:1;color:#fff;text-align:center;text-transform:uppercase;background:var(--tblr-primary);border-color:var(--tblr-primary);border-radius:0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius);display:inline-flex;align-items:center;justify-content:center;min-height:2rem;min-width:2rem}.ribbon:before{position:absolute;left:0;bottom:100%;width:0;height:0;content:"";filter:brightness(70%);border:calc(var(--tblr-ribbon-margin) * .5) solid;border-color:inherit;border-top-color:transparent;border-left-color:transparent}.ribbon.bg-blue{border-color:var(--tblr-blue)}.ribbon.bg-blue-lt{border-color:rgba(var(--tblr-blue-rgb),.1)!important}.ribbon.bg-azure{border-color:var(--tblr-azure)}.ribbon.bg-azure-lt{border-color:rgba(var(--tblr-azure-rgb),.1)!important}.ribbon.bg-indigo{border-color:var(--tblr-indigo)}.ribbon.bg-indigo-lt{border-color:rgba(var(--tblr-indigo-rgb),.1)!important}.ribbon.bg-purple{border-color:var(--tblr-purple)}.ribbon.bg-purple-lt{border-color:rgba(var(--tblr-purple-rgb),.1)!important}.ribbon.bg-pink{border-color:var(--tblr-pink)}.ribbon.bg-pink-lt{border-color:rgba(var(--tblr-pink-rgb),.1)!important}.ribbon.bg-red{border-color:var(--tblr-red)}.ribbon.bg-red-lt{border-color:rgba(var(--tblr-red-rgb),.1)!important}.ribbon.bg-orange{border-color:var(--tblr-orange)}.ribbon.bg-orange-lt{border-color:rgba(var(--tblr-orange-rgb),.1)!important}.ribbon.bg-yellow{border-color:var(--tblr-yellow)}.ribbon.bg-yellow-lt{border-color:rgba(var(--tblr-yellow-rgb),.1)!important}.ribbon.bg-lime{border-color:var(--tblr-lime)}.ribbon.bg-lime-lt{border-color:rgba(var(--tblr-lime-rgb),.1)!important}.ribbon.bg-green{border-color:var(--tblr-green)}.ribbon.bg-green-lt{border-color:rgba(var(--tblr-green-rgb),.1)!important}.ribbon.bg-teal{border-color:var(--tblr-teal)}.ribbon.bg-teal-lt{border-color:rgba(var(--tblr-teal-rgb),.1)!important}.ribbon.bg-cyan{border-color:var(--tblr-cyan)}.ribbon.bg-cyan-lt{border-color:rgba(var(--tblr-cyan-rgb),.1)!important}.ribbon .icon{width:1.25rem;height:1.25rem;font-size:1.25rem}.ribbon-top{top:calc(-1 * var(--tblr-ribbon-margin));left:.75rem;width:2rem;padding:.5rem 0;border-radius:var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius)}.ribbon-top:before{top:0;left:100%;bottom:auto;border-color:inherit;border-top-color:transparent;border-right-color:transparent}.ribbon-top.ribbon-start{left:auto;right:.75rem}.ribbon-top.ribbon-start:before{top:0;left:100%;right:auto}.ribbon-start{left:auto;right:calc(-1 * var(--tblr-ribbon-margin))}.ribbon-start:before{top:auto;bottom:100%;right:0;border-color:inherit;border-top-color:transparent;border-right-color:transparent}.ribbon-bottom{top:auto;bottom:.75rem}.ribbon-bookmark{padding-right:.25rem;border-radius:0 0 0 var(--tblr-ribbon-border-radius)}.ribbon-bookmark:after{position:absolute;top:0;left:100%;display:block;width:0;height:0;content:"";border:1rem solid;border-color:inherit;border-left-width:0;border-right-color:transparent;border-right-width:.5rem}.ribbon-bookmark.ribbon-left{padding-left:.5rem}.ribbon-bookmark.ribbon-left:after{left:auto;right:100%;border-left-color:transparent;border-left-width:.5rem;border-right-width:0}.ribbon-bookmark.ribbon-top{padding-left:0;padding-bottom:.25rem;padding-right:0;border-radius:var(--tblr-ribbon-border-radius) 0 0 0}.ribbon-bookmark.ribbon-top:after{top:100%;left:0;right:0;border-color:inherit;border-width:1rem;border-top-width:0;border-bottom-color:transparent;border-bottom-width:.5rem}.markdown{line-height:1.7142857143}.markdown>:first-child{margin-top:0}.markdown>:last-child,.markdown>:last-child .highlight{margin-bottom:0}@media (min-width:768px){.markdown>.hr,.markdown>hr{margin-top:3em;margin-bottom:3em}}.markdown>.h1,.markdown>.h2,.markdown>.h3,.markdown>.h4,.markdown>.h5,.markdown>.h6,.markdown>h1,.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{font-weight:var(--tblr-font-weight-bold)}.markdown>blockquote{font-size:1rem;margin:1.5rem 0;padding:.5rem 1.5rem}.markdown>img{border-radius:var(--tblr-border-radius)}.placeholder:not(.btn):not([class*=bg-]){background-color:currentColor!important}.placeholder:not(.avatar):not([class*=card-img-]){border-radius:var(--tblr-border-radius)}.steps{display:flex;flex-wrap:nowrap;width:100%;padding:0;margin:2rem 0;list-style:none}.steps .step-item{padding-top:calc(.5rem + 4px)}.steps .step-item:after{top:calc(.25rem + 2px);height:2px}.steps .step-item:before{width:.5rem;height:.5rem}.steps .step-item:after,.steps .step-item:before{color:#fff;background:var(--tblr-primary)}.steps .step-item.active:before{color:inherit;border-color:var(--tblr-primary)}.steps-blue .step-item:after,.steps-blue .step-item:before{color:#fff;background:#206bc4}.steps-blue .step-item.active:before{color:inherit;border-color:#206bc4}.steps-azure .step-item:after,.steps-azure .step-item:before{color:#fff;background:#4299e1}.steps-azure .step-item.active:before{color:inherit;border-color:#4299e1}.steps-indigo .step-item:after,.steps-indigo .step-item:before{color:#fff;background:#4263eb}.steps-indigo .step-item.active:before{color:inherit;border-color:#4263eb}.steps-purple .step-item:after,.steps-purple .step-item:before{color:#fff;background:#ae3ec9}.steps-purple .step-item.active:before{color:inherit;border-color:#ae3ec9}.steps-pink .step-item:after,.steps-pink .step-item:before{color:#fff;background:#d6336c}.steps-pink .step-item.active:before{color:inherit;border-color:#d6336c}.steps-red .step-item:after,.steps-red .step-item:before{color:#fff;background:#d63939}.steps-red .step-item.active:before{color:inherit;border-color:#d63939}.steps-orange .step-item:after,.steps-orange .step-item:before{color:#fff;background:#f76707}.steps-orange .step-item.active:before{color:inherit;border-color:#f76707}.steps-yellow .step-item:after,.steps-yellow .step-item:before{color:#fff;background:#f59f00}.steps-yellow .step-item.active:before{color:inherit;border-color:#f59f00}.steps-lime .step-item:after,.steps-lime .step-item:before{color:#fff;background:#74b816}.steps-lime .step-item.active:before{color:inherit;border-color:#74b816}.steps-green .step-item:after,.steps-green .step-item:before{color:#fff;background:#2fb344}.steps-green .step-item.active:before{color:inherit;border-color:#2fb344}.steps-teal .step-item:after,.steps-teal .step-item:before{color:#fff;background:#0ca678}.steps-teal .step-item.active:before{color:inherit;border-color:#0ca678}.steps-cyan .step-item:after,.steps-cyan .step-item:before{color:#fff;background:#17a2b8}.steps-cyan .step-item.active:before{color:inherit;border-color:#17a2b8}.step-item{position:relative;flex:1 1 0;min-height:1rem;margin-top:0;color:inherit;text-align:center;cursor:default}a.step-item{cursor:pointer}a.step-item:hover{color:inherit}.step-item:not(:first-child):after{position:absolute;right:-50%;width:100%;content:"";transform:translateY(-50%)}.step-item:before{position:absolute;top:0;right:50%;z-index:1;box-sizing:content-box;display:block;content:"";border:2px var(--tblr-border-style) var(--tblr-bg-surface);border-radius:100rem;transform:translateX(50%)}.step-item.active{font-weight:var(--tblr-font-weight-bold)}.step-item.active:before{background:var(--tblr-bg-surface)}.step-item.active~.step-item{color:#616876}.step-item.active~.step-item:after,.step-item.active~.step-item:before{background:#f3f5f5}.step-item.active~.step-item:before{color:#616876!important}.steps-counter{counter-reset:steps}.steps-counter .step-item{padding-top:calc(1.5rem + 4px)}.steps-counter .step-item:after{top:calc(.75rem + 2px);height:2px}.steps-counter .step-item:before{width:1.5rem;height:1.5rem}.steps-counter .step-item{counter-increment:steps}.steps-counter .step-item:before{font-size:.75rem;line-height:1.5rem;content:counter(steps)}.steps-counter .step-item.active~.step-item:before{background:#fff}@-webkit-keyframes status-pulsate-main{40%{transform:scale(1.25,1.25)}60%{transform:scale(1.25,1.25)}}@keyframes status-pulsate-main{40%{transform:scale(1.25,1.25)}60%{transform:scale(1.25,1.25)}}@-webkit-keyframes status-pulsate-secondary{10%{transform:scale(1,1)}30%{transform:scale(3,3)}80%{transform:scale(3,3)}100%{transform:scale(1,1)}}@keyframes status-pulsate-secondary{10%{transform:scale(1,1)}30%{transform:scale(3,3)}80%{transform:scale(3,3)}100%{transform:scale(1,1)}}@-webkit-keyframes status-pulsate-tertiary{25%{transform:scale(1,1)}80%{transform:scale(3,3);opacity:0}100%{transform:scale(3,3);opacity:0}}@keyframes status-pulsate-tertiary{25%{transform:scale(1,1)}80%{transform:scale(3,3);opacity:0}100%{transform:scale(3,3);opacity:0}}.status{--tblr-status-height:1.5rem;--tblr-status-color:#616876;--tblr-status-color-rgb:97,104,118;display:inline-flex;align-items:center;height:var(--tblr-status-height);padding:.25rem .75rem;gap:.5rem;color:var(--tblr-status-color);background:rgba(var(--tblr-status-color-rgb),.1);font-size:.875rem;text-transform:none;letter-spacing:normal;border-radius:100rem;font-weight:var(--tblr-font-weight-medium);line-height:1;margin:0}.status .status-dot{background:var(--tblr-status-color)}.status .icon{font-size:1.25rem}.status-lite{border:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color)!important;background:0 0!important;color:var(--tblr-body-text)!important}.status-primary{--tblr-status-color:#206bc4;--tblr-status-color-rgb:32,107,196}.status-secondary{--tblr-status-color:#616876;--tblr-status-color-rgb:97,104,118}.status-success{--tblr-status-color:#2fb344;--tblr-status-color-rgb:47,179,68}.status-info{--tblr-status-color:#4299e1;--tblr-status-color-rgb:66,153,225}.status-warning{--tblr-status-color:#f76707;--tblr-status-color-rgb:247,103,7}.status-danger{--tblr-status-color:#d63939;--tblr-status-color-rgb:214,57,57}.status-light{--tblr-status-color:#f8fafc;--tblr-status-color-rgb:248,250,252}.status-dark{--tblr-status-color:#1d273b;--tblr-status-color-rgb:29,39,59}.status-muted{--tblr-status-color:#616876;--tblr-status-color-rgb:97,104,118}.status-blue{--tblr-status-color:#206bc4;--tblr-status-color-rgb:32,107,196}.status-azure{--tblr-status-color:#4299e1;--tblr-status-color-rgb:66,153,225}.status-indigo{--tblr-status-color:#4263eb;--tblr-status-color-rgb:66,99,235}.status-purple{--tblr-status-color:#ae3ec9;--tblr-status-color-rgb:174,62,201}.status-pink{--tblr-status-color:#d6336c;--tblr-status-color-rgb:214,51,108}.status-red{--tblr-status-color:#d63939;--tblr-status-color-rgb:214,57,57}.status-orange{--tblr-status-color:#f76707;--tblr-status-color-rgb:247,103,7}.status-yellow{--tblr-status-color:#f59f00;--tblr-status-color-rgb:245,159,0}.status-lime{--tblr-status-color:#74b816;--tblr-status-color-rgb:116,184,22}.status-green{--tblr-status-color:#2fb344;--tblr-status-color-rgb:47,179,68}.status-teal{--tblr-status-color:#0ca678;--tblr-status-color-rgb:12,166,120}.status-cyan{--tblr-status-color:#17a2b8;--tblr-status-color-rgb:23,162,184}.status-facebook{--tblr-status-color:#3b5998;--tblr-status-color-rgb:59,89,152}.status-twitter{--tblr-status-color:#1da1f2;--tblr-status-color-rgb:29,161,242}.status-linkedin{--tblr-status-color:#0a66c2;--tblr-status-color-rgb:10,102,194}.status-google{--tblr-status-color:#dc4e41;--tblr-status-color-rgb:220,78,65}.status-youtube{--tblr-status-color:#ff0000;--tblr-status-color-rgb:255,0,0}.status-vimeo{--tblr-status-color:#1ab7ea;--tblr-status-color-rgb:26,183,234}.status-dribbble{--tblr-status-color:#ea4c89;--tblr-status-color-rgb:234,76,137}.status-github{--tblr-status-color:#181717;--tblr-status-color-rgb:24,23,23}.status-instagram{--tblr-status-color:#e4405f;--tblr-status-color-rgb:228,64,95}.status-pinterest{--tblr-status-color:#bd081c;--tblr-status-color-rgb:189,8,28}.status-vk{--tblr-status-color:#6383a8;--tblr-status-color-rgb:99,131,168}.status-rss{--tblr-status-color:#ffa500;--tblr-status-color-rgb:255,165,0}.status-flickr{--tblr-status-color:#0063dc;--tblr-status-color-rgb:0,99,220}.status-bitbucket{--tblr-status-color:#0052cc;--tblr-status-color-rgb:0,82,204}.status-tabler{--tblr-status-color:#206bc4;--tblr-status-color-rgb:32,107,196}.status-dot{--tblr-status-dot-color:var(--tblr-status-color, #616876);--tblr-status-size:0.5rem;position:relative;display:inline-block;width:var(--tblr-status-size);height:var(--tblr-status-size);background:var(--tblr-status-dot-color);border-radius:100rem}.status-dot-animated:before{content:"";position:absolute;inset:0;z-index:0;background:inherit;border-radius:inherit;opacity:.6;-webkit-animation:1s linear 2s backwards infinite status-pulsate-tertiary;animation:1s linear 2s backwards infinite status-pulsate-tertiary}.status-indicator{--tblr-status-indicator-size:2.5rem;--tblr-status-indicator-color:var(--tblr-status-color, #616876);display:block;position:relative;width:var(--tblr-status-indicator-size);height:var(--tblr-status-indicator-size)}.status-indicator-circle{--tblr-status-circle-size:.75rem;position:absolute;right:50%;top:50%;margin:calc(var(--tblr-status-circle-size)/ -2) calc(var(--tblr-status-circle-size)/ -2) 0 0;width:var(--tblr-status-circle-size);height:var(--tblr-status-circle-size);border-radius:100rem;background:var(--tblr-status-color)}.status-indicator-circle:nth-child(1){z-index:3}.status-indicator-circle:nth-child(2){z-index:2;opacity:.1}.status-indicator-circle:nth-child(3){z-index:1;opacity:.3}.status-indicator-animated .status-indicator-circle:nth-child(1){-webkit-animation:2s linear 1s infinite backwards status-pulsate-main;animation:2s linear 1s infinite backwards status-pulsate-main}.status-indicator-animated .status-indicator-circle:nth-child(2){-webkit-animation:2s linear 1s infinite backwards status-pulsate-secondary;animation:2s linear 1s infinite backwards status-pulsate-secondary}.status-indicator-animated .status-indicator-circle:nth-child(3){-webkit-animation:2s linear 1s infinite backwards status-pulsate-tertiary;animation:2s linear 1s infinite backwards status-pulsate-tertiary}.switch-icon{display:inline-block;line-height:1;border:0;padding:0;background:0 0;width:1.25rem;height:1.25rem;vertical-align:bottom;position:relative;cursor:pointer}.switch-icon.disabled{pointer-events:none;opacity:.4}.switch-icon:focus{outline:0}.switch-icon svg{display:block;width:100%;height:100%}.switch-icon .switch-icon-a,.switch-icon .switch-icon-b{display:block;width:100%;height:100%}.switch-icon .switch-icon-a{opacity:1}.switch-icon .switch-icon-b{position:absolute;top:0;right:0;opacity:0}.switch-icon.active .switch-icon-a{opacity:0}.switch-icon.active .switch-icon-b{opacity:1}.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:opacity .5s}@media (prefers-reduced-motion:reduce){.switch-icon-fade .switch-icon-a,.switch-icon-fade .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:opacity .5s,transform 0s .5s}@media (prefers-reduced-motion:reduce){.switch-icon-scale .switch-icon-a,.switch-icon-scale .switch-icon-b{transition:none}}.switch-icon-scale .switch-icon-b{transform:scale(1.5)}.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:opacity 0s,transform .5s}@media (prefers-reduced-motion:reduce){.switch-icon-scale.active .switch-icon-a,.switch-icon-scale.active .switch-icon-b{transition:none}}.switch-icon-scale.active .switch-icon-b{transform:scale(1)}.switch-icon-flip{perspective:10em}.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d;transition:opacity 0s .2s,transform .4s ease-in-out}@media (prefers-reduced-motion:reduce){.switch-icon-flip .switch-icon-a,.switch-icon-flip .switch-icon-b{transition:none}}.switch-icon-flip .switch-icon-a{opacity:1;transform:rotateY(0)}.switch-icon-flip .switch-icon-b{opacity:1;transform:rotateY(180deg)}.switch-icon-flip.active .switch-icon-a{opacity:1;transform:rotateY(-180deg)}.switch-icon-flip.active .switch-icon-b{opacity:1;transform:rotateY(0)}.switch-icon-slide-down,.switch-icon-slide-left,.switch-icon-slide-right,.switch-icon-slide-up{overflow:hidden}.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b{transition:opacity .3s,transform .3s}@media (prefers-reduced-motion:reduce){.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-a,.switch-icon-slide-up .switch-icon-b{transition:none}}.switch-icon-slide-down .switch-icon-a,.switch-icon-slide-left .switch-icon-a,.switch-icon-slide-right .switch-icon-a,.switch-icon-slide-up .switch-icon-a{transform:translateY(0)}.switch-icon-slide-down .switch-icon-b,.switch-icon-slide-left .switch-icon-b,.switch-icon-slide-right .switch-icon-b,.switch-icon-slide-up .switch-icon-b{transform:translateY(100%)}.switch-icon-slide-down.active .switch-icon-a,.switch-icon-slide-left.active .switch-icon-a,.switch-icon-slide-right.active .switch-icon-a,.switch-icon-slide-up.active .switch-icon-a{transform:translateY(-100%)}.switch-icon-slide-down.active .switch-icon-b,.switch-icon-slide-left.active .switch-icon-b,.switch-icon-slide-right.active .switch-icon-b,.switch-icon-slide-up.active .switch-icon-b{transform:translateY(0)}.switch-icon-slide-right .switch-icon-a{transform:translateX(0)}.switch-icon-slide-left .switch-icon-b{transform:translateX(-100%)}.switch-icon-slide-left.active .switch-icon-a{transform:translateX(100%)}.switch-icon-slide-right.active .switch-icon-b{transform:translateX(0)}.switch-icon-slide-left .switch-icon-a{transform:translateX(0)}.switch-icon-slide-right .switch-icon-b{transform:translateX(100%)}.switch-icon-slide-right.active .switch-icon-a{transform:translateX(-100%)}.switch-icon-slide-left.active .switch-icon-b{transform:translateX(0)}.switch-icon-slide-down .switch-icon-a{transform:translateY(0)}.switch-icon-slide-down .switch-icon-b{transform:translateY(-100%)}.switch-icon-slide-down.active .switch-icon-a{transform:translateY(100%)}.switch-icon-slide-down.active .switch-icon-b{transform:translateY(0)}@media not print{.theme-dark .table-primary{--tblr-table-color:#f8fafc;--tblr-table-bg:#134076;--tblr-table-border-color:#2a5383;--tblr-table-striped-bg:#1e497d;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#2a5383;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#244e80;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark .table-secondary{--tblr-table-color:#f8fafc;--tblr-table-bg:#3a3e47;--tblr-table-border-color:#4d5159;--tblr-table-striped-bg:#444750;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#4d5159;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#484c55;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark .table-success{--tblr-table-color:#f8fafc;--tblr-table-bg:#1c6b29;--tblr-table-border-color:#32793e;--tblr-table-striped-bg:#277234;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#32793e;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#2d7639;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark .table-info{--tblr-table-color:#f8fafc;--tblr-table-bg:#285c87;--tblr-table-border-color:#3d6c93;--tblr-table-striped-bg:#32648d;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#3d6c93;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#386890;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark .table-warning{--tblr-table-color:#f8fafc;--tblr-table-bg:#943e04;--tblr-table-border-color:#9e511d;--tblr-table-striped-bg:#994710;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#9e511d;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#9c4c17;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark .table-danger{--tblr-table-color:#f8fafc;--tblr-table-bg:#802222;--tblr-table-border-color:#8c3838;--tblr-table-striped-bg:#862d2d;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#8c3838;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#893232;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}}@media not print{@media (prefers-color-scheme:dark){.theme-dark-auto .table-primary{--tblr-table-color:#f8fafc;--tblr-table-bg:#134076;--tblr-table-border-color:#2a5383;--tblr-table-striped-bg:#1e497d;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#2a5383;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#244e80;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark-auto .table-secondary{--tblr-table-color:#f8fafc;--tblr-table-bg:#3a3e47;--tblr-table-border-color:#4d5159;--tblr-table-striped-bg:#444750;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#4d5159;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#484c55;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark-auto .table-success{--tblr-table-color:#f8fafc;--tblr-table-bg:#1c6b29;--tblr-table-border-color:#32793e;--tblr-table-striped-bg:#277234;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#32793e;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#2d7639;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark-auto .table-info{--tblr-table-color:#f8fafc;--tblr-table-bg:#285c87;--tblr-table-border-color:#3d6c93;--tblr-table-striped-bg:#32648d;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#3d6c93;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#386890;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark-auto .table-warning{--tblr-table-color:#f8fafc;--tblr-table-bg:#943e04;--tblr-table-border-color:#9e511d;--tblr-table-striped-bg:#994710;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#9e511d;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#9c4c17;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}.theme-dark-auto .table-danger{--tblr-table-color:#f8fafc;--tblr-table-bg:#802222;--tblr-table-border-color:#8c3838;--tblr-table-striped-bg:#862d2d;--tblr-table-striped-color:#f8fafc;--tblr-table-active-bg:#8c3838;--tblr-table-active-color:#f8fafc;--tblr-table-hover-bg:#893232;--tblr-table-hover-color:#f8fafc;color:var(--tblr-table-color);border-color:var(--tblr-table-border-color)}}}.markdown>table thead th,.table thead th{color:var(--tblr-muted);background:var(--tblr-gray-50);font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);padding-top:.5rem;padding-bottom:.5rem;white-space:nowrap}@media print{.markdown>table thead th,.table thead th{background:0 0}}.table-responsive .markdown>table,.table-responsive .table{margin-bottom:0}.table-responsive+.card-footer{border-top:0}.table-transparent thead th{background:0 0}.table-nowrap>:not(caption)>*>*{white-space:nowrap}.table-vcenter>:not(caption)>*>*{vertical-align:middle}.table-center>:not(caption)>*>*{text-align:center}.td-truncate{max-width:1px;width:100%}.table-mobile{display:block}.table-mobile thead{display:none}.table-mobile tbody,.table-mobile tr{display:flex;flex-direction:column}.table-mobile td{display:block;padding:.75rem .75rem!important;border:none;color:#1d273b!important}.table-mobile td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile .btn{display:block}@media (max-width:575.98px){.table-mobile-sm{display:block}.table-mobile-sm thead{display:none}.table-mobile-sm tbody,.table-mobile-sm tr{display:flex;flex-direction:column}.table-mobile-sm td{display:block;padding:.75rem .75rem!important;border:none;color:#1d273b!important}.table-mobile-sm td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-sm tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-sm .btn{display:block}}@media (max-width:767.98px){.table-mobile-md{display:block}.table-mobile-md thead{display:none}.table-mobile-md tbody,.table-mobile-md tr{display:flex;flex-direction:column}.table-mobile-md td{display:block;padding:.75rem .75rem!important;border:none;color:#1d273b!important}.table-mobile-md td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-md tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-md .btn{display:block}}@media (max-width:991.98px){.table-mobile-lg{display:block}.table-mobile-lg thead{display:none}.table-mobile-lg tbody,.table-mobile-lg tr{display:flex;flex-direction:column}.table-mobile-lg td{display:block;padding:.75rem .75rem!important;border:none;color:#1d273b!important}.table-mobile-lg td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-lg tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-lg .btn{display:block}}@media (max-width:1199.98px){.table-mobile-xl{display:block}.table-mobile-xl thead{display:none}.table-mobile-xl tbody,.table-mobile-xl tr{display:flex;flex-direction:column}.table-mobile-xl td{display:block;padding:.75rem .75rem!important;border:none;color:#1d273b!important}.table-mobile-xl td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-xl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xl .btn{display:block}}@media (max-width:1399.98px){.table-mobile-xxl{display:block}.table-mobile-xxl thead{display:none}.table-mobile-xxl tbody,.table-mobile-xxl tr{display:flex;flex-direction:column}.table-mobile-xxl td{display:block;padding:.75rem .75rem!important;border:none;color:#1d273b!important}.table-mobile-xxl td[data-label]:before{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);content:attr(data-label);display:block}.table-mobile-xxl tr{border-bottom:var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent)}.table-mobile-xxl .btn{display:block}}.table-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;border:0;background:inherit;display:block;width:100%;text-align:inherit;transition:color .3s;margin:-.5rem -.75rem;padding:.5rem .75rem}@media (prefers-reduced-motion:reduce){.table-sort{transition:none}}.table-sort.asc,.table-sort.desc,.table-sort:hover{color:#1d273b}.table-sort.asc:after,.table-sort.desc:after,.table-sort:after{content:"";display:inline-flex;width:1rem;height:1rem;vertical-align:bottom;background:url("data:image/svg+xml,") no-repeat center;opacity:.2}.table-sort.asc:after{background:url("data:image/svg+xml,") no-repeat center;opacity:1}.table-sort.desc:after{background:url("data:image/svg+xml,") no-repeat center;opacity:1}.table-borderless thead th{background:0 0}.toast{background:#fff;border:1px var(--tblr-border-style) var(--tblr-border-color-translucent);box-shadow:rgba(29,39,59,.04) 0 2px 4px 0}.toast .toast-header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.toast button[data-bs-dismiss=toast]{outline:0}.toast-primary{--tblr-toast-color:#206bc4}.toast-secondary{--tblr-toast-color:#616876}.toast-success{--tblr-toast-color:#2fb344}.toast-info{--tblr-toast-color:#4299e1}.toast-warning{--tblr-toast-color:#f76707}.toast-danger{--tblr-toast-color:#d63939}.toast-light{--tblr-toast-color:#f8fafc}.toast-dark{--tblr-toast-color:#1d273b}.toast-muted{--tblr-toast-color:#616876}.toast-blue{--tblr-toast-color:#206bc4}.toast-azure{--tblr-toast-color:#4299e1}.toast-indigo{--tblr-toast-color:#4263eb}.toast-purple{--tblr-toast-color:#ae3ec9}.toast-pink{--tblr-toast-color:#d6336c}.toast-red{--tblr-toast-color:#d63939}.toast-orange{--tblr-toast-color:#f76707}.toast-yellow{--tblr-toast-color:#f59f00}.toast-lime{--tblr-toast-color:#74b816}.toast-green{--tblr-toast-color:#2fb344}.toast-teal{--tblr-toast-color:#0ca678}.toast-cyan{--tblr-toast-color:#17a2b8}.toast-facebook{--tblr-toast-color:#3b5998}.toast-twitter{--tblr-toast-color:#1da1f2}.toast-linkedin{--tblr-toast-color:#0a66c2}.toast-google{--tblr-toast-color:#dc4e41}.toast-youtube{--tblr-toast-color:#ff0000}.toast-vimeo{--tblr-toast-color:#1ab7ea}.toast-dribbble{--tblr-toast-color:#ea4c89}.toast-github{--tblr-toast-color:#181717}.toast-instagram{--tblr-toast-color:#e4405f}.toast-pinterest{--tblr-toast-color:#bd081c}.toast-vk{--tblr-toast-color:#6383a8}.toast-rss{--tblr-toast-color:#ffa500}.toast-flickr{--tblr-toast-color:#0063dc}.toast-bitbucket{--tblr-toast-color:#0052cc}.toast-tabler{--tblr-toast-color:#206bc4}.toolbar{display:flex;flex-wrap:nowrap;flex-shrink:0;margin:0 -.5rem}.toolbar>*{margin:0 .5rem}.tracking{--tblr-tracking-height:1.5rem;--tblr-tracking-gap-width:0.125rem;--tblr-tracking-block-border-radius:var(--tblr-border-radius);display:flex;gap:var(--tblr-tracking-gap-width)}.tracking-squares{--tblr-tracking-block-border-radius:var(--tblr-border-radius-sm)}.tracking-squares .tracking-block{height:auto}.tracking-squares .tracking-block:before{content:"";display:block;padding-top:100%}.tracking-block{flex:1;border-radius:var(--tblr-tracking-block-border-radius);height:var(--tblr-tracking-height);min-width:.25rem;background:var(--tblr-border-color)}.hr-text{display:flex;align-items:center;margin:2rem 0;font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted);height:1px}.hr-text:after,.hr-text:before{flex:1 1 auto;height:1px;background-color:var(--tblr-border-color)}.hr-text:before{content:"";margin-left:.5rem}.hr-text:after{content:"";margin-right:.5rem}.hr-text>:first-child{padding-left:.5rem;padding-right:0;color:#616876}.hr-text.hr-text-right:before{content:none}.hr-text.hr-text-left>:first-child{padding-left:.5rem;padding-right:.5rem}.hr-text.hr-text-left:before{content:""}.hr-text.hr-text-left:after{content:none}.hr-text.hr-text-right>:first-child{padding-left:0;padding-right:.5rem}.card>.hr-text{margin:0}.hr-text-spaceless{margin:-.5rem 0}.lead{line-height:1.4}a{-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}.h1 a,.h2 a,.h3 a,.h4 a,.h5 a,.h6 a,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit}.h1 a:hover,.h2 a:hover,.h3 a:hover,.h4 a:hover,.h5 a:hover,.h6 a:hover,h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:inherit}.h1,h1{font-size:var(--tblr-font-size-h1);line-height:var(--tblr-line-height-h1)}.h2,h2{font-size:var(--tblr-font-size-h2);line-height:var(--tblr-line-height-h2)}.h3,h3{font-size:var(--tblr-font-size-h3);line-height:var(--tblr-line-height-h3)}.h4,h4{font-size:var(--tblr-font-size-h4);line-height:var(--tblr-line-height-h4)}.h5,h5{font-size:var(--tblr-font-size-h5);line-height:var(--tblr-line-height-h5)}.h6,h6{font-size:var(--tblr-font-size-h6);line-height:var(--tblr-line-height-h6)}.strong,b,strong{font-weight:var(--tblr-font-weight-bold)}blockquote{padding-right:1rem;border-right:2px var(--tblr-border-style) var(--tblr-border-color)}blockquote p{margin-bottom:1rem}blockquote cite{display:block;text-align:left}blockquote cite:before{content:"— "}ol,ul{padding-right:1.5rem}.hr,hr{margin:2rem 0}dl dd:last-child{margin-bottom:0}pre{padding:1rem;background:var(--tblr-bg-surface-dark);color:var(--tblr-light);border-radius:var(--tblr-border-radius)}pre code{background:0 0}code{background:var(--tblr-code-bg);padding:2px 4px;border-radius:var(--tblr-border-radius)}kbd{font:inherit;box-shadow:0 0 0 1px var(--tblr-border-color),0 3px 0 0 var(--tblr-bg-surface),0 3px 0 1px var(--tblr-border-color)}img{max-width:100%}.list-unstyled{margin-right:0}::-moz-selection{background-color:rgba(var(--tblr-primary-rgb),.16)}::selection{background-color:rgba(var(--tblr-primary-rgb),.16)}[class*=" link-"].disabled,[class^=link-].disabled{color:var(--tblr-disabled-color);pointer-events:none}.subheader{font-size:.625rem;font-weight:var(--tblr-font-weight-bold);text-transform:uppercase;letter-spacing:.04em;line-height:1rem;color:var(--tblr-muted)}.chart{display:block;min-height:10rem}.chart text{font-family:inherit}.chart-sm{height:2.5rem}.chart-lg{height:15rem}.chart-square{height:5.75rem}.chart-sparkline{position:relative;width:4rem;height:2.5rem;line-height:1;min-height:0!important}.chart-sparkline-sm{height:1.5rem}.chart-sparkline-square{width:2.5rem}.chart-sparkline-wide{width:6rem}.chart-sparkline-label{position:absolute;top:0;left:0;bottom:0;right:0;display:flex;align-items:center;justify-content:center;font-size:.625rem}.chart-sparkline-label .icon{width:1rem;height:1rem;font-size:1rem}.offcanvas-header{border-bottom:var(--tblr-border-width) var(--tblr-border-style) rgba(97,104,118,.16)}.offcanvas-footer{padding:1.5rem 1.5rem}.offcanvas-title{font-size:1rem;font-weight:var(--tblr-font-weight-medium);line-height:1.5rem}.offcanvas-narrow{width:20rem}.bg-white-overlay{color:#fff;background-color:rgba(248,250,252,.24)}.bg-dark-overlay{color:#fff;background-color:rgba(29,39,59,.24)}.bg-cover{background-repeat:no-repeat;background-size:cover;background-position:center}.bg-primary{background-color:var(--tblr-primary)!important}.bg-primary-lt{color:var(--tblr-primary)!important;background-color:rgba(var(--tblr-primary-rgb),.1)!important}.bg-secondary{background-color:var(--tblr-secondary)!important}.bg-secondary-lt{color:var(--tblr-secondary)!important;background-color:rgba(var(--tblr-secondary-rgb),.1)!important}.bg-success{background-color:var(--tblr-success)!important}.bg-success-lt{color:var(--tblr-success)!important;background-color:rgba(var(--tblr-success-rgb),.1)!important}.bg-info{background-color:var(--tblr-info)!important}.bg-info-lt{color:var(--tblr-info)!important;background-color:rgba(var(--tblr-info-rgb),.1)!important}.bg-warning{background-color:var(--tblr-warning)!important}.bg-warning-lt{color:var(--tblr-warning)!important;background-color:rgba(var(--tblr-warning-rgb),.1)!important}.bg-danger{background-color:var(--tblr-danger)!important}.bg-danger-lt{color:var(--tblr-danger)!important;background-color:rgba(var(--tblr-danger-rgb),.1)!important}.bg-light{background-color:var(--tblr-light)!important}.bg-light-lt{color:var(--tblr-light)!important;background-color:rgba(var(--tblr-light-rgb),.1)!important}.bg-dark{background-color:var(--tblr-dark)!important}.bg-dark-lt{color:var(--tblr-dark)!important;background-color:rgba(var(--tblr-dark-rgb),.1)!important}.bg-muted{background-color:var(--tblr-muted)!important}.bg-muted-lt{color:var(--tblr-muted)!important;background-color:rgba(var(--tblr-muted-rgb),.1)!important}.bg-blue{background-color:var(--tblr-blue)!important}.bg-blue-lt{color:var(--tblr-blue)!important;background-color:rgba(var(--tblr-blue-rgb),.1)!important}.bg-azure{background-color:var(--tblr-azure)!important}.bg-azure-lt{color:var(--tblr-azure)!important;background-color:rgba(var(--tblr-azure-rgb),.1)!important}.bg-indigo{background-color:var(--tblr-indigo)!important}.bg-indigo-lt{color:var(--tblr-indigo)!important;background-color:rgba(var(--tblr-indigo-rgb),.1)!important}.bg-purple{background-color:var(--tblr-purple)!important}.bg-purple-lt{color:var(--tblr-purple)!important;background-color:rgba(var(--tblr-purple-rgb),.1)!important}.bg-pink{background-color:var(--tblr-pink)!important}.bg-pink-lt{color:var(--tblr-pink)!important;background-color:rgba(var(--tblr-pink-rgb),.1)!important}.bg-red{background-color:var(--tblr-red)!important}.bg-red-lt{color:var(--tblr-red)!important;background-color:rgba(var(--tblr-red-rgb),.1)!important}.bg-orange{background-color:var(--tblr-orange)!important}.bg-orange-lt{color:var(--tblr-orange)!important;background-color:rgba(var(--tblr-orange-rgb),.1)!important}.bg-yellow{background-color:var(--tblr-yellow)!important}.bg-yellow-lt{color:var(--tblr-yellow)!important;background-color:rgba(var(--tblr-yellow-rgb),.1)!important}.bg-lime{background-color:var(--tblr-lime)!important}.bg-lime-lt{color:var(--tblr-lime)!important;background-color:rgba(var(--tblr-lime-rgb),.1)!important}.bg-green{background-color:var(--tblr-green)!important}.bg-green-lt{color:var(--tblr-green)!important;background-color:rgba(var(--tblr-green-rgb),.1)!important}.bg-teal{background-color:var(--tblr-teal)!important}.bg-teal-lt{color:var(--tblr-teal)!important;background-color:rgba(var(--tblr-teal-rgb),.1)!important}.bg-cyan{background-color:var(--tblr-cyan)!important}.bg-cyan-lt{color:var(--tblr-cyan)!important;background-color:rgba(var(--tblr-cyan-rgb),.1)!important}.bg-facebook{background-color:var(--tblr-facebook)!important}.bg-facebook-lt{color:var(--tblr-facebook)!important;background-color:rgba(var(--tblr-facebook-rgb),.1)!important}.bg-twitter{background-color:var(--tblr-twitter)!important}.bg-twitter-lt{color:var(--tblr-twitter)!important;background-color:rgba(var(--tblr-twitter-rgb),.1)!important}.bg-linkedin{background-color:var(--tblr-linkedin)!important}.bg-linkedin-lt{color:var(--tblr-linkedin)!important;background-color:rgba(var(--tblr-linkedin-rgb),.1)!important}.bg-google{background-color:var(--tblr-google)!important}.bg-google-lt{color:var(--tblr-google)!important;background-color:rgba(var(--tblr-google-rgb),.1)!important}.bg-youtube{background-color:var(--tblr-youtube)!important}.bg-youtube-lt{color:var(--tblr-youtube)!important;background-color:rgba(var(--tblr-youtube-rgb),.1)!important}.bg-vimeo{background-color:var(--tblr-vimeo)!important}.bg-vimeo-lt{color:var(--tblr-vimeo)!important;background-color:rgba(var(--tblr-vimeo-rgb),.1)!important}.bg-dribbble{background-color:var(--tblr-dribbble)!important}.bg-dribbble-lt{color:var(--tblr-dribbble)!important;background-color:rgba(var(--tblr-dribbble-rgb),.1)!important}.bg-github{background-color:var(--tblr-github)!important}.bg-github-lt{color:var(--tblr-github)!important;background-color:rgba(var(--tblr-github-rgb),.1)!important}.bg-instagram{background-color:var(--tblr-instagram)!important}.bg-instagram-lt{color:var(--tblr-instagram)!important;background-color:rgba(var(--tblr-instagram-rgb),.1)!important}.bg-pinterest{background-color:var(--tblr-pinterest)!important}.bg-pinterest-lt{color:var(--tblr-pinterest)!important;background-color:rgba(var(--tblr-pinterest-rgb),.1)!important}.bg-vk{background-color:var(--tblr-vk)!important}.bg-vk-lt{color:var(--tblr-vk)!important;background-color:rgba(var(--tblr-vk-rgb),.1)!important}.bg-rss{background-color:var(--tblr-rss)!important}.bg-rss-lt{color:var(--tblr-rss)!important;background-color:rgba(var(--tblr-rss-rgb),.1)!important}.bg-flickr{background-color:var(--tblr-flickr)!important}.bg-flickr-lt{color:var(--tblr-flickr)!important;background-color:rgba(var(--tblr-flickr-rgb),.1)!important}.bg-bitbucket{background-color:var(--tblr-bitbucket)!important}.bg-bitbucket-lt{color:var(--tblr-bitbucket)!important;background-color:rgba(var(--tblr-bitbucket-rgb),.1)!important}.bg-tabler{background-color:var(--tblr-tabler)!important}.bg-tabler-lt{color:var(--tblr-tabler)!important;background-color:rgba(var(--tblr-tabler-rgb),.1)!important}.text-primary{color:var(--tblr-primary)!important}.text-primary-fg{color:var(--tblr-primary-fg)!important}.text-secondary{color:var(--tblr-secondary)!important}.text-secondary-fg{color:var(--tblr-secondary-fg)!important}.text-success{color:var(--tblr-success)!important}.text-success-fg{color:var(--tblr-success-fg)!important}.text-info{color:var(--tblr-info)!important}.text-info-fg{color:var(--tblr-info-fg)!important}.text-warning{color:var(--tblr-warning)!important}.text-warning-fg{color:var(--tblr-warning-fg)!important}.text-danger{color:var(--tblr-danger)!important}.text-danger-fg{color:var(--tblr-danger-fg)!important}.text-light{color:var(--tblr-light)!important}.text-light-fg{color:var(--tblr-light-fg)!important}.text-dark{color:var(--tblr-dark)!important}.text-dark-fg{color:var(--tblr-dark-fg)!important}.text-muted{color:var(--tblr-muted)!important}.text-muted-fg{color:var(--tblr-muted-fg)!important}.text-blue{color:var(--tblr-blue)!important}.text-blue-fg{color:var(--tblr-blue-fg)!important}.text-azure{color:var(--tblr-azure)!important}.text-azure-fg{color:var(--tblr-azure-fg)!important}.text-indigo{color:var(--tblr-indigo)!important}.text-indigo-fg{color:var(--tblr-indigo-fg)!important}.text-purple{color:var(--tblr-purple)!important}.text-purple-fg{color:var(--tblr-purple-fg)!important}.text-pink{color:var(--tblr-pink)!important}.text-pink-fg{color:var(--tblr-pink-fg)!important}.text-red{color:var(--tblr-red)!important}.text-red-fg{color:var(--tblr-red-fg)!important}.text-orange{color:var(--tblr-orange)!important}.text-orange-fg{color:var(--tblr-orange-fg)!important}.text-yellow{color:var(--tblr-yellow)!important}.text-yellow-fg{color:var(--tblr-yellow-fg)!important}.text-lime{color:var(--tblr-lime)!important}.text-lime-fg{color:var(--tblr-lime-fg)!important}.text-green{color:var(--tblr-green)!important}.text-green-fg{color:var(--tblr-green-fg)!important}.text-teal{color:var(--tblr-teal)!important}.text-teal-fg{color:var(--tblr-teal-fg)!important}.text-cyan{color:var(--tblr-cyan)!important}.text-cyan-fg{color:var(--tblr-cyan-fg)!important}.text-facebook{color:var(--tblr-facebook)!important}.text-facebook-fg{color:var(--tblr-facebook-fg)!important}.text-twitter{color:var(--tblr-twitter)!important}.text-twitter-fg{color:var(--tblr-twitter-fg)!important}.text-linkedin{color:var(--tblr-linkedin)!important}.text-linkedin-fg{color:var(--tblr-linkedin-fg)!important}.text-google{color:var(--tblr-google)!important}.text-google-fg{color:var(--tblr-google-fg)!important}.text-youtube{color:var(--tblr-youtube)!important}.text-youtube-fg{color:var(--tblr-youtube-fg)!important}.text-vimeo{color:var(--tblr-vimeo)!important}.text-vimeo-fg{color:var(--tblr-vimeo-fg)!important}.text-dribbble{color:var(--tblr-dribbble)!important}.text-dribbble-fg{color:var(--tblr-dribbble-fg)!important}.text-github{color:var(--tblr-github)!important}.text-github-fg{color:var(--tblr-github-fg)!important}.text-instagram{color:var(--tblr-instagram)!important}.text-instagram-fg{color:var(--tblr-instagram-fg)!important}.text-pinterest{color:var(--tblr-pinterest)!important}.text-pinterest-fg{color:var(--tblr-pinterest-fg)!important}.text-vk{color:var(--tblr-vk)!important}.text-vk-fg{color:var(--tblr-vk-fg)!important}.text-rss{color:var(--tblr-rss)!important}.text-rss-fg{color:var(--tblr-rss-fg)!important}.text-flickr{color:var(--tblr-flickr)!important}.text-flickr-fg{color:var(--tblr-flickr-fg)!important}.text-bitbucket{color:var(--tblr-bitbucket)!important}.text-bitbucket-fg{color:var(--tblr-bitbucket-fg)!important}.text-tabler{color:var(--tblr-tabler)!important}.text-tabler-fg{color:var(--tblr-tabler-fg)!important}.bg-gray-50{background-color:var(--tblr-gray-50)!important}.text-gray-50-fg{color:#1d273b!important}.bg-gray-100{background-color:var(--tblr-gray-100)!important}.text-gray-100-fg{color:#1d273b!important}.bg-gray-200{background-color:var(--tblr-gray-200)!important}.text-gray-200-fg{color:#1d273b!important}.bg-gray-300{background-color:var(--tblr-gray-300)!important}.text-gray-300-fg{color:#1d273b!important}.bg-gray-400{background-color:var(--tblr-gray-400)!important}.text-gray-400-fg{color:#f8fafc!important}.bg-gray-500{background-color:var(--tblr-gray-500)!important}.text-gray-500-fg{color:#f8fafc!important}.bg-gray-600{background-color:var(--tblr-gray-600)!important}.text-gray-600-fg{color:#f8fafc!important}.bg-gray-700{background-color:var(--tblr-gray-700)!important}.text-gray-700-fg{color:#f8fafc!important}.bg-gray-800{background-color:var(--tblr-gray-800)!important}.text-gray-800-fg{color:#f8fafc!important}.bg-gray-900{background-color:var(--tblr-gray-900)!important}.text-gray-900-fg{color:#f8fafc!important}.scrollable{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scrollable.hover{overflow-y:hidden}.scrollable.hover>*{margin-top:-1px}.scrollable.hover:active,.scrollable.hover:focus,.scrollable.hover:hover{overflow:visible;overflow-y:auto}.touch .scrollable{overflow-y:auto!important}.scroll-x,.scroll-y{overflow:hidden;-webkit-overflow-scrolling:touch}.scroll-y{overflow-y:auto}.scroll-x{overflow-x:auto}.no-scroll{overflow:hidden}.w-0{width:0!important}.h-0{height:0!important}.w-1{width:.25rem!important}.h-1{height:.25rem!important}.w-2{width:.5rem!important}.h-2{height:.5rem!important}.w-3{width:1rem!important}.h-3{height:1rem!important}.w-4{width:2rem!important}.h-4{height:2rem!important}.w-5{width:4rem!important}.h-5{height:4rem!important}.w-auto{width:auto!important}.h-auto{height:auto!important}.w-px{width:1px!important}.h-px{height:1px!important}.w-full{width:100%!important}.h-full{height:100%!important}.opacity-0{opacity:0!important}.opacity-5{opacity:.05!important}.opacity-10{opacity:.1!important}.opacity-15{opacity:.15!important}.opacity-20{opacity:.2!important}.opacity-25{opacity:.25!important}.opacity-30{opacity:.3!important}.opacity-35{opacity:.35!important}.opacity-40{opacity:.4!important}.opacity-45{opacity:.45!important}.opacity-50{opacity:.5!important}.opacity-55{opacity:.55!important}.opacity-60{opacity:.6!important}.opacity-65{opacity:.65!important}.opacity-70{opacity:.7!important}.opacity-75{opacity:.75!important}.opacity-80{opacity:.8!important}.opacity-85{opacity:.85!important}.opacity-90{opacity:.9!important}.opacity-95{opacity:.95!important}.opacity-100{opacity:1!important}.hover-shadow-sm:hover{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.hover-shadow:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.hover-shadow-lg:hover{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.hover-shadow-none:hover{box-shadow:none!important}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto} \ No newline at end of file diff --git a/demo/dist/img/flags/ad.svg b/demo/dist/img/flags/ad.svg deleted file mode 100755 index 83f9a9d4a..000000000 --- a/demo/dist/img/flags/ad.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ae.svg b/demo/dist/img/flags/ae.svg deleted file mode 100755 index 79361a56f..000000000 --- a/demo/dist/img/flags/ae.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/af.svg b/demo/dist/img/flags/af.svg deleted file mode 100755 index e931411a0..000000000 --- a/demo/dist/img/flags/af.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ag.svg b/demo/dist/img/flags/ag.svg deleted file mode 100755 index f990176e0..000000000 --- a/demo/dist/img/flags/ag.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ai.svg b/demo/dist/img/flags/ai.svg deleted file mode 100755 index 94c79ca5d..000000000 --- a/demo/dist/img/flags/ai.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/al.svg b/demo/dist/img/flags/al.svg deleted file mode 100755 index 0376623f4..000000000 --- a/demo/dist/img/flags/al.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/am.svg b/demo/dist/img/flags/am.svg deleted file mode 100755 index 0698aa6cb..000000000 --- a/demo/dist/img/flags/am.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ao.svg b/demo/dist/img/flags/ao.svg deleted file mode 100755 index e0ffd55dc..000000000 --- a/demo/dist/img/flags/ao.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/aq.svg b/demo/dist/img/flags/aq.svg deleted file mode 100755 index b238e9310..000000000 --- a/demo/dist/img/flags/aq.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ar.svg b/demo/dist/img/flags/ar.svg deleted file mode 100755 index 0349a30b7..000000000 --- a/demo/dist/img/flags/ar.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/as.svg b/demo/dist/img/flags/as.svg deleted file mode 100755 index fa824d967..000000000 --- a/demo/dist/img/flags/as.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/at.svg b/demo/dist/img/flags/at.svg deleted file mode 100755 index eb884b8bb..000000000 --- a/demo/dist/img/flags/at.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/au.svg b/demo/dist/img/flags/au.svg deleted file mode 100755 index d9f3febfd..000000000 --- a/demo/dist/img/flags/au.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/aw.svg b/demo/dist/img/flags/aw.svg deleted file mode 100755 index cb622e6b7..000000000 --- a/demo/dist/img/flags/aw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ax.svg b/demo/dist/img/flags/ax.svg deleted file mode 100755 index 77610aa1d..000000000 --- a/demo/dist/img/flags/ax.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/az.svg b/demo/dist/img/flags/az.svg deleted file mode 100755 index 5efacae84..000000000 --- a/demo/dist/img/flags/az.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ba.svg b/demo/dist/img/flags/ba.svg deleted file mode 100755 index 4c877aa2e..000000000 --- a/demo/dist/img/flags/ba.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bb.svg b/demo/dist/img/flags/bb.svg deleted file mode 100755 index 94ac735c6..000000000 --- a/demo/dist/img/flags/bb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bd.svg b/demo/dist/img/flags/bd.svg deleted file mode 100755 index 45de3a682..000000000 --- a/demo/dist/img/flags/bd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/be.svg b/demo/dist/img/flags/be.svg deleted file mode 100755 index 2ffcf7af0..000000000 --- a/demo/dist/img/flags/be.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bf.svg b/demo/dist/img/flags/bf.svg deleted file mode 100755 index 4d28804dd..000000000 --- a/demo/dist/img/flags/bf.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bg.svg b/demo/dist/img/flags/bg.svg deleted file mode 100755 index 48f09f2a9..000000000 --- a/demo/dist/img/flags/bg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bh.svg b/demo/dist/img/flags/bh.svg deleted file mode 100755 index 1fcc52020..000000000 --- a/demo/dist/img/flags/bh.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bi.svg b/demo/dist/img/flags/bi.svg deleted file mode 100755 index 7d02d9b55..000000000 --- a/demo/dist/img/flags/bi.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bj.svg b/demo/dist/img/flags/bj.svg deleted file mode 100755 index 10ae22123..000000000 --- a/demo/dist/img/flags/bj.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bl.svg b/demo/dist/img/flags/bl.svg deleted file mode 100755 index c685996c0..000000000 --- a/demo/dist/img/flags/bl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bm.svg b/demo/dist/img/flags/bm.svg deleted file mode 100755 index cf9a3be10..000000000 --- a/demo/dist/img/flags/bm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bn.svg b/demo/dist/img/flags/bn.svg deleted file mode 100755 index dd0a86c6e..000000000 --- a/demo/dist/img/flags/bn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bo.svg b/demo/dist/img/flags/bo.svg deleted file mode 100755 index e2a74435a..000000000 --- a/demo/dist/img/flags/bo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bq.svg b/demo/dist/img/flags/bq.svg deleted file mode 100755 index d4cdda791..000000000 --- a/demo/dist/img/flags/bq.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/br.svg b/demo/dist/img/flags/br.svg deleted file mode 100755 index d02e603c9..000000000 --- a/demo/dist/img/flags/br.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bs.svg b/demo/dist/img/flags/bs.svg deleted file mode 100755 index 09436e1ae..000000000 --- a/demo/dist/img/flags/bs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bt.svg b/demo/dist/img/flags/bt.svg deleted file mode 100755 index e063de169..000000000 --- a/demo/dist/img/flags/bt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bv.svg b/demo/dist/img/flags/bv.svg deleted file mode 100755 index 62f9ff850..000000000 --- a/demo/dist/img/flags/bv.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bw.svg b/demo/dist/img/flags/bw.svg deleted file mode 100755 index 33c98b161..000000000 --- a/demo/dist/img/flags/bw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/by.svg b/demo/dist/img/flags/by.svg deleted file mode 100755 index a8e79aa34..000000000 --- a/demo/dist/img/flags/by.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/bz.svg b/demo/dist/img/flags/bz.svg deleted file mode 100755 index ef53d38e3..000000000 --- a/demo/dist/img/flags/bz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ca.svg b/demo/dist/img/flags/ca.svg deleted file mode 100755 index 5d364163a..000000000 --- a/demo/dist/img/flags/ca.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cc.svg b/demo/dist/img/flags/cc.svg deleted file mode 100755 index 1a57a69f9..000000000 --- a/demo/dist/img/flags/cc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cd.svg b/demo/dist/img/flags/cd.svg deleted file mode 100755 index 340bcb304..000000000 --- a/demo/dist/img/flags/cd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cf.svg b/demo/dist/img/flags/cf.svg deleted file mode 100755 index 92b2dd56f..000000000 --- a/demo/dist/img/flags/cf.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cg.svg b/demo/dist/img/flags/cg.svg deleted file mode 100755 index c2399c9bc..000000000 --- a/demo/dist/img/flags/cg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ch.svg b/demo/dist/img/flags/ch.svg deleted file mode 100755 index d4580b2d7..000000000 --- a/demo/dist/img/flags/ch.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ci.svg b/demo/dist/img/flags/ci.svg deleted file mode 100755 index 43741d1a0..000000000 --- a/demo/dist/img/flags/ci.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ck.svg b/demo/dist/img/flags/ck.svg deleted file mode 100755 index 56ca75954..000000000 --- a/demo/dist/img/flags/ck.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cl.svg b/demo/dist/img/flags/cl.svg deleted file mode 100755 index 725acd9e4..000000000 --- a/demo/dist/img/flags/cl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cm.svg b/demo/dist/img/flags/cm.svg deleted file mode 100755 index 99ee1000e..000000000 --- a/demo/dist/img/flags/cm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cn.svg b/demo/dist/img/flags/cn.svg deleted file mode 100755 index c00e72f4d..000000000 --- a/demo/dist/img/flags/cn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/co.svg b/demo/dist/img/flags/co.svg deleted file mode 100755 index c53ea5bb3..000000000 --- a/demo/dist/img/flags/co.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cr.svg b/demo/dist/img/flags/cr.svg deleted file mode 100755 index de0876532..000000000 --- a/demo/dist/img/flags/cr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cu.svg b/demo/dist/img/flags/cu.svg deleted file mode 100755 index 0895a0ab3..000000000 --- a/demo/dist/img/flags/cu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cv.svg b/demo/dist/img/flags/cv.svg deleted file mode 100755 index 74a75c0fe..000000000 --- a/demo/dist/img/flags/cv.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cw.svg b/demo/dist/img/flags/cw.svg deleted file mode 100755 index 1edc7f749..000000000 --- a/demo/dist/img/flags/cw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cx.svg b/demo/dist/img/flags/cx.svg deleted file mode 100755 index b6a30de4b..000000000 --- a/demo/dist/img/flags/cx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cy.svg b/demo/dist/img/flags/cy.svg deleted file mode 100755 index 6ebbe0539..000000000 --- a/demo/dist/img/flags/cy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/cz.svg b/demo/dist/img/flags/cz.svg deleted file mode 100755 index addc41671..000000000 --- a/demo/dist/img/flags/cz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/de.svg b/demo/dist/img/flags/de.svg deleted file mode 100755 index 295bf6590..000000000 --- a/demo/dist/img/flags/de.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/dj.svg b/demo/dist/img/flags/dj.svg deleted file mode 100755 index 7417441bf..000000000 --- a/demo/dist/img/flags/dj.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/dk.svg b/demo/dist/img/flags/dk.svg deleted file mode 100755 index 784279c26..000000000 --- a/demo/dist/img/flags/dk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/dm.svg b/demo/dist/img/flags/dm.svg deleted file mode 100755 index f939451bc..000000000 --- a/demo/dist/img/flags/dm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/do.svg b/demo/dist/img/flags/do.svg deleted file mode 100755 index 0238de335..000000000 --- a/demo/dist/img/flags/do.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/dz.svg b/demo/dist/img/flags/dz.svg deleted file mode 100755 index e00a779ab..000000000 --- a/demo/dist/img/flags/dz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ec.svg b/demo/dist/img/flags/ec.svg deleted file mode 100755 index 983e56745..000000000 --- a/demo/dist/img/flags/ec.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ee.svg b/demo/dist/img/flags/ee.svg deleted file mode 100755 index 21743c96b..000000000 --- a/demo/dist/img/flags/ee.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/eg.svg b/demo/dist/img/flags/eg.svg deleted file mode 100755 index 001fde5e0..000000000 --- a/demo/dist/img/flags/eg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/eh.svg b/demo/dist/img/flags/eh.svg deleted file mode 100755 index cf5af97b2..000000000 --- a/demo/dist/img/flags/eh.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/er.svg b/demo/dist/img/flags/er.svg deleted file mode 100755 index ac781cce1..000000000 --- a/demo/dist/img/flags/er.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/es-ct.svg b/demo/dist/img/flags/es-ct.svg deleted file mode 100755 index 7dd283afb..000000000 --- a/demo/dist/img/flags/es-ct.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/es.svg b/demo/dist/img/flags/es.svg deleted file mode 100755 index 4d78f9b0a..000000000 --- a/demo/dist/img/flags/es.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/et.svg b/demo/dist/img/flags/et.svg deleted file mode 100755 index 9554f583c..000000000 --- a/demo/dist/img/flags/et.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/eu.svg b/demo/dist/img/flags/eu.svg deleted file mode 100755 index 887edbae5..000000000 --- a/demo/dist/img/flags/eu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/fi.svg b/demo/dist/img/flags/fi.svg deleted file mode 100755 index c6a6c4fbb..000000000 --- a/demo/dist/img/flags/fi.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/fj.svg b/demo/dist/img/flags/fj.svg deleted file mode 100755 index b424cf67a..000000000 --- a/demo/dist/img/flags/fj.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/fk.svg b/demo/dist/img/flags/fk.svg deleted file mode 100755 index 0e870dfb8..000000000 --- a/demo/dist/img/flags/fk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/fm.svg b/demo/dist/img/flags/fm.svg deleted file mode 100755 index 5fe1c268c..000000000 --- a/demo/dist/img/flags/fm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/fo.svg b/demo/dist/img/flags/fo.svg deleted file mode 100755 index 9eafc4187..000000000 --- a/demo/dist/img/flags/fo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/fr.svg b/demo/dist/img/flags/fr.svg deleted file mode 100755 index c685996c0..000000000 --- a/demo/dist/img/flags/fr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ga.svg b/demo/dist/img/flags/ga.svg deleted file mode 100755 index 0e8b64c34..000000000 --- a/demo/dist/img/flags/ga.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gb-eng.svg b/demo/dist/img/flags/gb-eng.svg deleted file mode 100755 index da9792d47..000000000 --- a/demo/dist/img/flags/gb-eng.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gb-nir.svg b/demo/dist/img/flags/gb-nir.svg deleted file mode 100755 index 0a41b5730..000000000 --- a/demo/dist/img/flags/gb-nir.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gb-sct.svg b/demo/dist/img/flags/gb-sct.svg deleted file mode 100755 index 7605b7f8c..000000000 --- a/demo/dist/img/flags/gb-sct.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gb-wls.svg b/demo/dist/img/flags/gb-wls.svg deleted file mode 100755 index c9031288c..000000000 --- a/demo/dist/img/flags/gb-wls.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gb.svg b/demo/dist/img/flags/gb.svg deleted file mode 100755 index 21fcf54df..000000000 --- a/demo/dist/img/flags/gb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gd.svg b/demo/dist/img/flags/gd.svg deleted file mode 100755 index 6c954a9a9..000000000 --- a/demo/dist/img/flags/gd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ge.svg b/demo/dist/img/flags/ge.svg deleted file mode 100755 index d4d3cd2c6..000000000 --- a/demo/dist/img/flags/ge.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gf.svg b/demo/dist/img/flags/gf.svg deleted file mode 100755 index 718b04c6e..000000000 --- a/demo/dist/img/flags/gf.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gg.svg b/demo/dist/img/flags/gg.svg deleted file mode 100755 index 254ac6ae1..000000000 --- a/demo/dist/img/flags/gg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gh.svg b/demo/dist/img/flags/gh.svg deleted file mode 100755 index 778f179bd..000000000 --- a/demo/dist/img/flags/gh.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gi.svg b/demo/dist/img/flags/gi.svg deleted file mode 100755 index 1053c9a6f..000000000 --- a/demo/dist/img/flags/gi.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gl.svg b/demo/dist/img/flags/gl.svg deleted file mode 100755 index 4ec8b3de1..000000000 --- a/demo/dist/img/flags/gl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gm.svg b/demo/dist/img/flags/gm.svg deleted file mode 100755 index 36cb606fc..000000000 --- a/demo/dist/img/flags/gm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gn.svg b/demo/dist/img/flags/gn.svg deleted file mode 100755 index 6764fe57b..000000000 --- a/demo/dist/img/flags/gn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gp.svg b/demo/dist/img/flags/gp.svg deleted file mode 100755 index c685996c0..000000000 --- a/demo/dist/img/flags/gp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gq.svg b/demo/dist/img/flags/gq.svg deleted file mode 100755 index 5adad6ef0..000000000 --- a/demo/dist/img/flags/gq.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gr.svg b/demo/dist/img/flags/gr.svg deleted file mode 100755 index 2bd8ab704..000000000 --- a/demo/dist/img/flags/gr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gs.svg b/demo/dist/img/flags/gs.svg deleted file mode 100755 index 3cfb6d23a..000000000 --- a/demo/dist/img/flags/gs.svg +++ /dev/null @@ -1 +0,0 @@ -LEOTERRRRREOOAAAMPPPITTMG \ No newline at end of file diff --git a/demo/dist/img/flags/gt.svg b/demo/dist/img/flags/gt.svg deleted file mode 100755 index 19693364a..000000000 --- a/demo/dist/img/flags/gt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gu.svg b/demo/dist/img/flags/gu.svg deleted file mode 100755 index 69028921b..000000000 --- a/demo/dist/img/flags/gu.svg +++ /dev/null @@ -1 +0,0 @@ -GUAMGUAM \ No newline at end of file diff --git a/demo/dist/img/flags/gw.svg b/demo/dist/img/flags/gw.svg deleted file mode 100755 index 67bc070bc..000000000 --- a/demo/dist/img/flags/gw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/gy.svg b/demo/dist/img/flags/gy.svg deleted file mode 100755 index 28eabe9b2..000000000 --- a/demo/dist/img/flags/gy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/hk.svg b/demo/dist/img/flags/hk.svg deleted file mode 100755 index d9188690d..000000000 --- a/demo/dist/img/flags/hk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/hm.svg b/demo/dist/img/flags/hm.svg deleted file mode 100755 index d52466612..000000000 --- a/demo/dist/img/flags/hm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/hn.svg b/demo/dist/img/flags/hn.svg deleted file mode 100755 index 6266365a9..000000000 --- a/demo/dist/img/flags/hn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/hr.svg b/demo/dist/img/flags/hr.svg deleted file mode 100755 index a3da6eacf..000000000 --- a/demo/dist/img/flags/hr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ht.svg b/demo/dist/img/flags/ht.svg deleted file mode 100755 index 2e1270bdd..000000000 --- a/demo/dist/img/flags/ht.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/hu.svg b/demo/dist/img/flags/hu.svg deleted file mode 100755 index dccf792ba..000000000 --- a/demo/dist/img/flags/hu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/id.svg b/demo/dist/img/flags/id.svg deleted file mode 100755 index 2950f15cd..000000000 --- a/demo/dist/img/flags/id.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ie.svg b/demo/dist/img/flags/ie.svg deleted file mode 100755 index 4694ec2af..000000000 --- a/demo/dist/img/flags/ie.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/il.svg b/demo/dist/img/flags/il.svg deleted file mode 100755 index 71b10381b..000000000 --- a/demo/dist/img/flags/il.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/im.svg b/demo/dist/img/flags/im.svg deleted file mode 100755 index 3379547f8..000000000 --- a/demo/dist/img/flags/im.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/in.svg b/demo/dist/img/flags/in.svg deleted file mode 100755 index bfe6c4eac..000000000 --- a/demo/dist/img/flags/in.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/io.svg b/demo/dist/img/flags/io.svg deleted file mode 100755 index aea455a08..000000000 --- a/demo/dist/img/flags/io.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/iq.svg b/demo/dist/img/flags/iq.svg deleted file mode 100755 index 4021cbf5d..000000000 --- a/demo/dist/img/flags/iq.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ir.svg b/demo/dist/img/flags/ir.svg deleted file mode 100755 index 6e854baa6..000000000 --- a/demo/dist/img/flags/ir.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/is.svg b/demo/dist/img/flags/is.svg deleted file mode 100755 index c5dd6a7ad..000000000 --- a/demo/dist/img/flags/is.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/it.svg b/demo/dist/img/flags/it.svg deleted file mode 100755 index 51c162d86..000000000 --- a/demo/dist/img/flags/it.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/je.svg b/demo/dist/img/flags/je.svg deleted file mode 100755 index 29a0ff978..000000000 --- a/demo/dist/img/flags/je.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/jm.svg b/demo/dist/img/flags/jm.svg deleted file mode 100755 index cd807bd98..000000000 --- a/demo/dist/img/flags/jm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/jo.svg b/demo/dist/img/flags/jo.svg deleted file mode 100755 index 6b9e7906f..000000000 --- a/demo/dist/img/flags/jo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/jp.svg b/demo/dist/img/flags/jp.svg deleted file mode 100755 index 5447154af..000000000 --- a/demo/dist/img/flags/jp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ke.svg b/demo/dist/img/flags/ke.svg deleted file mode 100755 index 65b84a1b8..000000000 --- a/demo/dist/img/flags/ke.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/kg.svg b/demo/dist/img/flags/kg.svg deleted file mode 100755 index 73f640351..000000000 --- a/demo/dist/img/flags/kg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/kh.svg b/demo/dist/img/flags/kh.svg deleted file mode 100755 index 412939b72..000000000 --- a/demo/dist/img/flags/kh.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ki.svg b/demo/dist/img/flags/ki.svg deleted file mode 100755 index 9bc7ccf3e..000000000 --- a/demo/dist/img/flags/ki.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/km.svg b/demo/dist/img/flags/km.svg deleted file mode 100755 index 75b1a3528..000000000 --- a/demo/dist/img/flags/km.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/kn.svg b/demo/dist/img/flags/kn.svg deleted file mode 100755 index 47b982b9a..000000000 --- a/demo/dist/img/flags/kn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/kp.svg b/demo/dist/img/flags/kp.svg deleted file mode 100755 index d93c3da03..000000000 --- a/demo/dist/img/flags/kp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/kr.svg b/demo/dist/img/flags/kr.svg deleted file mode 100755 index 8a7fc9d14..000000000 --- a/demo/dist/img/flags/kr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/kw.svg b/demo/dist/img/flags/kw.svg deleted file mode 100755 index 26c8dfc12..000000000 --- a/demo/dist/img/flags/kw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ky.svg b/demo/dist/img/flags/ky.svg deleted file mode 100755 index 37214cd83..000000000 --- a/demo/dist/img/flags/ky.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/kz.svg b/demo/dist/img/flags/kz.svg deleted file mode 100755 index ace51d192..000000000 --- a/demo/dist/img/flags/kz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/la.svg b/demo/dist/img/flags/la.svg deleted file mode 100755 index 1831221b0..000000000 --- a/demo/dist/img/flags/la.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/lb.svg b/demo/dist/img/flags/lb.svg deleted file mode 100755 index 343014099..000000000 --- a/demo/dist/img/flags/lb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/lc.svg b/demo/dist/img/flags/lc.svg deleted file mode 100755 index 5b5474980..000000000 --- a/demo/dist/img/flags/lc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/li.svg b/demo/dist/img/flags/li.svg deleted file mode 100755 index f5b811a0b..000000000 --- a/demo/dist/img/flags/li.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/lk.svg b/demo/dist/img/flags/lk.svg deleted file mode 100755 index 147ab0363..000000000 --- a/demo/dist/img/flags/lk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/lr.svg b/demo/dist/img/flags/lr.svg deleted file mode 100755 index cba612089..000000000 --- a/demo/dist/img/flags/lr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ls.svg b/demo/dist/img/flags/ls.svg deleted file mode 100755 index ad9e21be1..000000000 --- a/demo/dist/img/flags/ls.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/lt.svg b/demo/dist/img/flags/lt.svg deleted file mode 100755 index c8e8ce71e..000000000 --- a/demo/dist/img/flags/lt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/lu.svg b/demo/dist/img/flags/lu.svg deleted file mode 100755 index ec2f3f3bb..000000000 --- a/demo/dist/img/flags/lu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/lv.svg b/demo/dist/img/flags/lv.svg deleted file mode 100755 index c5edae7cb..000000000 --- a/demo/dist/img/flags/lv.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ly.svg b/demo/dist/img/flags/ly.svg deleted file mode 100755 index 8a6cd8de7..000000000 --- a/demo/dist/img/flags/ly.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ma.svg b/demo/dist/img/flags/ma.svg deleted file mode 100755 index cb38ba682..000000000 --- a/demo/dist/img/flags/ma.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mc.svg b/demo/dist/img/flags/mc.svg deleted file mode 100755 index 6387108df..000000000 --- a/demo/dist/img/flags/mc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/md.svg b/demo/dist/img/flags/md.svg deleted file mode 100755 index bc884cfe3..000000000 --- a/demo/dist/img/flags/md.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/me.svg b/demo/dist/img/flags/me.svg deleted file mode 100755 index 2115bbf41..000000000 --- a/demo/dist/img/flags/me.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mf.svg b/demo/dist/img/flags/mf.svg deleted file mode 100755 index c685996c0..000000000 --- a/demo/dist/img/flags/mf.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mg.svg b/demo/dist/img/flags/mg.svg deleted file mode 100755 index 3a4e73393..000000000 --- a/demo/dist/img/flags/mg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mh.svg b/demo/dist/img/flags/mh.svg deleted file mode 100755 index 6b3853ae3..000000000 --- a/demo/dist/img/flags/mh.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mk.svg b/demo/dist/img/flags/mk.svg deleted file mode 100755 index 27ca5bc1c..000000000 --- a/demo/dist/img/flags/mk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ml.svg b/demo/dist/img/flags/ml.svg deleted file mode 100755 index 671ea9e4c..000000000 --- a/demo/dist/img/flags/ml.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mm.svg b/demo/dist/img/flags/mm.svg deleted file mode 100755 index 50023aa12..000000000 --- a/demo/dist/img/flags/mm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mn.svg b/demo/dist/img/flags/mn.svg deleted file mode 100755 index ab007f2f8..000000000 --- a/demo/dist/img/flags/mn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mo.svg b/demo/dist/img/flags/mo.svg deleted file mode 100755 index 37eac6003..000000000 --- a/demo/dist/img/flags/mo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mp.svg b/demo/dist/img/flags/mp.svg deleted file mode 100755 index ac50b8a19..000000000 --- a/demo/dist/img/flags/mp.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mq.svg b/demo/dist/img/flags/mq.svg deleted file mode 100755 index c685996c0..000000000 --- a/demo/dist/img/flags/mq.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mr.svg b/demo/dist/img/flags/mr.svg deleted file mode 100755 index 18f3aac20..000000000 --- a/demo/dist/img/flags/mr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ms.svg b/demo/dist/img/flags/ms.svg deleted file mode 100755 index 2593d0a11..000000000 --- a/demo/dist/img/flags/ms.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mt.svg b/demo/dist/img/flags/mt.svg deleted file mode 100755 index 590c7d045..000000000 --- a/demo/dist/img/flags/mt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mu.svg b/demo/dist/img/flags/mu.svg deleted file mode 100755 index 4596e6c76..000000000 --- a/demo/dist/img/flags/mu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mv.svg b/demo/dist/img/flags/mv.svg deleted file mode 100755 index 8c35524c2..000000000 --- a/demo/dist/img/flags/mv.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mw.svg b/demo/dist/img/flags/mw.svg deleted file mode 100755 index 3c6937cef..000000000 --- a/demo/dist/img/flags/mw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mx.svg b/demo/dist/img/flags/mx.svg deleted file mode 100755 index 5590e41ed..000000000 --- a/demo/dist/img/flags/mx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/my.svg b/demo/dist/img/flags/my.svg deleted file mode 100755 index ee11210da..000000000 --- a/demo/dist/img/flags/my.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/mz.svg b/demo/dist/img/flags/mz.svg deleted file mode 100755 index dfed4a69d..000000000 --- a/demo/dist/img/flags/mz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/na.svg b/demo/dist/img/flags/na.svg deleted file mode 100755 index cddd951bb..000000000 --- a/demo/dist/img/flags/na.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/nc.svg b/demo/dist/img/flags/nc.svg deleted file mode 100755 index c685996c0..000000000 --- a/demo/dist/img/flags/nc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ne.svg b/demo/dist/img/flags/ne.svg deleted file mode 100755 index 6d2cc4427..000000000 --- a/demo/dist/img/flags/ne.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/nf.svg b/demo/dist/img/flags/nf.svg deleted file mode 100755 index 491870212..000000000 --- a/demo/dist/img/flags/nf.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ng.svg b/demo/dist/img/flags/ng.svg deleted file mode 100755 index 85b7be573..000000000 --- a/demo/dist/img/flags/ng.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ni.svg b/demo/dist/img/flags/ni.svg deleted file mode 100755 index f4d3e2b19..000000000 --- a/demo/dist/img/flags/ni.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/nl.svg b/demo/dist/img/flags/nl.svg deleted file mode 100755 index 5cab4d9a2..000000000 --- a/demo/dist/img/flags/nl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/no.svg b/demo/dist/img/flags/no.svg deleted file mode 100755 index d0c7e802a..000000000 --- a/demo/dist/img/flags/no.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/np.svg b/demo/dist/img/flags/np.svg deleted file mode 100755 index 170fe1402..000000000 --- a/demo/dist/img/flags/np.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/nr.svg b/demo/dist/img/flags/nr.svg deleted file mode 100755 index 1b1b93a68..000000000 --- a/demo/dist/img/flags/nr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/nu.svg b/demo/dist/img/flags/nu.svg deleted file mode 100755 index a7ece6666..000000000 --- a/demo/dist/img/flags/nu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/nz.svg b/demo/dist/img/flags/nz.svg deleted file mode 100755 index d9a7f72ed..000000000 --- a/demo/dist/img/flags/nz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/om.svg b/demo/dist/img/flags/om.svg deleted file mode 100755 index 6ee8efee5..000000000 --- a/demo/dist/img/flags/om.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/pa.svg b/demo/dist/img/flags/pa.svg deleted file mode 100755 index dad3b4646..000000000 --- a/demo/dist/img/flags/pa.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/pe.svg b/demo/dist/img/flags/pe.svg deleted file mode 100755 index a20351153..000000000 --- a/demo/dist/img/flags/pe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/pf.svg b/demo/dist/img/flags/pf.svg deleted file mode 100755 index 123c864d9..000000000 --- a/demo/dist/img/flags/pf.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/pg.svg b/demo/dist/img/flags/pg.svg deleted file mode 100755 index 254dcb197..000000000 --- a/demo/dist/img/flags/pg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ph.svg b/demo/dist/img/flags/ph.svg deleted file mode 100755 index b679573d2..000000000 --- a/demo/dist/img/flags/ph.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/pk.svg b/demo/dist/img/flags/pk.svg deleted file mode 100755 index a09c059ba..000000000 --- a/demo/dist/img/flags/pk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/pl.svg b/demo/dist/img/flags/pl.svg deleted file mode 100755 index cefafa8ce..000000000 --- a/demo/dist/img/flags/pl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/pm.svg b/demo/dist/img/flags/pm.svg deleted file mode 100755 index c685996c0..000000000 --- a/demo/dist/img/flags/pm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/pn.svg b/demo/dist/img/flags/pn.svg deleted file mode 100755 index 3e0bdeff9..000000000 --- a/demo/dist/img/flags/pn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/pr.svg b/demo/dist/img/flags/pr.svg deleted file mode 100755 index dafc6fa70..000000000 --- a/demo/dist/img/flags/pr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ps.svg b/demo/dist/img/flags/ps.svg deleted file mode 100755 index 52c91bc52..000000000 --- a/demo/dist/img/flags/ps.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/pt.svg b/demo/dist/img/flags/pt.svg deleted file mode 100755 index 02466e1c2..000000000 --- a/demo/dist/img/flags/pt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/pw.svg b/demo/dist/img/flags/pw.svg deleted file mode 100755 index b5087ca78..000000000 --- a/demo/dist/img/flags/pw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/py.svg b/demo/dist/img/flags/py.svg deleted file mode 100755 index f70b521b8..000000000 --- a/demo/dist/img/flags/py.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/qa.svg b/demo/dist/img/flags/qa.svg deleted file mode 100755 index 1f2866d2f..000000000 --- a/demo/dist/img/flags/qa.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/re.svg b/demo/dist/img/flags/re.svg deleted file mode 100755 index c685996c0..000000000 --- a/demo/dist/img/flags/re.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ro.svg b/demo/dist/img/flags/ro.svg deleted file mode 100755 index 74d28c941..000000000 --- a/demo/dist/img/flags/ro.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/rs.svg b/demo/dist/img/flags/rs.svg deleted file mode 100755 index 000470c7b..000000000 --- a/demo/dist/img/flags/rs.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ru.svg b/demo/dist/img/flags/ru.svg deleted file mode 100755 index bb73b9af8..000000000 --- a/demo/dist/img/flags/ru.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/rw.svg b/demo/dist/img/flags/rw.svg deleted file mode 100755 index e5af6f761..000000000 --- a/demo/dist/img/flags/rw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sa.svg b/demo/dist/img/flags/sa.svg deleted file mode 100755 index 736a4242b..000000000 --- a/demo/dist/img/flags/sa.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sb.svg b/demo/dist/img/flags/sb.svg deleted file mode 100755 index 38ca74a85..000000000 --- a/demo/dist/img/flags/sb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sc.svg b/demo/dist/img/flags/sc.svg deleted file mode 100755 index e852c2df7..000000000 --- a/demo/dist/img/flags/sc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sd.svg b/demo/dist/img/flags/sd.svg deleted file mode 100755 index cd5aebcf7..000000000 --- a/demo/dist/img/flags/sd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/se.svg b/demo/dist/img/flags/se.svg deleted file mode 100755 index 5c88cf306..000000000 --- a/demo/dist/img/flags/se.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sg.svg b/demo/dist/img/flags/sg.svg deleted file mode 100755 index 6b144d63e..000000000 --- a/demo/dist/img/flags/sg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sh.svg b/demo/dist/img/flags/sh.svg deleted file mode 100755 index daf4b9c42..000000000 --- a/demo/dist/img/flags/sh.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/si.svg b/demo/dist/img/flags/si.svg deleted file mode 100755 index aee54c9d1..000000000 --- a/demo/dist/img/flags/si.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sj.svg b/demo/dist/img/flags/sj.svg deleted file mode 100755 index 26e3aec9a..000000000 --- a/demo/dist/img/flags/sj.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sk.svg b/demo/dist/img/flags/sk.svg deleted file mode 100755 index 02f36653d..000000000 --- a/demo/dist/img/flags/sk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sl.svg b/demo/dist/img/flags/sl.svg deleted file mode 100755 index 1ba0f287a..000000000 --- a/demo/dist/img/flags/sl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sm.svg b/demo/dist/img/flags/sm.svg deleted file mode 100755 index 2898140fb..000000000 --- a/demo/dist/img/flags/sm.svg +++ /dev/null @@ -1 +0,0 @@ -LIBERTAS \ No newline at end of file diff --git a/demo/dist/img/flags/sn.svg b/demo/dist/img/flags/sn.svg deleted file mode 100755 index 717a0be98..000000000 --- a/demo/dist/img/flags/sn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/so.svg b/demo/dist/img/flags/so.svg deleted file mode 100755 index ac56662d2..000000000 --- a/demo/dist/img/flags/so.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sr.svg b/demo/dist/img/flags/sr.svg deleted file mode 100755 index e98c28652..000000000 --- a/demo/dist/img/flags/sr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ss.svg b/demo/dist/img/flags/ss.svg deleted file mode 100755 index e0671b1e5..000000000 --- a/demo/dist/img/flags/ss.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/st.svg b/demo/dist/img/flags/st.svg deleted file mode 100755 index b4bd65ae7..000000000 --- a/demo/dist/img/flags/st.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sv.svg b/demo/dist/img/flags/sv.svg deleted file mode 100755 index b4ae63b92..000000000 --- a/demo/dist/img/flags/sv.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sx.svg b/demo/dist/img/flags/sx.svg deleted file mode 100755 index bf7382929..000000000 --- a/demo/dist/img/flags/sx.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sy.svg b/demo/dist/img/flags/sy.svg deleted file mode 100755 index 3f6867b35..000000000 --- a/demo/dist/img/flags/sy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/sz.svg b/demo/dist/img/flags/sz.svg deleted file mode 100755 index 6b6678570..000000000 --- a/demo/dist/img/flags/sz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tc.svg b/demo/dist/img/flags/tc.svg deleted file mode 100755 index 49c6077d6..000000000 --- a/demo/dist/img/flags/tc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/td.svg b/demo/dist/img/flags/td.svg deleted file mode 100755 index 15002cc08..000000000 --- a/demo/dist/img/flags/td.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tf.svg b/demo/dist/img/flags/tf.svg deleted file mode 100755 index 4c6ba14ac..000000000 --- a/demo/dist/img/flags/tf.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tg.svg b/demo/dist/img/flags/tg.svg deleted file mode 100755 index f6a01f59d..000000000 --- a/demo/dist/img/flags/tg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/th.svg b/demo/dist/img/flags/th.svg deleted file mode 100755 index 79163c78e..000000000 --- a/demo/dist/img/flags/th.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tj.svg b/demo/dist/img/flags/tj.svg deleted file mode 100755 index f65a22a23..000000000 --- a/demo/dist/img/flags/tj.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tk.svg b/demo/dist/img/flags/tk.svg deleted file mode 100755 index e00e3603c..000000000 --- a/demo/dist/img/flags/tk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tl.svg b/demo/dist/img/flags/tl.svg deleted file mode 100755 index 09a8e93e5..000000000 --- a/demo/dist/img/flags/tl.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tm.svg b/demo/dist/img/flags/tm.svg deleted file mode 100755 index 464c7fe78..000000000 --- a/demo/dist/img/flags/tm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tn.svg b/demo/dist/img/flags/tn.svg deleted file mode 100755 index c2b0cd58c..000000000 --- a/demo/dist/img/flags/tn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/to.svg b/demo/dist/img/flags/to.svg deleted file mode 100755 index dd8912128..000000000 --- a/demo/dist/img/flags/to.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tr.svg b/demo/dist/img/flags/tr.svg deleted file mode 100755 index a98b72991..000000000 --- a/demo/dist/img/flags/tr.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tt.svg b/demo/dist/img/flags/tt.svg deleted file mode 100755 index 40d595a68..000000000 --- a/demo/dist/img/flags/tt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tv.svg b/demo/dist/img/flags/tv.svg deleted file mode 100755 index 2c358df6f..000000000 --- a/demo/dist/img/flags/tv.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tw.svg b/demo/dist/img/flags/tw.svg deleted file mode 100755 index 5d000481a..000000000 --- a/demo/dist/img/flags/tw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/tz.svg b/demo/dist/img/flags/tz.svg deleted file mode 100755 index df5babfef..000000000 --- a/demo/dist/img/flags/tz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ua.svg b/demo/dist/img/flags/ua.svg deleted file mode 100755 index d4baa9780..000000000 --- a/demo/dist/img/flags/ua.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ug.svg b/demo/dist/img/flags/ug.svg deleted file mode 100755 index 047cd1ed3..000000000 --- a/demo/dist/img/flags/ug.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/um.svg b/demo/dist/img/flags/um.svg deleted file mode 100755 index 2e08fbaf1..000000000 --- a/demo/dist/img/flags/um.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/un.svg b/demo/dist/img/flags/un.svg deleted file mode 100755 index c28b61526..000000000 --- a/demo/dist/img/flags/un.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/us.svg b/demo/dist/img/flags/us.svg deleted file mode 100755 index 09aaba170..000000000 --- a/demo/dist/img/flags/us.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/uy.svg b/demo/dist/img/flags/uy.svg deleted file mode 100755 index 4c474f924..000000000 --- a/demo/dist/img/flags/uy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/uz.svg b/demo/dist/img/flags/uz.svg deleted file mode 100755 index 563a421df..000000000 --- a/demo/dist/img/flags/uz.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/va.svg b/demo/dist/img/flags/va.svg deleted file mode 100755 index 79dd72235..000000000 --- a/demo/dist/img/flags/va.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/vc.svg b/demo/dist/img/flags/vc.svg deleted file mode 100755 index 17b5e909a..000000000 --- a/demo/dist/img/flags/vc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ve.svg b/demo/dist/img/flags/ve.svg deleted file mode 100755 index 6d730884a..000000000 --- a/demo/dist/img/flags/ve.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/vg.svg b/demo/dist/img/flags/vg.svg deleted file mode 100755 index 94b83ef1b..000000000 --- a/demo/dist/img/flags/vg.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/vi.svg b/demo/dist/img/flags/vi.svg deleted file mode 100755 index 79d39125f..000000000 --- a/demo/dist/img/flags/vi.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/vn.svg b/demo/dist/img/flags/vn.svg deleted file mode 100755 index cd4207e00..000000000 --- a/demo/dist/img/flags/vn.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/vu.svg b/demo/dist/img/flags/vu.svg deleted file mode 100755 index 750cc0d6f..000000000 --- a/demo/dist/img/flags/vu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/wf.svg b/demo/dist/img/flags/wf.svg deleted file mode 100755 index c685996c0..000000000 --- a/demo/dist/img/flags/wf.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ws.svg b/demo/dist/img/flags/ws.svg deleted file mode 100755 index 10d90eaf3..000000000 --- a/demo/dist/img/flags/ws.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/ye.svg b/demo/dist/img/flags/ye.svg deleted file mode 100755 index 651505d3e..000000000 --- a/demo/dist/img/flags/ye.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/yt.svg b/demo/dist/img/flags/yt.svg deleted file mode 100755 index c685996c0..000000000 --- a/demo/dist/img/flags/yt.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/za.svg b/demo/dist/img/flags/za.svg deleted file mode 100755 index 0f85d43b5..000000000 --- a/demo/dist/img/flags/za.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/zm.svg b/demo/dist/img/flags/zm.svg deleted file mode 100755 index 738c48185..000000000 --- a/demo/dist/img/flags/zm.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/flags/zw.svg b/demo/dist/img/flags/zw.svg deleted file mode 100755 index 6341d5630..000000000 --- a/demo/dist/img/flags/zw.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/2checkout-dark.svg b/demo/dist/img/payments/2checkout-dark.svg deleted file mode 100644 index 55fa29aa7..000000000 --- a/demo/dist/img/payments/2checkout-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/2checkout.svg b/demo/dist/img/payments/2checkout.svg deleted file mode 100644 index c9bedf56b..000000000 --- a/demo/dist/img/payments/2checkout.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/alipay-dark.svg b/demo/dist/img/payments/alipay-dark.svg deleted file mode 100644 index 75c4cb8a7..000000000 --- a/demo/dist/img/payments/alipay-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/alipay.svg b/demo/dist/img/payments/alipay.svg deleted file mode 100644 index 9b14e57cf..000000000 --- a/demo/dist/img/payments/alipay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/amazon-dark.svg b/demo/dist/img/payments/amazon-dark.svg deleted file mode 100644 index c0f5761dc..000000000 --- a/demo/dist/img/payments/amazon-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/amazon.svg b/demo/dist/img/payments/amazon.svg deleted file mode 100644 index 0560260da..000000000 --- a/demo/dist/img/payments/amazon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/americanexpress-dark.svg b/demo/dist/img/payments/americanexpress-dark.svg deleted file mode 100644 index 9372150f6..000000000 --- a/demo/dist/img/payments/americanexpress-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/americanexpress.svg b/demo/dist/img/payments/americanexpress.svg deleted file mode 100644 index 9d1da2e75..000000000 --- a/demo/dist/img/payments/americanexpress.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/applepay-dark.svg b/demo/dist/img/payments/applepay-dark.svg deleted file mode 100644 index 45313fca2..000000000 --- a/demo/dist/img/payments/applepay-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/applepay.svg b/demo/dist/img/payments/applepay.svg deleted file mode 100644 index 447de2693..000000000 --- a/demo/dist/img/payments/applepay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/bancontact-dark.svg b/demo/dist/img/payments/bancontact-dark.svg deleted file mode 100644 index 0209208f1..000000000 --- a/demo/dist/img/payments/bancontact-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/bancontact.svg b/demo/dist/img/payments/bancontact.svg deleted file mode 100644 index da4d41f58..000000000 --- a/demo/dist/img/payments/bancontact.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/bitcoin-dark.svg b/demo/dist/img/payments/bitcoin-dark.svg deleted file mode 100644 index f0e63fa30..000000000 --- a/demo/dist/img/payments/bitcoin-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/bitcoin.svg b/demo/dist/img/payments/bitcoin.svg deleted file mode 100644 index ee8fa4567..000000000 --- a/demo/dist/img/payments/bitcoin.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/bitpay-dark.svg b/demo/dist/img/payments/bitpay-dark.svg deleted file mode 100644 index d775dfb3d..000000000 --- a/demo/dist/img/payments/bitpay-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/bitpay.svg b/demo/dist/img/payments/bitpay.svg deleted file mode 100644 index 37208193e..000000000 --- a/demo/dist/img/payments/bitpay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/blik-dark.svg b/demo/dist/img/payments/blik-dark.svg deleted file mode 100644 index ec6e1109b..000000000 --- a/demo/dist/img/payments/blik-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/blik.svg b/demo/dist/img/payments/blik.svg deleted file mode 100644 index b44c11d9b..000000000 --- a/demo/dist/img/payments/blik.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/cirrus-dark.svg b/demo/dist/img/payments/cirrus-dark.svg deleted file mode 100644 index b000f12e5..000000000 --- a/demo/dist/img/payments/cirrus-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/cirrus.svg b/demo/dist/img/payments/cirrus.svg deleted file mode 100644 index f3848c85b..000000000 --- a/demo/dist/img/payments/cirrus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/clickandbuy-dark.svg b/demo/dist/img/payments/clickandbuy-dark.svg deleted file mode 100644 index d813c7e7f..000000000 --- a/demo/dist/img/payments/clickandbuy-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/clickandbuy.svg b/demo/dist/img/payments/clickandbuy.svg deleted file mode 100644 index 58d0ba9a4..000000000 --- a/demo/dist/img/payments/clickandbuy.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/coinkite-dark.svg b/demo/dist/img/payments/coinkite-dark.svg deleted file mode 100644 index 885ca6ec8..000000000 --- a/demo/dist/img/payments/coinkite-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/coinkite.svg b/demo/dist/img/payments/coinkite.svg deleted file mode 100644 index cbe194e92..000000000 --- a/demo/dist/img/payments/coinkite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/dinersclub-dark.svg b/demo/dist/img/payments/dinersclub-dark.svg deleted file mode 100644 index 5d26f698b..000000000 --- a/demo/dist/img/payments/dinersclub-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/dinersclub.svg b/demo/dist/img/payments/dinersclub.svg deleted file mode 100644 index e1e0a55f5..000000000 --- a/demo/dist/img/payments/dinersclub.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/directdebit-dark.svg b/demo/dist/img/payments/directdebit-dark.svg deleted file mode 100644 index c5091ee5e..000000000 --- a/demo/dist/img/payments/directdebit-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/directdebit.svg b/demo/dist/img/payments/directdebit.svg deleted file mode 100644 index e3edb0c50..000000000 --- a/demo/dist/img/payments/directdebit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/discover-dark.svg b/demo/dist/img/payments/discover-dark.svg deleted file mode 100644 index d6a51f09a..000000000 --- a/demo/dist/img/payments/discover-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/discover.svg b/demo/dist/img/payments/discover.svg deleted file mode 100644 index cf8fdb13a..000000000 --- a/demo/dist/img/payments/discover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/dotpay-dark.svg b/demo/dist/img/payments/dotpay-dark.svg deleted file mode 100644 index 2e350d4a1..000000000 --- a/demo/dist/img/payments/dotpay-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/dotpay.svg b/demo/dist/img/payments/dotpay.svg deleted file mode 100644 index 75cd67099..000000000 --- a/demo/dist/img/payments/dotpay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/dwolla-dark.svg b/demo/dist/img/payments/dwolla-dark.svg deleted file mode 100644 index 63fee0e09..000000000 --- a/demo/dist/img/payments/dwolla-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/dwolla.svg b/demo/dist/img/payments/dwolla.svg deleted file mode 100644 index f8088ed7b..000000000 --- a/demo/dist/img/payments/dwolla.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/ebay-dark.svg b/demo/dist/img/payments/ebay-dark.svg deleted file mode 100644 index eac7a2d2d..000000000 --- a/demo/dist/img/payments/ebay-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/ebay.svg b/demo/dist/img/payments/ebay.svg deleted file mode 100644 index 1a457a305..000000000 --- a/demo/dist/img/payments/ebay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/eway-dark.svg b/demo/dist/img/payments/eway-dark.svg deleted file mode 100644 index d98f44173..000000000 --- a/demo/dist/img/payments/eway-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/eway.svg b/demo/dist/img/payments/eway.svg deleted file mode 100644 index a81bc7a2d..000000000 --- a/demo/dist/img/payments/eway.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/giropay-dark.svg b/demo/dist/img/payments/giropay-dark.svg deleted file mode 100644 index 4c78284ae..000000000 --- a/demo/dist/img/payments/giropay-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/giropay.svg b/demo/dist/img/payments/giropay.svg deleted file mode 100644 index 61223fdcb..000000000 --- a/demo/dist/img/payments/giropay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/googlewallet-dark.svg b/demo/dist/img/payments/googlewallet-dark.svg deleted file mode 100644 index 032c9b610..000000000 --- a/demo/dist/img/payments/googlewallet-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/googlewallet.svg b/demo/dist/img/payments/googlewallet.svg deleted file mode 100644 index bad376e5f..000000000 --- a/demo/dist/img/payments/googlewallet.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/ingenico-dark.svg b/demo/dist/img/payments/ingenico-dark.svg deleted file mode 100644 index af3b5770f..000000000 --- a/demo/dist/img/payments/ingenico-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/ingenico.svg b/demo/dist/img/payments/ingenico.svg deleted file mode 100644 index 7a7f30697..000000000 --- a/demo/dist/img/payments/ingenico.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/jcb-dark.svg b/demo/dist/img/payments/jcb-dark.svg deleted file mode 100644 index 7b503b9ea..000000000 --- a/demo/dist/img/payments/jcb-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/jcb.svg b/demo/dist/img/payments/jcb.svg deleted file mode 100644 index 5bdf38820..000000000 --- a/demo/dist/img/payments/jcb.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/klarna-dark.svg b/demo/dist/img/payments/klarna-dark.svg deleted file mode 100644 index 119037f49..000000000 --- a/demo/dist/img/payments/klarna-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/klarna.svg b/demo/dist/img/payments/klarna.svg deleted file mode 100644 index b9c913bdf..000000000 --- a/demo/dist/img/payments/klarna.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/laser-dark.svg b/demo/dist/img/payments/laser-dark.svg deleted file mode 100644 index 93095a6bb..000000000 --- a/demo/dist/img/payments/laser-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/laser.svg b/demo/dist/img/payments/laser.svg deleted file mode 100644 index f34555cae..000000000 --- a/demo/dist/img/payments/laser.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/maestro-dark.svg b/demo/dist/img/payments/maestro-dark.svg deleted file mode 100644 index c88d14db2..000000000 --- a/demo/dist/img/payments/maestro-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/maestro.svg b/demo/dist/img/payments/maestro.svg deleted file mode 100644 index fe6480e21..000000000 --- a/demo/dist/img/payments/maestro.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/mastercard-dark.svg b/demo/dist/img/payments/mastercard-dark.svg deleted file mode 100644 index 76ad1ef4e..000000000 --- a/demo/dist/img/payments/mastercard-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/mastercard.svg b/demo/dist/img/payments/mastercard.svg deleted file mode 100644 index 4b4fc5faf..000000000 --- a/demo/dist/img/payments/mastercard.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/mir-dark.svg b/demo/dist/img/payments/mir-dark.svg deleted file mode 100644 index 971cadc97..000000000 --- a/demo/dist/img/payments/mir-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/mir.svg b/demo/dist/img/payments/mir.svg deleted file mode 100644 index c55bff969..000000000 --- a/demo/dist/img/payments/mir.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/monero-dark.svg b/demo/dist/img/payments/monero-dark.svg deleted file mode 100644 index 6c54579a0..000000000 --- a/demo/dist/img/payments/monero-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/monero.svg b/demo/dist/img/payments/monero.svg deleted file mode 100644 index b5af0df57..000000000 --- a/demo/dist/img/payments/monero.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/neteller-dark.svg b/demo/dist/img/payments/neteller-dark.svg deleted file mode 100644 index 7a63a797c..000000000 --- a/demo/dist/img/payments/neteller-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/neteller.svg b/demo/dist/img/payments/neteller.svg deleted file mode 100644 index 965059ab7..000000000 --- a/demo/dist/img/payments/neteller.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/ogone-dark.svg b/demo/dist/img/payments/ogone-dark.svg deleted file mode 100644 index dd09a9ad9..000000000 --- a/demo/dist/img/payments/ogone-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/ogone.svg b/demo/dist/img/payments/ogone.svg deleted file mode 100644 index b970c4f4a..000000000 --- a/demo/dist/img/payments/ogone.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/okpay-dark.svg b/demo/dist/img/payments/okpay-dark.svg deleted file mode 100644 index c09dcca95..000000000 --- a/demo/dist/img/payments/okpay-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/okpay.svg b/demo/dist/img/payments/okpay.svg deleted file mode 100644 index f811d507f..000000000 --- a/demo/dist/img/payments/okpay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/paybox-dark.svg b/demo/dist/img/payments/paybox-dark.svg deleted file mode 100644 index f6246228e..000000000 --- a/demo/dist/img/payments/paybox-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/paybox.svg b/demo/dist/img/payments/paybox.svg deleted file mode 100644 index d75a44785..000000000 --- a/demo/dist/img/payments/paybox.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/paymill-dark.svg b/demo/dist/img/payments/paymill-dark.svg deleted file mode 100644 index f3651ac6d..000000000 --- a/demo/dist/img/payments/paymill-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/paymill.svg b/demo/dist/img/payments/paymill.svg deleted file mode 100644 index 4a2c07fe5..000000000 --- a/demo/dist/img/payments/paymill.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/payone-dark.svg b/demo/dist/img/payments/payone-dark.svg deleted file mode 100644 index a0d3f8e09..000000000 --- a/demo/dist/img/payments/payone-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/payone.svg b/demo/dist/img/payments/payone.svg deleted file mode 100644 index d88bbc679..000000000 --- a/demo/dist/img/payments/payone.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/payoneer-dark.svg b/demo/dist/img/payments/payoneer-dark.svg deleted file mode 100644 index 9a168ec7a..000000000 --- a/demo/dist/img/payments/payoneer-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/payoneer.svg b/demo/dist/img/payments/payoneer.svg deleted file mode 100644 index 206cc3a3f..000000000 --- a/demo/dist/img/payments/payoneer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/paypal-dark.svg b/demo/dist/img/payments/paypal-dark.svg deleted file mode 100644 index a905f56a9..000000000 --- a/demo/dist/img/payments/paypal-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/paypal.svg b/demo/dist/img/payments/paypal.svg deleted file mode 100644 index 12b3852c8..000000000 --- a/demo/dist/img/payments/paypal.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/paysafecard-dark.svg b/demo/dist/img/payments/paysafecard-dark.svg deleted file mode 100644 index 06b94e91c..000000000 --- a/demo/dist/img/payments/paysafecard-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/paysafecard.svg b/demo/dist/img/payments/paysafecard.svg deleted file mode 100644 index 05672f2b4..000000000 --- a/demo/dist/img/payments/paysafecard.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/payu-dark.svg b/demo/dist/img/payments/payu-dark.svg deleted file mode 100644 index d745119c7..000000000 --- a/demo/dist/img/payments/payu-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/payu.svg b/demo/dist/img/payments/payu.svg deleted file mode 100644 index 1b9e5b94f..000000000 --- a/demo/dist/img/payments/payu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/payza-dark.svg b/demo/dist/img/payments/payza-dark.svg deleted file mode 100644 index ba3018db5..000000000 --- a/demo/dist/img/payments/payza-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/payza.svg b/demo/dist/img/payments/payza.svg deleted file mode 100644 index 5e92b4bc5..000000000 --- a/demo/dist/img/payments/payza.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/przelewy24-dark.svg b/demo/dist/img/payments/przelewy24-dark.svg deleted file mode 100644 index 6a2a30851..000000000 --- a/demo/dist/img/payments/przelewy24-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/przelewy24.svg b/demo/dist/img/payments/przelewy24.svg deleted file mode 100644 index 23b079c62..000000000 --- a/demo/dist/img/payments/przelewy24.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/ripple-dark.svg b/demo/dist/img/payments/ripple-dark.svg deleted file mode 100644 index a5caec08a..000000000 --- a/demo/dist/img/payments/ripple-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/ripple.svg b/demo/dist/img/payments/ripple.svg deleted file mode 100644 index 63acd39cd..000000000 --- a/demo/dist/img/payments/ripple.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/sage-dark.svg b/demo/dist/img/payments/sage-dark.svg deleted file mode 100644 index 22eab06eb..000000000 --- a/demo/dist/img/payments/sage-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/sage.svg b/demo/dist/img/payments/sage.svg deleted file mode 100644 index a3e9fb107..000000000 --- a/demo/dist/img/payments/sage.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/sepa-dark.svg b/demo/dist/img/payments/sepa-dark.svg deleted file mode 100644 index ee173e2b6..000000000 --- a/demo/dist/img/payments/sepa-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/sepa.svg b/demo/dist/img/payments/sepa.svg deleted file mode 100644 index 809e647b2..000000000 --- a/demo/dist/img/payments/sepa.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/shopify-dark.svg b/demo/dist/img/payments/shopify-dark.svg deleted file mode 100644 index 9393699e3..000000000 --- a/demo/dist/img/payments/shopify-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/shopify.svg b/demo/dist/img/payments/shopify.svg deleted file mode 100644 index d4b096e97..000000000 --- a/demo/dist/img/payments/shopify.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/skrill-dark.svg b/demo/dist/img/payments/skrill-dark.svg deleted file mode 100644 index 47e1ad76c..000000000 --- a/demo/dist/img/payments/skrill-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/skrill.svg b/demo/dist/img/payments/skrill.svg deleted file mode 100644 index bf8a67f9a..000000000 --- a/demo/dist/img/payments/skrill.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/solo-dark.svg b/demo/dist/img/payments/solo-dark.svg deleted file mode 100644 index a973d20f4..000000000 --- a/demo/dist/img/payments/solo-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/solo.svg b/demo/dist/img/payments/solo.svg deleted file mode 100644 index bdfa28c35..000000000 --- a/demo/dist/img/payments/solo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/square-dark.svg b/demo/dist/img/payments/square-dark.svg deleted file mode 100644 index 7edf43545..000000000 --- a/demo/dist/img/payments/square-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/square.svg b/demo/dist/img/payments/square.svg deleted file mode 100644 index db0821abf..000000000 --- a/demo/dist/img/payments/square.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/stripe-dark.svg b/demo/dist/img/payments/stripe-dark.svg deleted file mode 100644 index de6183d15..000000000 --- a/demo/dist/img/payments/stripe-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/stripe.svg b/demo/dist/img/payments/stripe.svg deleted file mode 100644 index 4c42d8ef3..000000000 --- a/demo/dist/img/payments/stripe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/switch-dark.svg b/demo/dist/img/payments/switch-dark.svg deleted file mode 100644 index 41a2a9ade..000000000 --- a/demo/dist/img/payments/switch-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/switch.svg b/demo/dist/img/payments/switch.svg deleted file mode 100644 index 4d6482302..000000000 --- a/demo/dist/img/payments/switch.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/tpay-dark.svg b/demo/dist/img/payments/tpay-dark.svg deleted file mode 100644 index 0b20da0fc..000000000 --- a/demo/dist/img/payments/tpay-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/tpay.svg b/demo/dist/img/payments/tpay.svg deleted file mode 100644 index 540e69b38..000000000 --- a/demo/dist/img/payments/tpay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/ukash-dark.svg b/demo/dist/img/payments/ukash-dark.svg deleted file mode 100644 index d2ed42e48..000000000 --- a/demo/dist/img/payments/ukash-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/ukash.svg b/demo/dist/img/payments/ukash.svg deleted file mode 100644 index 1a89e5acd..000000000 --- a/demo/dist/img/payments/ukash.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/unionpay-dark.svg b/demo/dist/img/payments/unionpay-dark.svg deleted file mode 100644 index b9e7eab4e..000000000 --- a/demo/dist/img/payments/unionpay-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/unionpay.svg b/demo/dist/img/payments/unionpay.svg deleted file mode 100644 index 301416890..000000000 --- a/demo/dist/img/payments/unionpay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/verifone-dark.svg b/demo/dist/img/payments/verifone-dark.svg deleted file mode 100644 index 1281081a0..000000000 --- a/demo/dist/img/payments/verifone-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/verifone.svg b/demo/dist/img/payments/verifone.svg deleted file mode 100644 index a5033a6d1..000000000 --- a/demo/dist/img/payments/verifone.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/verisign-dark.svg b/demo/dist/img/payments/verisign-dark.svg deleted file mode 100644 index 2ccfd5e29..000000000 --- a/demo/dist/img/payments/verisign-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/verisign.svg b/demo/dist/img/payments/verisign.svg deleted file mode 100644 index 645cf12ad..000000000 --- a/demo/dist/img/payments/verisign.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/visa-dark.svg b/demo/dist/img/payments/visa-dark.svg deleted file mode 100644 index 5839bc229..000000000 --- a/demo/dist/img/payments/visa-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/visa.svg b/demo/dist/img/payments/visa.svg deleted file mode 100644 index efaafc33b..000000000 --- a/demo/dist/img/payments/visa.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/webmoney-dark.svg b/demo/dist/img/payments/webmoney-dark.svg deleted file mode 100644 index 568fc9346..000000000 --- a/demo/dist/img/payments/webmoney-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/webmoney.svg b/demo/dist/img/payments/webmoney.svg deleted file mode 100644 index d5c36f7ad..000000000 --- a/demo/dist/img/payments/webmoney.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/westernunion-dark.svg b/demo/dist/img/payments/westernunion-dark.svg deleted file mode 100644 index 433bd7d45..000000000 --- a/demo/dist/img/payments/westernunion-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/westernunion.svg b/demo/dist/img/payments/westernunion.svg deleted file mode 100644 index 5a1c97c41..000000000 --- a/demo/dist/img/payments/westernunion.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/worldpay-dark.svg b/demo/dist/img/payments/worldpay-dark.svg deleted file mode 100644 index 24a6abbba..000000000 --- a/demo/dist/img/payments/worldpay-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/img/payments/worldpay.svg b/demo/dist/img/payments/worldpay.svg deleted file mode 100644 index 858f62976..000000000 --- a/demo/dist/img/payments/worldpay.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/demo/dist/js/demo-theme.js b/demo/dist/js/demo-theme.js deleted file mode 100644 index f83656fbc..000000000 --- a/demo/dist/js/demo-theme.js +++ /dev/null @@ -1,32 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -(function (factory) { - typeof define === 'function' && define.amd ? define(factory) : - factory(); -})((function () { 'use strict'; - - var themeStorageKey = 'tablerTheme'; - var defaultTheme = 'light'; - var selectedTheme; - var params = new Proxy(new URLSearchParams(window.location.search), { - get: function get(searchParams, prop) { - return searchParams.get(prop); - } - }); - if (!!params.theme) { - localStorage.setItem(themeStorageKey, params.theme); - selectedTheme = params.theme; - } else { - var storedTheme = localStorage.getItem(themeStorageKey); - selectedTheme = storedTheme ? storedTheme : defaultTheme; - } - document.body.classList.remove('theme-dark', 'theme-light'); - document.body.classList.add("theme-".concat(selectedTheme)); - -})); diff --git a/demo/dist/js/demo-theme.min.js b/demo/dist/js/demo-theme.min.js deleted file mode 100644 index bbb926db7..000000000 --- a/demo/dist/js/demo-theme.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";var e,t="tablerTheme",n=new Proxy(new URLSearchParams(window.location.search),{get:function(e,t){return e.get(t)}});if(n.theme)localStorage.setItem(t,n.theme),e=n.theme;else{var o=localStorage.getItem(t);e=o||"light"}document.body.classList.remove("theme-dark","theme-light"),document.body.classList.add("theme-".concat(e))})); \ No newline at end of file diff --git a/demo/dist/js/demo.js b/demo/dist/js/demo.js deleted file mode 100644 index 83f4d7c84..000000000 --- a/demo/dist/js/demo.js +++ /dev/null @@ -1,141 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -(function (factory) { - typeof define === 'function' && define.amd ? define(factory) : - factory(); -})((function () { 'use strict'; - - function _slicedToArray(arr, i) { - return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); - } - - function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; - } - - function _iterableToArrayLimit(arr, i) { - var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; - - if (_i == null) return; - var _arr = []; - var _n = true; - var _d = false; - - var _s, _e; - - try { - for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"] != null) _i["return"](); - } finally { - if (_d) throw _e; - } - } - - return _arr; - } - - function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); - } - - function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - - for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; - - return arr2; - } - - function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - - var items = { - 'menu-position': { - localStorage: 'tablerMenuPosition', - default: 'top' - }, - 'menu-behavior': { - localStorage: 'tablerMenuBehavior', - default: 'sticky' - }, - 'container-layout': { - localStorage: 'tablerContainerLayout', - default: 'boxed' - } - }; - var config = {}; - for (var _i = 0, _Object$entries = Object.entries(items); _i < _Object$entries.length; _i++) { - var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), - key = _Object$entries$_i[0], - params = _Object$entries$_i[1]; - var lsParams = localStorage.getItem(params.localStorage); - config[key] = lsParams ? lsParams : params.default; - } - var parseUrl = function parseUrl() { - var search = window.location.search.substring(1); - var params = search.split('&'); - for (var i = 0; i < params.length; i++) { - var arr = params[i].split('='); - var _key = arr[0]; - var value = arr[1]; - if (!!items[_key]) { - localStorage.setItem(items[_key].localStorage, value); - config[_key] = value; - } - } - }; - var toggleFormControls = function toggleFormControls(form) { - for (var _i2 = 0, _Object$entries2 = Object.entries(items); _i2 < _Object$entries2.length; _i2++) { - var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2), - _key2 = _Object$entries2$_i[0]; - _Object$entries2$_i[1]; - var elem = form.querySelector("[name=\"settings-".concat(_key2, "\"][value=\"").concat(config[_key2], "\"]")); - if (elem) { - elem.checked = true; - } - } - }; - var submitForm = function submitForm(form) { - for (var _i3 = 0, _Object$entries3 = Object.entries(items); _i3 < _Object$entries3.length; _i3++) { - var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i3], 2), - _key3 = _Object$entries3$_i[0], - _params2 = _Object$entries3$_i[1]; - var value = form.querySelector("[name=\"settings-".concat(_key3, "\"]:checked")).value; - localStorage.setItem(_params2.localStorage, value); - config[_key3] = value; - } - window.dispatchEvent(new Event('resize')); - new bootstrap.Offcanvas(form).hide(); - }; - parseUrl(); - var form = document.querySelector('#offcanvasSettings'); - if (form) { - form.addEventListener('submit', function (e) { - e.preventDefault(); - submitForm(form); - }); - toggleFormControls(form); - } - -})); diff --git a/demo/dist/js/demo.min.js b/demo/dist/js/demo.min.js deleted file mode 100644 index 1f5eb83b0..000000000 --- a/demo/dist/js/demo.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";function t(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==r)return;var n,o,a=[],l=!0,i=!1;try{for(r=r.call(t);!(l=(n=r.next()).done)&&(a.push(n.value),!e||a.length!==e);l=!0);}catch(t){i=!0,o=t}finally{try{l||null==r.return||r.return()}finally{if(i)throw o}}return a}(t,r)||function(t,r){if(!t)return;if("string"==typeof t)return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r-1},get:function(n){return t[e.indexOf(n)]},set:function(n,o){-1===e.indexOf(n)&&(e.push(n),t.push(o));},delete:function(n){var o=e.indexOf(n);o>-1&&(e.splice(o,1),t.splice(o,1));}}),o=function(e){return new Event(e,{bubbles:!0})};try{new Event("test");}catch(e){o=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t};}function r(e){var t=n.get(e);t&&t.destroy();}function i(e){var t=n.get(e);t&&t.update();}var l=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((l=function(e){return e}).destroy=function(e){return e},l.update=function(e){return e}):((l=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return function(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!n.has(e)){var t,r=null,i=null,l=null,d=function(){e.clientWidth!==i&&c();},a=function(t){window.removeEventListener("resize",d,!1),e.removeEventListener("input",c,!1),e.removeEventListener("keyup",c,!1),e.removeEventListener("autosize:destroy",a,!1),e.removeEventListener("autosize:update",c,!1),Object.keys(t).forEach(function(n){e.style[n]=t[n];}),n.delete(e);}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",a,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",c,!1),window.addEventListener("resize",d,!1),e.addEventListener("input",c,!1),e.addEventListener("autosize:update",c,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",n.set(e,{destroy:a,update:c}),"vertical"===(t=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),r="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(r)&&(r=0),c();}function u(t){var n=e.style.width;e.style.width="0px",e.style.width=n,e.style.overflowY=t;}function s(){if(0!==e.scrollHeight){var t=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(e),n=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+r+"px",i=e.clientWidth,t.forEach(function(e){e.node.scrollTop=e.scrollTop;}),n&&(document.documentElement.scrollTop=n);}}function c(){s();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),r="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(r= 0) continue; - target[key] = source[key]; - } - return target; -} -function _objectWithoutProperties(source, excluded) { - if (source == null) return {}; - var target = _objectWithoutPropertiesLoose(source, excluded); - var key, i; - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; - } - } - return target; -} -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _possibleConstructorReturn(self, call) { - if (call && (typeof call === "object" || typeof call === "function")) { - return call; - } else if (call !== void 0) { - throw new TypeError("Derived constructors may only return object or undefined"); - } - return _assertThisInitialized(self); -} -function _createSuper(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct(); - return function _createSuperInternal() { - var Super = _getPrototypeOf(Derived), - result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn(this, result); - }; -} -function _superPropBase(object, property) { - while (!Object.prototype.hasOwnProperty.call(object, property)) { - object = _getPrototypeOf(object); - if (object === null) break; - } - return object; -} -function _get() { - if (typeof Reflect !== "undefined" && Reflect.get) { - _get = Reflect.get.bind(); - } else { - _get = function _get(target, property, receiver) { - var base = _superPropBase(target, property); - if (!base) return; - var desc = Object.getOwnPropertyDescriptor(base, property); - if (desc.get) { - return desc.get.call(arguments.length < 3 ? target : receiver); - } - return desc.value; - }; - } - return _get.apply(this, arguments); -} -function set(target, property, value, receiver) { - if (typeof Reflect !== "undefined" && Reflect.set) { - set = Reflect.set; - } else { - set = function set(target, property, value, receiver) { - var base = _superPropBase(target, property); - var desc; - if (base) { - desc = Object.getOwnPropertyDescriptor(base, property); - if (desc.set) { - desc.set.call(receiver, value); - return true; - } else if (!desc.writable) { - return false; - } - } - desc = Object.getOwnPropertyDescriptor(receiver, property); - if (desc) { - if (!desc.writable) { - return false; - } - desc.value = value; - Object.defineProperty(receiver, property, desc); - } else { - _defineProperty(receiver, property, value); - } - return true; - }; - } - return set(target, property, value, receiver); -} -function _set(target, property, value, receiver, isStrict) { - var s = set(target, property, value, receiver || target); - if (!s && isStrict) { - throw new Error('failed to set property'); - } - return value; -} -function _slicedToArray(arr, i) { - return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); -} -function _toConsumableArray(arr) { - return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); -} -function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) return _arrayLikeToArray(arr); -} -function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; -} -function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); -} -function _iterableToArrayLimit(arr, i) { - var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; - if (_i == null) return; - var _arr = []; - var _n = true; - var _d = false; - var _s, _e; - try { - for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"] != null) _i["return"](); - } finally { - if (_d) throw _e; - } - } - return _arr; -} -function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); -} -function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; - return arr2; -} -function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} -function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} - -var ChangeDetails = function () { - function ChangeDetails(details) { - _classCallCheck(this, ChangeDetails); - Object.assign(this, { - inserted: '', - rawInserted: '', - skip: false, - tailShift: 0 - }, details); - } - _createClass(ChangeDetails, [{ - key: "aggregate", - value: function aggregate(details) { - this.rawInserted += details.rawInserted; - this.skip = this.skip || details.skip; - this.inserted += details.inserted; - this.tailShift += details.tailShift; - return this; - } - }, { - key: "offset", - get: function get() { - return this.tailShift + this.inserted.length; - } - }]); - return ChangeDetails; -}(); - -function isString(str) { - return typeof str === 'string' || str instanceof String; -} -var DIRECTION = { - NONE: 'NONE', - LEFT: 'LEFT', - FORCE_LEFT: 'FORCE_LEFT', - RIGHT: 'RIGHT', - FORCE_RIGHT: 'FORCE_RIGHT' -}; -function forceDirection(direction) { - switch (direction) { - case DIRECTION.LEFT: - return DIRECTION.FORCE_LEFT; - case DIRECTION.RIGHT: - return DIRECTION.FORCE_RIGHT; - default: - return direction; - } -} -function escapeRegExp(str) { - return str.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); -} -function normalizePrepare(prep) { - return Array.isArray(prep) ? prep : [prep, new ChangeDetails()]; -} -function objectIncludes(b, a) { - if (a === b) return true; - var arrA = Array.isArray(a), - arrB = Array.isArray(b), - i; - if (arrA && arrB) { - if (a.length != b.length) return false; - for (i = 0; i < a.length; i++) { - if (!objectIncludes(a[i], b[i])) return false; - } - return true; - } - if (arrA != arrB) return false; - if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') { - var dateA = a instanceof Date, - dateB = b instanceof Date; - if (dateA && dateB) return a.getTime() == b.getTime(); - if (dateA != dateB) return false; - var regexpA = a instanceof RegExp, - regexpB = b instanceof RegExp; - if (regexpA && regexpB) return a.toString() == b.toString(); - if (regexpA != regexpB) return false; - var keys = Object.keys(a); - for (i = 0; i < keys.length; i++) { - if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; - } - for (i = 0; i < keys.length; i++) { - if (!objectIncludes(b[keys[i]], a[keys[i]])) return false; - } - return true; - } else if (a && b && typeof a === 'function' && typeof b === 'function') { - return a.toString() === b.toString(); - } - return false; -} - -var ActionDetails = function () { - function ActionDetails(value, cursorPos, oldValue, oldSelection) { - _classCallCheck(this, ActionDetails); - this.value = value; - this.cursorPos = cursorPos; - this.oldValue = oldValue; - this.oldSelection = oldSelection; - while (this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos)) { - --this.oldSelection.start; - } - } - _createClass(ActionDetails, [{ - key: "startChangePos", - get: function get() { - return Math.min(this.cursorPos, this.oldSelection.start); - } - }, { - key: "insertedCount", - get: function get() { - return this.cursorPos - this.startChangePos; - } - }, { - key: "inserted", - get: function get() { - return this.value.substr(this.startChangePos, this.insertedCount); - } - }, { - key: "removedCount", - get: function get() { - return Math.max(this.oldSelection.end - this.startChangePos || - this.oldValue.length - this.value.length, 0); - } - }, { - key: "removed", - get: function get() { - return this.oldValue.substr(this.startChangePos, this.removedCount); - } - }, { - key: "head", - get: function get() { - return this.value.substring(0, this.startChangePos); - } - }, { - key: "tail", - get: function get() { - return this.value.substring(this.startChangePos + this.insertedCount); - } - }, { - key: "removeDirection", - get: function get() { - if (!this.removedCount || this.insertedCount) return DIRECTION.NONE; - return (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) && - this.oldSelection.end === this.oldSelection.start ? DIRECTION.RIGHT : DIRECTION.LEFT; - } - }]); - return ActionDetails; -}(); - -var ContinuousTailDetails = function () { - function ContinuousTailDetails() { - var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; - var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - var stop = arguments.length > 2 ? arguments[2] : undefined; - _classCallCheck(this, ContinuousTailDetails); - this.value = value; - this.from = from; - this.stop = stop; - } - _createClass(ContinuousTailDetails, [{ - key: "toString", - value: function toString() { - return this.value; - } - }, { - key: "extend", - value: function extend(tail) { - this.value += String(tail); - } - }, { - key: "appendTo", - value: function appendTo(masked) { - return masked.append(this.toString(), { - tail: true - }).aggregate(masked._appendPlaceholder()); - } - }, { - key: "state", - get: function get() { - return { - value: this.value, - from: this.from, - stop: this.stop - }; - }, - set: function set(state) { - Object.assign(this, state); - } - }, { - key: "unshift", - value: function unshift(beforePos) { - if (!this.value.length || beforePos != null && this.from >= beforePos) return ''; - var shiftChar = this.value[0]; - this.value = this.value.slice(1); - return shiftChar; - } - }, { - key: "shift", - value: function shift() { - if (!this.value.length) return ''; - var shiftChar = this.value[this.value.length - 1]; - this.value = this.value.slice(0, -1); - return shiftChar; - } - }]); - return ContinuousTailDetails; -}(); - -function IMask(el) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return new IMask.InputMask(el, opts); -} - -var Masked = function () { - function Masked(opts) { - _classCallCheck(this, Masked); - this._value = ''; - this._update(Object.assign({}, Masked.DEFAULTS, opts)); - this.isInitialized = true; - } - _createClass(Masked, [{ - key: "updateOptions", - value: function updateOptions(opts) { - if (!Object.keys(opts).length) return; - this.withValueRefresh(this._update.bind(this, opts)); - } - }, { - key: "_update", - value: function _update(opts) { - Object.assign(this, opts); - } - }, { - key: "state", - get: function get() { - return { - _value: this.value - }; - }, - set: function set(state) { - this._value = state._value; - } - }, { - key: "reset", - value: function reset() { - this._value = ''; - } - }, { - key: "value", - get: function get() { - return this._value; - }, - set: function set(value) { - this.resolve(value); - } - }, { - key: "resolve", - value: function resolve(value) { - this.reset(); - this.append(value, { - input: true - }, ''); - this.doCommit(); - return this.value; - } - }, { - key: "unmaskedValue", - get: function get() { - return this.value; - }, - set: function set(value) { - this.reset(); - this.append(value, {}, ''); - this.doCommit(); - } - }, { - key: "typedValue", - get: function get() { - return this.doParse(this.value); - }, - set: function set(value) { - this.value = this.doFormat(value); - } - }, { - key: "rawInputValue", - get: function get() { - return this.extractInput(0, this.value.length, { - raw: true - }); - }, - set: function set(value) { - this.reset(); - this.append(value, { - raw: true - }, ''); - this.doCommit(); - } - }, { - key: "isComplete", - get: function get() { - return true; - } - }, { - key: "isFilled", - get: function get() { - return this.isComplete; - } - }, { - key: "nearestInputPos", - value: function nearestInputPos(cursorPos, direction) { - return cursorPos; - } - }, { - key: "extractInput", - value: function extractInput() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - return this.value.slice(fromPos, toPos); - } - }, { - key: "extractTail", - value: function extractTail() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - return new ContinuousTailDetails(this.extractInput(fromPos, toPos), fromPos); - } - }, { - key: "appendTail", - value: function appendTail(tail) { - if (isString(tail)) tail = new ContinuousTailDetails(String(tail)); - return tail.appendTo(this); - } - }, { - key: "_appendCharRaw", - value: function _appendCharRaw(ch) { - if (!ch) return new ChangeDetails(); - this._value += ch; - return new ChangeDetails({ - inserted: ch, - rawInserted: ch - }); - } - }, { - key: "_appendChar", - value: function _appendChar(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var checkTail = arguments.length > 2 ? arguments[2] : undefined; - var consistentState = this.state; - var details; - var _normalizePrepare = normalizePrepare(this.doPrepare(ch, flags)); - var _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2); - ch = _normalizePrepare2[0]; - details = _normalizePrepare2[1]; - details = details.aggregate(this._appendCharRaw(ch, flags)); - if (details.inserted) { - var consistentTail; - var appended = this.doValidate(flags) !== false; - if (appended && checkTail != null) { - var beforeTailState = this.state; - if (this.overwrite === true) { - consistentTail = checkTail.state; - checkTail.unshift(this.value.length); - } - var tailDetails = this.appendTail(checkTail); - appended = tailDetails.rawInserted === checkTail.toString(); - if (!(appended && tailDetails.inserted) && this.overwrite === 'shift') { - this.state = beforeTailState; - consistentTail = checkTail.state; - checkTail.shift(); - tailDetails = this.appendTail(checkTail); - appended = tailDetails.rawInserted === checkTail.toString(); - } - if (appended && tailDetails.inserted) this.state = beforeTailState; - } - if (!appended) { - details = new ChangeDetails(); - this.state = consistentState; - if (checkTail && consistentTail) checkTail.state = consistentTail; - } - } - return details; - } - }, { - key: "_appendPlaceholder", - value: function _appendPlaceholder() { - return new ChangeDetails(); - } - }, { - key: "_appendEager", - value: function _appendEager() { - return new ChangeDetails(); - } - }, { - key: "append", - value: function append(str, flags, tail) { - if (!isString(str)) throw new Error('value should be string'); - var details = new ChangeDetails(); - var checkTail = isString(tail) ? new ContinuousTailDetails(String(tail)) : tail; - if (flags !== null && flags !== void 0 && flags.tail) flags._beforeTailState = this.state; - for (var ci = 0; ci < str.length; ++ci) { - details.aggregate(this._appendChar(str[ci], flags, checkTail)); - } - if (checkTail != null) { - details.tailShift += this.appendTail(checkTail).tailShift; - } - if (this.eager && flags !== null && flags !== void 0 && flags.input && str) { - details.aggregate(this._appendEager()); - } - return details; - } - }, { - key: "remove", - value: function remove() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - this._value = this.value.slice(0, fromPos) + this.value.slice(toPos); - return new ChangeDetails(); - } - }, { - key: "withValueRefresh", - value: function withValueRefresh(fn) { - if (this._refreshing || !this.isInitialized) return fn(); - this._refreshing = true; - var rawInput = this.rawInputValue; - var value = this.value; - var ret = fn(); - this.rawInputValue = rawInput; - if (this.value && this.value !== value && value.indexOf(this.value) === 0) { - this.append(value.slice(this.value.length), {}, ''); - } - delete this._refreshing; - return ret; - } - }, { - key: "runIsolated", - value: function runIsolated(fn) { - if (this._isolated || !this.isInitialized) return fn(this); - this._isolated = true; - var state = this.state; - var ret = fn(this); - this.state = state; - delete this._isolated; - return ret; - } - }, { - key: "doPrepare", - value: function doPrepare(str) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return this.prepare ? this.prepare(str, this, flags) : str; - } - }, { - key: "doValidate", - value: function doValidate(flags) { - return (!this.validate || this.validate(this.value, this, flags)) && (!this.parent || this.parent.doValidate(flags)); - } - }, { - key: "doCommit", - value: function doCommit() { - if (this.commit) this.commit(this.value, this); - } - }, { - key: "doFormat", - value: function doFormat(value) { - return this.format ? this.format(value, this) : value; - } - }, { - key: "doParse", - value: function doParse(str) { - return this.parse ? this.parse(str, this) : str; - } - }, { - key: "splice", - value: function splice(start, deleteCount, inserted, removeDirection) { - var flags = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { - input: true - }; - var tailPos = start + deleteCount; - var tail = this.extractTail(tailPos); - var oldRawValue; - if (this.eager) { - removeDirection = forceDirection(removeDirection); - oldRawValue = this.extractInput(0, tailPos, { - raw: true - }); - } - var startChangePos = this.nearestInputPos(start, deleteCount > 1 && start !== 0 && !this.eager ? DIRECTION.NONE : removeDirection); - var details = new ChangeDetails({ - tailShift: startChangePos - start - }).aggregate(this.remove(startChangePos)); - if (this.eager && removeDirection !== DIRECTION.NONE && oldRawValue === this.rawInputValue) { - if (removeDirection === DIRECTION.FORCE_LEFT) { - var valLength; - while (oldRawValue === this.rawInputValue && (valLength = this.value.length)) { - details.aggregate(new ChangeDetails({ - tailShift: -1 - })).aggregate(this.remove(valLength - 1)); - } - } else if (removeDirection === DIRECTION.FORCE_RIGHT) { - tail.unshift(); - } - } - return details.aggregate(this.append(inserted, flags, tail)); - } - }, { - key: "maskEquals", - value: function maskEquals(mask) { - return this.mask === mask; - } - }, { - key: "typedValueEquals", - value: function typedValueEquals(value) { - var tval = this.typedValue; - return value === tval || Masked.EMPTY_VALUES.includes(value) && Masked.EMPTY_VALUES.includes(tval) || this.doFormat(value) === this.doFormat(this.typedValue); - } - }]); - return Masked; -}(); -Masked.DEFAULTS = { - format: function format(v) { - return v; - }, - parse: function parse(v) { - return v; - } -}; -Masked.EMPTY_VALUES = [undefined, null, '']; -IMask.Masked = Masked; - -function maskedClass(mask) { - if (mask == null) { - throw new Error('mask property should be defined'); - } - if (mask instanceof RegExp) return IMask.MaskedRegExp; - if (isString(mask)) return IMask.MaskedPattern; - if (mask instanceof Date || mask === Date) return IMask.MaskedDate; - if (mask instanceof Number || typeof mask === 'number' || mask === Number) return IMask.MaskedNumber; - if (Array.isArray(mask) || mask === Array) return IMask.MaskedDynamic; - if (IMask.Masked && mask.prototype instanceof IMask.Masked) return mask; - if (mask instanceof IMask.Masked) return mask.constructor; - if (mask instanceof Function) return IMask.MaskedFunction; - console.warn('Mask not found for mask', mask); - return IMask.Masked; -} -function createMask(opts) { - if (IMask.Masked && opts instanceof IMask.Masked) return opts; - opts = Object.assign({}, opts); - var mask = opts.mask; - if (IMask.Masked && mask instanceof IMask.Masked) return mask; - var MaskedClass = maskedClass(mask); - if (!MaskedClass) throw new Error('Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.'); - return new MaskedClass(opts); -} -IMask.createMask = createMask; - -var _excluded$4 = ["mask"]; -var DEFAULT_INPUT_DEFINITIONS = { - '0': /\d/, - 'a': /[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, - '*': /./ -}; -var PatternInputDefinition = function () { - function PatternInputDefinition(opts) { - _classCallCheck(this, PatternInputDefinition); - var mask = opts.mask, - blockOpts = _objectWithoutProperties(opts, _excluded$4); - this.masked = createMask({ - mask: mask - }); - Object.assign(this, blockOpts); - } - _createClass(PatternInputDefinition, [{ - key: "reset", - value: function reset() { - this.isFilled = false; - this.masked.reset(); - } - }, { - key: "remove", - value: function remove() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - if (fromPos === 0 && toPos >= 1) { - this.isFilled = false; - return this.masked.remove(fromPos, toPos); - } - return new ChangeDetails(); - } - }, { - key: "value", - get: function get() { - return this.masked.value || (this.isFilled && !this.isOptional ? this.placeholderChar : ''); - } - }, { - key: "unmaskedValue", - get: function get() { - return this.masked.unmaskedValue; - } - }, { - key: "isComplete", - get: function get() { - return Boolean(this.masked.value) || this.isOptional; - } - }, { - key: "_appendChar", - value: function _appendChar(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - if (this.isFilled) return new ChangeDetails(); - var state = this.masked.state; - var details = this.masked._appendChar(ch, flags); - if (details.inserted && this.doValidate(flags) === false) { - details.inserted = details.rawInserted = ''; - this.masked.state = state; - } - if (!details.inserted && !this.isOptional && !this.lazy && !flags.input) { - details.inserted = this.placeholderChar; - } - details.skip = !details.inserted && !this.isOptional; - this.isFilled = Boolean(details.inserted); - return details; - } - }, { - key: "append", - value: function append() { - var _this$masked; - return (_this$masked = this.masked).append.apply(_this$masked, arguments); - } - }, { - key: "_appendPlaceholder", - value: function _appendPlaceholder() { - var details = new ChangeDetails(); - if (this.isFilled || this.isOptional) return details; - this.isFilled = true; - details.inserted = this.placeholderChar; - return details; - } - }, { - key: "_appendEager", - value: function _appendEager() { - return new ChangeDetails(); - } - }, { - key: "extractTail", - value: function extractTail() { - var _this$masked2; - return (_this$masked2 = this.masked).extractTail.apply(_this$masked2, arguments); - } - }, { - key: "appendTail", - value: function appendTail() { - var _this$masked3; - return (_this$masked3 = this.masked).appendTail.apply(_this$masked3, arguments); - } - }, { - key: "extractInput", - value: function extractInput() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var flags = arguments.length > 2 ? arguments[2] : undefined; - return this.masked.extractInput(fromPos, toPos, flags); - } - }, { - key: "nearestInputPos", - value: function nearestInputPos(cursorPos) { - var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; - var minPos = 0; - var maxPos = this.value.length; - var boundPos = Math.min(Math.max(cursorPos, minPos), maxPos); - switch (direction) { - case DIRECTION.LEFT: - case DIRECTION.FORCE_LEFT: - return this.isComplete ? boundPos : minPos; - case DIRECTION.RIGHT: - case DIRECTION.FORCE_RIGHT: - return this.isComplete ? boundPos : maxPos; - case DIRECTION.NONE: - default: - return boundPos; - } - } - }, { - key: "doValidate", - value: function doValidate() { - var _this$masked4, _this$parent; - return (_this$masked4 = this.masked).doValidate.apply(_this$masked4, arguments) && (!this.parent || (_this$parent = this.parent).doValidate.apply(_this$parent, arguments)); - } - }, { - key: "doCommit", - value: function doCommit() { - this.masked.doCommit(); - } - }, { - key: "state", - get: function get() { - return { - masked: this.masked.state, - isFilled: this.isFilled - }; - }, - set: function set(state) { - this.masked.state = state.masked; - this.isFilled = state.isFilled; - } - }]); - return PatternInputDefinition; -}(); - -var PatternFixedDefinition = function () { - function PatternFixedDefinition(opts) { - _classCallCheck(this, PatternFixedDefinition); - Object.assign(this, opts); - this._value = ''; - this.isFixed = true; - } - _createClass(PatternFixedDefinition, [{ - key: "value", - get: function get() { - return this._value; - } - }, { - key: "unmaskedValue", - get: function get() { - return this.isUnmasking ? this.value : ''; - } - }, { - key: "reset", - value: function reset() { - this._isRawInput = false; - this._value = ''; - } - }, { - key: "remove", - value: function remove() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length; - this._value = this._value.slice(0, fromPos) + this._value.slice(toPos); - if (!this._value) this._isRawInput = false; - return new ChangeDetails(); - } - }, { - key: "nearestInputPos", - value: function nearestInputPos(cursorPos) { - var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; - var minPos = 0; - var maxPos = this._value.length; - switch (direction) { - case DIRECTION.LEFT: - case DIRECTION.FORCE_LEFT: - return minPos; - case DIRECTION.NONE: - case DIRECTION.RIGHT: - case DIRECTION.FORCE_RIGHT: - default: - return maxPos; - } - } - }, { - key: "extractInput", - value: function extractInput() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length; - var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - return flags.raw && this._isRawInput && this._value.slice(fromPos, toPos) || ''; - } - }, { - key: "isComplete", - get: function get() { - return true; - } - }, { - key: "isFilled", - get: function get() { - return Boolean(this._value); - } - }, { - key: "_appendChar", - value: function _appendChar(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var details = new ChangeDetails(); - if (this._value) return details; - var appended = this.char === ch; - var isResolved = appended && (this.isUnmasking || flags.input || flags.raw) && (!flags.raw || !this.eager) && !flags.tail; - if (isResolved) details.rawInserted = this.char; - this._value = details.inserted = this.char; - this._isRawInput = isResolved && (flags.raw || flags.input); - return details; - } - }, { - key: "_appendEager", - value: function _appendEager() { - return this._appendChar(this.char, { - tail: true - }); - } - }, { - key: "_appendPlaceholder", - value: function _appendPlaceholder() { - var details = new ChangeDetails(); - if (this._value) return details; - this._value = details.inserted = this.char; - return details; - } - }, { - key: "extractTail", - value: function extractTail() { - arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - return new ContinuousTailDetails(''); - } - }, { - key: "appendTail", - value: function appendTail(tail) { - if (isString(tail)) tail = new ContinuousTailDetails(String(tail)); - return tail.appendTo(this); - } - }, { - key: "append", - value: function append(str, flags, tail) { - var details = this._appendChar(str[0], flags); - if (tail != null) { - details.tailShift += this.appendTail(tail).tailShift; - } - return details; - } - }, { - key: "doCommit", - value: function doCommit() {} - }, { - key: "state", - get: function get() { - return { - _value: this._value, - _isRawInput: this._isRawInput - }; - }, - set: function set(state) { - Object.assign(this, state); - } - }]); - return PatternFixedDefinition; -}(); - -var _excluded$3 = ["chunks"]; -var ChunksTailDetails = function () { - function ChunksTailDetails() { - var chunks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - _classCallCheck(this, ChunksTailDetails); - this.chunks = chunks; - this.from = from; - } - _createClass(ChunksTailDetails, [{ - key: "toString", - value: function toString() { - return this.chunks.map(String).join(''); - } - }, { - key: "extend", - value: function extend(tailChunk) { - if (!String(tailChunk)) return; - if (isString(tailChunk)) tailChunk = new ContinuousTailDetails(String(tailChunk)); - var lastChunk = this.chunks[this.chunks.length - 1]; - var extendLast = lastChunk && ( - lastChunk.stop === tailChunk.stop || tailChunk.stop == null) && - tailChunk.from === lastChunk.from + lastChunk.toString().length; - if (tailChunk instanceof ContinuousTailDetails) { - if (extendLast) { - lastChunk.extend(tailChunk.toString()); - } else { - this.chunks.push(tailChunk); - } - } else if (tailChunk instanceof ChunksTailDetails) { - if (tailChunk.stop == null) { - var firstTailChunk; - while (tailChunk.chunks.length && tailChunk.chunks[0].stop == null) { - firstTailChunk = tailChunk.chunks.shift(); - firstTailChunk.from += tailChunk.from; - this.extend(firstTailChunk); - } - } - if (tailChunk.toString()) { - tailChunk.stop = tailChunk.blockIndex; - this.chunks.push(tailChunk); - } - } - } - }, { - key: "appendTo", - value: function appendTo(masked) { - if (!(masked instanceof IMask.MaskedPattern)) { - var tail = new ContinuousTailDetails(this.toString()); - return tail.appendTo(masked); - } - var details = new ChangeDetails(); - for (var ci = 0; ci < this.chunks.length && !details.skip; ++ci) { - var chunk = this.chunks[ci]; - var lastBlockIter = masked._mapPosToBlock(masked.value.length); - var stop = chunk.stop; - var chunkBlock = void 0; - if (stop != null && ( - !lastBlockIter || lastBlockIter.index <= stop)) { - if (chunk instanceof ChunksTailDetails || - masked._stops.indexOf(stop) >= 0) { - details.aggregate(masked._appendPlaceholder(stop)); - } - chunkBlock = chunk instanceof ChunksTailDetails && masked._blocks[stop]; - } - if (chunkBlock) { - var tailDetails = chunkBlock.appendTail(chunk); - tailDetails.skip = false; - details.aggregate(tailDetails); - masked._value += tailDetails.inserted; - var remainChars = chunk.toString().slice(tailDetails.rawInserted.length); - if (remainChars) details.aggregate(masked.append(remainChars, { - tail: true - })); - } else { - details.aggregate(masked.append(chunk.toString(), { - tail: true - })); - } - } - return details; - } - }, { - key: "state", - get: function get() { - return { - chunks: this.chunks.map(function (c) { - return c.state; - }), - from: this.from, - stop: this.stop, - blockIndex: this.blockIndex - }; - }, - set: function set(state) { - var chunks = state.chunks, - props = _objectWithoutProperties(state, _excluded$3); - Object.assign(this, props); - this.chunks = chunks.map(function (cstate) { - var chunk = "chunks" in cstate ? new ChunksTailDetails() : new ContinuousTailDetails(); - chunk.state = cstate; - return chunk; - }); - } - }, { - key: "unshift", - value: function unshift(beforePos) { - if (!this.chunks.length || beforePos != null && this.from >= beforePos) return ''; - var chunkShiftPos = beforePos != null ? beforePos - this.from : beforePos; - var ci = 0; - while (ci < this.chunks.length) { - var chunk = this.chunks[ci]; - var shiftChar = chunk.unshift(chunkShiftPos); - if (chunk.toString()) { - if (!shiftChar) break; - ++ci; - } else { - this.chunks.splice(ci, 1); - } - if (shiftChar) return shiftChar; - } - return ''; - } - }, { - key: "shift", - value: function shift() { - if (!this.chunks.length) return ''; - var ci = this.chunks.length - 1; - while (0 <= ci) { - var chunk = this.chunks[ci]; - var shiftChar = chunk.shift(); - if (chunk.toString()) { - if (!shiftChar) break; - --ci; - } else { - this.chunks.splice(ci, 1); - } - if (shiftChar) return shiftChar; - } - return ''; - } - }]); - return ChunksTailDetails; -}(); - -var PatternCursor = function () { - function PatternCursor(masked, pos) { - _classCallCheck(this, PatternCursor); - this.masked = masked; - this._log = []; - var _ref = masked._mapPosToBlock(pos) || (pos < 0 ? - { - index: 0, - offset: 0 - } : - { - index: this.masked._blocks.length, - offset: 0 - }), - offset = _ref.offset, - index = _ref.index; - this.offset = offset; - this.index = index; - this.ok = false; - } - _createClass(PatternCursor, [{ - key: "block", - get: function get() { - return this.masked._blocks[this.index]; - } - }, { - key: "pos", - get: function get() { - return this.masked._blockStartPos(this.index) + this.offset; - } - }, { - key: "state", - get: function get() { - return { - index: this.index, - offset: this.offset, - ok: this.ok - }; - }, - set: function set(s) { - Object.assign(this, s); - } - }, { - key: "pushState", - value: function pushState() { - this._log.push(this.state); - } - }, { - key: "popState", - value: function popState() { - var s = this._log.pop(); - this.state = s; - return s; - } - }, { - key: "bindBlock", - value: function bindBlock() { - if (this.block) return; - if (this.index < 0) { - this.index = 0; - this.offset = 0; - } - if (this.index >= this.masked._blocks.length) { - this.index = this.masked._blocks.length - 1; - this.offset = this.block.value.length; - } - } - }, { - key: "_pushLeft", - value: function _pushLeft(fn) { - this.pushState(); - for (this.bindBlock(); 0 <= this.index; --this.index, this.offset = ((_this$block = this.block) === null || _this$block === void 0 ? void 0 : _this$block.value.length) || 0) { - var _this$block; - if (fn()) return this.ok = true; - } - return this.ok = false; - } - }, { - key: "_pushRight", - value: function _pushRight(fn) { - this.pushState(); - for (this.bindBlock(); this.index < this.masked._blocks.length; ++this.index, this.offset = 0) { - if (fn()) return this.ok = true; - } - return this.ok = false; - } - }, { - key: "pushLeftBeforeFilled", - value: function pushLeftBeforeFilled() { - var _this = this; - return this._pushLeft(function () { - if (_this.block.isFixed || !_this.block.value) return; - _this.offset = _this.block.nearestInputPos(_this.offset, DIRECTION.FORCE_LEFT); - if (_this.offset !== 0) return true; - }); - } - }, { - key: "pushLeftBeforeInput", - value: function pushLeftBeforeInput() { - var _this2 = this; - return this._pushLeft(function () { - if (_this2.block.isFixed) return; - _this2.offset = _this2.block.nearestInputPos(_this2.offset, DIRECTION.LEFT); - return true; - }); - } - }, { - key: "pushLeftBeforeRequired", - value: function pushLeftBeforeRequired() { - var _this3 = this; - return this._pushLeft(function () { - if (_this3.block.isFixed || _this3.block.isOptional && !_this3.block.value) return; - _this3.offset = _this3.block.nearestInputPos(_this3.offset, DIRECTION.LEFT); - return true; - }); - } - }, { - key: "pushRightBeforeFilled", - value: function pushRightBeforeFilled() { - var _this4 = this; - return this._pushRight(function () { - if (_this4.block.isFixed || !_this4.block.value) return; - _this4.offset = _this4.block.nearestInputPos(_this4.offset, DIRECTION.FORCE_RIGHT); - if (_this4.offset !== _this4.block.value.length) return true; - }); - } - }, { - key: "pushRightBeforeInput", - value: function pushRightBeforeInput() { - var _this5 = this; - return this._pushRight(function () { - if (_this5.block.isFixed) return; - _this5.offset = _this5.block.nearestInputPos(_this5.offset, DIRECTION.NONE); - return true; - }); - } - }, { - key: "pushRightBeforeRequired", - value: function pushRightBeforeRequired() { - var _this6 = this; - return this._pushRight(function () { - if (_this6.block.isFixed || _this6.block.isOptional && !_this6.block.value) return; - _this6.offset = _this6.block.nearestInputPos(_this6.offset, DIRECTION.NONE); - return true; - }); - } - }]); - return PatternCursor; -}(); - -var MaskedRegExp = function (_Masked) { - _inherits(MaskedRegExp, _Masked); - var _super = _createSuper(MaskedRegExp); - function MaskedRegExp() { - _classCallCheck(this, MaskedRegExp); - return _super.apply(this, arguments); - } - _createClass(MaskedRegExp, [{ - key: "_update", - value: - function _update(opts) { - if (opts.mask) opts.validate = function (value) { - return value.search(opts.mask) >= 0; - }; - _get(_getPrototypeOf(MaskedRegExp.prototype), "_update", this).call(this, opts); - } - }]); - return MaskedRegExp; -}(Masked); -IMask.MaskedRegExp = MaskedRegExp; - -var _excluded$2 = ["_blocks"]; -var MaskedPattern = function (_Masked) { - _inherits(MaskedPattern, _Masked); - var _super = _createSuper(MaskedPattern); - function MaskedPattern() { - var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - _classCallCheck(this, MaskedPattern); - opts.definitions = Object.assign({}, DEFAULT_INPUT_DEFINITIONS, opts.definitions); - return _super.call(this, Object.assign({}, MaskedPattern.DEFAULTS, opts)); - } - _createClass(MaskedPattern, [{ - key: "_update", - value: function _update() { - var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - opts.definitions = Object.assign({}, this.definitions, opts.definitions); - _get(_getPrototypeOf(MaskedPattern.prototype), "_update", this).call(this, opts); - this._rebuildMask(); - } - }, { - key: "_rebuildMask", - value: function _rebuildMask() { - var _this = this; - var defs = this.definitions; - this._blocks = []; - this._stops = []; - this._maskedBlocks = {}; - var pattern = this.mask; - if (!pattern || !defs) return; - var unmaskingBlock = false; - var optionalBlock = false; - for (var i = 0; i < pattern.length; ++i) { - if (this.blocks) { - var _ret = function () { - var p = pattern.slice(i); - var bNames = Object.keys(_this.blocks).filter(function (bName) { - return p.indexOf(bName) === 0; - }); - bNames.sort(function (a, b) { - return b.length - a.length; - }); - var bName = bNames[0]; - if (bName) { - var maskedBlock = createMask(Object.assign({ - parent: _this, - lazy: _this.lazy, - eager: _this.eager, - placeholderChar: _this.placeholderChar, - overwrite: _this.overwrite - }, _this.blocks[bName])); - if (maskedBlock) { - _this._blocks.push(maskedBlock); - if (!_this._maskedBlocks[bName]) _this._maskedBlocks[bName] = []; - _this._maskedBlocks[bName].push(_this._blocks.length - 1); - } - i += bName.length - 1; - return "continue"; - } - }(); - if (_ret === "continue") continue; - } - var char = pattern[i]; - var isInput = (char in defs); - if (char === MaskedPattern.STOP_CHAR) { - this._stops.push(this._blocks.length); - continue; - } - if (char === '{' || char === '}') { - unmaskingBlock = !unmaskingBlock; - continue; - } - if (char === '[' || char === ']') { - optionalBlock = !optionalBlock; - continue; - } - if (char === MaskedPattern.ESCAPE_CHAR) { - ++i; - char = pattern[i]; - if (!char) break; - isInput = false; - } - var def = isInput ? new PatternInputDefinition({ - parent: this, - lazy: this.lazy, - eager: this.eager, - placeholderChar: this.placeholderChar, - mask: defs[char], - isOptional: optionalBlock - }) : new PatternFixedDefinition({ - char: char, - eager: this.eager, - isUnmasking: unmaskingBlock - }); - this._blocks.push(def); - } - } - }, { - key: "state", - get: function get() { - return Object.assign({}, _get(_getPrototypeOf(MaskedPattern.prototype), "state", this), { - _blocks: this._blocks.map(function (b) { - return b.state; - }) - }); - }, - set: function set(state) { - var _blocks = state._blocks, - maskedState = _objectWithoutProperties(state, _excluded$2); - this._blocks.forEach(function (b, bi) { - return b.state = _blocks[bi]; - }); - _set(_getPrototypeOf(MaskedPattern.prototype), "state", maskedState, this, true); - } - }, { - key: "reset", - value: function reset() { - _get(_getPrototypeOf(MaskedPattern.prototype), "reset", this).call(this); - this._blocks.forEach(function (b) { - return b.reset(); - }); - } - }, { - key: "isComplete", - get: function get() { - return this._blocks.every(function (b) { - return b.isComplete; - }); - } - }, { - key: "isFilled", - get: function get() { - return this._blocks.every(function (b) { - return b.isFilled; - }); - } - }, { - key: "isFixed", - get: function get() { - return this._blocks.every(function (b) { - return b.isFixed; - }); - } - }, { - key: "isOptional", - get: function get() { - return this._blocks.every(function (b) { - return b.isOptional; - }); - } - }, { - key: "doCommit", - value: function doCommit() { - this._blocks.forEach(function (b) { - return b.doCommit(); - }); - _get(_getPrototypeOf(MaskedPattern.prototype), "doCommit", this).call(this); - } - }, { - key: "unmaskedValue", - get: function get() { - return this._blocks.reduce(function (str, b) { - return str += b.unmaskedValue; - }, ''); - }, - set: function set(unmaskedValue) { - _set(_getPrototypeOf(MaskedPattern.prototype), "unmaskedValue", unmaskedValue, this, true); - } - }, { - key: "value", - get: function get() { - return this._blocks.reduce(function (str, b) { - return str += b.value; - }, ''); - }, - set: function set(value) { - _set(_getPrototypeOf(MaskedPattern.prototype), "value", value, this, true); - } - }, { - key: "appendTail", - value: function appendTail(tail) { - return _get(_getPrototypeOf(MaskedPattern.prototype), "appendTail", this).call(this, tail).aggregate(this._appendPlaceholder()); - } - }, { - key: "_appendEager", - value: function _appendEager() { - var _this$_mapPosToBlock; - var details = new ChangeDetails(); - var startBlockIndex = (_this$_mapPosToBlock = this._mapPosToBlock(this.value.length)) === null || _this$_mapPosToBlock === void 0 ? void 0 : _this$_mapPosToBlock.index; - if (startBlockIndex == null) return details; - if (this._blocks[startBlockIndex].isFilled) ++startBlockIndex; - for (var bi = startBlockIndex; bi < this._blocks.length; ++bi) { - var d = this._blocks[bi]._appendEager(); - if (!d.inserted) break; - details.aggregate(d); - } - return details; - } - }, { - key: "_appendCharRaw", - value: function _appendCharRaw(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var blockIter = this._mapPosToBlock(this.value.length); - var details = new ChangeDetails(); - if (!blockIter) return details; - for (var bi = blockIter.index;; ++bi) { - var _flags$_beforeTailSta, _flags$_beforeTailSta2; - var _block = this._blocks[bi]; - if (!_block) break; - var blockDetails = _block._appendChar(ch, Object.assign({}, flags, { - _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) === null || _flags$_beforeTailSta === void 0 ? void 0 : (_flags$_beforeTailSta2 = _flags$_beforeTailSta._blocks) === null || _flags$_beforeTailSta2 === void 0 ? void 0 : _flags$_beforeTailSta2[bi] - })); - var skip = blockDetails.skip; - details.aggregate(blockDetails); - if (skip || blockDetails.rawInserted) break; - } - return details; - } - }, { - key: "extractTail", - value: function extractTail() { - var _this2 = this; - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var chunkTail = new ChunksTailDetails(); - if (fromPos === toPos) return chunkTail; - this._forEachBlocksInRange(fromPos, toPos, function (b, bi, bFromPos, bToPos) { - var blockChunk = b.extractTail(bFromPos, bToPos); - blockChunk.stop = _this2._findStopBefore(bi); - blockChunk.from = _this2._blockStartPos(bi); - if (blockChunk instanceof ChunksTailDetails) blockChunk.blockIndex = bi; - chunkTail.extend(blockChunk); - }); - return chunkTail; - } - }, { - key: "extractInput", - value: function extractInput() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - if (fromPos === toPos) return ''; - var input = ''; - this._forEachBlocksInRange(fromPos, toPos, function (b, _, fromPos, toPos) { - input += b.extractInput(fromPos, toPos, flags); - }); - return input; - } - }, { - key: "_findStopBefore", - value: function _findStopBefore(blockIndex) { - var stopBefore; - for (var si = 0; si < this._stops.length; ++si) { - var stop = this._stops[si]; - if (stop <= blockIndex) stopBefore = stop;else break; - } - return stopBefore; - } - }, { - key: "_appendPlaceholder", - value: function _appendPlaceholder(toBlockIndex) { - var _this3 = this; - var details = new ChangeDetails(); - if (this.lazy && toBlockIndex == null) return details; - var startBlockIter = this._mapPosToBlock(this.value.length); - if (!startBlockIter) return details; - var startBlockIndex = startBlockIter.index; - var endBlockIndex = toBlockIndex != null ? toBlockIndex : this._blocks.length; - this._blocks.slice(startBlockIndex, endBlockIndex).forEach(function (b) { - if (!b.lazy || toBlockIndex != null) { - var args = b._blocks != null ? [b._blocks.length] : []; - var bDetails = b._appendPlaceholder.apply(b, args); - _this3._value += bDetails.inserted; - details.aggregate(bDetails); - } - }); - return details; - } - }, { - key: "_mapPosToBlock", - value: function _mapPosToBlock(pos) { - var accVal = ''; - for (var bi = 0; bi < this._blocks.length; ++bi) { - var _block2 = this._blocks[bi]; - var blockStartPos = accVal.length; - accVal += _block2.value; - if (pos <= accVal.length) { - return { - index: bi, - offset: pos - blockStartPos - }; - } - } - } - }, { - key: "_blockStartPos", - value: function _blockStartPos(blockIndex) { - return this._blocks.slice(0, blockIndex).reduce(function (pos, b) { - return pos += b.value.length; - }, 0); - } - }, { - key: "_forEachBlocksInRange", - value: function _forEachBlocksInRange(fromPos) { - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var fn = arguments.length > 2 ? arguments[2] : undefined; - var fromBlockIter = this._mapPosToBlock(fromPos); - if (fromBlockIter) { - var toBlockIter = this._mapPosToBlock(toPos); - var isSameBlock = toBlockIter && fromBlockIter.index === toBlockIter.index; - var fromBlockStartPos = fromBlockIter.offset; - var fromBlockEndPos = toBlockIter && isSameBlock ? toBlockIter.offset : this._blocks[fromBlockIter.index].value.length; - fn(this._blocks[fromBlockIter.index], fromBlockIter.index, fromBlockStartPos, fromBlockEndPos); - if (toBlockIter && !isSameBlock) { - for (var bi = fromBlockIter.index + 1; bi < toBlockIter.index; ++bi) { - fn(this._blocks[bi], bi, 0, this._blocks[bi].value.length); - } - fn(this._blocks[toBlockIter.index], toBlockIter.index, 0, toBlockIter.offset); - } - } - } - }, { - key: "remove", - value: function remove() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var removeDetails = _get(_getPrototypeOf(MaskedPattern.prototype), "remove", this).call(this, fromPos, toPos); - this._forEachBlocksInRange(fromPos, toPos, function (b, _, bFromPos, bToPos) { - removeDetails.aggregate(b.remove(bFromPos, bToPos)); - }); - return removeDetails; - } - }, { - key: "nearestInputPos", - value: function nearestInputPos(cursorPos) { - var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; - if (!this._blocks.length) return 0; - var cursor = new PatternCursor(this, cursorPos); - if (direction === DIRECTION.NONE) { - if (cursor.pushRightBeforeInput()) return cursor.pos; - cursor.popState(); - if (cursor.pushLeftBeforeInput()) return cursor.pos; - return this.value.length; - } - if (direction === DIRECTION.LEFT || direction === DIRECTION.FORCE_LEFT) { - if (direction === DIRECTION.LEFT) { - cursor.pushRightBeforeFilled(); - if (cursor.ok && cursor.pos === cursorPos) return cursorPos; - cursor.popState(); - } - cursor.pushLeftBeforeInput(); - cursor.pushLeftBeforeRequired(); - cursor.pushLeftBeforeFilled(); - if (direction === DIRECTION.LEFT) { - cursor.pushRightBeforeInput(); - cursor.pushRightBeforeRequired(); - if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos; - cursor.popState(); - if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos; - cursor.popState(); - } - if (cursor.ok) return cursor.pos; - if (direction === DIRECTION.FORCE_LEFT) return 0; - cursor.popState(); - if (cursor.ok) return cursor.pos; - cursor.popState(); - if (cursor.ok) return cursor.pos; - return 0; - } - if (direction === DIRECTION.RIGHT || direction === DIRECTION.FORCE_RIGHT) { - cursor.pushRightBeforeInput(); - cursor.pushRightBeforeRequired(); - if (cursor.pushRightBeforeFilled()) return cursor.pos; - if (direction === DIRECTION.FORCE_RIGHT) return this.value.length; - cursor.popState(); - if (cursor.ok) return cursor.pos; - cursor.popState(); - if (cursor.ok) return cursor.pos; - return this.nearestInputPos(cursorPos, DIRECTION.LEFT); - } - return cursorPos; - } - }, { - key: "maskedBlock", - value: function maskedBlock(name) { - return this.maskedBlocks(name)[0]; - } - }, { - key: "maskedBlocks", - value: function maskedBlocks(name) { - var _this4 = this; - var indices = this._maskedBlocks[name]; - if (!indices) return []; - return indices.map(function (gi) { - return _this4._blocks[gi]; - }); - } - }]); - return MaskedPattern; -}(Masked); -MaskedPattern.DEFAULTS = { - lazy: true, - placeholderChar: '_' -}; -MaskedPattern.STOP_CHAR = '`'; -MaskedPattern.ESCAPE_CHAR = '\\'; -MaskedPattern.InputDefinition = PatternInputDefinition; -MaskedPattern.FixedDefinition = PatternFixedDefinition; -IMask.MaskedPattern = MaskedPattern; - -var MaskedRange = function (_MaskedPattern) { - _inherits(MaskedRange, _MaskedPattern); - var _super = _createSuper(MaskedRange); - function MaskedRange() { - _classCallCheck(this, MaskedRange); - return _super.apply(this, arguments); - } - _createClass(MaskedRange, [{ - key: "_matchFrom", - get: - function get() { - return this.maxLength - String(this.from).length; - } - }, { - key: "_update", - value: function _update(opts) { - opts = Object.assign({ - to: this.to || 0, - from: this.from || 0, - maxLength: this.maxLength || 0 - }, opts); - var maxLength = String(opts.to).length; - if (opts.maxLength != null) maxLength = Math.max(maxLength, opts.maxLength); - opts.maxLength = maxLength; - var fromStr = String(opts.from).padStart(maxLength, '0'); - var toStr = String(opts.to).padStart(maxLength, '0'); - var sameCharsCount = 0; - while (sameCharsCount < toStr.length && toStr[sameCharsCount] === fromStr[sameCharsCount]) { - ++sameCharsCount; - } - opts.mask = toStr.slice(0, sameCharsCount).replace(/0/g, '\\0') + '0'.repeat(maxLength - sameCharsCount); - _get(_getPrototypeOf(MaskedRange.prototype), "_update", this).call(this, opts); - } - }, { - key: "isComplete", - get: function get() { - return _get(_getPrototypeOf(MaskedRange.prototype), "isComplete", this) && Boolean(this.value); - } - }, { - key: "boundaries", - value: function boundaries(str) { - var minstr = ''; - var maxstr = ''; - var _ref = str.match(/^(\D*)(\d*)(\D*)/) || [], - _ref2 = _slicedToArray(_ref, 3), - placeholder = _ref2[1], - num = _ref2[2]; - if (num) { - minstr = '0'.repeat(placeholder.length) + num; - maxstr = '9'.repeat(placeholder.length) + num; - } - minstr = minstr.padEnd(this.maxLength, '0'); - maxstr = maxstr.padEnd(this.maxLength, '9'); - return [minstr, maxstr]; - } - }, { - key: "doPrepare", - value: function doPrepare(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var details; - var _normalizePrepare = normalizePrepare(_get(_getPrototypeOf(MaskedRange.prototype), "doPrepare", this).call(this, ch.replace(/\D/g, ''), flags)); - var _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2); - ch = _normalizePrepare2[0]; - details = _normalizePrepare2[1]; - if (!this.autofix || !ch) return ch; - var fromStr = String(this.from).padStart(this.maxLength, '0'); - var toStr = String(this.to).padStart(this.maxLength, '0'); - var nextVal = this.value + ch; - if (nextVal.length > this.maxLength) return ''; - var _this$boundaries = this.boundaries(nextVal), - _this$boundaries2 = _slicedToArray(_this$boundaries, 2), - minstr = _this$boundaries2[0], - maxstr = _this$boundaries2[1]; - if (Number(maxstr) < this.from) return fromStr[nextVal.length - 1]; - if (Number(minstr) > this.to) { - if (this.autofix === 'pad' && nextVal.length < this.maxLength) { - return ['', details.aggregate(this.append(fromStr[nextVal.length - 1] + ch, flags))]; - } - return toStr[nextVal.length - 1]; - } - return ch; - } - }, { - key: "doValidate", - value: function doValidate() { - var _get2; - var str = this.value; - var firstNonZero = str.search(/[^0]/); - if (firstNonZero === -1 && str.length <= this._matchFrom) return true; - var _this$boundaries3 = this.boundaries(str), - _this$boundaries4 = _slicedToArray(_this$boundaries3, 2), - minstr = _this$boundaries4[0], - maxstr = _this$boundaries4[1]; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - return this.from <= Number(maxstr) && Number(minstr) <= this.to && (_get2 = _get(_getPrototypeOf(MaskedRange.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)); - } - }]); - return MaskedRange; -}(MaskedPattern); -IMask.MaskedRange = MaskedRange; - -var MaskedDate = function (_MaskedPattern) { - _inherits(MaskedDate, _MaskedPattern); - var _super = _createSuper(MaskedDate); - function MaskedDate(opts) { - _classCallCheck(this, MaskedDate); - return _super.call(this, Object.assign({}, MaskedDate.DEFAULTS, opts)); - } - _createClass(MaskedDate, [{ - key: "_update", - value: function _update(opts) { - if (opts.mask === Date) delete opts.mask; - if (opts.pattern) opts.mask = opts.pattern; - var blocks = opts.blocks; - opts.blocks = Object.assign({}, MaskedDate.GET_DEFAULT_BLOCKS()); - if (opts.min) opts.blocks.Y.from = opts.min.getFullYear(); - if (opts.max) opts.blocks.Y.to = opts.max.getFullYear(); - if (opts.min && opts.max && opts.blocks.Y.from === opts.blocks.Y.to) { - opts.blocks.m.from = opts.min.getMonth() + 1; - opts.blocks.m.to = opts.max.getMonth() + 1; - if (opts.blocks.m.from === opts.blocks.m.to) { - opts.blocks.d.from = opts.min.getDate(); - opts.blocks.d.to = opts.max.getDate(); - } - } - Object.assign(opts.blocks, this.blocks, blocks); - Object.keys(opts.blocks).forEach(function (bk) { - var b = opts.blocks[bk]; - if (!('autofix' in b) && 'autofix' in opts) b.autofix = opts.autofix; - }); - _get(_getPrototypeOf(MaskedDate.prototype), "_update", this).call(this, opts); - } - }, { - key: "doValidate", - value: function doValidate() { - var _get2; - var date = this.date; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - return (_get2 = _get(_getPrototypeOf(MaskedDate.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)) && (!this.isComplete || this.isDateExist(this.value) && date != null && (this.min == null || this.min <= date) && (this.max == null || date <= this.max)); - } - }, { - key: "isDateExist", - value: function isDateExist(str) { - return this.format(this.parse(str, this), this).indexOf(str) >= 0; - } - }, { - key: "date", - get: function get() { - return this.typedValue; - }, - set: function set(date) { - this.typedValue = date; - } - }, { - key: "typedValue", - get: function get() { - return this.isComplete ? _get(_getPrototypeOf(MaskedDate.prototype), "typedValue", this) : null; - }, - set: function set(value) { - _set(_getPrototypeOf(MaskedDate.prototype), "typedValue", value, this, true); - } - }, { - key: "maskEquals", - value: function maskEquals(mask) { - return mask === Date || _get(_getPrototypeOf(MaskedDate.prototype), "maskEquals", this).call(this, mask); - } - }]); - return MaskedDate; -}(MaskedPattern); -MaskedDate.DEFAULTS = { - pattern: 'd{.}`m{.}`Y', - format: function format(date) { - if (!date) return ''; - var day = String(date.getDate()).padStart(2, '0'); - var month = String(date.getMonth() + 1).padStart(2, '0'); - var year = date.getFullYear(); - return [day, month, year].join('.'); - }, - parse: function parse(str) { - var _str$split = str.split('.'), - _str$split2 = _slicedToArray(_str$split, 3), - day = _str$split2[0], - month = _str$split2[1], - year = _str$split2[2]; - return new Date(year, month - 1, day); - } -}; -MaskedDate.GET_DEFAULT_BLOCKS = function () { - return { - d: { - mask: MaskedRange, - from: 1, - to: 31, - maxLength: 2 - }, - m: { - mask: MaskedRange, - from: 1, - to: 12, - maxLength: 2 - }, - Y: { - mask: MaskedRange, - from: 1900, - to: 9999 - } - }; -}; -IMask.MaskedDate = MaskedDate; - -var MaskElement = function () { - function MaskElement() { - _classCallCheck(this, MaskElement); - } - _createClass(MaskElement, [{ - key: "selectionStart", - get: - function get() { - var start; - try { - start = this._unsafeSelectionStart; - } catch (e) {} - return start != null ? start : this.value.length; - } - }, { - key: "selectionEnd", - get: function get() { - var end; - try { - end = this._unsafeSelectionEnd; - } catch (e) {} - return end != null ? end : this.value.length; - } - }, { - key: "select", - value: function select(start, end) { - if (start == null || end == null || start === this.selectionStart && end === this.selectionEnd) return; - try { - this._unsafeSelect(start, end); - } catch (e) {} - } - }, { - key: "_unsafeSelect", - value: function _unsafeSelect(start, end) {} - }, { - key: "isActive", - get: function get() { - return false; - } - }, { - key: "bindEvents", - value: function bindEvents(handlers) {} - }, { - key: "unbindEvents", - value: function unbindEvents() {} - }]); - return MaskElement; -}(); -IMask.MaskElement = MaskElement; - -var HTMLMaskElement = function (_MaskElement) { - _inherits(HTMLMaskElement, _MaskElement); - var _super = _createSuper(HTMLMaskElement); - function HTMLMaskElement(input) { - var _this; - _classCallCheck(this, HTMLMaskElement); - _this = _super.call(this); - _this.input = input; - _this._handlers = {}; - return _this; - } - _createClass(HTMLMaskElement, [{ - key: "rootElement", - get: function get() { - var _this$input$getRootNo, _this$input$getRootNo2, _this$input; - return (_this$input$getRootNo = (_this$input$getRootNo2 = (_this$input = this.input).getRootNode) === null || _this$input$getRootNo2 === void 0 ? void 0 : _this$input$getRootNo2.call(_this$input)) !== null && _this$input$getRootNo !== void 0 ? _this$input$getRootNo : document; - } - }, { - key: "isActive", - get: function get() { - return this.input === this.rootElement.activeElement; - } - }, { - key: "_unsafeSelectionStart", - get: function get() { - return this.input.selectionStart; - } - }, { - key: "_unsafeSelectionEnd", - get: function get() { - return this.input.selectionEnd; - } - }, { - key: "_unsafeSelect", - value: function _unsafeSelect(start, end) { - this.input.setSelectionRange(start, end); - } - }, { - key: "value", - get: function get() { - return this.input.value; - }, - set: function set(value) { - this.input.value = value; - } - }, { - key: "bindEvents", - value: function bindEvents(handlers) { - var _this2 = this; - Object.keys(handlers).forEach(function (event) { - return _this2._toggleEventHandler(HTMLMaskElement.EVENTS_MAP[event], handlers[event]); - }); - } - }, { - key: "unbindEvents", - value: function unbindEvents() { - var _this3 = this; - Object.keys(this._handlers).forEach(function (event) { - return _this3._toggleEventHandler(event); - }); - } - }, { - key: "_toggleEventHandler", - value: function _toggleEventHandler(event, handler) { - if (this._handlers[event]) { - this.input.removeEventListener(event, this._handlers[event]); - delete this._handlers[event]; - } - if (handler) { - this.input.addEventListener(event, handler); - this._handlers[event] = handler; - } - } - }]); - return HTMLMaskElement; -}(MaskElement); -HTMLMaskElement.EVENTS_MAP = { - selectionChange: 'keydown', - input: 'input', - drop: 'drop', - click: 'click', - focus: 'focus', - commit: 'blur' -}; -IMask.HTMLMaskElement = HTMLMaskElement; - -var HTMLContenteditableMaskElement = function (_HTMLMaskElement) { - _inherits(HTMLContenteditableMaskElement, _HTMLMaskElement); - var _super = _createSuper(HTMLContenteditableMaskElement); - function HTMLContenteditableMaskElement() { - _classCallCheck(this, HTMLContenteditableMaskElement); - return _super.apply(this, arguments); - } - _createClass(HTMLContenteditableMaskElement, [{ - key: "_unsafeSelectionStart", - get: - function get() { - var root = this.rootElement; - var selection = root.getSelection && root.getSelection(); - var anchorOffset = selection && selection.anchorOffset; - var focusOffset = selection && selection.focusOffset; - if (focusOffset == null || anchorOffset == null || anchorOffset < focusOffset) { - return anchorOffset; - } - return focusOffset; - } - }, { - key: "_unsafeSelectionEnd", - get: function get() { - var root = this.rootElement; - var selection = root.getSelection && root.getSelection(); - var anchorOffset = selection && selection.anchorOffset; - var focusOffset = selection && selection.focusOffset; - if (focusOffset == null || anchorOffset == null || anchorOffset > focusOffset) { - return anchorOffset; - } - return focusOffset; - } - }, { - key: "_unsafeSelect", - value: function _unsafeSelect(start, end) { - if (!this.rootElement.createRange) return; - var range = this.rootElement.createRange(); - range.setStart(this.input.firstChild || this.input, start); - range.setEnd(this.input.lastChild || this.input, end); - var root = this.rootElement; - var selection = root.getSelection && root.getSelection(); - if (selection) { - selection.removeAllRanges(); - selection.addRange(range); - } - } - }, { - key: "value", - get: function get() { - return this.input.textContent; - }, - set: function set(value) { - this.input.textContent = value; - } - }]); - return HTMLContenteditableMaskElement; -}(HTMLMaskElement); -IMask.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement; - -var _excluded$1 = ["mask"]; -var InputMask = function () { - function InputMask(el, opts) { - _classCallCheck(this, InputMask); - this.el = el instanceof MaskElement ? el : el.isContentEditable && el.tagName !== 'INPUT' && el.tagName !== 'TEXTAREA' ? new HTMLContenteditableMaskElement(el) : new HTMLMaskElement(el); - this.masked = createMask(opts); - this._listeners = {}; - this._value = ''; - this._unmaskedValue = ''; - this._saveSelection = this._saveSelection.bind(this); - this._onInput = this._onInput.bind(this); - this._onChange = this._onChange.bind(this); - this._onDrop = this._onDrop.bind(this); - this._onFocus = this._onFocus.bind(this); - this._onClick = this._onClick.bind(this); - this.alignCursor = this.alignCursor.bind(this); - this.alignCursorFriendly = this.alignCursorFriendly.bind(this); - this._bindEvents(); - this.updateValue(); - this._onChange(); - } - _createClass(InputMask, [{ - key: "mask", - get: function get() { - return this.masked.mask; - }, - set: function set(mask) { - if (this.maskEquals(mask)) return; - if (!(mask instanceof IMask.Masked) && this.masked.constructor === maskedClass(mask)) { - this.masked.updateOptions({ - mask: mask - }); - return; - } - var masked = createMask({ - mask: mask - }); - masked.unmaskedValue = this.masked.unmaskedValue; - this.masked = masked; - } - }, { - key: "maskEquals", - value: function maskEquals(mask) { - var _this$masked; - return mask == null || ((_this$masked = this.masked) === null || _this$masked === void 0 ? void 0 : _this$masked.maskEquals(mask)); - } - }, { - key: "value", - get: function get() { - return this._value; - }, - set: function set(str) { - if (this.value === str) return; - this.masked.value = str; - this.updateControl(); - this.alignCursor(); - } - }, { - key: "unmaskedValue", - get: function get() { - return this._unmaskedValue; - }, - set: function set(str) { - if (this.unmaskedValue === str) return; - this.masked.unmaskedValue = str; - this.updateControl(); - this.alignCursor(); - } - }, { - key: "typedValue", - get: function get() { - return this.masked.typedValue; - }, - set: function set(val) { - if (this.masked.typedValueEquals(val)) return; - this.masked.typedValue = val; - this.updateControl(); - this.alignCursor(); - } - }, { - key: "_bindEvents", - value: function _bindEvents() { - this.el.bindEvents({ - selectionChange: this._saveSelection, - input: this._onInput, - drop: this._onDrop, - click: this._onClick, - focus: this._onFocus, - commit: this._onChange - }); - } - }, { - key: "_unbindEvents", - value: function _unbindEvents() { - if (this.el) this.el.unbindEvents(); - } - }, { - key: "_fireEvent", - value: function _fireEvent(ev) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - var listeners = this._listeners[ev]; - if (!listeners) return; - listeners.forEach(function (l) { - return l.apply(void 0, args); - }); - } - }, { - key: "selectionStart", - get: function get() { - return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart; - } - }, { - key: "cursorPos", - get: function get() { - return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd; - }, - set: function set(pos) { - if (!this.el || !this.el.isActive) return; - this.el.select(pos, pos); - this._saveSelection(); - } - }, { - key: "_saveSelection", - value: function - _saveSelection() { - if (this.value !== this.el.value) { - console.warn('Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly.'); - } - this._selection = { - start: this.selectionStart, - end: this.cursorPos - }; - } - }, { - key: "updateValue", - value: function updateValue() { - this.masked.value = this.el.value; - this._value = this.masked.value; - } - }, { - key: "updateControl", - value: function updateControl() { - var newUnmaskedValue = this.masked.unmaskedValue; - var newValue = this.masked.value; - var isChanged = this.unmaskedValue !== newUnmaskedValue || this.value !== newValue; - this._unmaskedValue = newUnmaskedValue; - this._value = newValue; - if (this.el.value !== newValue) this.el.value = newValue; - if (isChanged) this._fireChangeEvents(); - } - }, { - key: "updateOptions", - value: function updateOptions(opts) { - var mask = opts.mask, - restOpts = _objectWithoutProperties(opts, _excluded$1); - var updateMask = !this.maskEquals(mask); - var updateOpts = !objectIncludes(this.masked, restOpts); - if (updateMask) this.mask = mask; - if (updateOpts) this.masked.updateOptions(restOpts); - if (updateMask || updateOpts) this.updateControl(); - } - }, { - key: "updateCursor", - value: function updateCursor(cursorPos) { - if (cursorPos == null) return; - this.cursorPos = cursorPos; - this._delayUpdateCursor(cursorPos); - } - }, { - key: "_delayUpdateCursor", - value: function _delayUpdateCursor(cursorPos) { - var _this = this; - this._abortUpdateCursor(); - this._changingCursorPos = cursorPos; - this._cursorChanging = setTimeout(function () { - if (!_this.el) return; - _this.cursorPos = _this._changingCursorPos; - _this._abortUpdateCursor(); - }, 10); - } - }, { - key: "_fireChangeEvents", - value: function _fireChangeEvents() { - this._fireEvent('accept', this._inputEvent); - if (this.masked.isComplete) this._fireEvent('complete', this._inputEvent); - } - }, { - key: "_abortUpdateCursor", - value: function _abortUpdateCursor() { - if (this._cursorChanging) { - clearTimeout(this._cursorChanging); - delete this._cursorChanging; - } - } - }, { - key: "alignCursor", - value: function alignCursor() { - this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, DIRECTION.LEFT)); - } - }, { - key: "alignCursorFriendly", - value: function alignCursorFriendly() { - if (this.selectionStart !== this.cursorPos) return; - this.alignCursor(); - } - }, { - key: "on", - value: function on(ev, handler) { - if (!this._listeners[ev]) this._listeners[ev] = []; - this._listeners[ev].push(handler); - return this; - } - }, { - key: "off", - value: function off(ev, handler) { - if (!this._listeners[ev]) return this; - if (!handler) { - delete this._listeners[ev]; - return this; - } - var hIndex = this._listeners[ev].indexOf(handler); - if (hIndex >= 0) this._listeners[ev].splice(hIndex, 1); - return this; - } - }, { - key: "_onInput", - value: function _onInput(e) { - this._inputEvent = e; - this._abortUpdateCursor(); - if (!this._selection) return this.updateValue(); - var details = new ActionDetails( - this.el.value, this.cursorPos, - this.value, this._selection); - var oldRawValue = this.masked.rawInputValue; - var offset = this.masked.splice(details.startChangePos, details.removed.length, details.inserted, details.removeDirection, { - input: true, - raw: true - }).offset; - var removeDirection = oldRawValue === this.masked.rawInputValue ? details.removeDirection : DIRECTION.NONE; - var cursorPos = this.masked.nearestInputPos(details.startChangePos + offset, removeDirection); - if (removeDirection !== DIRECTION.NONE) cursorPos = this.masked.nearestInputPos(cursorPos, DIRECTION.NONE); - this.updateControl(); - this.updateCursor(cursorPos); - delete this._inputEvent; - } - }, { - key: "_onChange", - value: function _onChange() { - if (this.value !== this.el.value) { - this.updateValue(); - } - this.masked.doCommit(); - this.updateControl(); - this._saveSelection(); - } - }, { - key: "_onDrop", - value: function _onDrop(ev) { - ev.preventDefault(); - ev.stopPropagation(); - } - }, { - key: "_onFocus", - value: function _onFocus(ev) { - this.alignCursorFriendly(); - } - }, { - key: "_onClick", - value: function _onClick(ev) { - this.alignCursorFriendly(); - } - }, { - key: "destroy", - value: function destroy() { - this._unbindEvents(); - this._listeners.length = 0; - delete this.el; - } - }]); - return InputMask; -}(); -IMask.InputMask = InputMask; - -var MaskedEnum = function (_MaskedPattern) { - _inherits(MaskedEnum, _MaskedPattern); - var _super = _createSuper(MaskedEnum); - function MaskedEnum() { - _classCallCheck(this, MaskedEnum); - return _super.apply(this, arguments); - } - _createClass(MaskedEnum, [{ - key: "_update", - value: - function _update(opts) { - if (opts.enum) opts.mask = '*'.repeat(opts.enum[0].length); - _get(_getPrototypeOf(MaskedEnum.prototype), "_update", this).call(this, opts); - } - }, { - key: "doValidate", - value: function doValidate() { - var _this = this, - _get2; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - return this.enum.some(function (e) { - return e.indexOf(_this.unmaskedValue) >= 0; - }) && (_get2 = _get(_getPrototypeOf(MaskedEnum.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)); - } - }]); - return MaskedEnum; -}(MaskedPattern); -IMask.MaskedEnum = MaskedEnum; - -var MaskedNumber = function (_Masked) { - _inherits(MaskedNumber, _Masked); - var _super = _createSuper(MaskedNumber); - function MaskedNumber(opts) { - _classCallCheck(this, MaskedNumber); - return _super.call(this, Object.assign({}, MaskedNumber.DEFAULTS, opts)); - } - _createClass(MaskedNumber, [{ - key: "_update", - value: function _update(opts) { - _get(_getPrototypeOf(MaskedNumber.prototype), "_update", this).call(this, opts); - this._updateRegExps(); - } - }, { - key: "_updateRegExps", - value: function _updateRegExps() { - var start = '^' + (this.allowNegative ? '[+|\\-]?' : ''); - var midInput = '(0|([1-9]+\\d*))?'; - var mid = '\\d*'; - var end = (this.scale ? '(' + escapeRegExp(this.radix) + '\\d{0,' + this.scale + '})?' : '') + '$'; - this._numberRegExpInput = new RegExp(start + midInput + end); - this._numberRegExp = new RegExp(start + mid + end); - this._mapToRadixRegExp = new RegExp('[' + this.mapToRadix.map(escapeRegExp).join('') + ']', 'g'); - this._thousandsSeparatorRegExp = new RegExp(escapeRegExp(this.thousandsSeparator), 'g'); - } - }, { - key: "_removeThousandsSeparators", - value: function _removeThousandsSeparators(value) { - return value.replace(this._thousandsSeparatorRegExp, ''); - } - }, { - key: "_insertThousandsSeparators", - value: function _insertThousandsSeparators(value) { - var parts = value.split(this.radix); - parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, this.thousandsSeparator); - return parts.join(this.radix); - } - }, { - key: "doPrepare", - value: function doPrepare(ch) { - var _get2; - ch = ch.replace(this._mapToRadixRegExp, this.radix); - var noSepCh = this._removeThousandsSeparators(ch); - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - var _normalizePrepare = normalizePrepare((_get2 = _get(_getPrototypeOf(MaskedNumber.prototype), "doPrepare", this)).call.apply(_get2, [this, noSepCh].concat(args))), - _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2), - prepCh = _normalizePrepare2[0], - details = _normalizePrepare2[1]; - if (ch && !noSepCh) details.skip = true; - return [prepCh, details]; - } - }, { - key: "_separatorsCount", - value: function _separatorsCount(to) { - var extendOnSeparators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var count = 0; - for (var pos = 0; pos < to; ++pos) { - if (this._value.indexOf(this.thousandsSeparator, pos) === pos) { - ++count; - if (extendOnSeparators) to += this.thousandsSeparator.length; - } - } - return count; - } - }, { - key: "_separatorsCountFromSlice", - value: function _separatorsCountFromSlice() { - var slice = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._value; - return this._separatorsCount(this._removeThousandsSeparators(slice).length, true); - } - }, { - key: "extractInput", - value: function extractInput() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var flags = arguments.length > 2 ? arguments[2] : undefined; - var _this$_adjustRangeWit = this._adjustRangeWithSeparators(fromPos, toPos); - var _this$_adjustRangeWit2 = _slicedToArray(_this$_adjustRangeWit, 2); - fromPos = _this$_adjustRangeWit2[0]; - toPos = _this$_adjustRangeWit2[1]; - return this._removeThousandsSeparators(_get(_getPrototypeOf(MaskedNumber.prototype), "extractInput", this).call(this, fromPos, toPos, flags)); - } - }, { - key: "_appendCharRaw", - value: function _appendCharRaw(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - if (!this.thousandsSeparator) return _get(_getPrototypeOf(MaskedNumber.prototype), "_appendCharRaw", this).call(this, ch, flags); - var prevBeforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value; - var prevBeforeTailSeparatorsCount = this._separatorsCountFromSlice(prevBeforeTailValue); - this._value = this._removeThousandsSeparators(this.value); - var appendDetails = _get(_getPrototypeOf(MaskedNumber.prototype), "_appendCharRaw", this).call(this, ch, flags); - this._value = this._insertThousandsSeparators(this._value); - var beforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value; - var beforeTailSeparatorsCount = this._separatorsCountFromSlice(beforeTailValue); - appendDetails.tailShift += (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length; - appendDetails.skip = !appendDetails.rawInserted && ch === this.thousandsSeparator; - return appendDetails; - } - }, { - key: "_findSeparatorAround", - value: function _findSeparatorAround(pos) { - if (this.thousandsSeparator) { - var searchFrom = pos - this.thousandsSeparator.length + 1; - var separatorPos = this.value.indexOf(this.thousandsSeparator, searchFrom); - if (separatorPos <= pos) return separatorPos; - } - return -1; - } - }, { - key: "_adjustRangeWithSeparators", - value: function _adjustRangeWithSeparators(from, to) { - var separatorAroundFromPos = this._findSeparatorAround(from); - if (separatorAroundFromPos >= 0) from = separatorAroundFromPos; - var separatorAroundToPos = this._findSeparatorAround(to); - if (separatorAroundToPos >= 0) to = separatorAroundToPos + this.thousandsSeparator.length; - return [from, to]; - } - }, { - key: "remove", - value: function remove() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var _this$_adjustRangeWit3 = this._adjustRangeWithSeparators(fromPos, toPos); - var _this$_adjustRangeWit4 = _slicedToArray(_this$_adjustRangeWit3, 2); - fromPos = _this$_adjustRangeWit4[0]; - toPos = _this$_adjustRangeWit4[1]; - var valueBeforePos = this.value.slice(0, fromPos); - var valueAfterPos = this.value.slice(toPos); - var prevBeforeTailSeparatorsCount = this._separatorsCount(valueBeforePos.length); - this._value = this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos + valueAfterPos)); - var beforeTailSeparatorsCount = this._separatorsCountFromSlice(valueBeforePos); - return new ChangeDetails({ - tailShift: (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length - }); - } - }, { - key: "nearestInputPos", - value: function nearestInputPos(cursorPos, direction) { - if (!this.thousandsSeparator) return cursorPos; - switch (direction) { - case DIRECTION.NONE: - case DIRECTION.LEFT: - case DIRECTION.FORCE_LEFT: - { - var separatorAtLeftPos = this._findSeparatorAround(cursorPos - 1); - if (separatorAtLeftPos >= 0) { - var separatorAtLeftEndPos = separatorAtLeftPos + this.thousandsSeparator.length; - if (cursorPos < separatorAtLeftEndPos || this.value.length <= separatorAtLeftEndPos || direction === DIRECTION.FORCE_LEFT) { - return separatorAtLeftPos; - } - } - break; - } - case DIRECTION.RIGHT: - case DIRECTION.FORCE_RIGHT: - { - var separatorAtRightPos = this._findSeparatorAround(cursorPos); - if (separatorAtRightPos >= 0) { - return separatorAtRightPos + this.thousandsSeparator.length; - } - } - } - return cursorPos; - } - }, { - key: "doValidate", - value: function doValidate(flags) { - var regexp = flags.input ? this._numberRegExpInput : this._numberRegExp; - var valid = regexp.test(this._removeThousandsSeparators(this.value)); - if (valid) { - var number = this.number; - valid = valid && !isNaN(number) && ( - this.min == null || this.min >= 0 || this.min <= this.number) && ( - this.max == null || this.max <= 0 || this.number <= this.max); - } - return valid && _get(_getPrototypeOf(MaskedNumber.prototype), "doValidate", this).call(this, flags); - } - }, { - key: "doCommit", - value: function doCommit() { - if (this.value) { - var number = this.number; - var validnum = number; - if (this.min != null) validnum = Math.max(validnum, this.min); - if (this.max != null) validnum = Math.min(validnum, this.max); - if (validnum !== number) this.unmaskedValue = String(validnum); - var formatted = this.value; - if (this.normalizeZeros) formatted = this._normalizeZeros(formatted); - if (this.padFractionalZeros && this.scale > 0) formatted = this._padFractionalZeros(formatted); - this._value = formatted; - } - _get(_getPrototypeOf(MaskedNumber.prototype), "doCommit", this).call(this); - } - }, { - key: "_normalizeZeros", - value: function _normalizeZeros(value) { - var parts = this._removeThousandsSeparators(value).split(this.radix); - parts[0] = parts[0].replace(/^(\D*)(0*)(\d*)/, function (match, sign, zeros, num) { - return sign + num; - }); - if (value.length && !/\d$/.test(parts[0])) parts[0] = parts[0] + '0'; - if (parts.length > 1) { - parts[1] = parts[1].replace(/0*$/, ''); - if (!parts[1].length) parts.length = 1; - } - return this._insertThousandsSeparators(parts.join(this.radix)); - } - }, { - key: "_padFractionalZeros", - value: function _padFractionalZeros(value) { - if (!value) return value; - var parts = value.split(this.radix); - if (parts.length < 2) parts.push(''); - parts[1] = parts[1].padEnd(this.scale, '0'); - return parts.join(this.radix); - } - }, { - key: "unmaskedValue", - get: function get() { - return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix, '.'); - }, - set: function set(unmaskedValue) { - _set(_getPrototypeOf(MaskedNumber.prototype), "unmaskedValue", unmaskedValue.replace('.', this.radix), this, true); - } - }, { - key: "typedValue", - get: function get() { - return Number(this.unmaskedValue); - }, - set: function set(n) { - _set(_getPrototypeOf(MaskedNumber.prototype), "unmaskedValue", String(n), this, true); - } - }, { - key: "number", - get: function get() { - return this.typedValue; - }, - set: function set(number) { - this.typedValue = number; - } - }, { - key: "allowNegative", - get: function get() { - return this.signed || this.min != null && this.min < 0 || this.max != null && this.max < 0; - } - }, { - key: "typedValueEquals", - value: function typedValueEquals(value) { - return (_get(_getPrototypeOf(MaskedNumber.prototype), "typedValueEquals", this).call(this, value) || MaskedNumber.EMPTY_VALUES.includes(value) && MaskedNumber.EMPTY_VALUES.includes(this.typedValue)) && !(value === 0 && this.value === ''); - } - }]); - return MaskedNumber; -}(Masked); -MaskedNumber.DEFAULTS = { - radix: ',', - thousandsSeparator: '', - mapToRadix: ['.'], - scale: 2, - signed: false, - normalizeZeros: true, - padFractionalZeros: false -}; -MaskedNumber.EMPTY_VALUES = [].concat(_toConsumableArray(Masked.EMPTY_VALUES), [0]); -IMask.MaskedNumber = MaskedNumber; - -var MaskedFunction = function (_Masked) { - _inherits(MaskedFunction, _Masked); - var _super = _createSuper(MaskedFunction); - function MaskedFunction() { - _classCallCheck(this, MaskedFunction); - return _super.apply(this, arguments); - } - _createClass(MaskedFunction, [{ - key: "_update", - value: - function _update(opts) { - if (opts.mask) opts.validate = opts.mask; - _get(_getPrototypeOf(MaskedFunction.prototype), "_update", this).call(this, opts); - } - }]); - return MaskedFunction; -}(Masked); -IMask.MaskedFunction = MaskedFunction; - -var _excluded = ["compiledMasks", "currentMaskRef", "currentMask"]; -var MaskedDynamic = function (_Masked) { - _inherits(MaskedDynamic, _Masked); - var _super = _createSuper(MaskedDynamic); - function MaskedDynamic(opts) { - var _this; - _classCallCheck(this, MaskedDynamic); - _this = _super.call(this, Object.assign({}, MaskedDynamic.DEFAULTS, opts)); - _this.currentMask = null; - return _this; - } - _createClass(MaskedDynamic, [{ - key: "_update", - value: function _update(opts) { - _get(_getPrototypeOf(MaskedDynamic.prototype), "_update", this).call(this, opts); - if ('mask' in opts) { - this.compiledMasks = Array.isArray(opts.mask) ? opts.mask.map(function (m) { - return createMask(m); - }) : []; - } - } - }, { - key: "_appendCharRaw", - value: function _appendCharRaw(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var details = this._applyDispatch(ch, flags); - if (this.currentMask) { - details.aggregate(this.currentMask._appendChar(ch, this.currentMaskFlags(flags))); - } - return details; - } - }, { - key: "_applyDispatch", - value: function _applyDispatch() { - var appended = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var prevValueBeforeTail = flags.tail && flags._beforeTailState != null ? flags._beforeTailState._value : this.value; - var inputValue = this.rawInputValue; - var insertValue = flags.tail && flags._beforeTailState != null ? - flags._beforeTailState._rawInputValue : inputValue; - var tailValue = inputValue.slice(insertValue.length); - var prevMask = this.currentMask; - var details = new ChangeDetails(); - var prevMaskState = prevMask === null || prevMask === void 0 ? void 0 : prevMask.state; - this.currentMask = this.doDispatch(appended, Object.assign({}, flags)); - if (this.currentMask) { - if (this.currentMask !== prevMask) { - this.currentMask.reset(); - if (insertValue) { - var d = this.currentMask.append(insertValue, { - raw: true - }); - details.tailShift = d.inserted.length - prevValueBeforeTail.length; - } - if (tailValue) { - details.tailShift += this.currentMask.append(tailValue, { - raw: true, - tail: true - }).tailShift; - } - } else { - this.currentMask.state = prevMaskState; - } - } - return details; - } - }, { - key: "_appendPlaceholder", - value: function _appendPlaceholder() { - var details = this._applyDispatch.apply(this, arguments); - if (this.currentMask) { - details.aggregate(this.currentMask._appendPlaceholder()); - } - return details; - } - }, { - key: "_appendEager", - value: function _appendEager() { - var details = this._applyDispatch.apply(this, arguments); - if (this.currentMask) { - details.aggregate(this.currentMask._appendEager()); - } - return details; - } - }, { - key: "currentMaskFlags", - value: function currentMaskFlags(flags) { - var _flags$_beforeTailSta, _flags$_beforeTailSta2; - return Object.assign({}, flags, { - _beforeTailState: ((_flags$_beforeTailSta = flags._beforeTailState) === null || _flags$_beforeTailSta === void 0 ? void 0 : _flags$_beforeTailSta.currentMaskRef) === this.currentMask && ((_flags$_beforeTailSta2 = flags._beforeTailState) === null || _flags$_beforeTailSta2 === void 0 ? void 0 : _flags$_beforeTailSta2.currentMask) || flags._beforeTailState - }); - } - }, { - key: "doDispatch", - value: function doDispatch(appended) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return this.dispatch(appended, this, flags); - } - }, { - key: "doValidate", - value: function doValidate(flags) { - return _get(_getPrototypeOf(MaskedDynamic.prototype), "doValidate", this).call(this, flags) && (!this.currentMask || this.currentMask.doValidate(this.currentMaskFlags(flags))); - } - }, { - key: "doPrepare", - value: function doPrepare(str) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var _normalizePrepare = normalizePrepare(_get(_getPrototypeOf(MaskedDynamic.prototype), "doPrepare", this).call(this, str, flags)), - _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2), - s = _normalizePrepare2[0], - details = _normalizePrepare2[1]; - if (this.currentMask) { - var currentDetails; - var _normalizePrepare3 = normalizePrepare(_get(_getPrototypeOf(MaskedDynamic.prototype), "doPrepare", this).call(this, s, this.currentMaskFlags(flags))); - var _normalizePrepare4 = _slicedToArray(_normalizePrepare3, 2); - s = _normalizePrepare4[0]; - currentDetails = _normalizePrepare4[1]; - details = details.aggregate(currentDetails); - } - return [s, details]; - } - }, { - key: "reset", - value: function reset() { - var _this$currentMask; - (_this$currentMask = this.currentMask) === null || _this$currentMask === void 0 ? void 0 : _this$currentMask.reset(); - this.compiledMasks.forEach(function (m) { - return m.reset(); - }); - } - }, { - key: "value", - get: function get() { - return this.currentMask ? this.currentMask.value : ''; - }, - set: function set(value) { - _set(_getPrototypeOf(MaskedDynamic.prototype), "value", value, this, true); - } - }, { - key: "unmaskedValue", - get: function get() { - return this.currentMask ? this.currentMask.unmaskedValue : ''; - }, - set: function set(unmaskedValue) { - _set(_getPrototypeOf(MaskedDynamic.prototype), "unmaskedValue", unmaskedValue, this, true); - } - }, { - key: "typedValue", - get: function get() { - return this.currentMask ? this.currentMask.typedValue : ''; - } - , - set: function set(value) { - var unmaskedValue = String(value); - if (this.currentMask) { - this.currentMask.typedValue = value; - unmaskedValue = this.currentMask.unmaskedValue; - } - this.unmaskedValue = unmaskedValue; - } - }, { - key: "isComplete", - get: function get() { - var _this$currentMask2; - return Boolean((_this$currentMask2 = this.currentMask) === null || _this$currentMask2 === void 0 ? void 0 : _this$currentMask2.isComplete); - } - }, { - key: "isFilled", - get: function get() { - var _this$currentMask3; - return Boolean((_this$currentMask3 = this.currentMask) === null || _this$currentMask3 === void 0 ? void 0 : _this$currentMask3.isFilled); - } - }, { - key: "remove", - value: function remove() { - var details = new ChangeDetails(); - if (this.currentMask) { - var _this$currentMask4; - details.aggregate((_this$currentMask4 = this.currentMask).remove.apply(_this$currentMask4, arguments)) - .aggregate(this._applyDispatch()); - } - return details; - } - }, { - key: "state", - get: function get() { - var _this$currentMask5; - return Object.assign({}, _get(_getPrototypeOf(MaskedDynamic.prototype), "state", this), { - _rawInputValue: this.rawInputValue, - compiledMasks: this.compiledMasks.map(function (m) { - return m.state; - }), - currentMaskRef: this.currentMask, - currentMask: (_this$currentMask5 = this.currentMask) === null || _this$currentMask5 === void 0 ? void 0 : _this$currentMask5.state - }); - }, - set: function set(state) { - var compiledMasks = state.compiledMasks, - currentMaskRef = state.currentMaskRef, - currentMask = state.currentMask, - maskedState = _objectWithoutProperties(state, _excluded); - this.compiledMasks.forEach(function (m, mi) { - return m.state = compiledMasks[mi]; - }); - if (currentMaskRef != null) { - this.currentMask = currentMaskRef; - this.currentMask.state = currentMask; - } - _set(_getPrototypeOf(MaskedDynamic.prototype), "state", maskedState, this, true); - } - }, { - key: "extractInput", - value: function extractInput() { - var _this$currentMask6; - return this.currentMask ? (_this$currentMask6 = this.currentMask).extractInput.apply(_this$currentMask6, arguments) : ''; - } - }, { - key: "extractTail", - value: function extractTail() { - var _this$currentMask7, _get2; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - return this.currentMask ? (_this$currentMask7 = this.currentMask).extractTail.apply(_this$currentMask7, args) : (_get2 = _get(_getPrototypeOf(MaskedDynamic.prototype), "extractTail", this)).call.apply(_get2, [this].concat(args)); - } - }, { - key: "doCommit", - value: function doCommit() { - if (this.currentMask) this.currentMask.doCommit(); - _get(_getPrototypeOf(MaskedDynamic.prototype), "doCommit", this).call(this); - } - }, { - key: "nearestInputPos", - value: function nearestInputPos() { - var _this$currentMask8, _get3; - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - return this.currentMask ? (_this$currentMask8 = this.currentMask).nearestInputPos.apply(_this$currentMask8, args) : (_get3 = _get(_getPrototypeOf(MaskedDynamic.prototype), "nearestInputPos", this)).call.apply(_get3, [this].concat(args)); - } - }, { - key: "overwrite", - get: function get() { - return this.currentMask ? this.currentMask.overwrite : _get(_getPrototypeOf(MaskedDynamic.prototype), "overwrite", this); - }, - set: function set(overwrite) { - console.warn('"overwrite" option is not available in dynamic mask, use this option in siblings'); - } - }, { - key: "eager", - get: function get() { - return this.currentMask ? this.currentMask.eager : _get(_getPrototypeOf(MaskedDynamic.prototype), "eager", this); - }, - set: function set(eager) { - console.warn('"eager" option is not available in dynamic mask, use this option in siblings'); - } - }, { - key: "maskEquals", - value: function maskEquals(mask) { - return Array.isArray(mask) && this.compiledMasks.every(function (m, mi) { - var _mask$mi; - return m.maskEquals((_mask$mi = mask[mi]) === null || _mask$mi === void 0 ? void 0 : _mask$mi.mask); - }); - } - }, { - key: "typedValueEquals", - value: function typedValueEquals(value) { - var _this$currentMask9; - return Boolean((_this$currentMask9 = this.currentMask) === null || _this$currentMask9 === void 0 ? void 0 : _this$currentMask9.typedValueEquals(value)); - } - }]); - return MaskedDynamic; -}(Masked); -MaskedDynamic.DEFAULTS = { - dispatch: function dispatch(appended, masked, flags) { - if (!masked.compiledMasks.length) return; - var inputValue = masked.rawInputValue; - var inputs = masked.compiledMasks.map(function (m, index) { - m.reset(); - m.append(inputValue, { - raw: true - }); - m.append(appended, masked.currentMaskFlags(flags)); - var weight = m.rawInputValue.length; - return { - weight: weight, - index: index - }; - }); - inputs.sort(function (i1, i2) { - return i2.weight - i1.weight; - }); - return masked.compiledMasks[inputs[0].index]; - } -}; -IMask.MaskedDynamic = MaskedDynamic; - -var PIPE_TYPE = { - MASKED: 'value', - UNMASKED: 'unmaskedValue', - TYPED: 'typedValue' -}; -function createPipe(mask) { - var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : PIPE_TYPE.MASKED; - var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : PIPE_TYPE.MASKED; - var masked = createMask(mask); - return function (value) { - return masked.runIsolated(function (m) { - m[from] = value; - return m[to]; - }); - }; -} -function pipe(value) { - for (var _len = arguments.length, pipeArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - pipeArgs[_key - 1] = arguments[_key]; - } - return createPipe.apply(void 0, pipeArgs)(value); -} -IMask.PIPE_TYPE = PIPE_TYPE; -IMask.createPipe = createPipe; -IMask.pipe = pipe; - -try { - globalThis.IMask = IMask; -} catch (e) {} - -var maskElementList = [].slice.call(document.querySelectorAll('[data-mask]')); -maskElementList.map(function (maskEl) { - return new IMask(maskEl, { - mask: maskEl.dataset.mask, - lazy: maskEl.dataset['mask-visible'] === 'true' - }); -}); - -var top = 'top'; -var bottom = 'bottom'; -var right = 'right'; -var left = 'left'; -var auto = 'auto'; -var basePlacements = [top, bottom, right, left]; -var start = 'start'; -var end = 'end'; -var clippingParents = 'clippingParents'; -var viewport = 'viewport'; -var popper = 'popper'; -var reference = 'reference'; -var variationPlacements = basePlacements.reduce(function (acc, placement) { - return acc.concat([placement + "-" + start, placement + "-" + end]); -}, []); -var placements = [].concat(basePlacements, [auto]).reduce(function (acc, placement) { - return acc.concat([placement, placement + "-" + start, placement + "-" + end]); -}, []); -var beforeRead = 'beforeRead'; -var read = 'read'; -var afterRead = 'afterRead'; -var beforeMain = 'beforeMain'; -var main = 'main'; -var afterMain = 'afterMain'; -var beforeWrite = 'beforeWrite'; -var write = 'write'; -var afterWrite = 'afterWrite'; -var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; - -function getNodeName(element) { - return element ? (element.nodeName || '').toLowerCase() : null; -} - -function getWindow(node) { - if (node == null) { - return window; - } - if (node.toString() !== '[object Window]') { - var ownerDocument = node.ownerDocument; - return ownerDocument ? ownerDocument.defaultView || window : window; - } - return node; -} - -function isElement$1(node) { - var OwnElement = getWindow(node).Element; - return node instanceof OwnElement || node instanceof Element; -} -function isHTMLElement(node) { - var OwnElement = getWindow(node).HTMLElement; - return node instanceof OwnElement || node instanceof HTMLElement; -} -function isShadowRoot(node) { - if (typeof ShadowRoot === 'undefined') { - return false; - } - var OwnElement = getWindow(node).ShadowRoot; - return node instanceof OwnElement || node instanceof ShadowRoot; -} - -function applyStyles(_ref) { - var state = _ref.state; - Object.keys(state.elements).forEach(function (name) { - var style = state.styles[name] || {}; - var attributes = state.attributes[name] || {}; - var element = state.elements[name]; - if (!isHTMLElement(element) || !getNodeName(element)) { - return; - } - Object.assign(element.style, style); - Object.keys(attributes).forEach(function (name) { - var value = attributes[name]; - if (value === false) { - element.removeAttribute(name); - } else { - element.setAttribute(name, value === true ? '' : value); - } - }); - }); -} -function effect$2(_ref2) { - var state = _ref2.state; - var initialStyles = { - popper: { - position: state.options.strategy, - left: '0', - top: '0', - margin: '0' - }, - arrow: { - position: 'absolute' - }, - reference: {} - }; - Object.assign(state.elements.popper.style, initialStyles.popper); - state.styles = initialStyles; - if (state.elements.arrow) { - Object.assign(state.elements.arrow.style, initialStyles.arrow); - } - return function () { - Object.keys(state.elements).forEach(function (name) { - var element = state.elements[name]; - var attributes = state.attributes[name] || {}; - var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); - var style = styleProperties.reduce(function (style, property) { - style[property] = ''; - return style; - }, {}); - if (!isHTMLElement(element) || !getNodeName(element)) { - return; - } - Object.assign(element.style, style); - Object.keys(attributes).forEach(function (attribute) { - element.removeAttribute(attribute); - }); - }); - }; -} -var applyStyles$1 = { - name: 'applyStyles', - enabled: true, - phase: 'write', - fn: applyStyles, - effect: effect$2, - requires: ['computeStyles'] -}; - -function getBasePlacement(placement) { - return placement.split('-')[0]; -} - -var max = Math.max; -var min = Math.min; -var round = Math.round; - -function getUAString() { - var uaData = navigator.userAgentData; - if (uaData != null && uaData.brands) { - return uaData.brands.map(function (item) { - return item.brand + "/" + item.version; - }).join(' '); - } - return navigator.userAgent; -} - -function isLayoutViewport() { - return !/^((?!chrome|android).)*safari/i.test(getUAString()); -} - -function getBoundingClientRect(element, includeScale, isFixedStrategy) { - if (includeScale === void 0) { - includeScale = false; - } - if (isFixedStrategy === void 0) { - isFixedStrategy = false; - } - var clientRect = element.getBoundingClientRect(); - var scaleX = 1; - var scaleY = 1; - if (includeScale && isHTMLElement(element)) { - scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; - scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; - } - var _ref = isElement$1(element) ? getWindow(element) : window, - visualViewport = _ref.visualViewport; - var addVisualOffsets = !isLayoutViewport() && isFixedStrategy; - var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; - var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; - var width = clientRect.width / scaleX; - var height = clientRect.height / scaleY; - return { - width: width, - height: height, - top: y, - right: x + width, - bottom: y + height, - left: x, - x: x, - y: y - }; -} - -function getLayoutRect(element) { - var clientRect = getBoundingClientRect(element); - var width = element.offsetWidth; - var height = element.offsetHeight; - if (Math.abs(clientRect.width - width) <= 1) { - width = clientRect.width; - } - if (Math.abs(clientRect.height - height) <= 1) { - height = clientRect.height; - } - return { - x: element.offsetLeft, - y: element.offsetTop, - width: width, - height: height - }; -} - -function contains(parent, child) { - var rootNode = child.getRootNode && child.getRootNode(); - if (parent.contains(child)) { - return true; - } - else if (rootNode && isShadowRoot(rootNode)) { - var next = child; - do { - if (next && parent.isSameNode(next)) { - return true; - } - next = next.parentNode || next.host; - } while (next); - } - return false; -} - -function getComputedStyle$1(element) { - return getWindow(element).getComputedStyle(element); -} - -function isTableElement(element) { - return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; -} - -function getDocumentElement(element) { - return ((isElement$1(element) ? element.ownerDocument : - element.document) || window.document).documentElement; -} - -function getParentNode(element) { - if (getNodeName(element) === 'html') { - return element; - } - return ( - element.assignedSlot || - element.parentNode || ( - isShadowRoot(element) ? element.host : null) || - getDocumentElement(element) - ); -} - -function getTrueOffsetParent(element) { - if (!isHTMLElement(element) || - getComputedStyle$1(element).position === 'fixed') { - return null; - } - return element.offsetParent; -} -function getContainingBlock(element) { - var isFirefox = /firefox/i.test(getUAString()); - var isIE = /Trident/i.test(getUAString()); - if (isIE && isHTMLElement(element)) { - var elementCss = getComputedStyle$1(element); - if (elementCss.position === 'fixed') { - return null; - } - } - var currentNode = getParentNode(element); - if (isShadowRoot(currentNode)) { - currentNode = currentNode.host; - } - while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) { - var css = getComputedStyle$1(currentNode); - if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') { - return currentNode; - } else { - currentNode = currentNode.parentNode; - } - } - return null; -} -function getOffsetParent(element) { - var window = getWindow(element); - var offsetParent = getTrueOffsetParent(element); - while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') { - offsetParent = getTrueOffsetParent(offsetParent); - } - if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static')) { - return window; - } - return offsetParent || getContainingBlock(element) || window; -} - -function getMainAxisFromPlacement(placement) { - return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; -} - -function within(min$1, value, max$1) { - return max(min$1, min(value, max$1)); -} -function withinMaxClamp(min, value, max) { - var v = within(min, value, max); - return v > max ? max : v; -} - -function getFreshSideObject() { - return { - top: 0, - right: 0, - bottom: 0, - left: 0 - }; -} - -function mergePaddingObject(paddingObject) { - return Object.assign({}, getFreshSideObject(), paddingObject); -} - -function expandToHashMap(value, keys) { - return keys.reduce(function (hashMap, key) { - hashMap[key] = value; - return hashMap; - }, {}); -} - -var toPaddingObject = function toPaddingObject(padding, state) { - padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { - placement: state.placement - })) : padding; - return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); -}; -function arrow(_ref) { - var _state$modifiersData$; - var state = _ref.state, - name = _ref.name, - options = _ref.options; - var arrowElement = state.elements.arrow; - var popperOffsets = state.modifiersData.popperOffsets; - var basePlacement = getBasePlacement(state.placement); - var axis = getMainAxisFromPlacement(basePlacement); - var isVertical = [left, right].indexOf(basePlacement) >= 0; - var len = isVertical ? 'height' : 'width'; - if (!arrowElement || !popperOffsets) { - return; - } - var paddingObject = toPaddingObject(options.padding, state); - var arrowRect = getLayoutRect(arrowElement); - var minProp = axis === 'y' ? top : left; - var maxProp = axis === 'y' ? bottom : right; - var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; - var startDiff = popperOffsets[axis] - state.rects.reference[axis]; - var arrowOffsetParent = getOffsetParent(arrowElement); - var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; - var centerToReference = endDiff / 2 - startDiff / 2; - var min = paddingObject[minProp]; - var max = clientSize - arrowRect[len] - paddingObject[maxProp]; - var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; - var offset = within(min, center, max); - var axisProp = axis; - state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); -} -function effect$1(_ref2) { - var state = _ref2.state, - options = _ref2.options; - var _options$element = options.element, - arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; - if (arrowElement == null) { - return; - } - if (typeof arrowElement === 'string') { - arrowElement = state.elements.popper.querySelector(arrowElement); - if (!arrowElement) { - return; - } - } - if (!contains(state.elements.popper, arrowElement)) { - return; - } - state.elements.arrow = arrowElement; -} -var arrow$1 = { - name: 'arrow', - enabled: true, - phase: 'main', - fn: arrow, - effect: effect$1, - requires: ['popperOffsets'], - requiresIfExists: ['preventOverflow'] -}; - -function getVariation(placement) { - return placement.split('-')[1]; -} - -var unsetSides = { - top: 'auto', - right: 'auto', - bottom: 'auto', - left: 'auto' -}; -function roundOffsetsByDPR(_ref) { - var x = _ref.x, - y = _ref.y; - var win = window; - var dpr = win.devicePixelRatio || 1; - return { - x: round(x * dpr) / dpr || 0, - y: round(y * dpr) / dpr || 0 - }; -} -function mapToStyles(_ref2) { - var _Object$assign2; - var popper = _ref2.popper, - popperRect = _ref2.popperRect, - placement = _ref2.placement, - variation = _ref2.variation, - offsets = _ref2.offsets, - position = _ref2.position, - gpuAcceleration = _ref2.gpuAcceleration, - adaptive = _ref2.adaptive, - roundOffsets = _ref2.roundOffsets, - isFixed = _ref2.isFixed; - var _offsets$x = offsets.x, - x = _offsets$x === void 0 ? 0 : _offsets$x, - _offsets$y = offsets.y, - y = _offsets$y === void 0 ? 0 : _offsets$y; - var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({ - x: x, - y: y - }) : { - x: x, - y: y - }; - x = _ref3.x; - y = _ref3.y; - var hasX = offsets.hasOwnProperty('x'); - var hasY = offsets.hasOwnProperty('y'); - var sideX = left; - var sideY = top; - var win = window; - if (adaptive) { - var offsetParent = getOffsetParent(popper); - var heightProp = 'clientHeight'; - var widthProp = 'clientWidth'; - if (offsetParent === getWindow(popper)) { - offsetParent = getDocumentElement(popper); - if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') { - heightProp = 'scrollHeight'; - widthProp = 'scrollWidth'; - } - } - offsetParent = offsetParent; - if (placement === top || (placement === left || placement === right) && variation === end) { - sideY = bottom; - var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : - offsetParent[heightProp]; - y -= offsetY - popperRect.height; - y *= gpuAcceleration ? 1 : -1; - } - if (placement === left || (placement === top || placement === bottom) && variation === end) { - sideX = right; - var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : - offsetParent[widthProp]; - x -= offsetX - popperRect.width; - x *= gpuAcceleration ? 1 : -1; - } - } - var commonStyles = Object.assign({ - position: position - }, adaptive && unsetSides); - var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ - x: x, - y: y - }) : { - x: x, - y: y - }; - x = _ref4.x; - y = _ref4.y; - if (gpuAcceleration) { - var _Object$assign; - return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); - } - return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); -} -function computeStyles(_ref5) { - var state = _ref5.state, - options = _ref5.options; - var _options$gpuAccelerat = options.gpuAcceleration, - gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, - _options$adaptive = options.adaptive, - adaptive = _options$adaptive === void 0 ? true : _options$adaptive, - _options$roundOffsets = options.roundOffsets, - roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; - var commonStyles = { - placement: getBasePlacement(state.placement), - variation: getVariation(state.placement), - popper: state.elements.popper, - popperRect: state.rects.popper, - gpuAcceleration: gpuAcceleration, - isFixed: state.options.strategy === 'fixed' - }; - if (state.modifiersData.popperOffsets != null) { - state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.popperOffsets, - position: state.options.strategy, - adaptive: adaptive, - roundOffsets: roundOffsets - }))); - } - if (state.modifiersData.arrow != null) { - state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.arrow, - position: 'absolute', - adaptive: false, - roundOffsets: roundOffsets - }))); - } - state.attributes.popper = Object.assign({}, state.attributes.popper, { - 'data-popper-placement': state.placement - }); -} -var computeStyles$1 = { - name: 'computeStyles', - enabled: true, - phase: 'beforeWrite', - fn: computeStyles, - data: {} -}; - -var passive = { - passive: true -}; -function effect(_ref) { - var state = _ref.state, - instance = _ref.instance, - options = _ref.options; - var _options$scroll = options.scroll, - scroll = _options$scroll === void 0 ? true : _options$scroll, - _options$resize = options.resize, - resize = _options$resize === void 0 ? true : _options$resize; - var window = getWindow(state.elements.popper); - var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); - if (scroll) { - scrollParents.forEach(function (scrollParent) { - scrollParent.addEventListener('scroll', instance.update, passive); - }); - } - if (resize) { - window.addEventListener('resize', instance.update, passive); - } - return function () { - if (scroll) { - scrollParents.forEach(function (scrollParent) { - scrollParent.removeEventListener('scroll', instance.update, passive); - }); - } - if (resize) { - window.removeEventListener('resize', instance.update, passive); - } - }; -} -var eventListeners = { - name: 'eventListeners', - enabled: true, - phase: 'write', - fn: function fn() {}, - effect: effect, - data: {} -}; - -var hash$1 = { - left: 'right', - right: 'left', - bottom: 'top', - top: 'bottom' -}; -function getOppositePlacement(placement) { - return placement.replace(/left|right|bottom|top/g, function (matched) { - return hash$1[matched]; - }); -} - -var hash = { - start: 'end', - end: 'start' -}; -function getOppositeVariationPlacement(placement) { - return placement.replace(/start|end/g, function (matched) { - return hash[matched]; - }); -} - -function getWindowScroll(node) { - var win = getWindow(node); - var scrollLeft = win.pageXOffset; - var scrollTop = win.pageYOffset; - return { - scrollLeft: scrollLeft, - scrollTop: scrollTop - }; -} - -function getWindowScrollBarX(element) { - return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; -} - -function getViewportRect(element, strategy) { - var win = getWindow(element); - var html = getDocumentElement(element); - var visualViewport = win.visualViewport; - var width = html.clientWidth; - var height = html.clientHeight; - var x = 0; - var y = 0; - if (visualViewport) { - width = visualViewport.width; - height = visualViewport.height; - var layoutViewport = isLayoutViewport(); - if (layoutViewport || !layoutViewport && strategy === 'fixed') { - x = visualViewport.offsetLeft; - y = visualViewport.offsetTop; - } - } - return { - width: width, - height: height, - x: x + getWindowScrollBarX(element), - y: y - }; -} - -function getDocumentRect(element) { - var _element$ownerDocumen; - var html = getDocumentElement(element); - var winScroll = getWindowScroll(element); - var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; - var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); - var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); - var x = -winScroll.scrollLeft + getWindowScrollBarX(element); - var y = -winScroll.scrollTop; - if (getComputedStyle$1(body || html).direction === 'rtl') { - x += max(html.clientWidth, body ? body.clientWidth : 0) - width; - } - return { - width: width, - height: height, - x: x, - y: y - }; -} - -function isScrollParent(element) { - var _getComputedStyle = getComputedStyle$1(element), - overflow = _getComputedStyle.overflow, - overflowX = _getComputedStyle.overflowX, - overflowY = _getComputedStyle.overflowY; - return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); -} - -function getScrollParent(node) { - if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { - return node.ownerDocument.body; - } - if (isHTMLElement(node) && isScrollParent(node)) { - return node; - } - return getScrollParent(getParentNode(node)); -} - -function listScrollParents(element, list) { - var _element$ownerDocumen; - if (list === void 0) { - list = []; - } - var scrollParent = getScrollParent(element); - var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); - var win = getWindow(scrollParent); - var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; - var updatedList = list.concat(target); - return isBody ? updatedList : - updatedList.concat(listScrollParents(getParentNode(target))); -} - -function rectToClientRect(rect) { - return Object.assign({}, rect, { - left: rect.x, - top: rect.y, - right: rect.x + rect.width, - bottom: rect.y + rect.height - }); -} - -function getInnerBoundingClientRect(element, strategy) { - var rect = getBoundingClientRect(element, false, strategy === 'fixed'); - rect.top = rect.top + element.clientTop; - rect.left = rect.left + element.clientLeft; - rect.bottom = rect.top + element.clientHeight; - rect.right = rect.left + element.clientWidth; - rect.width = element.clientWidth; - rect.height = element.clientHeight; - rect.x = rect.left; - rect.y = rect.top; - return rect; -} -function getClientRectFromMixedType(element, clippingParent, strategy) { - return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement$1(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); -} -function getClippingParents(element) { - var clippingParents = listScrollParents(getParentNode(element)); - var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle$1(element).position) >= 0; - var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; - if (!isElement$1(clipperElement)) { - return []; - } - return clippingParents.filter(function (clippingParent) { - return isElement$1(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body'; - }); -} -function getClippingRect(element, boundary, rootBoundary, strategy) { - var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); - var clippingParents = [].concat(mainClippingParents, [rootBoundary]); - var firstClippingParent = clippingParents[0]; - var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { - var rect = getClientRectFromMixedType(element, clippingParent, strategy); - accRect.top = max(rect.top, accRect.top); - accRect.right = min(rect.right, accRect.right); - accRect.bottom = min(rect.bottom, accRect.bottom); - accRect.left = max(rect.left, accRect.left); - return accRect; - }, getClientRectFromMixedType(element, firstClippingParent, strategy)); - clippingRect.width = clippingRect.right - clippingRect.left; - clippingRect.height = clippingRect.bottom - clippingRect.top; - clippingRect.x = clippingRect.left; - clippingRect.y = clippingRect.top; - return clippingRect; -} - -function computeOffsets(_ref) { - var reference = _ref.reference, - element = _ref.element, - placement = _ref.placement; - var basePlacement = placement ? getBasePlacement(placement) : null; - var variation = placement ? getVariation(placement) : null; - var commonX = reference.x + reference.width / 2 - element.width / 2; - var commonY = reference.y + reference.height / 2 - element.height / 2; - var offsets; - switch (basePlacement) { - case top: - offsets = { - x: commonX, - y: reference.y - element.height - }; - break; - case bottom: - offsets = { - x: commonX, - y: reference.y + reference.height - }; - break; - case right: - offsets = { - x: reference.x + reference.width, - y: commonY - }; - break; - case left: - offsets = { - x: reference.x - element.width, - y: commonY - }; - break; - default: - offsets = { - x: reference.x, - y: reference.y - }; - } - var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; - if (mainAxis != null) { - var len = mainAxis === 'y' ? 'height' : 'width'; - switch (variation) { - case start: - offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); - break; - case end: - offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); - break; - } - } - return offsets; -} - -function detectOverflow(state, options) { - if (options === void 0) { - options = {}; - } - var _options = options, - _options$placement = _options.placement, - placement = _options$placement === void 0 ? state.placement : _options$placement, - _options$strategy = _options.strategy, - strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, - _options$boundary = _options.boundary, - boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, - _options$rootBoundary = _options.rootBoundary, - rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, - _options$elementConte = _options.elementContext, - elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, - _options$altBoundary = _options.altBoundary, - altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, - _options$padding = _options.padding, - padding = _options$padding === void 0 ? 0 : _options$padding; - var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); - var altContext = elementContext === popper ? reference : popper; - var popperRect = state.rects.popper; - var element = state.elements[altBoundary ? altContext : elementContext]; - var clippingClientRect = getClippingRect(isElement$1(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); - var referenceClientRect = getBoundingClientRect(state.elements.reference); - var popperOffsets = computeOffsets({ - reference: referenceClientRect, - element: popperRect, - strategy: 'absolute', - placement: placement - }); - var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets)); - var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; - var overflowOffsets = { - top: clippingClientRect.top - elementClientRect.top + paddingObject.top, - bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, - left: clippingClientRect.left - elementClientRect.left + paddingObject.left, - right: elementClientRect.right - clippingClientRect.right + paddingObject.right - }; - var offsetData = state.modifiersData.offset; - if (elementContext === popper && offsetData) { - var offset = offsetData[placement]; - Object.keys(overflowOffsets).forEach(function (key) { - var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; - var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x'; - overflowOffsets[key] += offset[axis] * multiply; - }); - } - return overflowOffsets; -} - -function computeAutoPlacement(state, options) { - if (options === void 0) { - options = {}; - } - var _options = options, - placement = _options.placement, - boundary = _options.boundary, - rootBoundary = _options.rootBoundary, - padding = _options.padding, - flipVariations = _options.flipVariations, - _options$allowedAutoP = _options.allowedAutoPlacements, - allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; - var variation = getVariation(placement); - var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { - return getVariation(placement) === variation; - }) : basePlacements; - var allowedPlacements = placements$1.filter(function (placement) { - return allowedAutoPlacements.indexOf(placement) >= 0; - }); - if (allowedPlacements.length === 0) { - allowedPlacements = placements$1; - } - var overflows = allowedPlacements.reduce(function (acc, placement) { - acc[placement] = detectOverflow(state, { - placement: placement, - boundary: boundary, - rootBoundary: rootBoundary, - padding: padding - })[getBasePlacement(placement)]; - return acc; - }, {}); - return Object.keys(overflows).sort(function (a, b) { - return overflows[a] - overflows[b]; - }); -} - -function getExpandedFallbackPlacements(placement) { - if (getBasePlacement(placement) === auto) { - return []; - } - var oppositePlacement = getOppositePlacement(placement); - return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; -} -function flip(_ref) { - var state = _ref.state, - options = _ref.options, - name = _ref.name; - if (state.modifiersData[name]._skip) { - return; - } - var _options$mainAxis = options.mainAxis, - checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, - _options$altAxis = options.altAxis, - checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, - specifiedFallbackPlacements = options.fallbackPlacements, - padding = options.padding, - boundary = options.boundary, - rootBoundary = options.rootBoundary, - altBoundary = options.altBoundary, - _options$flipVariatio = options.flipVariations, - flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, - allowedAutoPlacements = options.allowedAutoPlacements; - var preferredPlacement = state.options.placement; - var basePlacement = getBasePlacement(preferredPlacement); - var isBasePlacement = basePlacement === preferredPlacement; - var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); - var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { - return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, { - placement: placement, - boundary: boundary, - rootBoundary: rootBoundary, - padding: padding, - flipVariations: flipVariations, - allowedAutoPlacements: allowedAutoPlacements - }) : placement); - }, []); - var referenceRect = state.rects.reference; - var popperRect = state.rects.popper; - var checksMap = new Map(); - var makeFallbackChecks = true; - var firstFittingPlacement = placements[0]; - for (var i = 0; i < placements.length; i++) { - var placement = placements[i]; - var _basePlacement = getBasePlacement(placement); - var isStartVariation = getVariation(placement) === start; - var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; - var len = isVertical ? 'width' : 'height'; - var overflow = detectOverflow(state, { - placement: placement, - boundary: boundary, - rootBoundary: rootBoundary, - altBoundary: altBoundary, - padding: padding - }); - var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; - if (referenceRect[len] > popperRect[len]) { - mainVariationSide = getOppositePlacement(mainVariationSide); - } - var altVariationSide = getOppositePlacement(mainVariationSide); - var checks = []; - if (checkMainAxis) { - checks.push(overflow[_basePlacement] <= 0); - } - if (checkAltAxis) { - checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); - } - if (checks.every(function (check) { - return check; - })) { - firstFittingPlacement = placement; - makeFallbackChecks = false; - break; - } - checksMap.set(placement, checks); - } - if (makeFallbackChecks) { - var numberOfChecks = flipVariations ? 3 : 1; - var _loop = function _loop(_i) { - var fittingPlacement = placements.find(function (placement) { - var checks = checksMap.get(placement); - if (checks) { - return checks.slice(0, _i).every(function (check) { - return check; - }); - } - }); - if (fittingPlacement) { - firstFittingPlacement = fittingPlacement; - return "break"; - } - }; - for (var _i = numberOfChecks; _i > 0; _i--) { - var _ret = _loop(_i); - if (_ret === "break") break; - } - } - if (state.placement !== firstFittingPlacement) { - state.modifiersData[name]._skip = true; - state.placement = firstFittingPlacement; - state.reset = true; - } -} -var flip$1 = { - name: 'flip', - enabled: true, - phase: 'main', - fn: flip, - requiresIfExists: ['offset'], - data: { - _skip: false - } -}; - -function getSideOffsets(overflow, rect, preventedOffsets) { - if (preventedOffsets === void 0) { - preventedOffsets = { - x: 0, - y: 0 - }; - } - return { - top: overflow.top - rect.height - preventedOffsets.y, - right: overflow.right - rect.width + preventedOffsets.x, - bottom: overflow.bottom - rect.height + preventedOffsets.y, - left: overflow.left - rect.width - preventedOffsets.x - }; -} -function isAnySideFullyClipped(overflow) { - return [top, right, bottom, left].some(function (side) { - return overflow[side] >= 0; - }); -} -function hide(_ref) { - var state = _ref.state, - name = _ref.name; - var referenceRect = state.rects.reference; - var popperRect = state.rects.popper; - var preventedOffsets = state.modifiersData.preventOverflow; - var referenceOverflow = detectOverflow(state, { - elementContext: 'reference' - }); - var popperAltOverflow = detectOverflow(state, { - altBoundary: true - }); - var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); - var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); - var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); - var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); - state.modifiersData[name] = { - referenceClippingOffsets: referenceClippingOffsets, - popperEscapeOffsets: popperEscapeOffsets, - isReferenceHidden: isReferenceHidden, - hasPopperEscaped: hasPopperEscaped - }; - state.attributes.popper = Object.assign({}, state.attributes.popper, { - 'data-popper-reference-hidden': isReferenceHidden, - 'data-popper-escaped': hasPopperEscaped - }); -} -var hide$1 = { - name: 'hide', - enabled: true, - phase: 'main', - requiresIfExists: ['preventOverflow'], - fn: hide -}; - -function distanceAndSkiddingToXY(placement, rects, offset) { - var basePlacement = getBasePlacement(placement); - var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; - var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { - placement: placement - })) : offset, - skidding = _ref[0], - distance = _ref[1]; - skidding = skidding || 0; - distance = (distance || 0) * invertDistance; - return [left, right].indexOf(basePlacement) >= 0 ? { - x: distance, - y: skidding - } : { - x: skidding, - y: distance - }; -} -function offset(_ref2) { - var state = _ref2.state, - options = _ref2.options, - name = _ref2.name; - var _options$offset = options.offset, - offset = _options$offset === void 0 ? [0, 0] : _options$offset; - var data = placements.reduce(function (acc, placement) { - acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); - return acc; - }, {}); - var _data$state$placement = data[state.placement], - x = _data$state$placement.x, - y = _data$state$placement.y; - if (state.modifiersData.popperOffsets != null) { - state.modifiersData.popperOffsets.x += x; - state.modifiersData.popperOffsets.y += y; - } - state.modifiersData[name] = data; -} -var offset$1 = { - name: 'offset', - enabled: true, - phase: 'main', - requires: ['popperOffsets'], - fn: offset -}; - -function popperOffsets(_ref) { - var state = _ref.state, - name = _ref.name; - state.modifiersData[name] = computeOffsets({ - reference: state.rects.reference, - element: state.rects.popper, - strategy: 'absolute', - placement: state.placement - }); -} -var popperOffsets$1 = { - name: 'popperOffsets', - enabled: true, - phase: 'read', - fn: popperOffsets, - data: {} -}; - -function getAltAxis(axis) { - return axis === 'x' ? 'y' : 'x'; -} - -function preventOverflow(_ref) { - var state = _ref.state, - options = _ref.options, - name = _ref.name; - var _options$mainAxis = options.mainAxis, - checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, - _options$altAxis = options.altAxis, - checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, - boundary = options.boundary, - rootBoundary = options.rootBoundary, - altBoundary = options.altBoundary, - padding = options.padding, - _options$tether = options.tether, - tether = _options$tether === void 0 ? true : _options$tether, - _options$tetherOffset = options.tetherOffset, - tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; - var overflow = detectOverflow(state, { - boundary: boundary, - rootBoundary: rootBoundary, - padding: padding, - altBoundary: altBoundary - }); - var basePlacement = getBasePlacement(state.placement); - var variation = getVariation(state.placement); - var isBasePlacement = !variation; - var mainAxis = getMainAxisFromPlacement(basePlacement); - var altAxis = getAltAxis(mainAxis); - var popperOffsets = state.modifiersData.popperOffsets; - var referenceRect = state.rects.reference; - var popperRect = state.rects.popper; - var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { - placement: state.placement - })) : tetherOffset; - var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? { - mainAxis: tetherOffsetValue, - altAxis: tetherOffsetValue - } : Object.assign({ - mainAxis: 0, - altAxis: 0 - }, tetherOffsetValue); - var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; - var data = { - x: 0, - y: 0 - }; - if (!popperOffsets) { - return; - } - if (checkMainAxis) { - var _offsetModifierState$; - var mainSide = mainAxis === 'y' ? top : left; - var altSide = mainAxis === 'y' ? bottom : right; - var len = mainAxis === 'y' ? 'height' : 'width'; - var offset = popperOffsets[mainAxis]; - var min$1 = offset + overflow[mainSide]; - var max$1 = offset - overflow[altSide]; - var additive = tether ? -popperRect[len] / 2 : 0; - var minLen = variation === start ? referenceRect[len] : popperRect[len]; - var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; - var arrowElement = state.elements.arrow; - var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { - width: 0, - height: 0 - }; - var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject(); - var arrowPaddingMin = arrowPaddingObject[mainSide]; - var arrowPaddingMax = arrowPaddingObject[altSide]; - var arrowLen = within(0, referenceRect[len], arrowRect[len]); - var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; - var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; - var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); - var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; - var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; - var tetherMin = offset + minOffset - offsetModifierValue - clientOffset; - var tetherMax = offset + maxOffset - offsetModifierValue; - var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1); - popperOffsets[mainAxis] = preventedOffset; - data[mainAxis] = preventedOffset - offset; - } - if (checkAltAxis) { - var _offsetModifierState$2; - var _mainSide = mainAxis === 'x' ? top : left; - var _altSide = mainAxis === 'x' ? bottom : right; - var _offset = popperOffsets[altAxis]; - var _len = altAxis === 'y' ? 'height' : 'width'; - var _min = _offset + overflow[_mainSide]; - var _max = _offset - overflow[_altSide]; - var isOriginSide = [top, left].indexOf(basePlacement) !== -1; - var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; - var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; - var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; - var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); - popperOffsets[altAxis] = _preventedOffset; - data[altAxis] = _preventedOffset - _offset; - } - state.modifiersData[name] = data; -} -var preventOverflow$1 = { - name: 'preventOverflow', - enabled: true, - phase: 'main', - fn: preventOverflow, - requiresIfExists: ['offset'] -}; - -function getHTMLElementScroll(element) { - return { - scrollLeft: element.scrollLeft, - scrollTop: element.scrollTop - }; -} - -function getNodeScroll(node) { - if (node === getWindow(node) || !isHTMLElement(node)) { - return getWindowScroll(node); - } else { - return getHTMLElementScroll(node); - } -} - -function isElementScaled(element) { - var rect = element.getBoundingClientRect(); - var scaleX = round(rect.width) / element.offsetWidth || 1; - var scaleY = round(rect.height) / element.offsetHeight || 1; - return scaleX !== 1 || scaleY !== 1; -} -function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { - if (isFixed === void 0) { - isFixed = false; - } - var isOffsetParentAnElement = isHTMLElement(offsetParent); - var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); - var documentElement = getDocumentElement(offsetParent); - var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); - var scroll = { - scrollLeft: 0, - scrollTop: 0 - }; - var offsets = { - x: 0, - y: 0 - }; - if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { - if (getNodeName(offsetParent) !== 'body' || - isScrollParent(documentElement)) { - scroll = getNodeScroll(offsetParent); - } - if (isHTMLElement(offsetParent)) { - offsets = getBoundingClientRect(offsetParent, true); - offsets.x += offsetParent.clientLeft; - offsets.y += offsetParent.clientTop; - } else if (documentElement) { - offsets.x = getWindowScrollBarX(documentElement); - } - } - return { - x: rect.left + scroll.scrollLeft - offsets.x, - y: rect.top + scroll.scrollTop - offsets.y, - width: rect.width, - height: rect.height - }; -} - -function order(modifiers) { - var map = new Map(); - var visited = new Set(); - var result = []; - modifiers.forEach(function (modifier) { - map.set(modifier.name, modifier); - }); - function sort(modifier) { - visited.add(modifier.name); - var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); - requires.forEach(function (dep) { - if (!visited.has(dep)) { - var depModifier = map.get(dep); - if (depModifier) { - sort(depModifier); - } - } - }); - result.push(modifier); - } - modifiers.forEach(function (modifier) { - if (!visited.has(modifier.name)) { - sort(modifier); - } - }); - return result; -} -function orderModifiers(modifiers) { - var orderedModifiers = order(modifiers); - return modifierPhases.reduce(function (acc, phase) { - return acc.concat(orderedModifiers.filter(function (modifier) { - return modifier.phase === phase; - })); - }, []); -} - -function debounce(fn) { - var pending; - return function () { - if (!pending) { - pending = new Promise(function (resolve) { - Promise.resolve().then(function () { - pending = undefined; - resolve(fn()); - }); - }); - } - return pending; - }; -} - -function mergeByName(modifiers) { - var merged = modifiers.reduce(function (merged, current) { - var existing = merged[current.name]; - merged[current.name] = existing ? Object.assign({}, existing, current, { - options: Object.assign({}, existing.options, current.options), - data: Object.assign({}, existing.data, current.data) - }) : current; - return merged; - }, {}); - return Object.keys(merged).map(function (key) { - return merged[key]; - }); -} - -var DEFAULT_OPTIONS = { - placement: 'bottom', - modifiers: [], - strategy: 'absolute' -}; -function areValidElements() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - return !args.some(function (element) { - return !(element && typeof element.getBoundingClientRect === 'function'); - }); -} -function popperGenerator(generatorOptions) { - if (generatorOptions === void 0) { - generatorOptions = {}; - } - var _generatorOptions = generatorOptions, - _generatorOptions$def = _generatorOptions.defaultModifiers, - defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, - _generatorOptions$def2 = _generatorOptions.defaultOptions, - defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; - return function createPopper(reference, popper, options) { - if (options === void 0) { - options = defaultOptions; - } - var state = { - placement: 'bottom', - orderedModifiers: [], - options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), - modifiersData: {}, - elements: { - reference: reference, - popper: popper - }, - attributes: {}, - styles: {} - }; - var effectCleanupFns = []; - var isDestroyed = false; - var instance = { - state: state, - setOptions: function setOptions(setOptionsAction) { - var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction; - cleanupModifierEffects(); - state.options = Object.assign({}, defaultOptions, state.options, options); - state.scrollParents = { - reference: isElement$1(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [], - popper: listScrollParents(popper) - }; - var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); - state.orderedModifiers = orderedModifiers.filter(function (m) { - return m.enabled; - }); - runModifierEffects(); - return instance.update(); - }, - forceUpdate: function forceUpdate() { - if (isDestroyed) { - return; - } - var _state$elements = state.elements, - reference = _state$elements.reference, - popper = _state$elements.popper; - if (!areValidElements(reference, popper)) { - return; - } - state.rects = { - reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'), - popper: getLayoutRect(popper) - }; - state.reset = false; - state.placement = state.options.placement; - state.orderedModifiers.forEach(function (modifier) { - return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); - }); - for (var index = 0; index < state.orderedModifiers.length; index++) { - if (state.reset === true) { - state.reset = false; - index = -1; - continue; - } - var _state$orderedModifie = state.orderedModifiers[index], - fn = _state$orderedModifie.fn, - _state$orderedModifie2 = _state$orderedModifie.options, - _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, - name = _state$orderedModifie.name; - if (typeof fn === 'function') { - state = fn({ - state: state, - options: _options, - name: name, - instance: instance - }) || state; - } - } - }, - update: debounce(function () { - return new Promise(function (resolve) { - instance.forceUpdate(); - resolve(state); - }); - }), - destroy: function destroy() { - cleanupModifierEffects(); - isDestroyed = true; - } - }; - if (!areValidElements(reference, popper)) { - return instance; - } - instance.setOptions(options).then(function (state) { - if (!isDestroyed && options.onFirstUpdate) { - options.onFirstUpdate(state); - } - }); - function runModifierEffects() { - state.orderedModifiers.forEach(function (_ref3) { - var name = _ref3.name, - _ref3$options = _ref3.options, - options = _ref3$options === void 0 ? {} : _ref3$options, - effect = _ref3.effect; - if (typeof effect === 'function') { - var cleanupFn = effect({ - state: state, - name: name, - instance: instance, - options: options - }); - var noopFn = function noopFn() {}; - effectCleanupFns.push(cleanupFn || noopFn); - } - }); - } - function cleanupModifierEffects() { - effectCleanupFns.forEach(function (fn) { - return fn(); - }); - effectCleanupFns = []; - } - return instance; - }; -} -var createPopper$2 = popperGenerator(); - -var defaultModifiers$1 = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1]; -var createPopper$1 = popperGenerator({ - defaultModifiers: defaultModifiers$1 -}); - -var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; -var createPopper = popperGenerator({ - defaultModifiers: defaultModifiers -}); - -var Popper = /*#__PURE__*/Object.freeze({ - __proto__: null, - popperGenerator: popperGenerator, - detectOverflow: detectOverflow, - createPopperBase: createPopper$2, - createPopper: createPopper, - createPopperLite: createPopper$1, - top: top, - bottom: bottom, - right: right, - left: left, - auto: auto, - basePlacements: basePlacements, - start: start, - end: end, - clippingParents: clippingParents, - viewport: viewport, - popper: popper, - reference: reference, - variationPlacements: variationPlacements, - placements: placements, - beforeRead: beforeRead, - read: read, - afterRead: afterRead, - beforeMain: beforeMain, - main: main, - afterMain: afterMain, - beforeWrite: beforeWrite, - write: write, - afterWrite: afterWrite, - modifierPhases: modifierPhases, - applyStyles: applyStyles$1, - arrow: arrow$1, - computeStyles: computeStyles$1, - eventListeners: eventListeners, - flip: flip$1, - hide: hide$1, - offset: offset$1, - popperOffsets: popperOffsets$1, - preventOverflow: preventOverflow$1 -}); - -/*! - * Bootstrap v5.2.2 (https://getbootstrap.com/) - * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -const MAX_UID = 1000000; -const MILLISECONDS_MULTIPLIER = 1000; -const TRANSITION_END = 'transitionend'; -const toType = object => { - if (object === null || object === undefined) { - return `${object}`; - } - return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase(); -}; -const getUID = prefix => { - do { - prefix += Math.floor(Math.random() * MAX_UID); - } while (document.getElementById(prefix)); - return prefix; -}; -const getSelector = element => { - let selector = element.getAttribute('data-bs-target'); - if (!selector || selector === '#') { - let hrefAttribute = element.getAttribute('href'); - if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) { - return null; - } - if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) { - hrefAttribute = `#${hrefAttribute.split('#')[1]}`; - } - selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null; - } - return selector; -}; -const getSelectorFromElement = element => { - const selector = getSelector(element); - if (selector) { - return document.querySelector(selector) ? selector : null; - } - return null; -}; -const getElementFromSelector = element => { - const selector = getSelector(element); - return selector ? document.querySelector(selector) : null; -}; -const getTransitionDurationFromElement = element => { - if (!element) { - return 0; - } - let { - transitionDuration, - transitionDelay - } = window.getComputedStyle(element); - const floatTransitionDuration = Number.parseFloat(transitionDuration); - const floatTransitionDelay = Number.parseFloat(transitionDelay); - if (!floatTransitionDuration && !floatTransitionDelay) { - return 0; - } - transitionDuration = transitionDuration.split(',')[0]; - transitionDelay = transitionDelay.split(',')[0]; - return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; -}; -const triggerTransitionEnd = element => { - element.dispatchEvent(new Event(TRANSITION_END)); -}; -const isElement = object => { - if (!object || typeof object !== 'object') { - return false; - } - if (typeof object.jquery !== 'undefined') { - object = object[0]; - } - return typeof object.nodeType !== 'undefined'; -}; -const getElement = object => { - if (isElement(object)) { - return object.jquery ? object[0] : object; - } - if (typeof object === 'string' && object.length > 0) { - return document.querySelector(object); - } - return null; -}; -const isVisible = element => { - if (!isElement(element) || element.getClientRects().length === 0) { - return false; - } - const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; - const closedDetails = element.closest('details:not([open])'); - if (!closedDetails) { - return elementIsVisible; - } - if (closedDetails !== element) { - const summary = element.closest('summary'); - if (summary && summary.parentNode !== closedDetails) { - return false; - } - if (summary === null) { - return false; - } - } - return elementIsVisible; -}; -const isDisabled = element => { - if (!element || element.nodeType !== Node.ELEMENT_NODE) { - return true; - } - if (element.classList.contains('disabled')) { - return true; - } - if (typeof element.disabled !== 'undefined') { - return element.disabled; - } - return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; -}; -const findShadowRoot = element => { - if (!document.documentElement.attachShadow) { - return null; - } - if (typeof element.getRootNode === 'function') { - const root = element.getRootNode(); - return root instanceof ShadowRoot ? root : null; - } - if (element instanceof ShadowRoot) { - return element; - } - if (!element.parentNode) { - return null; - } - return findShadowRoot(element.parentNode); -}; -const noop = () => {}; -const reflow = element => { - element.offsetHeight; -}; -const getjQuery = () => { - if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return window.jQuery; - } - return null; -}; -const DOMContentLoadedCallbacks = []; -const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - for (const callback of DOMContentLoadedCallbacks) { - callback(); - } - }); - } - DOMContentLoadedCallbacks.push(callback); - } else { - callback(); - } -}; -const isRTL = () => document.documentElement.dir === 'rtl'; -const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery(); - if ($) { - const name = plugin.NAME; - const JQUERY_NO_CONFLICT = $.fn[name]; - $.fn[name] = plugin.jQueryInterface; - $.fn[name].Constructor = plugin; - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT; - return plugin.jQueryInterface; - }; - } - }); -}; -const execute = callback => { - if (typeof callback === 'function') { - callback(); - } -}; -const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { - if (!waitForTransition) { - execute(callback); - return; - } - const durationPadding = 5; - const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; - let called = false; - const handler = ({ - target - }) => { - if (target !== transitionElement) { - return; - } - called = true; - transitionElement.removeEventListener(TRANSITION_END, handler); - execute(callback); - }; - transitionElement.addEventListener(TRANSITION_END, handler); - setTimeout(() => { - if (!called) { - triggerTransitionEnd(transitionElement); - } - }, emulatedDuration); -}; -const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { - const listLength = list.length; - let index = list.indexOf(activeElement); - if (index === -1) { - return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]; - } - index += shouldGetNext ? 1 : -1; - if (isCycleAllowed) { - index = (index + listLength) % listLength; - } - return list[Math.max(0, Math.min(index, listLength - 1))]; -}; -const namespaceRegex = /[^.]*(?=\..*)\.|.*/; -const stripNameRegex = /\..*/; -const stripUidRegex = /::\d+$/; -const eventRegistry = {}; -let uidEvent = 1; -const customEvents = { - mouseenter: 'mouseover', - mouseleave: 'mouseout' -}; -const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']); -function makeEventUid(element, uid) { - return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; -} -function getElementEvents(element) { - const uid = makeEventUid(element); - element.uidEvent = uid; - eventRegistry[uid] = eventRegistry[uid] || {}; - return eventRegistry[uid]; -} -function bootstrapHandler(element, fn) { - return function handler(event) { - hydrateObj(event, { - delegateTarget: element - }); - if (handler.oneOff) { - EventHandler.off(element, event.type, fn); - } - return fn.apply(element, [event]); - }; -} -function bootstrapDelegationHandler(element, selector, fn) { - return function handler(event) { - const domElements = element.querySelectorAll(selector); - for (let { - target - } = event; target && target !== this; target = target.parentNode) { - for (const domElement of domElements) { - if (domElement !== target) { - continue; - } - hydrateObj(event, { - delegateTarget: target - }); - if (handler.oneOff) { - EventHandler.off(element, event.type, selector, fn); - } - return fn.apply(target, [event]); - } - } - }; -} -function findHandler(events, callable, delegationSelector = null) { - return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector); -} -function normalizeParameters(originalTypeEvent, handler, delegationFunction) { - const isDelegated = typeof handler === 'string'; - const callable = isDelegated ? delegationFunction : handler || delegationFunction; - let typeEvent = getTypeEvent(originalTypeEvent); - if (!nativeEvents.has(typeEvent)) { - typeEvent = originalTypeEvent; - } - return [isDelegated, callable, typeEvent]; -} -function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { - if (typeof originalTypeEvent !== 'string' || !element) { - return; - } - let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); - if (originalTypeEvent in customEvents) { - const wrapFunction = fn => { - return function (event) { - if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { - return fn.call(this, event); - } - }; - }; - callable = wrapFunction(callable); - } - const events = getElementEvents(element); - const handlers = events[typeEvent] || (events[typeEvent] = {}); - const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); - if (previousFunction) { - previousFunction.oneOff = previousFunction.oneOff && oneOff; - return; - } - const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, '')); - const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); - fn.delegationSelector = isDelegated ? handler : null; - fn.callable = callable; - fn.oneOff = oneOff; - fn.uidEvent = uid; - handlers[uid] = fn; - element.addEventListener(typeEvent, fn, isDelegated); -} -function removeHandler(element, events, typeEvent, handler, delegationSelector) { - const fn = findHandler(events[typeEvent], handler, delegationSelector); - if (!fn) { - return; - } - element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); - delete events[typeEvent][fn.uidEvent]; -} -function removeNamespacedHandlers(element, events, typeEvent, namespace) { - const storeElementEvent = events[typeEvent] || {}; - for (const handlerKey of Object.keys(storeElementEvent)) { - if (handlerKey.includes(namespace)) { - const event = storeElementEvent[handlerKey]; - removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); - } - } -} -function getTypeEvent(event) { - event = event.replace(stripNameRegex, ''); - return customEvents[event] || event; -} -const EventHandler = { - on(element, event, handler, delegationFunction) { - addHandler(element, event, handler, delegationFunction, false); - }, - one(element, event, handler, delegationFunction) { - addHandler(element, event, handler, delegationFunction, true); - }, - off(element, originalTypeEvent, handler, delegationFunction) { - if (typeof originalTypeEvent !== 'string' || !element) { - return; - } - const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); - const inNamespace = typeEvent !== originalTypeEvent; - const events = getElementEvents(element); - const storeElementEvent = events[typeEvent] || {}; - const isNamespace = originalTypeEvent.startsWith('.'); - if (typeof callable !== 'undefined') { - if (!Object.keys(storeElementEvent).length) { - return; - } - removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); - return; - } - if (isNamespace) { - for (const elementEvent of Object.keys(events)) { - removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); - } - } - for (const keyHandlers of Object.keys(storeElementEvent)) { - const handlerKey = keyHandlers.replace(stripUidRegex, ''); - if (!inNamespace || originalTypeEvent.includes(handlerKey)) { - const event = storeElementEvent[keyHandlers]; - removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); - } - } - }, - trigger(element, event, args) { - if (typeof event !== 'string' || !element) { - return null; - } - const $ = getjQuery(); - const typeEvent = getTypeEvent(event); - const inNamespace = event !== typeEvent; - let jQueryEvent = null; - let bubbles = true; - let nativeDispatch = true; - let defaultPrevented = false; - if (inNamespace && $) { - jQueryEvent = $.Event(event, args); - $(element).trigger(jQueryEvent); - bubbles = !jQueryEvent.isPropagationStopped(); - nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); - defaultPrevented = jQueryEvent.isDefaultPrevented(); - } - let evt = new Event(event, { - bubbles, - cancelable: true - }); - evt = hydrateObj(evt, args); - if (defaultPrevented) { - evt.preventDefault(); - } - if (nativeDispatch) { - element.dispatchEvent(evt); - } - if (evt.defaultPrevented && jQueryEvent) { - jQueryEvent.preventDefault(); - } - return evt; - } -}; -function hydrateObj(obj, meta) { - for (const [key, value] of Object.entries(meta || {})) { - try { - obj[key] = value; - } catch (_unused) { - Object.defineProperty(obj, key, { - configurable: true, - get() { - return value; - } - }); - } - } - return obj; -} -const elementMap = new Map(); -const Data = { - set(element, key, instance) { - if (!elementMap.has(element)) { - elementMap.set(element, new Map()); - } - const instanceMap = elementMap.get(element); - if (!instanceMap.has(key) && instanceMap.size !== 0) { - console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); - return; - } - instanceMap.set(key, instance); - }, - get(element, key) { - if (elementMap.has(element)) { - return elementMap.get(element).get(key) || null; - } - return null; - }, - remove(element, key) { - if (!elementMap.has(element)) { - return; - } - const instanceMap = elementMap.get(element); - instanceMap.delete(key); - if (instanceMap.size === 0) { - elementMap.delete(element); - } - } -}; -function normalizeData(value) { - if (value === 'true') { - return true; - } - if (value === 'false') { - return false; - } - if (value === Number(value).toString()) { - return Number(value); - } - if (value === '' || value === 'null') { - return null; - } - if (typeof value !== 'string') { - return value; - } - try { - return JSON.parse(decodeURIComponent(value)); - } catch (_unused) { - return value; - } -} -function normalizeDataKey(key) { - return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`); -} -const Manipulator = { - setDataAttribute(element, key, value) { - element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); - }, - removeDataAttribute(element, key) { - element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); - }, - getDataAttributes(element) { - if (!element) { - return {}; - } - const attributes = {}; - const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig')); - for (const key of bsKeys) { - let pureKey = key.replace(/^bs/, ''); - pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); - attributes[pureKey] = normalizeData(element.dataset[key]); - } - return attributes; - }, - getDataAttribute(element, key) { - return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); - } -}; -class Config { - static get Default() { - return {}; - } - static get DefaultType() { - return {}; - } - static get NAME() { - throw new Error('You have to implement the static method "NAME", for each component!'); - } - _getConfig(config) { - config = this._mergeConfigObj(config); - config = this._configAfterMerge(config); - this._typeCheckConfig(config); - return config; - } - _configAfterMerge(config) { - return config; - } - _mergeConfigObj(config, element) { - const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; - return { ...this.constructor.Default, - ...(typeof jsonConfig === 'object' ? jsonConfig : {}), - ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}), - ...(typeof config === 'object' ? config : {}) - }; - } - _typeCheckConfig(config, configTypes = this.constructor.DefaultType) { - for (const property of Object.keys(configTypes)) { - const expectedTypes = configTypes[property]; - const value = config[property]; - const valueType = isElement(value) ? 'element' : toType(value); - if (!new RegExp(expectedTypes).test(valueType)) { - throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); - } - } - } -} -const VERSION = '5.2.2'; -class BaseComponent extends Config { - constructor(element, config) { - super(); - element = getElement(element); - if (!element) { - return; - } - this._element = element; - this._config = this._getConfig(config); - Data.set(this._element, this.constructor.DATA_KEY, this); - } - dispose() { - Data.remove(this._element, this.constructor.DATA_KEY); - EventHandler.off(this._element, this.constructor.EVENT_KEY); - for (const propertyName of Object.getOwnPropertyNames(this)) { - this[propertyName] = null; - } - } - _queueCallback(callback, element, isAnimated = true) { - executeAfterTransition(callback, element, isAnimated); - } - _getConfig(config) { - config = this._mergeConfigObj(config, this._element); - config = this._configAfterMerge(config); - this._typeCheckConfig(config); - return config; - } - static getInstance(element) { - return Data.get(getElement(element), this.DATA_KEY); - } - static getOrCreateInstance(element, config = {}) { - return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null); - } - static get VERSION() { - return VERSION; - } - static get DATA_KEY() { - return `bs.${this.NAME}`; - } - static get EVENT_KEY() { - return `.${this.DATA_KEY}`; - } - static eventName(name) { - return `${name}${this.EVENT_KEY}`; - } -} -const enableDismissTrigger = (component, method = 'hide') => { - const clickEvent = `click.dismiss${component.EVENT_KEY}`; - const name = component.NAME; - EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - if (isDisabled(this)) { - return; - } - const target = getElementFromSelector(this) || this.closest(`.${name}`); - const instance = component.getOrCreateInstance(target); - instance[method](); - }); -}; -const NAME$f = 'alert'; -const DATA_KEY$a = 'bs.alert'; -const EVENT_KEY$b = `.${DATA_KEY$a}`; -const EVENT_CLOSE = `close${EVENT_KEY$b}`; -const EVENT_CLOSED = `closed${EVENT_KEY$b}`; -const CLASS_NAME_FADE$5 = 'fade'; -const CLASS_NAME_SHOW$8 = 'show'; -class Alert extends BaseComponent { - static get NAME() { - return NAME$f; - } - close() { - const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); - if (closeEvent.defaultPrevented) { - return; - } - this._element.classList.remove(CLASS_NAME_SHOW$8); - const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); - this._queueCallback(() => this._destroyElement(), this._element, isAnimated); - } - _destroyElement() { - this._element.remove(); - EventHandler.trigger(this._element, EVENT_CLOSED); - this.dispose(); - } - static jQueryInterface(config) { - return this.each(function () { - const data = Alert.getOrCreateInstance(this); - if (typeof config !== 'string') { - return; - } - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - data[config](this); - }); - } -} -enableDismissTrigger(Alert, 'close'); -defineJQueryPlugin(Alert); -const NAME$e = 'button'; -const DATA_KEY$9 = 'bs.button'; -const EVENT_KEY$a = `.${DATA_KEY$9}`; -const DATA_API_KEY$6 = '.data-api'; -const CLASS_NAME_ACTIVE$3 = 'active'; -const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]'; -const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; -class Button extends BaseComponent { - static get NAME() { - return NAME$e; - } - toggle() { - this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3)); - } - static jQueryInterface(config) { - return this.each(function () { - const data = Button.getOrCreateInstance(this); - if (config === 'toggle') { - data[config](); - } - }); - } -} -EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => { - event.preventDefault(); - const button = event.target.closest(SELECTOR_DATA_TOGGLE$5); - const data = Button.getOrCreateInstance(button); - data.toggle(); -}); -defineJQueryPlugin(Button); -const SelectorEngine = { - find(selector, element = document.documentElement) { - return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); - }, - findOne(selector, element = document.documentElement) { - return Element.prototype.querySelector.call(element, selector); - }, - children(element, selector) { - return [].concat(...element.children).filter(child => child.matches(selector)); - }, - parents(element, selector) { - const parents = []; - let ancestor = element.parentNode.closest(selector); - while (ancestor) { - parents.push(ancestor); - ancestor = ancestor.parentNode.closest(selector); - } - return parents; - }, - prev(element, selector) { - let previous = element.previousElementSibling; - while (previous) { - if (previous.matches(selector)) { - return [previous]; - } - previous = previous.previousElementSibling; - } - return []; - }, - next(element, selector) { - let next = element.nextElementSibling; - while (next) { - if (next.matches(selector)) { - return [next]; - } - next = next.nextElementSibling; - } - return []; - }, - focusableChildren(element) { - const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(','); - return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el)); - } -}; -const NAME$d = 'swipe'; -const EVENT_KEY$9 = '.bs.swipe'; -const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`; -const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`; -const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`; -const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`; -const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`; -const POINTER_TYPE_TOUCH = 'touch'; -const POINTER_TYPE_PEN = 'pen'; -const CLASS_NAME_POINTER_EVENT = 'pointer-event'; -const SWIPE_THRESHOLD = 40; -const Default$c = { - endCallback: null, - leftCallback: null, - rightCallback: null -}; -const DefaultType$c = { - endCallback: '(function|null)', - leftCallback: '(function|null)', - rightCallback: '(function|null)' -}; -class Swipe extends Config { - constructor(element, config) { - super(); - this._element = element; - if (!element || !Swipe.isSupported()) { - return; - } - this._config = this._getConfig(config); - this._deltaX = 0; - this._supportPointerEvents = Boolean(window.PointerEvent); - this._initEvents(); - } - static get Default() { - return Default$c; - } - static get DefaultType() { - return DefaultType$c; - } - static get NAME() { - return NAME$d; - } - dispose() { - EventHandler.off(this._element, EVENT_KEY$9); - } - _start(event) { - if (!this._supportPointerEvents) { - this._deltaX = event.touches[0].clientX; - return; - } - if (this._eventIsPointerPenTouch(event)) { - this._deltaX = event.clientX; - } - } - _end(event) { - if (this._eventIsPointerPenTouch(event)) { - this._deltaX = event.clientX - this._deltaX; - } - this._handleSwipe(); - execute(this._config.endCallback); - } - _move(event) { - this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX; - } - _handleSwipe() { - const absDeltaX = Math.abs(this._deltaX); - if (absDeltaX <= SWIPE_THRESHOLD) { - return; - } - const direction = absDeltaX / this._deltaX; - this._deltaX = 0; - if (!direction) { - return; - } - execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback); - } - _initEvents() { - if (this._supportPointerEvents) { - EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event)); - EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event)); - this._element.classList.add(CLASS_NAME_POINTER_EVENT); - } else { - EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event)); - EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event)); - EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event)); - } - } - _eventIsPointerPenTouch(event) { - return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); - } - static isSupported() { - return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; - } -} -const NAME$c = 'carousel'; -const DATA_KEY$8 = 'bs.carousel'; -const EVENT_KEY$8 = `.${DATA_KEY$8}`; -const DATA_API_KEY$5 = '.data-api'; -const ARROW_LEFT_KEY$1 = 'ArrowLeft'; -const ARROW_RIGHT_KEY$1 = 'ArrowRight'; -const TOUCHEVENT_COMPAT_WAIT = 500; -const ORDER_NEXT = 'next'; -const ORDER_PREV = 'prev'; -const DIRECTION_LEFT = 'left'; -const DIRECTION_RIGHT = 'right'; -const EVENT_SLIDE = `slide${EVENT_KEY$8}`; -const EVENT_SLID = `slid${EVENT_KEY$8}`; -const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`; -const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`; -const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`; -const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`; -const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`; -const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`; -const CLASS_NAME_CAROUSEL = 'carousel'; -const CLASS_NAME_ACTIVE$2 = 'active'; -const CLASS_NAME_SLIDE = 'slide'; -const CLASS_NAME_END = 'carousel-item-end'; -const CLASS_NAME_START = 'carousel-item-start'; -const CLASS_NAME_NEXT = 'carousel-item-next'; -const CLASS_NAME_PREV = 'carousel-item-prev'; -const SELECTOR_ACTIVE = '.active'; -const SELECTOR_ITEM = '.carousel-item'; -const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM; -const SELECTOR_ITEM_IMG = '.carousel-item img'; -const SELECTOR_INDICATORS = '.carousel-indicators'; -const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'; -const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; -const KEY_TO_DIRECTION = { - [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT, - [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT -}; -const Default$b = { - interval: 5000, - keyboard: true, - pause: 'hover', - ride: false, - touch: true, - wrap: true -}; -const DefaultType$b = { - interval: '(number|boolean)', - keyboard: 'boolean', - pause: '(string|boolean)', - ride: '(boolean|string)', - touch: 'boolean', - wrap: 'boolean' -}; -class Carousel extends BaseComponent { - constructor(element, config) { - super(element, config); - this._interval = null; - this._activeElement = null; - this._isSliding = false; - this.touchTimeout = null; - this._swipeHelper = null; - this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); - this._addEventListeners(); - if (this._config.ride === CLASS_NAME_CAROUSEL) { - this.cycle(); - } - } - static get Default() { - return Default$b; - } - static get DefaultType() { - return DefaultType$b; - } - static get NAME() { - return NAME$c; - } - next() { - this._slide(ORDER_NEXT); - } - nextWhenVisible() { - if (!document.hidden && isVisible(this._element)) { - this.next(); - } - } - prev() { - this._slide(ORDER_PREV); - } - pause() { - if (this._isSliding) { - triggerTransitionEnd(this._element); - } - this._clearInterval(); - } - cycle() { - this._clearInterval(); - this._updateInterval(); - this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval); - } - _maybeEnableCycle() { - if (!this._config.ride) { - return; - } - if (this._isSliding) { - EventHandler.one(this._element, EVENT_SLID, () => this.cycle()); - return; - } - this.cycle(); - } - to(index) { - const items = this._getItems(); - if (index > items.length - 1 || index < 0) { - return; - } - if (this._isSliding) { - EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); - return; - } - const activeIndex = this._getItemIndex(this._getActive()); - if (activeIndex === index) { - return; - } - const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV; - this._slide(order, items[index]); - } - dispose() { - if (this._swipeHelper) { - this._swipeHelper.dispose(); - } - super.dispose(); - } - _configAfterMerge(config) { - config.defaultInterval = config.interval; - return config; - } - _addEventListeners() { - if (this._config.keyboard) { - EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event)); - } - if (this._config.pause === 'hover') { - EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause()); - EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle()); - } - if (this._config.touch && Swipe.isSupported()) { - this._addTouchEventListeners(); - } - } - _addTouchEventListeners() { - for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) { - EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault()); - } - const endCallBack = () => { - if (this._config.pause !== 'hover') { - return; - } - this.pause(); - if (this.touchTimeout) { - clearTimeout(this.touchTimeout); - } - this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval); - }; - const swipeConfig = { - leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)), - rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)), - endCallback: endCallBack - }; - this._swipeHelper = new Swipe(this._element, swipeConfig); - } - _keydown(event) { - if (/input|textarea/i.test(event.target.tagName)) { - return; - } - const direction = KEY_TO_DIRECTION[event.key]; - if (direction) { - event.preventDefault(); - this._slide(this._directionToOrder(direction)); - } - } - _getItemIndex(element) { - return this._getItems().indexOf(element); - } - _setActiveIndicatorElement(index) { - if (!this._indicatorsElement) { - return; - } - const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); - activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); - activeIndicator.removeAttribute('aria-current'); - const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement); - if (newActiveIndicator) { - newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); - newActiveIndicator.setAttribute('aria-current', 'true'); - } - } - _updateInterval() { - const element = this._activeElement || this._getActive(); - if (!element) { - return; - } - const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10); - this._config.interval = elementInterval || this._config.defaultInterval; - } - _slide(order, element = null) { - if (this._isSliding) { - return; - } - const activeElement = this._getActive(); - const isNext = order === ORDER_NEXT; - const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); - if (nextElement === activeElement) { - return; - } - const nextElementIndex = this._getItemIndex(nextElement); - const triggerEvent = eventName => { - return EventHandler.trigger(this._element, eventName, { - relatedTarget: nextElement, - direction: this._orderToDirection(order), - from: this._getItemIndex(activeElement), - to: nextElementIndex - }); - }; - const slideEvent = triggerEvent(EVENT_SLIDE); - if (slideEvent.defaultPrevented) { - return; - } - if (!activeElement || !nextElement) { - return; - } - const isCycling = Boolean(this._interval); - this.pause(); - this._isSliding = true; - this._setActiveIndicatorElement(nextElementIndex); - this._activeElement = nextElement; - const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; - const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; - nextElement.classList.add(orderClassName); - reflow(nextElement); - activeElement.classList.add(directionalClassName); - nextElement.classList.add(directionalClassName); - const completeCallBack = () => { - nextElement.classList.remove(directionalClassName, orderClassName); - nextElement.classList.add(CLASS_NAME_ACTIVE$2); - activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); - this._isSliding = false; - triggerEvent(EVENT_SLID); - }; - this._queueCallback(completeCallBack, activeElement, this._isAnimated()); - if (isCycling) { - this.cycle(); - } - } - _isAnimated() { - return this._element.classList.contains(CLASS_NAME_SLIDE); - } - _getActive() { - return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); - } - _getItems() { - return SelectorEngine.find(SELECTOR_ITEM, this._element); - } - _clearInterval() { - if (this._interval) { - clearInterval(this._interval); - this._interval = null; - } - } - _directionToOrder(direction) { - if (isRTL()) { - return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; - } - return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; - } - _orderToDirection(order) { - if (isRTL()) { - return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; - } - return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; - } - static jQueryInterface(config) { - return this.each(function () { - const data = Carousel.getOrCreateInstance(this, config); - if (typeof config === 'number') { - data.to(config); - return; - } - if (typeof config === 'string') { - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - } - }); - } -} -EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) { - const target = getElementFromSelector(this); - if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { - return; - } - event.preventDefault(); - const carousel = Carousel.getOrCreateInstance(target); - const slideIndex = this.getAttribute('data-bs-slide-to'); - if (slideIndex) { - carousel.to(slideIndex); - carousel._maybeEnableCycle(); - return; - } - if (Manipulator.getDataAttribute(this, 'slide') === 'next') { - carousel.next(); - carousel._maybeEnableCycle(); - return; - } - carousel.prev(); - carousel._maybeEnableCycle(); -}); -EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { - const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); - for (const carousel of carousels) { - Carousel.getOrCreateInstance(carousel); - } -}); -defineJQueryPlugin(Carousel); -const NAME$b = 'collapse'; -const DATA_KEY$7 = 'bs.collapse'; -const EVENT_KEY$7 = `.${DATA_KEY$7}`; -const DATA_API_KEY$4 = '.data-api'; -const EVENT_SHOW$6 = `show${EVENT_KEY$7}`; -const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`; -const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`; -const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`; -const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`; -const CLASS_NAME_SHOW$7 = 'show'; -const CLASS_NAME_COLLAPSE = 'collapse'; -const CLASS_NAME_COLLAPSING = 'collapsing'; -const CLASS_NAME_COLLAPSED = 'collapsed'; -const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; -const CLASS_NAME_HORIZONTAL = 'collapse-horizontal'; -const WIDTH = 'width'; -const HEIGHT = 'height'; -const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; -const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; -const Default$a = { - parent: null, - toggle: true -}; -const DefaultType$a = { - parent: '(null|element)', - toggle: 'boolean' -}; -class Collapse extends BaseComponent { - constructor(element, config) { - super(element, config); - this._isTransitioning = false; - this._triggerArray = []; - const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); - for (const elem of toggleList) { - const selector = getSelectorFromElement(elem); - const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element); - if (selector !== null && filterElement.length) { - this._triggerArray.push(elem); - } - } - this._initializeChildren(); - if (!this._config.parent) { - this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); - } - if (this._config.toggle) { - this.toggle(); - } - } - static get Default() { - return Default$a; - } - static get DefaultType() { - return DefaultType$a; - } - static get NAME() { - return NAME$b; - } - toggle() { - if (this._isShown()) { - this.hide(); - } else { - this.show(); - } - } - show() { - if (this._isTransitioning || this._isShown()) { - return; - } - let activeChildren = []; - if (this._config.parent) { - activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, { - toggle: false - })); - } - if (activeChildren.length && activeChildren[0]._isTransitioning) { - return; - } - const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); - if (startEvent.defaultPrevented) { - return; - } - for (const activeInstance of activeChildren) { - activeInstance.hide(); - } - const dimension = this._getDimension(); - this._element.classList.remove(CLASS_NAME_COLLAPSE); - this._element.classList.add(CLASS_NAME_COLLAPSING); - this._element.style[dimension] = 0; - this._addAriaAndCollapsedClass(this._triggerArray, true); - this._isTransitioning = true; - const complete = () => { - this._isTransitioning = false; - this._element.classList.remove(CLASS_NAME_COLLAPSING); - this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); - this._element.style[dimension] = ''; - EventHandler.trigger(this._element, EVENT_SHOWN$6); - }; - const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); - const scrollSize = `scroll${capitalizedDimension}`; - this._queueCallback(complete, this._element, true); - this._element.style[dimension] = `${this._element[scrollSize]}px`; - } - hide() { - if (this._isTransitioning || !this._isShown()) { - return; - } - const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); - if (startEvent.defaultPrevented) { - return; - } - const dimension = this._getDimension(); - this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; - reflow(this._element); - this._element.classList.add(CLASS_NAME_COLLAPSING); - this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); - for (const trigger of this._triggerArray) { - const element = getElementFromSelector(trigger); - if (element && !this._isShown(element)) { - this._addAriaAndCollapsedClass([trigger], false); - } - } - this._isTransitioning = true; - const complete = () => { - this._isTransitioning = false; - this._element.classList.remove(CLASS_NAME_COLLAPSING); - this._element.classList.add(CLASS_NAME_COLLAPSE); - EventHandler.trigger(this._element, EVENT_HIDDEN$6); - }; - this._element.style[dimension] = ''; - this._queueCallback(complete, this._element, true); - } - _isShown(element = this._element) { - return element.classList.contains(CLASS_NAME_SHOW$7); - } - _configAfterMerge(config) { - config.toggle = Boolean(config.toggle); - config.parent = getElement(config.parent); - return config; - } - _getDimension() { - return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; - } - _initializeChildren() { - if (!this._config.parent) { - return; - } - const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4); - for (const element of children) { - const selected = getElementFromSelector(element); - if (selected) { - this._addAriaAndCollapsedClass([element], this._isShown(selected)); - } - } - } - _getFirstLevelChildren(selector) { - const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); - return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element)); - } - _addAriaAndCollapsedClass(triggerArray, isOpen) { - if (!triggerArray.length) { - return; - } - for (const element of triggerArray) { - element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); - element.setAttribute('aria-expanded', isOpen); - } - } - static jQueryInterface(config) { - const _config = {}; - if (typeof config === 'string' && /show|hide/.test(config)) { - _config.toggle = false; - } - return this.each(function () { - const data = Collapse.getOrCreateInstance(this, _config); - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - } - }); - } -} -EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) { - if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') { - event.preventDefault(); - } - const selector = getSelectorFromElement(this); - const selectorElements = SelectorEngine.find(selector); - for (const element of selectorElements) { - Collapse.getOrCreateInstance(element, { - toggle: false - }).toggle(); - } -}); -defineJQueryPlugin(Collapse); -const NAME$a = 'dropdown'; -const DATA_KEY$6 = 'bs.dropdown'; -const EVENT_KEY$6 = `.${DATA_KEY$6}`; -const DATA_API_KEY$3 = '.data-api'; -const ESCAPE_KEY$2 = 'Escape'; -const TAB_KEY$1 = 'Tab'; -const ARROW_UP_KEY$1 = 'ArrowUp'; -const ARROW_DOWN_KEY$1 = 'ArrowDown'; -const RIGHT_MOUSE_BUTTON = 2; -const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`; -const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`; -const EVENT_SHOW$5 = `show${EVENT_KEY$6}`; -const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`; -const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; -const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`; -const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`; -const CLASS_NAME_SHOW$6 = 'show'; -const CLASS_NAME_DROPUP = 'dropup'; -const CLASS_NAME_DROPEND = 'dropend'; -const CLASS_NAME_DROPSTART = 'dropstart'; -const CLASS_NAME_DROPUP_CENTER = 'dropup-center'; -const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'; -const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)'; -const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`; -const SELECTOR_MENU = '.dropdown-menu'; -const SELECTOR_NAVBAR = '.navbar'; -const SELECTOR_NAVBAR_NAV = '.navbar-nav'; -const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; -const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'; -const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'; -const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'; -const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'; -const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; -const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; -const PLACEMENT_TOPCENTER = 'top'; -const PLACEMENT_BOTTOMCENTER = 'bottom'; -const Default$9 = { - autoClose: true, - boundary: 'clippingParents', - display: 'dynamic', - offset: [0, 2], - popperConfig: null, - reference: 'toggle' -}; -const DefaultType$9 = { - autoClose: '(boolean|string)', - boundary: '(string|element)', - display: 'string', - offset: '(array|string|function)', - popperConfig: '(null|object|function)', - reference: '(string|element|object)' -}; -class Dropdown extends BaseComponent { - constructor(element, config) { - super(element, config); - this._popper = null; - this._parent = this._element.parentNode; - this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); - this._inNavbar = this._detectNavbar(); - } - static get Default() { - return Default$9; - } - static get DefaultType() { - return DefaultType$9; - } - static get NAME() { - return NAME$a; - } - toggle() { - return this._isShown() ? this.hide() : this.show(); - } - show() { - if (isDisabled(this._element) || this._isShown()) { - return; - } - const relatedTarget = { - relatedTarget: this._element - }; - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget); - if (showEvent.defaultPrevented) { - return; - } - this._createPopper(); - if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) { - for (const element of [].concat(...document.body.children)) { - EventHandler.on(element, 'mouseover', noop); - } - } - this._element.focus(); - this._element.setAttribute('aria-expanded', true); - this._menu.classList.add(CLASS_NAME_SHOW$6); - this._element.classList.add(CLASS_NAME_SHOW$6); - EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget); - } - hide() { - if (isDisabled(this._element) || !this._isShown()) { - return; - } - const relatedTarget = { - relatedTarget: this._element - }; - this._completeHide(relatedTarget); - } - dispose() { - if (this._popper) { - this._popper.destroy(); - } - super.dispose(); - } - update() { - this._inNavbar = this._detectNavbar(); - if (this._popper) { - this._popper.update(); - } - } - _completeHide(relatedTarget) { - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget); - if (hideEvent.defaultPrevented) { - return; - } - if ('ontouchstart' in document.documentElement) { - for (const element of [].concat(...document.body.children)) { - EventHandler.off(element, 'mouseover', noop); - } - } - if (this._popper) { - this._popper.destroy(); - } - this._menu.classList.remove(CLASS_NAME_SHOW$6); - this._element.classList.remove(CLASS_NAME_SHOW$6); - this._element.setAttribute('aria-expanded', 'false'); - Manipulator.removeDataAttribute(this._menu, 'popper'); - EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget); - } - _getConfig(config) { - config = super._getConfig(config); - if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') { - throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); - } - return config; - } - _createPopper() { - if (typeof Popper === 'undefined') { - throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); - } - let referenceElement = this._element; - if (this._config.reference === 'parent') { - referenceElement = this._parent; - } else if (isElement(this._config.reference)) { - referenceElement = getElement(this._config.reference); - } else if (typeof this._config.reference === 'object') { - referenceElement = this._config.reference; - } - const popperConfig = this._getPopperConfig(); - this._popper = createPopper(referenceElement, this._menu, popperConfig); - } - _isShown() { - return this._menu.classList.contains(CLASS_NAME_SHOW$6); - } - _getPlacement() { - const parentDropdown = this._parent; - if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { - return PLACEMENT_RIGHT; - } - if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { - return PLACEMENT_LEFT; - } - if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) { - return PLACEMENT_TOPCENTER; - } - if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) { - return PLACEMENT_BOTTOMCENTER; - } - const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'; - if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { - return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; - } - return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; - } - _detectNavbar() { - return this._element.closest(SELECTOR_NAVBAR) !== null; - } - _getOffset() { - const { - offset - } = this._config; - if (typeof offset === 'string') { - return offset.split(',').map(value => Number.parseInt(value, 10)); - } - if (typeof offset === 'function') { - return popperData => offset(popperData, this._element); - } - return offset; - } - _getPopperConfig() { - const defaultBsPopperConfig = { - placement: this._getPlacement(), - modifiers: [{ - name: 'preventOverflow', - options: { - boundary: this._config.boundary - } - }, { - name: 'offset', - options: { - offset: this._getOffset() - } - }] - }; - if (this._inNavbar || this._config.display === 'static') { - Manipulator.setDataAttribute(this._menu, 'popper', 'static'); - defaultBsPopperConfig.modifiers = [{ - name: 'applyStyles', - enabled: false - }]; - } - return { ...defaultBsPopperConfig, - ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) - }; - } - _selectMenuItem({ - key, - target - }) { - const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element)); - if (!items.length) { - return; - } - getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus(); - } - static jQueryInterface(config) { - return this.each(function () { - const data = Dropdown.getOrCreateInstance(this, config); - if (typeof config !== 'string') { - return; - } - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - }); - } - static clearMenus(event) { - if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) { - return; - } - const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN); - for (const toggle of openToggles) { - const context = Dropdown.getInstance(toggle); - if (!context || context._config.autoClose === false) { - continue; - } - const composedPath = event.composedPath(); - const isMenuTarget = composedPath.includes(context._menu); - if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) { - continue; - } - if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { - continue; - } - const relatedTarget = { - relatedTarget: context._element - }; - if (event.type === 'click') { - relatedTarget.clickEvent = event; - } - context._completeHide(relatedTarget); - } - } - static dataApiKeydownHandler(event) { - const isInput = /input|textarea/i.test(event.target.tagName); - const isEscapeEvent = event.key === ESCAPE_KEY$2; - const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key); - if (!isUpOrDownEvent && !isEscapeEvent) { - return; - } - if (isInput && !isEscapeEvent) { - return; - } - event.preventDefault(); - const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); - const instance = Dropdown.getOrCreateInstance(getToggleButton); - if (isUpOrDownEvent) { - event.stopPropagation(); - instance.show(); - instance._selectMenuItem(event); - return; - } - if (instance._isShown()) { - event.stopPropagation(); - instance.hide(); - getToggleButton.focus(); - } - } -} -EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); -EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); -EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); -EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); -EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { - event.preventDefault(); - Dropdown.getOrCreateInstance(this).toggle(); -}); -defineJQueryPlugin(Dropdown); -const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; -const SELECTOR_STICKY_CONTENT = '.sticky-top'; -const PROPERTY_PADDING = 'padding-right'; -const PROPERTY_MARGIN = 'margin-right'; -class ScrollBarHelper { - constructor() { - this._element = document.body; - } - getWidth() { - const documentWidth = document.documentElement.clientWidth; - return Math.abs(window.innerWidth - documentWidth); - } - hide() { - const width = this.getWidth(); - this._disableOverFlow(); - this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); - this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width); - this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width); - } - reset() { - this._resetElementAttributes(this._element, 'overflow'); - this._resetElementAttributes(this._element, PROPERTY_PADDING); - this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING); - this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN); - } - isOverflowing() { - return this.getWidth() > 0; - } - _disableOverFlow() { - this._saveInitialAttribute(this._element, 'overflow'); - this._element.style.overflow = 'hidden'; - } - _setElementAttributes(selector, styleProperty, callback) { - const scrollbarWidth = this.getWidth(); - const manipulationCallBack = element => { - if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { - return; - } - this._saveInitialAttribute(element, styleProperty); - const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty); - element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`); - }; - this._applyManipulationCallback(selector, manipulationCallBack); - } - _saveInitialAttribute(element, styleProperty) { - const actualValue = element.style.getPropertyValue(styleProperty); - if (actualValue) { - Manipulator.setDataAttribute(element, styleProperty, actualValue); - } - } - _resetElementAttributes(selector, styleProperty) { - const manipulationCallBack = element => { - const value = Manipulator.getDataAttribute(element, styleProperty); - if (value === null) { - element.style.removeProperty(styleProperty); - return; - } - Manipulator.removeDataAttribute(element, styleProperty); - element.style.setProperty(styleProperty, value); - }; - this._applyManipulationCallback(selector, manipulationCallBack); - } - _applyManipulationCallback(selector, callBack) { - if (isElement(selector)) { - callBack(selector); - return; - } - for (const sel of SelectorEngine.find(selector, this._element)) { - callBack(sel); - } - } -} -const NAME$9 = 'backdrop'; -const CLASS_NAME_FADE$4 = 'fade'; -const CLASS_NAME_SHOW$5 = 'show'; -const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; -const Default$8 = { - className: 'modal-backdrop', - clickCallback: null, - isAnimated: false, - isVisible: true, - rootElement: 'body' -}; -const DefaultType$8 = { - className: 'string', - clickCallback: '(function|null)', - isAnimated: 'boolean', - isVisible: 'boolean', - rootElement: '(element|string)' -}; -class Backdrop extends Config { - constructor(config) { - super(); - this._config = this._getConfig(config); - this._isAppended = false; - this._element = null; - } - static get Default() { - return Default$8; - } - static get DefaultType() { - return DefaultType$8; - } - static get NAME() { - return NAME$9; - } - show(callback) { - if (!this._config.isVisible) { - execute(callback); - return; - } - this._append(); - const element = this._getElement(); - if (this._config.isAnimated) { - reflow(element); - } - element.classList.add(CLASS_NAME_SHOW$5); - this._emulateAnimation(() => { - execute(callback); - }); - } - hide(callback) { - if (!this._config.isVisible) { - execute(callback); - return; - } - this._getElement().classList.remove(CLASS_NAME_SHOW$5); - this._emulateAnimation(() => { - this.dispose(); - execute(callback); - }); - } - dispose() { - if (!this._isAppended) { - return; - } - EventHandler.off(this._element, EVENT_MOUSEDOWN); - this._element.remove(); - this._isAppended = false; - } - _getElement() { - if (!this._element) { - const backdrop = document.createElement('div'); - backdrop.className = this._config.className; - if (this._config.isAnimated) { - backdrop.classList.add(CLASS_NAME_FADE$4); - } - this._element = backdrop; - } - return this._element; - } - _configAfterMerge(config) { - config.rootElement = getElement(config.rootElement); - return config; - } - _append() { - if (this._isAppended) { - return; - } - const element = this._getElement(); - this._config.rootElement.append(element); - EventHandler.on(element, EVENT_MOUSEDOWN, () => { - execute(this._config.clickCallback); - }); - this._isAppended = true; - } - _emulateAnimation(callback) { - executeAfterTransition(callback, this._getElement(), this._config.isAnimated); - } -} -const NAME$8 = 'focustrap'; -const DATA_KEY$5 = 'bs.focustrap'; -const EVENT_KEY$5 = `.${DATA_KEY$5}`; -const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`; -const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; -const TAB_KEY = 'Tab'; -const TAB_NAV_FORWARD = 'forward'; -const TAB_NAV_BACKWARD = 'backward'; -const Default$7 = { - autofocus: true, - trapElement: null -}; -const DefaultType$7 = { - autofocus: 'boolean', - trapElement: 'element' -}; -class FocusTrap extends Config { - constructor(config) { - super(); - this._config = this._getConfig(config); - this._isActive = false; - this._lastTabNavDirection = null; - } - static get Default() { - return Default$7; - } - static get DefaultType() { - return DefaultType$7; - } - static get NAME() { - return NAME$8; - } - activate() { - if (this._isActive) { - return; - } - if (this._config.autofocus) { - this._config.trapElement.focus(); - } - EventHandler.off(document, EVENT_KEY$5); - EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event)); - EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)); - this._isActive = true; - } - deactivate() { - if (!this._isActive) { - return; - } - this._isActive = false; - EventHandler.off(document, EVENT_KEY$5); - } - _handleFocusin(event) { - const { - trapElement - } = this._config; - if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) { - return; - } - const elements = SelectorEngine.focusableChildren(trapElement); - if (elements.length === 0) { - trapElement.focus(); - } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { - elements[elements.length - 1].focus(); - } else { - elements[0].focus(); - } - } - _handleKeydown(event) { - if (event.key !== TAB_KEY) { - return; - } - this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; - } -} -const NAME$7 = 'modal'; -const DATA_KEY$4 = 'bs.modal'; -const EVENT_KEY$4 = `.${DATA_KEY$4}`; -const DATA_API_KEY$2 = '.data-api'; -const ESCAPE_KEY$1 = 'Escape'; -const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`; -const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; -const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; -const EVENT_SHOW$4 = `show${EVENT_KEY$4}`; -const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; -const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; -const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; -const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; -const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; -const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; -const CLASS_NAME_OPEN = 'modal-open'; -const CLASS_NAME_FADE$3 = 'fade'; -const CLASS_NAME_SHOW$4 = 'show'; -const CLASS_NAME_STATIC = 'modal-static'; -const OPEN_SELECTOR$1 = '.modal.show'; -const SELECTOR_DIALOG = '.modal-dialog'; -const SELECTOR_MODAL_BODY = '.modal-body'; -const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; -const Default$6 = { - backdrop: true, - focus: true, - keyboard: true -}; -const DefaultType$6 = { - backdrop: '(boolean|string)', - focus: 'boolean', - keyboard: 'boolean' -}; -class Modal extends BaseComponent { - constructor(element, config) { - super(element, config); - this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); - this._backdrop = this._initializeBackDrop(); - this._focustrap = this._initializeFocusTrap(); - this._isShown = false; - this._isTransitioning = false; - this._scrollBar = new ScrollBarHelper(); - this._addEventListeners(); - } - static get Default() { - return Default$6; - } - static get DefaultType() { - return DefaultType$6; - } - static get NAME() { - return NAME$7; - } - toggle(relatedTarget) { - return this._isShown ? this.hide() : this.show(relatedTarget); - } - show(relatedTarget) { - if (this._isShown || this._isTransitioning) { - return; - } - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, { - relatedTarget - }); - if (showEvent.defaultPrevented) { - return; - } - this._isShown = true; - this._isTransitioning = true; - this._scrollBar.hide(); - document.body.classList.add(CLASS_NAME_OPEN); - this._adjustDialog(); - this._backdrop.show(() => this._showElement(relatedTarget)); - } - hide() { - if (!this._isShown || this._isTransitioning) { - return; - } - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4); - if (hideEvent.defaultPrevented) { - return; - } - this._isShown = false; - this._isTransitioning = true; - this._focustrap.deactivate(); - this._element.classList.remove(CLASS_NAME_SHOW$4); - this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); - } - dispose() { - for (const htmlElement of [window, this._dialog]) { - EventHandler.off(htmlElement, EVENT_KEY$4); - } - this._backdrop.dispose(); - this._focustrap.deactivate(); - super.dispose(); - } - handleUpdate() { - this._adjustDialog(); - } - _initializeBackDrop() { - return new Backdrop({ - isVisible: Boolean(this._config.backdrop), - isAnimated: this._isAnimated() - }); - } - _initializeFocusTrap() { - return new FocusTrap({ - trapElement: this._element - }); - } - _showElement(relatedTarget) { - if (!document.body.contains(this._element)) { - document.body.append(this._element); - } - this._element.style.display = 'block'; - this._element.removeAttribute('aria-hidden'); - this._element.setAttribute('aria-modal', true); - this._element.setAttribute('role', 'dialog'); - this._element.scrollTop = 0; - const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); - if (modalBody) { - modalBody.scrollTop = 0; - } - reflow(this._element); - this._element.classList.add(CLASS_NAME_SHOW$4); - const transitionComplete = () => { - if (this._config.focus) { - this._focustrap.activate(); - } - this._isTransitioning = false; - EventHandler.trigger(this._element, EVENT_SHOWN$4, { - relatedTarget - }); - }; - this._queueCallback(transitionComplete, this._dialog, this._isAnimated()); - } - _addEventListeners() { - EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => { - if (event.key !== ESCAPE_KEY$1) { - return; - } - if (this._config.keyboard) { - event.preventDefault(); - this.hide(); - return; - } - this._triggerBackdropTransition(); - }); - EventHandler.on(window, EVENT_RESIZE$1, () => { - if (this._isShown && !this._isTransitioning) { - this._adjustDialog(); - } - }); - EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => { - EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => { - if (this._element !== event.target || this._element !== event2.target) { - return; - } - if (this._config.backdrop === 'static') { - this._triggerBackdropTransition(); - return; - } - if (this._config.backdrop) { - this.hide(); - } - }); - }); - } - _hideModal() { - this._element.style.display = 'none'; - this._element.setAttribute('aria-hidden', true); - this._element.removeAttribute('aria-modal'); - this._element.removeAttribute('role'); - this._isTransitioning = false; - this._backdrop.hide(() => { - document.body.classList.remove(CLASS_NAME_OPEN); - this._resetAdjustments(); - this._scrollBar.reset(); - EventHandler.trigger(this._element, EVENT_HIDDEN$4); - }); - } - _isAnimated() { - return this._element.classList.contains(CLASS_NAME_FADE$3); - } - _triggerBackdropTransition() { - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); - if (hideEvent.defaultPrevented) { - return; - } - const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; - const initialOverflowY = this._element.style.overflowY; - if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) { - return; - } - if (!isModalOverflowing) { - this._element.style.overflowY = 'hidden'; - } - this._element.classList.add(CLASS_NAME_STATIC); - this._queueCallback(() => { - this._element.classList.remove(CLASS_NAME_STATIC); - this._queueCallback(() => { - this._element.style.overflowY = initialOverflowY; - }, this._dialog); - }, this._dialog); - this._element.focus(); - } - _adjustDialog() { - const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; - const scrollbarWidth = this._scrollBar.getWidth(); - const isBodyOverflowing = scrollbarWidth > 0; - if (isBodyOverflowing && !isModalOverflowing) { - const property = isRTL() ? 'paddingLeft' : 'paddingRight'; - this._element.style[property] = `${scrollbarWidth}px`; - } - if (!isBodyOverflowing && isModalOverflowing) { - const property = isRTL() ? 'paddingRight' : 'paddingLeft'; - this._element.style[property] = `${scrollbarWidth}px`; - } - } - _resetAdjustments() { - this._element.style.paddingLeft = ''; - this._element.style.paddingRight = ''; - } - static jQueryInterface(config, relatedTarget) { - return this.each(function () { - const data = Modal.getOrCreateInstance(this, config); - if (typeof config !== 'string') { - return; - } - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - data[config](relatedTarget); - }); - } -} -EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { - const target = getElementFromSelector(this); - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - EventHandler.one(target, EVENT_SHOW$4, showEvent => { - if (showEvent.defaultPrevented) { - return; - } - EventHandler.one(target, EVENT_HIDDEN$4, () => { - if (isVisible(this)) { - this.focus(); - } - }); - }); - const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); - if (alreadyOpen) { - Modal.getInstance(alreadyOpen).hide(); - } - const data = Modal.getOrCreateInstance(target); - data.toggle(this); -}); -enableDismissTrigger(Modal); -defineJQueryPlugin(Modal); -const NAME$6 = 'offcanvas'; -const DATA_KEY$3 = 'bs.offcanvas'; -const EVENT_KEY$3 = `.${DATA_KEY$3}`; -const DATA_API_KEY$1 = '.data-api'; -const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`; -const ESCAPE_KEY = 'Escape'; -const CLASS_NAME_SHOW$3 = 'show'; -const CLASS_NAME_SHOWING$1 = 'showing'; -const CLASS_NAME_HIDING = 'hiding'; -const CLASS_NAME_BACKDROP = 'offcanvas-backdrop'; -const OPEN_SELECTOR = '.offcanvas.show'; -const EVENT_SHOW$3 = `show${EVENT_KEY$3}`; -const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`; -const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`; -const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`; -const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`; -const EVENT_RESIZE = `resize${EVENT_KEY$3}`; -const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`; -const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`; -const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]'; -const Default$5 = { - backdrop: true, - keyboard: true, - scroll: false -}; -const DefaultType$5 = { - backdrop: '(boolean|string)', - keyboard: 'boolean', - scroll: 'boolean' -}; -class Offcanvas extends BaseComponent { - constructor(element, config) { - super(element, config); - this._isShown = false; - this._backdrop = this._initializeBackDrop(); - this._focustrap = this._initializeFocusTrap(); - this._addEventListeners(); - } - static get Default() { - return Default$5; - } - static get DefaultType() { - return DefaultType$5; - } - static get NAME() { - return NAME$6; - } - toggle(relatedTarget) { - return this._isShown ? this.hide() : this.show(relatedTarget); - } - show(relatedTarget) { - if (this._isShown) { - return; - } - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { - relatedTarget - }); - if (showEvent.defaultPrevented) { - return; - } - this._isShown = true; - this._backdrop.show(); - if (!this._config.scroll) { - new ScrollBarHelper().hide(); - } - this._element.setAttribute('aria-modal', true); - this._element.setAttribute('role', 'dialog'); - this._element.classList.add(CLASS_NAME_SHOWING$1); - const completeCallBack = () => { - if (!this._config.scroll || this._config.backdrop) { - this._focustrap.activate(); - } - this._element.classList.add(CLASS_NAME_SHOW$3); - this._element.classList.remove(CLASS_NAME_SHOWING$1); - EventHandler.trigger(this._element, EVENT_SHOWN$3, { - relatedTarget - }); - }; - this._queueCallback(completeCallBack, this._element, true); - } - hide() { - if (!this._isShown) { - return; - } - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); - if (hideEvent.defaultPrevented) { - return; - } - this._focustrap.deactivate(); - this._element.blur(); - this._isShown = false; - this._element.classList.add(CLASS_NAME_HIDING); - this._backdrop.hide(); - const completeCallback = () => { - this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING); - this._element.removeAttribute('aria-modal'); - this._element.removeAttribute('role'); - if (!this._config.scroll) { - new ScrollBarHelper().reset(); - } - EventHandler.trigger(this._element, EVENT_HIDDEN$3); - }; - this._queueCallback(completeCallback, this._element, true); - } - dispose() { - this._backdrop.dispose(); - this._focustrap.deactivate(); - super.dispose(); - } - _initializeBackDrop() { - const clickCallback = () => { - if (this._config.backdrop === 'static') { - EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); - return; - } - this.hide(); - }; - const isVisible = Boolean(this._config.backdrop); - return new Backdrop({ - className: CLASS_NAME_BACKDROP, - isVisible, - isAnimated: true, - rootElement: this._element.parentNode, - clickCallback: isVisible ? clickCallback : null - }); - } - _initializeFocusTrap() { - return new FocusTrap({ - trapElement: this._element - }); - } - _addEventListeners() { - EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => { - if (event.key !== ESCAPE_KEY) { - return; - } - if (!this._config.keyboard) { - EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); - return; - } - this.hide(); - }); - } - static jQueryInterface(config) { - return this.each(function () { - const data = Offcanvas.getOrCreateInstance(this, config); - if (typeof config !== 'string') { - return; - } - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - data[config](this); - }); - } -} -EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { - const target = getElementFromSelector(this); - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - if (isDisabled(this)) { - return; - } - EventHandler.one(target, EVENT_HIDDEN$3, () => { - if (isVisible(this)) { - this.focus(); - } - }); - const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); - if (alreadyOpen && alreadyOpen !== target) { - Offcanvas.getInstance(alreadyOpen).hide(); - } - const data = Offcanvas.getOrCreateInstance(target); - data.toggle(this); -}); -EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { - for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { - Offcanvas.getOrCreateInstance(selector).show(); - } -}); -EventHandler.on(window, EVENT_RESIZE, () => { - for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) { - if (getComputedStyle(element).position !== 'fixed') { - Offcanvas.getOrCreateInstance(element).hide(); - } - } -}); -enableDismissTrigger(Offcanvas); -defineJQueryPlugin(Offcanvas); -const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); -const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; -const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; -const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; -const allowedAttribute = (attribute, allowedAttributeList) => { - const attributeName = attribute.nodeName.toLowerCase(); - if (allowedAttributeList.includes(attributeName)) { - if (uriAttributes.has(attributeName)) { - return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue)); - } - return true; - } - return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName)); -}; -const DefaultAllowlist = { - '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], - a: ['target', 'href', 'title', 'rel'], - area: [], - b: [], - br: [], - col: [], - code: [], - div: [], - em: [], - hr: [], - h1: [], - h2: [], - h3: [], - h4: [], - h5: [], - h6: [], - i: [], - img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], - li: [], - ol: [], - p: [], - pre: [], - s: [], - small: [], - span: [], - sub: [], - sup: [], - strong: [], - u: [], - ul: [] -}; -function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { - if (!unsafeHtml.length) { - return unsafeHtml; - } - if (sanitizeFunction && typeof sanitizeFunction === 'function') { - return sanitizeFunction(unsafeHtml); - } - const domParser = new window.DOMParser(); - const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); - const elements = [].concat(...createdDocument.body.querySelectorAll('*')); - for (const element of elements) { - const elementName = element.nodeName.toLowerCase(); - if (!Object.keys(allowList).includes(elementName)) { - element.remove(); - continue; - } - const attributeList = [].concat(...element.attributes); - const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []); - for (const attribute of attributeList) { - if (!allowedAttribute(attribute, allowedAttributes)) { - element.removeAttribute(attribute.nodeName); - } - } - } - return createdDocument.body.innerHTML; -} -const NAME$5 = 'TemplateFactory'; -const Default$4 = { - allowList: DefaultAllowlist, - content: {}, - extraClass: '', - html: false, - sanitize: true, - sanitizeFn: null, - template: '
' -}; -const DefaultType$4 = { - allowList: 'object', - content: 'object', - extraClass: '(string|function)', - html: 'boolean', - sanitize: 'boolean', - sanitizeFn: '(null|function)', - template: 'string' -}; -const DefaultContentType = { - entry: '(string|element|function|null)', - selector: '(string|element)' -}; -class TemplateFactory extends Config { - constructor(config) { - super(); - this._config = this._getConfig(config); - } - static get Default() { - return Default$4; - } - static get DefaultType() { - return DefaultType$4; - } - static get NAME() { - return NAME$5; - } - getContent() { - return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean); - } - hasContent() { - return this.getContent().length > 0; - } - changeContent(content) { - this._checkContent(content); - this._config.content = { ...this._config.content, - ...content - }; - return this; - } - toHtml() { - const templateWrapper = document.createElement('div'); - templateWrapper.innerHTML = this._maybeSanitize(this._config.template); - for (const [selector, text] of Object.entries(this._config.content)) { - this._setContent(templateWrapper, text, selector); - } - const template = templateWrapper.children[0]; - const extraClass = this._resolvePossibleFunction(this._config.extraClass); - if (extraClass) { - template.classList.add(...extraClass.split(' ')); - } - return template; - } - _typeCheckConfig(config) { - super._typeCheckConfig(config); - this._checkContent(config.content); - } - _checkContent(arg) { - for (const [selector, content] of Object.entries(arg)) { - super._typeCheckConfig({ - selector, - entry: content - }, DefaultContentType); - } - } - _setContent(template, content, selector) { - const templateElement = SelectorEngine.findOne(selector, template); - if (!templateElement) { - return; - } - content = this._resolvePossibleFunction(content); - if (!content) { - templateElement.remove(); - return; - } - if (isElement(content)) { - this._putElementInTemplate(getElement(content), templateElement); - return; - } - if (this._config.html) { - templateElement.innerHTML = this._maybeSanitize(content); - return; - } - templateElement.textContent = content; - } - _maybeSanitize(arg) { - return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg; - } - _resolvePossibleFunction(arg) { - return typeof arg === 'function' ? arg(this) : arg; - } - _putElementInTemplate(element, templateElement) { - if (this._config.html) { - templateElement.innerHTML = ''; - templateElement.append(element); - return; - } - templateElement.textContent = element.textContent; - } -} -const NAME$4 = 'tooltip'; -const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']); -const CLASS_NAME_FADE$2 = 'fade'; -const CLASS_NAME_MODAL = 'modal'; -const CLASS_NAME_SHOW$2 = 'show'; -const SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; -const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; -const EVENT_MODAL_HIDE = 'hide.bs.modal'; -const TRIGGER_HOVER = 'hover'; -const TRIGGER_FOCUS = 'focus'; -const TRIGGER_CLICK = 'click'; -const TRIGGER_MANUAL = 'manual'; -const EVENT_HIDE$2 = 'hide'; -const EVENT_HIDDEN$2 = 'hidden'; -const EVENT_SHOW$2 = 'show'; -const EVENT_SHOWN$2 = 'shown'; -const EVENT_INSERTED = 'inserted'; -const EVENT_CLICK$1 = 'click'; -const EVENT_FOCUSIN$1 = 'focusin'; -const EVENT_FOCUSOUT$1 = 'focusout'; -const EVENT_MOUSEENTER = 'mouseenter'; -const EVENT_MOUSELEAVE = 'mouseleave'; -const AttachmentMap = { - AUTO: 'auto', - TOP: 'top', - RIGHT: isRTL() ? 'left' : 'right', - BOTTOM: 'bottom', - LEFT: isRTL() ? 'right' : 'left' -}; -const Default$3 = { - allowList: DefaultAllowlist, - animation: true, - boundary: 'clippingParents', - container: false, - customClass: '', - delay: 0, - fallbackPlacements: ['top', 'right', 'bottom', 'left'], - html: false, - offset: [0, 0], - placement: 'top', - popperConfig: null, - sanitize: true, - sanitizeFn: null, - selector: false, - template: '', - title: '', - trigger: 'hover focus' -}; -const DefaultType$3 = { - allowList: 'object', - animation: 'boolean', - boundary: '(string|element)', - container: '(string|element|boolean)', - customClass: '(string|function)', - delay: '(number|object)', - fallbackPlacements: 'array', - html: 'boolean', - offset: '(array|string|function)', - placement: '(string|function)', - popperConfig: '(null|object|function)', - sanitize: 'boolean', - sanitizeFn: '(null|function)', - selector: '(string|boolean)', - template: 'string', - title: '(string|element|function)', - trigger: 'string' -}; -class Tooltip extends BaseComponent { - constructor(element, config) { - if (typeof Popper === 'undefined') { - throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); - } - super(element, config); - this._isEnabled = true; - this._timeout = 0; - this._isHovered = null; - this._activeTrigger = {}; - this._popper = null; - this._templateFactory = null; - this._newContent = null; - this.tip = null; - this._setListeners(); - if (!this._config.selector) { - this._fixTitle(); - } - } - static get Default() { - return Default$3; - } - static get DefaultType() { - return DefaultType$3; - } - static get NAME() { - return NAME$4; - } - enable() { - this._isEnabled = true; - } - disable() { - this._isEnabled = false; - } - toggleEnabled() { - this._isEnabled = !this._isEnabled; - } - toggle() { - if (!this._isEnabled) { - return; - } - this._activeTrigger.click = !this._activeTrigger.click; - if (this._isShown()) { - this._leave(); - return; - } - this._enter(); - } - dispose() { - clearTimeout(this._timeout); - EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); - if (this.tip) { - this.tip.remove(); - } - if (this._element.getAttribute('data-bs-original-title')) { - this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title')); - } - this._disposePopper(); - super.dispose(); - } - show() { - if (this._element.style.display === 'none') { - throw new Error('Please use show on visible elements'); - } - if (!(this._isWithContent() && this._isEnabled)) { - return; - } - const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2)); - const shadowRoot = findShadowRoot(this._element); - const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); - if (showEvent.defaultPrevented || !isInTheDom) { - return; - } - if (this.tip) { - this.tip.remove(); - this.tip = null; - } - const tip = this._getTipElement(); - this._element.setAttribute('aria-describedby', tip.getAttribute('id')); - const { - container - } = this._config; - if (!this._element.ownerDocument.documentElement.contains(this.tip)) { - container.append(tip); - EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)); - } - if (this._popper) { - this._popper.update(); - } else { - this._popper = this._createPopper(tip); - } - tip.classList.add(CLASS_NAME_SHOW$2); - if ('ontouchstart' in document.documentElement) { - for (const element of [].concat(...document.body.children)) { - EventHandler.on(element, 'mouseover', noop); - } - } - const complete = () => { - EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2)); - if (this._isHovered === false) { - this._leave(); - } - this._isHovered = false; - }; - this._queueCallback(complete, this.tip, this._isAnimated()); - } - hide() { - if (!this._isShown()) { - return; - } - const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2)); - if (hideEvent.defaultPrevented) { - return; - } - const tip = this._getTipElement(); - tip.classList.remove(CLASS_NAME_SHOW$2); - if ('ontouchstart' in document.documentElement) { - for (const element of [].concat(...document.body.children)) { - EventHandler.off(element, 'mouseover', noop); - } - } - this._activeTrigger[TRIGGER_CLICK] = false; - this._activeTrigger[TRIGGER_FOCUS] = false; - this._activeTrigger[TRIGGER_HOVER] = false; - this._isHovered = null; - const complete = () => { - if (this._isWithActiveTrigger()) { - return; - } - if (!this._isHovered) { - tip.remove(); - } - this._element.removeAttribute('aria-describedby'); - EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2)); - this._disposePopper(); - }; - this._queueCallback(complete, this.tip, this._isAnimated()); - } - update() { - if (this._popper) { - this._popper.update(); - } - } - _isWithContent() { - return Boolean(this._getTitle()); - } - _getTipElement() { - if (!this.tip) { - this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); - } - return this.tip; - } - _createTipElement(content) { - const tip = this._getTemplateFactory(content).toHtml(); - if (!tip) { - return null; - } - tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); - tip.classList.add(`bs-${this.constructor.NAME}-auto`); - const tipId = getUID(this.constructor.NAME).toString(); - tip.setAttribute('id', tipId); - if (this._isAnimated()) { - tip.classList.add(CLASS_NAME_FADE$2); - } - return tip; - } - setContent(content) { - this._newContent = content; - if (this._isShown()) { - this._disposePopper(); - this.show(); - } - } - _getTemplateFactory(content) { - if (this._templateFactory) { - this._templateFactory.changeContent(content); - } else { - this._templateFactory = new TemplateFactory({ ...this._config, - content, - extraClass: this._resolvePossibleFunction(this._config.customClass) - }); - } - return this._templateFactory; - } - _getContentForTemplate() { - return { - [SELECTOR_TOOLTIP_INNER]: this._getTitle() - }; - } - _getTitle() { - return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title'); - } - _initializeOnDelegatedTarget(event) { - return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); - } - _isAnimated() { - return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2); - } - _isShown() { - return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2); - } - _createPopper(tip) { - const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement; - const attachment = AttachmentMap[placement.toUpperCase()]; - return createPopper(this._element, tip, this._getPopperConfig(attachment)); - } - _getOffset() { - const { - offset - } = this._config; - if (typeof offset === 'string') { - return offset.split(',').map(value => Number.parseInt(value, 10)); - } - if (typeof offset === 'function') { - return popperData => offset(popperData, this._element); - } - return offset; - } - _resolvePossibleFunction(arg) { - return typeof arg === 'function' ? arg.call(this._element) : arg; - } - _getPopperConfig(attachment) { - const defaultBsPopperConfig = { - placement: attachment, - modifiers: [{ - name: 'flip', - options: { - fallbackPlacements: this._config.fallbackPlacements - } - }, { - name: 'offset', - options: { - offset: this._getOffset() - } - }, { - name: 'preventOverflow', - options: { - boundary: this._config.boundary - } - }, { - name: 'arrow', - options: { - element: `.${this.constructor.NAME}-arrow` - } - }, { - name: 'preSetPlacement', - enabled: true, - phase: 'beforeMain', - fn: data => { - this._getTipElement().setAttribute('data-popper-placement', data.state.placement); - } - }] - }; - return { ...defaultBsPopperConfig, - ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) - }; - } - _setListeners() { - const triggers = this._config.trigger.split(' '); - for (const trigger of triggers) { - if (trigger === 'click') { - EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => { - const context = this._initializeOnDelegatedTarget(event); - context.toggle(); - }); - } else if (trigger !== TRIGGER_MANUAL) { - const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); - const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); - EventHandler.on(this._element, eventIn, this._config.selector, event => { - const context = this._initializeOnDelegatedTarget(event); - context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; - context._enter(); - }); - EventHandler.on(this._element, eventOut, this._config.selector, event => { - const context = this._initializeOnDelegatedTarget(event); - context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); - context._leave(); - }); - } - } - this._hideModalHandler = () => { - if (this._element) { - this.hide(); - } - }; - EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); - } - _fixTitle() { - const title = this._element.getAttribute('title'); - if (!title) { - return; - } - if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) { - this._element.setAttribute('aria-label', title); - } - this._element.setAttribute('data-bs-original-title', title); - this._element.removeAttribute('title'); - } - _enter() { - if (this._isShown() || this._isHovered) { - this._isHovered = true; - return; - } - this._isHovered = true; - this._setTimeout(() => { - if (this._isHovered) { - this.show(); - } - }, this._config.delay.show); - } - _leave() { - if (this._isWithActiveTrigger()) { - return; - } - this._isHovered = false; - this._setTimeout(() => { - if (!this._isHovered) { - this.hide(); - } - }, this._config.delay.hide); - } - _setTimeout(handler, timeout) { - clearTimeout(this._timeout); - this._timeout = setTimeout(handler, timeout); - } - _isWithActiveTrigger() { - return Object.values(this._activeTrigger).includes(true); - } - _getConfig(config) { - const dataAttributes = Manipulator.getDataAttributes(this._element); - for (const dataAttribute of Object.keys(dataAttributes)) { - if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) { - delete dataAttributes[dataAttribute]; - } - } - config = { ...dataAttributes, - ...(typeof config === 'object' && config ? config : {}) - }; - config = this._mergeConfigObj(config); - config = this._configAfterMerge(config); - this._typeCheckConfig(config); - return config; - } - _configAfterMerge(config) { - config.container = config.container === false ? document.body : getElement(config.container); - if (typeof config.delay === 'number') { - config.delay = { - show: config.delay, - hide: config.delay - }; - } - if (typeof config.title === 'number') { - config.title = config.title.toString(); - } - if (typeof config.content === 'number') { - config.content = config.content.toString(); - } - return config; - } - _getDelegateConfig() { - const config = {}; - for (const key in this._config) { - if (this.constructor.Default[key] !== this._config[key]) { - config[key] = this._config[key]; - } - } - config.selector = false; - config.trigger = 'manual'; - return config; - } - _disposePopper() { - if (this._popper) { - this._popper.destroy(); - this._popper = null; - } - } - static jQueryInterface(config) { - return this.each(function () { - const data = Tooltip.getOrCreateInstance(this, config); - if (typeof config !== 'string') { - return; - } - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - }); - } -} -defineJQueryPlugin(Tooltip); -const NAME$3 = 'popover'; -const SELECTOR_TITLE = '.popover-header'; -const SELECTOR_CONTENT = '.popover-body'; -const Default$2 = { ...Tooltip.Default, - content: '', - offset: [0, 8], - placement: 'right', - template: '', - trigger: 'click' -}; -const DefaultType$2 = { ...Tooltip.DefaultType, - content: '(null|string|element|function)' -}; -class Popover extends Tooltip { - static get Default() { - return Default$2; - } - static get DefaultType() { - return DefaultType$2; - } - static get NAME() { - return NAME$3; - } - _isWithContent() { - return this._getTitle() || this._getContent(); - } - _getContentForTemplate() { - return { - [SELECTOR_TITLE]: this._getTitle(), - [SELECTOR_CONTENT]: this._getContent() - }; - } - _getContent() { - return this._resolvePossibleFunction(this._config.content); - } - static jQueryInterface(config) { - return this.each(function () { - const data = Popover.getOrCreateInstance(this, config); - if (typeof config !== 'string') { - return; - } - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - }); - } -} -defineJQueryPlugin(Popover); -const NAME$2 = 'scrollspy'; -const DATA_KEY$2 = 'bs.scrollspy'; -const EVENT_KEY$2 = `.${DATA_KEY$2}`; -const DATA_API_KEY = '.data-api'; -const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; -const EVENT_CLICK = `click${EVENT_KEY$2}`; -const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`; -const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; -const CLASS_NAME_ACTIVE$1 = 'active'; -const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; -const SELECTOR_TARGET_LINKS = '[href]'; -const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; -const SELECTOR_NAV_LINKS = '.nav-link'; -const SELECTOR_NAV_ITEMS = '.nav-item'; -const SELECTOR_LIST_ITEMS = '.list-group-item'; -const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`; -const SELECTOR_DROPDOWN = '.dropdown'; -const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle'; -const Default$1 = { - offset: null, - rootMargin: '0px 0px -25%', - smoothScroll: false, - target: null, - threshold: [0.1, 0.5, 1] -}; -const DefaultType$1 = { - offset: '(number|null)', - rootMargin: 'string', - smoothScroll: 'boolean', - target: 'element', - threshold: 'array' -}; -class ScrollSpy extends BaseComponent { - constructor(element, config) { - super(element, config); - this._targetLinks = new Map(); - this._observableSections = new Map(); - this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element; - this._activeTarget = null; - this._observer = null; - this._previousScrollData = { - visibleEntryTop: 0, - parentScrollTop: 0 - }; - this.refresh(); - } - static get Default() { - return Default$1; - } - static get DefaultType() { - return DefaultType$1; - } - static get NAME() { - return NAME$2; - } - refresh() { - this._initializeTargetsAndObservables(); - this._maybeEnableSmoothScroll(); - if (this._observer) { - this._observer.disconnect(); - } else { - this._observer = this._getNewObserver(); - } - for (const section of this._observableSections.values()) { - this._observer.observe(section); - } - } - dispose() { - this._observer.disconnect(); - super.dispose(); - } - _configAfterMerge(config) { - config.target = getElement(config.target) || document.body; - config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin; - if (typeof config.threshold === 'string') { - config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value)); - } - return config; - } - _maybeEnableSmoothScroll() { - if (!this._config.smoothScroll) { - return; - } - EventHandler.off(this._config.target, EVENT_CLICK); - EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => { - const observableSection = this._observableSections.get(event.target.hash); - if (observableSection) { - event.preventDefault(); - const root = this._rootElement || window; - const height = observableSection.offsetTop - this._element.offsetTop; - if (root.scrollTo) { - root.scrollTo({ - top: height, - behavior: 'smooth' - }); - return; - } - root.scrollTop = height; - } - }); - } - _getNewObserver() { - const options = { - root: this._rootElement, - threshold: this._config.threshold, - rootMargin: this._config.rootMargin - }; - return new IntersectionObserver(entries => this._observerCallback(entries), options); - } - _observerCallback(entries) { - const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`); - const activate = entry => { - this._previousScrollData.visibleEntryTop = entry.target.offsetTop; - this._process(targetElement(entry)); - }; - const parentScrollTop = (this._rootElement || document.documentElement).scrollTop; - const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop; - this._previousScrollData.parentScrollTop = parentScrollTop; - for (const entry of entries) { - if (!entry.isIntersecting) { - this._activeTarget = null; - this._clearActiveClass(targetElement(entry)); - continue; - } - const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; - if (userScrollsDown && entryIsLowerThanPrevious) { - activate(entry); - if (!parentScrollTop) { - return; - } - continue; - } - if (!userScrollsDown && !entryIsLowerThanPrevious) { - activate(entry); - } - } - } - _initializeTargetsAndObservables() { - this._targetLinks = new Map(); - this._observableSections = new Map(); - const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target); - for (const anchor of targetLinks) { - if (!anchor.hash || isDisabled(anchor)) { - continue; - } - const observableSection = SelectorEngine.findOne(anchor.hash, this._element); - if (isVisible(observableSection)) { - this._targetLinks.set(anchor.hash, anchor); - this._observableSections.set(anchor.hash, observableSection); - } - } - } - _process(target) { - if (this._activeTarget === target) { - return; - } - this._clearActiveClass(this._config.target); - this._activeTarget = target; - target.classList.add(CLASS_NAME_ACTIVE$1); - this._activateParents(target); - EventHandler.trigger(this._element, EVENT_ACTIVATE, { - relatedTarget: target - }); - } - _activateParents(target) { - if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { - SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1); - return; - } - for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) { - for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) { - item.classList.add(CLASS_NAME_ACTIVE$1); - } - } - } - _clearActiveClass(parent) { - parent.classList.remove(CLASS_NAME_ACTIVE$1); - const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent); - for (const node of activeNodes) { - node.classList.remove(CLASS_NAME_ACTIVE$1); - } - } - static jQueryInterface(config) { - return this.each(function () { - const data = ScrollSpy.getOrCreateInstance(this, config); - if (typeof config !== 'string') { - return; - } - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - }); - } -} -EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => { - for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) { - ScrollSpy.getOrCreateInstance(spy); - } -}); -defineJQueryPlugin(ScrollSpy); -const NAME$1 = 'tab'; -const DATA_KEY$1 = 'bs.tab'; -const EVENT_KEY$1 = `.${DATA_KEY$1}`; -const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`; -const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`; -const EVENT_SHOW$1 = `show${EVENT_KEY$1}`; -const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`; -const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`; -const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`; -const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`; -const ARROW_LEFT_KEY = 'ArrowLeft'; -const ARROW_RIGHT_KEY = 'ArrowRight'; -const ARROW_UP_KEY = 'ArrowUp'; -const ARROW_DOWN_KEY = 'ArrowDown'; -const CLASS_NAME_ACTIVE = 'active'; -const CLASS_NAME_FADE$1 = 'fade'; -const CLASS_NAME_SHOW$1 = 'show'; -const CLASS_DROPDOWN = 'dropdown'; -const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; -const SELECTOR_DROPDOWN_MENU = '.dropdown-menu'; -const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)'; -const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; -const SELECTOR_OUTER = '.nav-item, .list-group-item'; -const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; -const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; -const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; -const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`; -class Tab extends BaseComponent { - constructor(element) { - super(element); - this._parent = this._element.closest(SELECTOR_TAB_PANEL); - if (!this._parent) { - return; - } - this._setInitialAttributes(this._parent, this._getChildren()); - EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event)); - } - static get NAME() { - return NAME$1; - } - show() { - const innerElem = this._element; - if (this._elemIsActive(innerElem)) { - return; - } - const active = this._getActiveElem(); - const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, { - relatedTarget: innerElem - }) : null; - const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, { - relatedTarget: active - }); - if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) { - return; - } - this._deactivate(active, innerElem); - this._activate(innerElem, active); - } - _activate(element, relatedElem) { - if (!element) { - return; - } - element.classList.add(CLASS_NAME_ACTIVE); - this._activate(getElementFromSelector(element)); - const complete = () => { - if (element.getAttribute('role') !== 'tab') { - element.classList.add(CLASS_NAME_SHOW$1); - return; - } - element.removeAttribute('tabindex'); - element.setAttribute('aria-selected', true); - this._toggleDropDown(element, true); - EventHandler.trigger(element, EVENT_SHOWN$1, { - relatedTarget: relatedElem - }); - }; - this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); - } - _deactivate(element, relatedElem) { - if (!element) { - return; - } - element.classList.remove(CLASS_NAME_ACTIVE); - element.blur(); - this._deactivate(getElementFromSelector(element)); - const complete = () => { - if (element.getAttribute('role') !== 'tab') { - element.classList.remove(CLASS_NAME_SHOW$1); - return; - } - element.setAttribute('aria-selected', false); - element.setAttribute('tabindex', '-1'); - this._toggleDropDown(element, false); - EventHandler.trigger(element, EVENT_HIDDEN$1, { - relatedTarget: relatedElem - }); - }; - this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); - } - _keydown(event) { - if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) { - return; - } - event.stopPropagation(); - event.preventDefault(); - const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); - const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true); - if (nextActiveElement) { - nextActiveElement.focus({ - preventScroll: true - }); - Tab.getOrCreateInstance(nextActiveElement).show(); - } - } - _getChildren() { - return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent); - } - _getActiveElem() { - return this._getChildren().find(child => this._elemIsActive(child)) || null; - } - _setInitialAttributes(parent, children) { - this._setAttributeIfNotExists(parent, 'role', 'tablist'); - for (const child of children) { - this._setInitialAttributesOnChild(child); - } - } - _setInitialAttributesOnChild(child) { - child = this._getInnerElement(child); - const isActive = this._elemIsActive(child); - const outerElem = this._getOuterElement(child); - child.setAttribute('aria-selected', isActive); - if (outerElem !== child) { - this._setAttributeIfNotExists(outerElem, 'role', 'presentation'); - } - if (!isActive) { - child.setAttribute('tabindex', '-1'); - } - this._setAttributeIfNotExists(child, 'role', 'tab'); - this._setInitialAttributesOnTargetPanel(child); - } - _setInitialAttributesOnTargetPanel(child) { - const target = getElementFromSelector(child); - if (!target) { - return; - } - this._setAttributeIfNotExists(target, 'role', 'tabpanel'); - if (child.id) { - this._setAttributeIfNotExists(target, 'aria-labelledby', `#${child.id}`); - } - } - _toggleDropDown(element, open) { - const outerElem = this._getOuterElement(element); - if (!outerElem.classList.contains(CLASS_DROPDOWN)) { - return; - } - const toggle = (selector, className) => { - const element = SelectorEngine.findOne(selector, outerElem); - if (element) { - element.classList.toggle(className, open); - } - }; - toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE); - toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1); - outerElem.setAttribute('aria-expanded', open); - } - _setAttributeIfNotExists(element, attribute, value) { - if (!element.hasAttribute(attribute)) { - element.setAttribute(attribute, value); - } - } - _elemIsActive(elem) { - return elem.classList.contains(CLASS_NAME_ACTIVE); - } - _getInnerElement(elem) { - return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem); - } - _getOuterElement(elem) { - return elem.closest(SELECTOR_OUTER) || elem; - } - static jQueryInterface(config) { - return this.each(function () { - const data = Tab.getOrCreateInstance(this); - if (typeof config !== 'string') { - return; - } - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - }); - } -} -EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - if (isDisabled(this)) { - return; - } - Tab.getOrCreateInstance(this).show(); -}); -EventHandler.on(window, EVENT_LOAD_DATA_API, () => { - for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) { - Tab.getOrCreateInstance(element); - } -}); -defineJQueryPlugin(Tab); -const NAME = 'toast'; -const DATA_KEY = 'bs.toast'; -const EVENT_KEY = `.${DATA_KEY}`; -const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`; -const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`; -const EVENT_FOCUSIN = `focusin${EVENT_KEY}`; -const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`; -const EVENT_HIDE = `hide${EVENT_KEY}`; -const EVENT_HIDDEN = `hidden${EVENT_KEY}`; -const EVENT_SHOW = `show${EVENT_KEY}`; -const EVENT_SHOWN = `shown${EVENT_KEY}`; -const CLASS_NAME_FADE = 'fade'; -const CLASS_NAME_HIDE = 'hide'; -const CLASS_NAME_SHOW = 'show'; -const CLASS_NAME_SHOWING = 'showing'; -const DefaultType = { - animation: 'boolean', - autohide: 'boolean', - delay: 'number' -}; -const Default = { - animation: true, - autohide: true, - delay: 5000 -}; -class Toast extends BaseComponent { - constructor(element, config) { - super(element, config); - this._timeout = null; - this._hasMouseInteraction = false; - this._hasKeyboardInteraction = false; - this._setListeners(); - } - static get Default() { - return Default; - } - static get DefaultType() { - return DefaultType; - } - static get NAME() { - return NAME; - } - show() { - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW); - if (showEvent.defaultPrevented) { - return; - } - this._clearTimeout(); - if (this._config.animation) { - this._element.classList.add(CLASS_NAME_FADE); - } - const complete = () => { - this._element.classList.remove(CLASS_NAME_SHOWING); - EventHandler.trigger(this._element, EVENT_SHOWN); - this._maybeScheduleHide(); - }; - this._element.classList.remove(CLASS_NAME_HIDE); - reflow(this._element); - this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING); - this._queueCallback(complete, this._element, this._config.animation); - } - hide() { - if (!this.isShown()) { - return; - } - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE); - if (hideEvent.defaultPrevented) { - return; - } - const complete = () => { - this._element.classList.add(CLASS_NAME_HIDE); - this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW); - EventHandler.trigger(this._element, EVENT_HIDDEN); - }; - this._element.classList.add(CLASS_NAME_SHOWING); - this._queueCallback(complete, this._element, this._config.animation); - } - dispose() { - this._clearTimeout(); - if (this.isShown()) { - this._element.classList.remove(CLASS_NAME_SHOW); - } - super.dispose(); - } - isShown() { - return this._element.classList.contains(CLASS_NAME_SHOW); - } - _maybeScheduleHide() { - if (!this._config.autohide) { - return; - } - if (this._hasMouseInteraction || this._hasKeyboardInteraction) { - return; - } - this._timeout = setTimeout(() => { - this.hide(); - }, this._config.delay); - } - _onInteraction(event, isInteracting) { - switch (event.type) { - case 'mouseover': - case 'mouseout': - { - this._hasMouseInteraction = isInteracting; - break; - } - case 'focusin': - case 'focusout': - { - this._hasKeyboardInteraction = isInteracting; - break; - } - } - if (isInteracting) { - this._clearTimeout(); - return; - } - const nextElement = event.relatedTarget; - if (this._element === nextElement || this._element.contains(nextElement)) { - return; - } - this._maybeScheduleHide(); - } - _setListeners() { - EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true)); - EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false)); - EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true)); - EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false)); - } - _clearTimeout() { - clearTimeout(this._timeout); - this._timeout = null; - } - static jQueryInterface(config) { - return this.each(function () { - const data = Toast.getOrCreateInstance(this, config); - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - data[config](this); - } - }); - } -} -enableDismissTrigger(Toast); -defineJQueryPlugin(Toast); - -var dropdownTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]')); -dropdownTriggerList.map(function (dropdownTriggerEl) { - var options = { - boundary: dropdownTriggerEl.getAttribute('data-bs-boundary') === 'viewport' ? document.querySelector('.btn') : 'clippingParents' - }; - return new Dropdown(dropdownTriggerEl, options); -}); - -var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); -tooltipTriggerList.map(function (tooltipTriggerEl) { - var _ref, _tooltipTriggerEl$get; - var options = { - delay: { - show: 50, - hide: 50 - }, - html: (_ref = tooltipTriggerEl.getAttribute("data-bs-html") === "true") !== null && _ref !== void 0 ? _ref : false, - placement: (_tooltipTriggerEl$get = tooltipTriggerEl.getAttribute('data-bs-placement')) !== null && _tooltipTriggerEl$get !== void 0 ? _tooltipTriggerEl$get : 'auto' - }; - return new Tooltip(tooltipTriggerEl, options); -}); - -var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')); -popoverTriggerList.map(function (popoverTriggerEl) { - var _ref, _popoverTriggerEl$get; - var options = { - delay: { - show: 50, - hide: 50 - }, - html: (_ref = popoverTriggerEl.getAttribute('data-bs-html') === "true") !== null && _ref !== void 0 ? _ref : false, - placement: (_popoverTriggerEl$get = popoverTriggerEl.getAttribute('data-bs-placement')) !== null && _popoverTriggerEl$get !== void 0 ? _popoverTriggerEl$get : 'auto' - }; - return new Popover(popoverTriggerEl, options); -}); - -var switchesTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]')); -switchesTriggerList.map(function (switchTriggerEl) { - switchTriggerEl.addEventListener('click', function (e) { - e.stopPropagation(); - switchTriggerEl.classList.toggle('active'); - }); -}); - -var toastsTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]')); -toastsTriggerList.map(function (toastTriggerEl) { - return new Toast(toastTriggerEl); -}); diff --git a/demo/dist/js/tabler.esm.min.js b/demo/dist/js/tabler.esm.min.js deleted file mode 100644 index fb7b7987a..000000000 --- a/demo/dist/js/tabler.esm.min.js +++ /dev/null @@ -1,15 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -var e,t,n="function"==typeof Map?new Map:(e=[],t=[],{has:function(t){return e.indexOf(t)>-1},get:function(n){return t[e.indexOf(n)]},set:function(n,i){-1===e.indexOf(n)&&(e.push(n),t.push(i))},delete:function(n){var i=e.indexOf(n);i>-1&&(e.splice(i,1),t.splice(i,1))}}),o=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){o=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}function r(e){var t=n.get(e);t&&t.destroy()}function i(e){var t=n.get(e);t&&t.update()}var l=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((l=function(e){return e}).destroy=function(e){return e},l.update=function(e){return e}):((l=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],(function(e){return function(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!n.has(e)){var t,i=null,s=null,r=null,a=function(){e.clientWidth!==s&&h()},l=function(t){window.removeEventListener("resize",a,!1),e.removeEventListener("input",h,!1),e.removeEventListener("keyup",h,!1),e.removeEventListener("autosize:destroy",l,!1),e.removeEventListener("autosize:update",h,!1),Object.keys(t).forEach((function(n){e.style[n]=t[n]})),n.delete(e)}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",l,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",h,!1),window.addEventListener("resize",a,!1),e.addEventListener("input",h,!1),e.addEventListener("autosize:update",h,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",n.set(e,{destroy:l,update:h}),"vertical"===(t=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),i="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(i)&&(i=0),h()}function u(t){var n=e.style.width;e.style.width="0px",e.style.width=n,e.style.overflowY=t}function c(){if(0!==e.scrollHeight){var t=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(e),n=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+i+"px",s=e.clientWidth,t.forEach((function(e){e.node.scrollTop=e.scrollTop})),n&&(document.documentElement.scrollTop=n)}}function h(){c();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),i="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(i=0||(s[n]=e[n]);return s}function _objectWithoutProperties(e,t){if(null==e)return{};var n,i,s=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _possibleConstructorReturn(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(e)}function _createSuper(e){var t=_isNativeReflectConstruct();return function(){var n,i=_getPrototypeOf(e);if(t){var s=_getPrototypeOf(this).constructor;n=Reflect.construct(i,arguments,s)}else n=i.apply(this,arguments);return _possibleConstructorReturn(this,n)}}function _superPropBase(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=_getPrototypeOf(e)););return e}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var i=_superPropBase(e,t);if(i){var s=Object.getOwnPropertyDescriptor(i,t);return s.get?s.get.call(arguments.length<3?e:n):s.value}},_get.apply(this,arguments)}function set(e,t,n,i){return set="undefined"!=typeof Reflect&&Reflect.set?Reflect.set:function(e,t,n,i){var s,r=_superPropBase(e,t);if(r){if((s=Object.getOwnPropertyDescriptor(r,t)).set)return s.set.call(i,n),!0;if(!s.writable)return!1}if(s=Object.getOwnPropertyDescriptor(i,t)){if(!s.writable)return!1;s.value=n,Object.defineProperty(i,t,s)}else _defineProperty(i,t,n);return!0},set(e,t,n,i)}function _set(e,t,n,i,s){if(!set(e,t,n,i||e)&&s)throw new Error("failed to set property");return n}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterableToArrayLimit(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,s,r=[],o=!0,a=!1;try{for(n=n.call(e);!(o=(i=n.next()).done)&&(r.push(i.value),!t||r.length!==t);o=!0);}catch(e){a=!0,s=e}finally{try{o||null==n.return||n.return()}finally{if(a)throw s}}return r}}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2?arguments[2]:void 0;_classCallCheck(this,e),this.value=t,this.from=n,this.stop=i}return _createClass(e,[{key:"toString",value:function(){return this.value}},{key:"extend",value:function(e){this.value+=String(e)}},{key:"appendTo",value:function(e){return e.append(this.toString(),{tail:!0}).aggregate(e._appendPlaceholder())}},{key:"state",get:function(){return{value:this.value,from:this.from,stop:this.stop}},set:function(e){Object.assign(this,e)}},{key:"unshift",value:function(e){if(!this.value.length||null!=e&&this.from>=e)return"";var t=this.value[0];return this.value=this.value.slice(1),t}},{key:"shift",value:function(){if(!this.value.length)return"";var e=this.value[this.value.length-1];return this.value=this.value.slice(0,-1),e}}]),e}();function IMask(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new IMask.InputMask(e,t)}var Masked=function(){function e(t){_classCallCheck(this,e),this._value="",this._update(Object.assign({},e.DEFAULTS,t)),this.isInitialized=!0}return _createClass(e,[{key:"updateOptions",value:function(e){Object.keys(e).length&&this.withValueRefresh(this._update.bind(this,e))}},{key:"_update",value:function(e){Object.assign(this,e)}},{key:"state",get:function(){return{_value:this.value}},set:function(e){this._value=e._value}},{key:"reset",value:function(){this._value=""}},{key:"value",get:function(){return this._value},set:function(e){this.resolve(e)}},{key:"resolve",value:function(e){return this.reset(),this.append(e,{input:!0},""),this.doCommit(),this.value}},{key:"unmaskedValue",get:function(){return this.value},set:function(e){this.reset(),this.append(e,{},""),this.doCommit()}},{key:"typedValue",get:function(){return this.doParse(this.value)},set:function(e){this.value=this.doFormat(e)}},{key:"rawInputValue",get:function(){return this.extractInput(0,this.value.length,{raw:!0})},set:function(e){this.reset(),this.append(e,{raw:!0},""),this.doCommit()}},{key:"isComplete",get:function(){return!0}},{key:"isFilled",get:function(){return this.isComplete}},{key:"nearestInputPos",value:function(e,t){return e}},{key:"extractInput",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return this.value.slice(e,t)}},{key:"extractTail",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return new ContinuousTailDetails(this.extractInput(e,t),e)}},{key:"appendTail",value:function(e){return isString(e)&&(e=new ContinuousTailDetails(String(e))),e.appendTo(this)}},{key:"_appendCharRaw",value:function(e){return e?(this._value+=e,new ChangeDetails({inserted:e,rawInserted:e})):new ChangeDetails}},{key:"_appendChar",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0,s=this.state,r=normalizePrepare(this.doPrepare(e,n)),o=_slicedToArray(r,2);if(e=o[0],(t=(t=o[1]).aggregate(this._appendCharRaw(e,n))).inserted){var a,l=!1!==this.doValidate(n);if(l&&null!=i){var u=this.state;!0===this.overwrite&&(a=i.state,i.unshift(this.value.length));var c=this.appendTail(i);(l=c.rawInserted===i.toString())&&c.inserted||"shift"!==this.overwrite||(this.state=u,a=i.state,i.shift(),l=(c=this.appendTail(i)).rawInserted===i.toString()),l&&c.inserted&&(this.state=u)}l||(t=new ChangeDetails,this.state=s,i&&a&&(i.state=a))}return t}},{key:"_appendPlaceholder",value:function(){return new ChangeDetails}},{key:"_appendEager",value:function(){return new ChangeDetails}},{key:"append",value:function(e,t,n){if(!isString(e))throw new Error("value should be string");var i=new ChangeDetails,s=isString(n)?new ContinuousTailDetails(String(n)):n;null!=t&&t.tail&&(t._beforeTailState=this.state);for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return this._value=this.value.slice(0,e)+this.value.slice(t),new ChangeDetails}},{key:"withValueRefresh",value:function(e){if(this._refreshing||!this.isInitialized)return e();this._refreshing=!0;var t=this.rawInputValue,n=this.value,i=e();return this.rawInputValue=t,this.value&&this.value!==n&&0===n.indexOf(this.value)&&this.append(n.slice(this.value.length),{},""),delete this._refreshing,i}},{key:"runIsolated",value:function(e){if(this._isolated||!this.isInitialized)return e(this);this._isolated=!0;var t=this.state,n=e(this);return this.state=t,delete this._isolated,n}},{key:"doPrepare",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.prepare?this.prepare(e,this,t):e}},{key:"doValidate",value:function(e){return(!this.validate||this.validate(this.value,this,e))&&(!this.parent||this.parent.doValidate(e))}},{key:"doCommit",value:function(){this.commit&&this.commit(this.value,this)}},{key:"doFormat",value:function(e){return this.format?this.format(e,this):e}},{key:"doParse",value:function(e){return this.parse?this.parse(e,this):e}},{key:"splice",value:function(e,t,n,i){var s,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{input:!0},o=e+t,a=this.extractTail(o);this.eager&&(i=forceDirection(i),s=this.extractInput(0,o,{raw:!0}));var l=this.nearestInputPos(e,t>1&&0!==e&&!this.eager?DIRECTION.NONE:i),u=new ChangeDetails({tailShift:l-e}).aggregate(this.remove(l));if(this.eager&&i!==DIRECTION.NONE&&s===this.rawInputValue)if(i===DIRECTION.FORCE_LEFT)for(var c;s===this.rawInputValue&&(c=this.value.length);)u.aggregate(new ChangeDetails({tailShift:-1})).aggregate(this.remove(c-1));else i===DIRECTION.FORCE_RIGHT&&a.unshift();return u.aggregate(this.append(n,r,a))}},{key:"maskEquals",value:function(e){return this.mask===e}},{key:"typedValueEquals",value:function(t){var n=this.typedValue;return t===n||e.EMPTY_VALUES.includes(t)&&e.EMPTY_VALUES.includes(n)||this.doFormat(t)===this.doFormat(this.typedValue)}}]),e}();function maskedClass(e){if(null==e)throw new Error("mask property should be defined");return e instanceof RegExp?IMask.MaskedRegExp:isString(e)?IMask.MaskedPattern:e instanceof Date||e===Date?IMask.MaskedDate:e instanceof Number||"number"==typeof e||e===Number?IMask.MaskedNumber:Array.isArray(e)||e===Array?IMask.MaskedDynamic:IMask.Masked&&e.prototype instanceof IMask.Masked?e:e instanceof IMask.Masked?e.constructor:e instanceof Function?IMask.MaskedFunction:(console.warn("Mask not found for mask",e),IMask.Masked)}function createMask(e){if(IMask.Masked&&e instanceof IMask.Masked)return e;var t=(e=Object.assign({},e)).mask;if(IMask.Masked&&t instanceof IMask.Masked)return t;var n=maskedClass(t);if(!n)throw new Error("Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.");return new n(e)}Masked.DEFAULTS={format:function(e){return e},parse:function(e){return e}},Masked.EMPTY_VALUES=[void 0,null,""],IMask.Masked=Masked,IMask.createMask=createMask;var _excluded$4=["mask"],DEFAULT_INPUT_DEFINITIONS={0:/\d/,a:/[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,"*":/./},PatternInputDefinition=function(){function e(t){_classCallCheck(this,e);var n=t.mask,i=_objectWithoutProperties(t,_excluded$4);this.masked=createMask({mask:n}),Object.assign(this,i)}return _createClass(e,[{key:"reset",value:function(){this.isFilled=!1,this.masked.reset()}},{key:"remove",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return 0===e&&t>=1?(this.isFilled=!1,this.masked.remove(e,t)):new ChangeDetails}},{key:"value",get:function(){return this.masked.value||(this.isFilled&&!this.isOptional?this.placeholderChar:"")}},{key:"unmaskedValue",get:function(){return this.masked.unmaskedValue}},{key:"isComplete",get:function(){return Boolean(this.masked.value)||this.isOptional}},{key:"_appendChar",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.isFilled)return new ChangeDetails;var n=this.masked.state,i=this.masked._appendChar(e,t);return i.inserted&&!1===this.doValidate(t)&&(i.inserted=i.rawInserted="",this.masked.state=n),i.inserted||this.isOptional||this.lazy||t.input||(i.inserted=this.placeholderChar),i.skip=!i.inserted&&!this.isOptional,this.isFilled=Boolean(i.inserted),i}},{key:"append",value:function(){var e;return(e=this.masked).append.apply(e,arguments)}},{key:"_appendPlaceholder",value:function(){var e=new ChangeDetails;return this.isFilled||this.isOptional||(this.isFilled=!0,e.inserted=this.placeholderChar),e}},{key:"_appendEager",value:function(){return new ChangeDetails}},{key:"extractTail",value:function(){var e;return(e=this.masked).extractTail.apply(e,arguments)}},{key:"appendTail",value:function(){var e;return(e=this.masked).appendTail.apply(e,arguments)}},{key:"extractInput",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,n=arguments.length>2?arguments[2]:void 0;return this.masked.extractInput(e,t,n)}},{key:"nearestInputPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DIRECTION.NONE,n=0,i=this.value.length,s=Math.min(Math.max(e,n),i);switch(t){case DIRECTION.LEFT:case DIRECTION.FORCE_LEFT:return this.isComplete?s:n;case DIRECTION.RIGHT:case DIRECTION.FORCE_RIGHT:return this.isComplete?s:i;case DIRECTION.NONE:default:return s}}},{key:"doValidate",value:function(){var e,t;return(e=this.masked).doValidate.apply(e,arguments)&&(!this.parent||(t=this.parent).doValidate.apply(t,arguments))}},{key:"doCommit",value:function(){this.masked.doCommit()}},{key:"state",get:function(){return{masked:this.masked.state,isFilled:this.isFilled}},set:function(e){this.masked.state=e.masked,this.isFilled=e.isFilled}}]),e}(),PatternFixedDefinition=function(){function e(t){_classCallCheck(this,e),Object.assign(this,t),this._value="",this.isFixed=!0}return _createClass(e,[{key:"value",get:function(){return this._value}},{key:"unmaskedValue",get:function(){return this.isUnmasking?this.value:""}},{key:"reset",value:function(){this._isRawInput=!1,this._value=""}},{key:"remove",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._value.length;return this._value=this._value.slice(0,e)+this._value.slice(t),this._value||(this._isRawInput=!1),new ChangeDetails}},{key:"nearestInputPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DIRECTION.NONE,n=0,i=this._value.length;switch(t){case DIRECTION.LEFT:case DIRECTION.FORCE_LEFT:return n;case DIRECTION.NONE:case DIRECTION.RIGHT:case DIRECTION.FORCE_RIGHT:default:return i}}},{key:"extractInput",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._value.length,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.raw&&this._isRawInput&&this._value.slice(e,t)||""}},{key:"isComplete",get:function(){return!0}},{key:"isFilled",get:function(){return Boolean(this._value)}},{key:"_appendChar",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new ChangeDetails;if(this._value)return n;var i=this.char===e,s=i&&(this.isUnmasking||t.input||t.raw)&&(!t.raw||!this.eager)&&!t.tail;return s&&(n.rawInserted=this.char),this._value=n.inserted=this.char,this._isRawInput=s&&(t.raw||t.input),n}},{key:"_appendEager",value:function(){return this._appendChar(this.char,{tail:!0})}},{key:"_appendPlaceholder",value:function(){var e=new ChangeDetails;return this._value||(this._value=e.inserted=this.char),e}},{key:"extractTail",value:function(){return arguments.length>1&&void 0!==arguments[1]||this.value.length,new ContinuousTailDetails("")}},{key:"appendTail",value:function(e){return isString(e)&&(e=new ContinuousTailDetails(String(e))),e.appendTo(this)}},{key:"append",value:function(e,t,n){var i=this._appendChar(e[0],t);return null!=n&&(i.tailShift+=this.appendTail(n).tailShift),i}},{key:"doCommit",value:function(){}},{key:"state",get:function(){return{_value:this._value,_isRawInput:this._isRawInput}},set:function(e){Object.assign(this,e)}}]),e}(),_excluded$3=["chunks"],ChunksTailDetails=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;_classCallCheck(this,e),this.chunks=t,this.from=n}return _createClass(e,[{key:"toString",value:function(){return this.chunks.map(String).join("")}},{key:"extend",value:function(t){if(String(t)){isString(t)&&(t=new ContinuousTailDetails(String(t)));var n=this.chunks[this.chunks.length-1],i=n&&(n.stop===t.stop||null==t.stop)&&t.from===n.from+n.toString().length;if(t instanceof ContinuousTailDetails)i?n.extend(t.toString()):this.chunks.push(t);else if(t instanceof e){if(null==t.stop)for(var s;t.chunks.length&&null==t.chunks[0].stop;)(s=t.chunks.shift()).from+=t.from,this.extend(s);t.toString()&&(t.stop=t.blockIndex,this.chunks.push(t))}}}},{key:"appendTo",value:function(t){if(!(t instanceof IMask.MaskedPattern))return new ContinuousTailDetails(this.toString()).appendTo(t);for(var n=new ChangeDetails,i=0;i=0)&&n.aggregate(t._appendPlaceholder(o)),a=s instanceof e&&t._blocks[o]),a){var l=a.appendTail(s);l.skip=!1,n.aggregate(l),t._value+=l.inserted;var u=s.toString().slice(l.rawInserted.length);u&&n.aggregate(t.append(u,{tail:!0}))}else n.aggregate(t.append(s.toString(),{tail:!0}))}return n}},{key:"state",get:function(){return{chunks:this.chunks.map((function(e){return e.state})),from:this.from,stop:this.stop,blockIndex:this.blockIndex}},set:function(t){var n=t.chunks,i=_objectWithoutProperties(t,_excluded$3);Object.assign(this,i),this.chunks=n.map((function(t){var n="chunks"in t?new e:new ContinuousTailDetails;return n.state=t,n}))}},{key:"unshift",value:function(e){if(!this.chunks.length||null!=e&&this.from>=e)return"";for(var t=null!=e?e-this.from:e,n=0;n=this.masked._blocks.length&&(this.index=this.masked._blocks.length-1,this.offset=this.block.value.length))}},{key:"_pushLeft",value:function(e){for(this.pushState(),this.bindBlock();0<=this.index;--this.index,this.offset=(null===(t=this.block)||void 0===t?void 0:t.value.length)||0){var t;if(e())return this.ok=!0}return this.ok=!1}},{key:"_pushRight",value:function(e){for(this.pushState(),this.bindBlock();this.index=0}),_get(_getPrototypeOf(n.prototype),"_update",this).call(this,e)}}]),n}();IMask.MaskedRegExp=MaskedRegExp;var _excluded$2=["_blocks"],MaskedPattern=function(e){_inherits(n,Masked);var t=_createSuper(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _classCallCheck(this,n),e.definitions=Object.assign({},DEFAULT_INPUT_DEFINITIONS,e.definitions),t.call(this,Object.assign({},n.DEFAULTS,e))}return _createClass(n,[{key:"_update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.definitions=Object.assign({},this.definitions,e.definitions),_get(_getPrototypeOf(n.prototype),"_update",this).call(this,e),this._rebuildMask()}},{key:"_rebuildMask",value:function(){var e=this,t=this.definitions;this._blocks=[],this._stops=[],this._maskedBlocks={};var i=this.mask;if(i&&t)for(var s=!1,r=!1,o=0;o1&&void 0!==arguments[1]?arguments[1]:{},n=this._mapPosToBlock(this.value.length),i=new ChangeDetails;if(!n)return i;for(var s=n.index;;++s){var r,o,a=this._blocks[s];if(!a)break;var l=a._appendChar(e,Object.assign({},t,{_beforeTailState:null===(r=t._beforeTailState)||void 0===r||null===(o=r._blocks)||void 0===o?void 0:o[s]})),u=l.skip;if(i.aggregate(l),u||l.rawInserted)break}return i}},{key:"extractTail",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,i=new ChunksTailDetails;return t===n||this._forEachBlocksInRange(t,n,(function(t,n,s,r){var o=t.extractTail(s,r);o.stop=e._findStopBefore(n),o.from=e._blockStartPos(n),o instanceof ChunksTailDetails&&(o.blockIndex=n),i.extend(o)})),i}},{key:"extractInput",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e===t)return"";var i="";return this._forEachBlocksInRange(e,t,(function(e,t,s,r){i+=e.extractInput(s,r,n)})),i}},{key:"_findStopBefore",value:function(e){for(var t,n=0;n1&&void 0!==arguments[1]?arguments[1]:this.value.length,n=arguments.length>2?arguments[2]:void 0,i=this._mapPosToBlock(e);if(i){var s=this._mapPosToBlock(t),r=s&&i.index===s.index,o=i.offset,a=s&&r?s.offset:this._blocks[i.index].value.length;if(n(this._blocks[i.index],i.index,o,a),s&&!r){for(var l=i.index+1;l0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,i=_get(_getPrototypeOf(n.prototype),"remove",this).call(this,e,t);return this._forEachBlocksInRange(e,t,(function(e,t,n,s){i.aggregate(e.remove(n,s))})),i}},{key:"nearestInputPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DIRECTION.NONE;if(!this._blocks.length)return 0;var n=new PatternCursor(this,e);if(t===DIRECTION.NONE)return n.pushRightBeforeInput()?n.pos:(n.popState(),n.pushLeftBeforeInput()?n.pos:this.value.length);if(t===DIRECTION.LEFT||t===DIRECTION.FORCE_LEFT){if(t===DIRECTION.LEFT){if(n.pushRightBeforeFilled(),n.ok&&n.pos===e)return e;n.popState()}if(n.pushLeftBeforeInput(),n.pushLeftBeforeRequired(),n.pushLeftBeforeFilled(),t===DIRECTION.LEFT){if(n.pushRightBeforeInput(),n.pushRightBeforeRequired(),n.ok&&n.pos<=e)return n.pos;if(n.popState(),n.ok&&n.pos<=e)return n.pos;n.popState()}return n.ok?n.pos:t===DIRECTION.FORCE_LEFT?0:(n.popState(),n.ok?n.pos:(n.popState(),n.ok?n.pos:0))}return t===DIRECTION.RIGHT||t===DIRECTION.FORCE_RIGHT?(n.pushRightBeforeInput(),n.pushRightBeforeRequired(),n.pushRightBeforeFilled()?n.pos:t===DIRECTION.FORCE_RIGHT?this.value.length:(n.popState(),n.ok?n.pos:(n.popState(),n.ok?n.pos:this.nearestInputPos(e,DIRECTION.LEFT)))):e}},{key:"maskedBlock",value:function(e){return this.maskedBlocks(e)[0]}},{key:"maskedBlocks",value:function(e){var t=this,n=this._maskedBlocks[e];return n?n.map((function(e){return t._blocks[e]})):[]}}]),n}();MaskedPattern.DEFAULTS={lazy:!0,placeholderChar:"_"},MaskedPattern.STOP_CHAR="`",MaskedPattern.ESCAPE_CHAR="\\",MaskedPattern.InputDefinition=PatternInputDefinition,MaskedPattern.FixedDefinition=PatternFixedDefinition,IMask.MaskedPattern=MaskedPattern;var MaskedRange=function(e){_inherits(n,MaskedPattern);var t=_createSuper(n);function n(){return _classCallCheck(this,n),t.apply(this,arguments)}return _createClass(n,[{key:"_matchFrom",get:function(){return this.maxLength-String(this.from).length}},{key:"_update",value:function(e){e=Object.assign({to:this.to||0,from:this.from||0,maxLength:this.maxLength||0},e);var t=String(e.to).length;null!=e.maxLength&&(t=Math.max(t,e.maxLength)),e.maxLength=t;for(var i=String(e.from).padStart(t,"0"),s=String(e.to).padStart(t,"0"),r=0;r1&&void 0!==arguments[1]?arguments[1]:{},s=normalizePrepare(_get(_getPrototypeOf(n.prototype),"doPrepare",this).call(this,e.replace(/\D/g,""),i)),r=_slicedToArray(s,2);if(e=r[0],t=r[1],!this.autofix||!e)return e;var o=String(this.from).padStart(this.maxLength,"0"),a=String(this.to).padStart(this.maxLength,"0"),l=this.value+e;if(l.length>this.maxLength)return"";var u=this.boundaries(l),c=_slicedToArray(u,2),h=c[0],d=c[1];return Number(d)this.to?"pad"===this.autofix&&l.length=0}},{key:"date",get:function(){return this.typedValue},set:function(e){this.typedValue=e}},{key:"typedValue",get:function(){return this.isComplete?_get(_getPrototypeOf(n.prototype),"typedValue",this):null},set:function(e){_set(_getPrototypeOf(n.prototype),"typedValue",e,this,!0)}},{key:"maskEquals",value:function(e){return e===Date||_get(_getPrototypeOf(n.prototype),"maskEquals",this).call(this,e)}}]),n}();MaskedDate.DEFAULTS={pattern:"d{.}`m{.}`Y",format:function(e){return e?[String(e.getDate()).padStart(2,"0"),String(e.getMonth()+1).padStart(2,"0"),e.getFullYear()].join("."):""},parse:function(e){var t=_slicedToArray(e.split("."),3),n=t[0],i=t[1],s=t[2];return new Date(s,i-1,n)}},MaskedDate.GET_DEFAULT_BLOCKS=function(){return{d:{mask:MaskedRange,from:1,to:31,maxLength:2},m:{mask:MaskedRange,from:1,to:12,maxLength:2},Y:{mask:MaskedRange,from:1900,to:9999}}},IMask.MaskedDate=MaskedDate;var MaskElement=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"selectionStart",get:function(){var e;try{e=this._unsafeSelectionStart}catch(e){}return null!=e?e:this.value.length}},{key:"selectionEnd",get:function(){var e;try{e=this._unsafeSelectionEnd}catch(e){}return null!=e?e:this.value.length}},{key:"select",value:function(e,t){if(null!=e&&null!=t&&(e!==this.selectionStart||t!==this.selectionEnd))try{this._unsafeSelect(e,t)}catch(e){}}},{key:"_unsafeSelect",value:function(e,t){}},{key:"isActive",get:function(){return!1}},{key:"bindEvents",value:function(e){}},{key:"unbindEvents",value:function(){}}]),e}();IMask.MaskElement=MaskElement;var HTMLMaskElement=function(e){_inherits(n,MaskElement);var t=_createSuper(n);function n(e){var i;return _classCallCheck(this,n),(i=t.call(this)).input=e,i._handlers={},i}return _createClass(n,[{key:"rootElement",get:function(){var e,t,n;return null!==(e=null===(t=(n=this.input).getRootNode)||void 0===t?void 0:t.call(n))&&void 0!==e?e:document}},{key:"isActive",get:function(){return this.input===this.rootElement.activeElement}},{key:"_unsafeSelectionStart",get:function(){return this.input.selectionStart}},{key:"_unsafeSelectionEnd",get:function(){return this.input.selectionEnd}},{key:"_unsafeSelect",value:function(e,t){this.input.setSelectionRange(e,t)}},{key:"value",get:function(){return this.input.value},set:function(e){this.input.value=e}},{key:"bindEvents",value:function(e){var t=this;Object.keys(e).forEach((function(i){return t._toggleEventHandler(n.EVENTS_MAP[i],e[i])}))}},{key:"unbindEvents",value:function(){var e=this;Object.keys(this._handlers).forEach((function(t){return e._toggleEventHandler(t)}))}},{key:"_toggleEventHandler",value:function(e,t){this._handlers[e]&&(this.input.removeEventListener(e,this._handlers[e]),delete this._handlers[e]),t&&(this.input.addEventListener(e,t),this._handlers[e]=t)}}]),n}();HTMLMaskElement.EVENTS_MAP={selectionChange:"keydown",input:"input",drop:"drop",click:"click",focus:"focus",commit:"blur"},IMask.HTMLMaskElement=HTMLMaskElement;var HTMLContenteditableMaskElement=function(e){_inherits(n,HTMLMaskElement);var t=_createSuper(n);function n(){return _classCallCheck(this,n),t.apply(this,arguments)}return _createClass(n,[{key:"_unsafeSelectionStart",get:function(){var e=this.rootElement,t=e.getSelection&&e.getSelection(),n=t&&t.anchorOffset,i=t&&t.focusOffset;return null==i||null==n||ni?n:i}},{key:"_unsafeSelect",value:function(e,t){if(this.rootElement.createRange){var n=this.rootElement.createRange();n.setStart(this.input.firstChild||this.input,e),n.setEnd(this.input.lastChild||this.input,t);var i=this.rootElement,s=i.getSelection&&i.getSelection();s&&(s.removeAllRanges(),s.addRange(n))}}},{key:"value",get:function(){return this.input.textContent},set:function(e){this.input.textContent=e}}]),n}();IMask.HTMLContenteditableMaskElement=HTMLContenteditableMaskElement;var _excluded$1=["mask"],InputMask=function(){function e(t,n){_classCallCheck(this,e),this.el=t instanceof MaskElement?t:t.isContentEditable&&"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName?new HTMLContenteditableMaskElement(t):new HTMLMaskElement(t),this.masked=createMask(n),this._listeners={},this._value="",this._unmaskedValue="",this._saveSelection=this._saveSelection.bind(this),this._onInput=this._onInput.bind(this),this._onChange=this._onChange.bind(this),this._onDrop=this._onDrop.bind(this),this._onFocus=this._onFocus.bind(this),this._onClick=this._onClick.bind(this),this.alignCursor=this.alignCursor.bind(this),this.alignCursorFriendly=this.alignCursorFriendly.bind(this),this._bindEvents(),this.updateValue(),this._onChange()}return _createClass(e,[{key:"mask",get:function(){return this.masked.mask},set:function(e){if(!this.maskEquals(e))if(e instanceof IMask.Masked||this.masked.constructor!==maskedClass(e)){var t=createMask({mask:e});t.unmaskedValue=this.masked.unmaskedValue,this.masked=t}else this.masked.updateOptions({mask:e})}},{key:"maskEquals",value:function(e){var t;return null==e||(null===(t=this.masked)||void 0===t?void 0:t.maskEquals(e))}},{key:"value",get:function(){return this._value},set:function(e){this.value!==e&&(this.masked.value=e,this.updateControl(),this.alignCursor())}},{key:"unmaskedValue",get:function(){return this._unmaskedValue},set:function(e){this.unmaskedValue!==e&&(this.masked.unmaskedValue=e,this.updateControl(),this.alignCursor())}},{key:"typedValue",get:function(){return this.masked.typedValue},set:function(e){this.masked.typedValueEquals(e)||(this.masked.typedValue=e,this.updateControl(),this.alignCursor())}},{key:"_bindEvents",value:function(){this.el.bindEvents({selectionChange:this._saveSelection,input:this._onInput,drop:this._onDrop,click:this._onClick,focus:this._onFocus,commit:this._onChange})}},{key:"_unbindEvents",value:function(){this.el&&this.el.unbindEvents()}},{key:"_fireEvent",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i=0&&this._listeners[e].splice(n,1),this}},{key:"_onInput",value:function(e){if(this._inputEvent=e,this._abortUpdateCursor(),!this._selection)return this.updateValue();var t=new ActionDetails(this.el.value,this.cursorPos,this.value,this._selection),n=this.masked.rawInputValue,i=this.masked.splice(t.startChangePos,t.removed.length,t.inserted,t.removeDirection,{input:!0,raw:!0}).offset,s=n===this.masked.rawInputValue?t.removeDirection:DIRECTION.NONE,r=this.masked.nearestInputPos(t.startChangePos+i,s);s!==DIRECTION.NONE&&(r=this.masked.nearestInputPos(r,DIRECTION.NONE)),this.updateControl(),this.updateCursor(r),delete this._inputEvent}},{key:"_onChange",value:function(){this.value!==this.el.value&&this.updateValue(),this.masked.doCommit(),this.updateControl(),this._saveSelection()}},{key:"_onDrop",value:function(e){e.preventDefault(),e.stopPropagation()}},{key:"_onFocus",value:function(e){this.alignCursorFriendly()}},{key:"_onClick",value:function(e){this.alignCursorFriendly()}},{key:"destroy",value:function(){this._unbindEvents(),this._listeners.length=0,delete this.el}}]),e}();IMask.InputMask=InputMask;var MaskedEnum=function(e){_inherits(n,MaskedPattern);var t=_createSuper(n);function n(){return _classCallCheck(this,n),t.apply(this,arguments)}return _createClass(n,[{key:"_update",value:function(e){e.enum&&(e.mask="*".repeat(e.enum[0].length)),_get(_getPrototypeOf(n.prototype),"_update",this).call(this,e)}},{key:"doValidate",value:function(){for(var e,t=this,i=arguments.length,s=new Array(i),r=0;r=0}))&&(e=_get(_getPrototypeOf(n.prototype),"doValidate",this)).call.apply(e,[this].concat(s))}}]),n}();IMask.MaskedEnum=MaskedEnum;var MaskedNumber=function(e){_inherits(n,Masked);var t=_createSuper(n);function n(e){return _classCallCheck(this,n),t.call(this,Object.assign({},n.DEFAULTS,e))}return _createClass(n,[{key:"_update",value:function(e){_get(_getPrototypeOf(n.prototype),"_update",this).call(this,e),this._updateRegExps()}},{key:"_updateRegExps",value:function(){var e="^"+(this.allowNegative?"[+|\\-]?":""),t=(this.scale?"("+escapeRegExp(this.radix)+"\\d{0,"+this.scale+"})?":"")+"$";this._numberRegExpInput=new RegExp(e+"(0|([1-9]+\\d*))?"+t),this._numberRegExp=new RegExp(e+"\\d*"+t),this._mapToRadixRegExp=new RegExp("["+this.mapToRadix.map(escapeRegExp).join("")+"]","g"),this._thousandsSeparatorRegExp=new RegExp(escapeRegExp(this.thousandsSeparator),"g")}},{key:"_removeThousandsSeparators",value:function(e){return e.replace(this._thousandsSeparatorRegExp,"")}},{key:"_insertThousandsSeparators",value:function(e){var t=e.split(this.radix);return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,this.thousandsSeparator),t.join(this.radix)}},{key:"doPrepare",value:function(e){var t;e=e.replace(this._mapToRadixRegExp,this.radix);for(var i=this._removeThousandsSeparators(e),s=arguments.length,r=new Array(s>1?s-1:0),o=1;o1&&void 0!==arguments[1]&&arguments[1],n=0,i=0;i0&&void 0!==arguments[0]?arguments[0]:this._value;return this._separatorsCount(this._removeThousandsSeparators(e).length,!0)}},{key:"extractInput",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,i=arguments.length>2?arguments[2]:void 0,s=this._adjustRangeWithSeparators(e,t),r=_slicedToArray(s,2);return e=r[0],t=r[1],this._removeThousandsSeparators(_get(_getPrototypeOf(n.prototype),"extractInput",this).call(this,e,t,i))}},{key:"_appendCharRaw",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.thousandsSeparator)return _get(_getPrototypeOf(n.prototype),"_appendCharRaw",this).call(this,e,t);var i=t.tail&&t._beforeTailState?t._beforeTailState._value:this._value,s=this._separatorsCountFromSlice(i);this._value=this._removeThousandsSeparators(this.value);var r=_get(_getPrototypeOf(n.prototype),"_appendCharRaw",this).call(this,e,t);this._value=this._insertThousandsSeparators(this._value);var o=t.tail&&t._beforeTailState?t._beforeTailState._value:this._value,a=this._separatorsCountFromSlice(o);return r.tailShift+=(a-s)*this.thousandsSeparator.length,r.skip=!r.rawInserted&&e===this.thousandsSeparator,r}},{key:"_findSeparatorAround",value:function(e){if(this.thousandsSeparator){var t=e-this.thousandsSeparator.length+1,n=this.value.indexOf(this.thousandsSeparator,t);if(n<=e)return n}return-1}},{key:"_adjustRangeWithSeparators",value:function(e,t){var n=this._findSeparatorAround(e);n>=0&&(e=n);var i=this._findSeparatorAround(t);return i>=0&&(t=i+this.thousandsSeparator.length),[e,t]}},{key:"remove",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,n=this._adjustRangeWithSeparators(e,t),i=_slicedToArray(n,2);e=i[0],t=i[1];var s=this.value.slice(0,e),r=this.value.slice(t),o=this._separatorsCount(s.length);this._value=this._insertThousandsSeparators(this._removeThousandsSeparators(s+r));var a=this._separatorsCountFromSlice(s);return new ChangeDetails({tailShift:(a-o)*this.thousandsSeparator.length})}},{key:"nearestInputPos",value:function(e,t){if(!this.thousandsSeparator)return e;switch(t){case DIRECTION.NONE:case DIRECTION.LEFT:case DIRECTION.FORCE_LEFT:var n=this._findSeparatorAround(e-1);if(n>=0){var i=n+this.thousandsSeparator.length;if(e=0)return s+this.thousandsSeparator.length}return e}},{key:"doValidate",value:function(e){var t=(e.input?this._numberRegExpInput:this._numberRegExp).test(this._removeThousandsSeparators(this.value));if(t){var i=this.number;t=t&&!isNaN(i)&&(null==this.min||this.min>=0||this.min<=this.number)&&(null==this.max||this.max<=0||this.number<=this.max)}return t&&_get(_getPrototypeOf(n.prototype),"doValidate",this).call(this,e)}},{key:"doCommit",value:function(){if(this.value){var e=this.number,t=e;null!=this.min&&(t=Math.max(t,this.min)),null!=this.max&&(t=Math.min(t,this.max)),t!==e&&(this.unmaskedValue=String(t));var i=this.value;this.normalizeZeros&&(i=this._normalizeZeros(i)),this.padFractionalZeros&&this.scale>0&&(i=this._padFractionalZeros(i)),this._value=i}_get(_getPrototypeOf(n.prototype),"doCommit",this).call(this)}},{key:"_normalizeZeros",value:function(e){var t=this._removeThousandsSeparators(e).split(this.radix);return t[0]=t[0].replace(/^(\D*)(0*)(\d*)/,(function(e,t,n,i){return t+i})),e.length&&!/\d$/.test(t[0])&&(t[0]=t[0]+"0"),t.length>1&&(t[1]=t[1].replace(/0*$/,""),t[1].length||(t.length=1)),this._insertThousandsSeparators(t.join(this.radix))}},{key:"_padFractionalZeros",value:function(e){if(!e)return e;var t=e.split(this.radix);return t.length<2&&t.push(""),t[1]=t[1].padEnd(this.scale,"0"),t.join(this.radix)}},{key:"unmaskedValue",get:function(){return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix,".")},set:function(e){_set(_getPrototypeOf(n.prototype),"unmaskedValue",e.replace(".",this.radix),this,!0)}},{key:"typedValue",get:function(){return Number(this.unmaskedValue)},set:function(e){_set(_getPrototypeOf(n.prototype),"unmaskedValue",String(e),this,!0)}},{key:"number",get:function(){return this.typedValue},set:function(e){this.typedValue=e}},{key:"allowNegative",get:function(){return this.signed||null!=this.min&&this.min<0||null!=this.max&&this.max<0}},{key:"typedValueEquals",value:function(e){return(_get(_getPrototypeOf(n.prototype),"typedValueEquals",this).call(this,e)||n.EMPTY_VALUES.includes(e)&&n.EMPTY_VALUES.includes(this.typedValue))&&!(0===e&&""===this.value)}}]),n}();MaskedNumber.DEFAULTS={radix:",",thousandsSeparator:"",mapToRadix:["."],scale:2,signed:!1,normalizeZeros:!0,padFractionalZeros:!1},MaskedNumber.EMPTY_VALUES=[].concat(_toConsumableArray(Masked.EMPTY_VALUES),[0]),IMask.MaskedNumber=MaskedNumber;var MaskedFunction=function(e){_inherits(n,Masked);var t=_createSuper(n);function n(){return _classCallCheck(this,n),t.apply(this,arguments)}return _createClass(n,[{key:"_update",value:function(e){e.mask&&(e.validate=e.mask),_get(_getPrototypeOf(n.prototype),"_update",this).call(this,e)}}]),n}();IMask.MaskedFunction=MaskedFunction;var _excluded=["compiledMasks","currentMaskRef","currentMask"],MaskedDynamic=function(e){_inherits(n,Masked);var t=_createSuper(n);function n(e){var i;return _classCallCheck(this,n),(i=t.call(this,Object.assign({},n.DEFAULTS,e))).currentMask=null,i}return _createClass(n,[{key:"_update",value:function(e){_get(_getPrototypeOf(n.prototype),"_update",this).call(this,e),"mask"in e&&(this.compiledMasks=Array.isArray(e.mask)?e.mask.map((function(e){return createMask(e)})):[])}},{key:"_appendCharRaw",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this._applyDispatch(e,t);return this.currentMask&&n.aggregate(this.currentMask._appendChar(e,this.currentMaskFlags(t))),n}},{key:"_applyDispatch",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.tail&&null!=t._beforeTailState?t._beforeTailState._value:this.value,i=this.rawInputValue,s=t.tail&&null!=t._beforeTailState?t._beforeTailState._rawInputValue:i,r=i.slice(s.length),o=this.currentMask,a=new ChangeDetails,l=null==o?void 0:o.state;if(this.currentMask=this.doDispatch(e,Object.assign({},t)),this.currentMask)if(this.currentMask!==o){if(this.currentMask.reset(),s){var u=this.currentMask.append(s,{raw:!0});a.tailShift=u.inserted.length-n.length}r&&(a.tailShift+=this.currentMask.append(r,{raw:!0,tail:!0}).tailShift)}else this.currentMask.state=l;return a}},{key:"_appendPlaceholder",value:function(){var e=this._applyDispatch.apply(this,arguments);return this.currentMask&&e.aggregate(this.currentMask._appendPlaceholder()),e}},{key:"_appendEager",value:function(){var e=this._applyDispatch.apply(this,arguments);return this.currentMask&&e.aggregate(this.currentMask._appendEager()),e}},{key:"currentMaskFlags",value:function(e){var t,n;return Object.assign({},e,{_beforeTailState:(null===(t=e._beforeTailState)||void 0===t?void 0:t.currentMaskRef)===this.currentMask&&(null===(n=e._beforeTailState)||void 0===n?void 0:n.currentMask)||e._beforeTailState})}},{key:"doDispatch",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.dispatch(e,this,t)}},{key:"doValidate",value:function(e){return _get(_getPrototypeOf(n.prototype),"doValidate",this).call(this,e)&&(!this.currentMask||this.currentMask.doValidate(this.currentMaskFlags(e)))}},{key:"doPrepare",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=normalizePrepare(_get(_getPrototypeOf(n.prototype),"doPrepare",this).call(this,e,t)),s=_slicedToArray(i,2),r=s[0],o=s[1];if(this.currentMask){var a,l=normalizePrepare(_get(_getPrototypeOf(n.prototype),"doPrepare",this).call(this,r,this.currentMaskFlags(t))),u=_slicedToArray(l,2);r=u[0],a=u[1],o=o.aggregate(a)}return[r,o]}},{key:"reset",value:function(){var e;null===(e=this.currentMask)||void 0===e||e.reset(),this.compiledMasks.forEach((function(e){return e.reset()}))}},{key:"value",get:function(){return this.currentMask?this.currentMask.value:""},set:function(e){_set(_getPrototypeOf(n.prototype),"value",e,this,!0)}},{key:"unmaskedValue",get:function(){return this.currentMask?this.currentMask.unmaskedValue:""},set:function(e){_set(_getPrototypeOf(n.prototype),"unmaskedValue",e,this,!0)}},{key:"typedValue",get:function(){return this.currentMask?this.currentMask.typedValue:""},set:function(e){var t=String(e);this.currentMask&&(this.currentMask.typedValue=e,t=this.currentMask.unmaskedValue),this.unmaskedValue=t}},{key:"isComplete",get:function(){var e;return Boolean(null===(e=this.currentMask)||void 0===e?void 0:e.isComplete)}},{key:"isFilled",get:function(){var e;return Boolean(null===(e=this.currentMask)||void 0===e?void 0:e.isFilled)}},{key:"remove",value:function(){var e,t=new ChangeDetails;this.currentMask&&t.aggregate((e=this.currentMask).remove.apply(e,arguments)).aggregate(this._applyDispatch());return t}},{key:"state",get:function(){var e;return Object.assign({},_get(_getPrototypeOf(n.prototype),"state",this),{_rawInputValue:this.rawInputValue,compiledMasks:this.compiledMasks.map((function(e){return e.state})),currentMaskRef:this.currentMask,currentMask:null===(e=this.currentMask)||void 0===e?void 0:e.state})},set:function(e){var t=e.compiledMasks,i=e.currentMaskRef,s=e.currentMask,r=_objectWithoutProperties(e,_excluded);this.compiledMasks.forEach((function(e,n){return e.state=t[n]})),null!=i&&(this.currentMask=i,this.currentMask.state=s),_set(_getPrototypeOf(n.prototype),"state",r,this,!0)}},{key:"extractInput",value:function(){var e;return this.currentMask?(e=this.currentMask).extractInput.apply(e,arguments):""}},{key:"extractTail",value:function(){for(var e,t,i=arguments.length,s=new Array(i),r=0;r1&&void 0!==arguments[1]?arguments[1]:PIPE_TYPE.MASKED,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:PIPE_TYPE.MASKED,i=createMask(e);return function(e){return i.runIsolated((function(i){return i[t]=e,i[n]}))}}function pipe(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0&&round(i.width)/e.offsetWidth||1,r=e.offsetHeight>0&&round(i.height)/e.offsetHeight||1);var o=(isElement$1(e)?getWindow(e):window).visualViewport,a=!isLayoutViewport()&&n,l=(i.left+(a&&o?o.offsetLeft:0))/s,u=(i.top+(a&&o?o.offsetTop:0))/r,c=i.width/s,h=i.height/r;return{width:c,height:h,top:u,right:l+c,bottom:u+h,left:l,x:l,y:u}}function getLayoutRect(e){var t=getBoundingClientRect(e),n=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:i}}function contains(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&isShadowRoot(n)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}function isTableElement(e){return["table","td","th"].indexOf(getNodeName(e))>=0}function getDocumentElement(e){return((isElement$1(e)?e.ownerDocument:e.document)||window.document).documentElement}function getParentNode(e){return"html"===getNodeName(e)?e:e.assignedSlot||e.parentNode||(isShadowRoot(e)?e.host:null)||getDocumentElement(e)}function getTrueOffsetParent(e){return isHTMLElement(e)&&"fixed"!==getComputedStyle$1(e).position?e.offsetParent:null}function getContainingBlock(e){var t=/firefox/i.test(getUAString());if(/Trident/i.test(getUAString())&&isHTMLElement(e)&&"fixed"===getComputedStyle$1(e).position)return null;var n=getParentNode(e);for(isShadowRoot(n)&&(n=n.host);isHTMLElement(n)&&["html","body"].indexOf(getNodeName(n))<0;){var i=getComputedStyle$1(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}function getOffsetParent(e){for(var t=getWindow(e),n=getTrueOffsetParent(e);n&&isTableElement(n)&&"static"===getComputedStyle$1(n).position;)n=getTrueOffsetParent(n);return n&&("html"===getNodeName(n)||"body"===getNodeName(n)&&"static"===getComputedStyle$1(n).position)?t:n||getContainingBlock(e)||t}function getMainAxisFromPlacement(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function within(e,t,n){return max(e,min(t,n))}function withinMaxClamp(e,t,n){var i=within(e,t,n);return i>n?n:i}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(e){return Object.assign({},getFreshSideObject(),e)}function expandToHashMap(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}var toPaddingObject=function(e,t){return mergePaddingObject("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:expandToHashMap(e,basePlacements))};function arrow(e){var t,n=e.state,i=e.name,s=e.options,r=n.elements.arrow,o=n.modifiersData.popperOffsets,a=getBasePlacement(n.placement),l=getMainAxisFromPlacement(a),u=[left,right].indexOf(a)>=0?"height":"width";if(r&&o){var c=toPaddingObject(s.padding,n),h=getLayoutRect(r),d="y"===l?top:left,p="y"===l?bottom:right,f=n.rects.reference[u]+n.rects.reference[l]-o[l]-n.rects.popper[u],g=o[l]-n.rects.reference[l],_=getOffsetParent(r),E=_?"y"===l?_.clientHeight||0:_.clientWidth||0:0,m=f/2-g/2,v=c[d],y=E-h[u]-c[p],T=E/2-h[u]/2+m,b=within(v,T,y),A=l;n.modifiersData[i]=((t={})[A]=b,t.centerOffset=b-T,t)}}function effect$1(e){var t=e.state,n=e.options.element,i=void 0===n?"[data-popper-arrow]":n;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&contains(t.elements.popper,i)&&(t.elements.arrow=i)}var arrow$1={name:"arrow",enabled:!0,phase:"main",fn:arrow,effect:effect$1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getVariation(e){return e.split("-")[1]}var unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(e){var t=e.x,n=e.y,i=window.devicePixelRatio||1;return{x:round(t*i)/i||0,y:round(n*i)/i||0}}function mapToStyles(e){var t,n=e.popper,i=e.popperRect,s=e.placement,r=e.variation,o=e.offsets,a=e.position,l=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,h=e.isFixed,d=o.x,p=void 0===d?0:d,f=o.y,g=void 0===f?0:f,_="function"==typeof c?c({x:p,y:g}):{x:p,y:g};p=_.x,g=_.y;var E=o.hasOwnProperty("x"),m=o.hasOwnProperty("y"),v=left,y=top,T=window;if(u){var b=getOffsetParent(n),A="clientHeight",C="clientWidth";if(b===getWindow(n)&&"static"!==getComputedStyle$1(b=getDocumentElement(n)).position&&"absolute"===a&&(A="scrollHeight",C="scrollWidth"),s===top||(s===left||s===right)&&r===end)y=bottom,g-=(h&&b===T&&T.visualViewport?T.visualViewport.height:b[A])-i.height,g*=l?1:-1;if(s===left||(s===top||s===bottom)&&r===end)v=right,p-=(h&&b===T&&T.visualViewport?T.visualViewport.width:b[C])-i.width,p*=l?1:-1}var k,S=Object.assign({position:a},u&&unsetSides),O=!0===c?roundOffsetsByDPR({x:p,y:g}):{x:p,y:g};return p=O.x,g=O.y,l?Object.assign({},S,((k={})[y]=m?"0":"",k[v]=E?"0":"",k.transform=(T.devicePixelRatio||1)<=1?"translate("+p+"px, "+g+"px)":"translate3d("+p+"px, "+g+"px, 0)",k)):Object.assign({},S,((t={})[y]=m?g+"px":"",t[v]=E?p+"px":"",t.transform="",t))}function computeStyles(e){var t=e.state,n=e.options,i=n.gpuAcceleration,s=void 0===i||i,r=n.adaptive,o=void 0===r||r,a=n.roundOffsets,l=void 0===a||a,u={placement:getBasePlacement(t.placement),variation:getVariation(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,mapToStyles(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,mapToStyles(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var computeStyles$1={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles,data:{}},passive={passive:!0};function effect(e){var t=e.state,n=e.instance,i=e.options,s=i.scroll,r=void 0===s||s,o=i.resize,a=void 0===o||o,l=getWindow(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return r&&u.forEach((function(e){e.addEventListener("scroll",n.update,passive)})),a&&l.addEventListener("resize",n.update,passive),function(){r&&u.forEach((function(e){e.removeEventListener("scroll",n.update,passive)})),a&&l.removeEventListener("resize",n.update,passive)}}var eventListeners={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:effect,data:{}},hash$1={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(e){return e.replace(/left|right|bottom|top/g,(function(e){return hash$1[e]}))}var hash={start:"end",end:"start"};function getOppositeVariationPlacement(e){return e.replace(/start|end/g,(function(e){return hash[e]}))}function getWindowScroll(e){var t=getWindow(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function getWindowScrollBarX(e){return getBoundingClientRect(getDocumentElement(e)).left+getWindowScroll(e).scrollLeft}function getViewportRect(e,t){var n=getWindow(e),i=getDocumentElement(e),s=n.visualViewport,r=i.clientWidth,o=i.clientHeight,a=0,l=0;if(s){r=s.width,o=s.height;var u=isLayoutViewport();(u||!u&&"fixed"===t)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:r,height:o,x:a+getWindowScrollBarX(e),y:l}}function getDocumentRect(e){var t,n=getDocumentElement(e),i=getWindowScroll(e),s=null==(t=e.ownerDocument)?void 0:t.body,r=max(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),o=max(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-i.scrollLeft+getWindowScrollBarX(e),l=-i.scrollTop;return"rtl"===getComputedStyle$1(s||n).direction&&(a+=max(n.clientWidth,s?s.clientWidth:0)-r),{width:r,height:o,x:a,y:l}}function isScrollParent(e){var t=getComputedStyle$1(e),n=t.overflow,i=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+i)}function getScrollParent(e){return["html","body","#document"].indexOf(getNodeName(e))>=0?e.ownerDocument.body:isHTMLElement(e)&&isScrollParent(e)?e:getScrollParent(getParentNode(e))}function listScrollParents(e,t){var n;void 0===t&&(t=[]);var i=getScrollParent(e),s=i===(null==(n=e.ownerDocument)?void 0:n.body),r=getWindow(i),o=s?[r].concat(r.visualViewport||[],isScrollParent(i)?i:[]):i,a=t.concat(o);return s?a:a.concat(listScrollParents(getParentNode(o)))}function rectToClientRect(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function getInnerBoundingClientRect(e,t){var n=getBoundingClientRect(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function getClientRectFromMixedType(e,t,n){return t===viewport?rectToClientRect(getViewportRect(e,n)):isElement$1(t)?getInnerBoundingClientRect(t,n):rectToClientRect(getDocumentRect(getDocumentElement(e)))}function getClippingParents(e){var t=listScrollParents(getParentNode(e)),n=["absolute","fixed"].indexOf(getComputedStyle$1(e).position)>=0&&isHTMLElement(e)?getOffsetParent(e):e;return isElement$1(n)?t.filter((function(e){return isElement$1(e)&&contains(e,n)&&"body"!==getNodeName(e)})):[]}function getClippingRect(e,t,n,i){var s="clippingParents"===t?getClippingParents(e):[].concat(t),r=[].concat(s,[n]),o=r[0],a=r.reduce((function(t,n){var s=getClientRectFromMixedType(e,n,i);return t.top=max(s.top,t.top),t.right=min(s.right,t.right),t.bottom=min(s.bottom,t.bottom),t.left=max(s.left,t.left),t}),getClientRectFromMixedType(e,o,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function computeOffsets(e){var t,n=e.reference,i=e.element,s=e.placement,r=s?getBasePlacement(s):null,o=s?getVariation(s):null,a=n.x+n.width/2-i.width/2,l=n.y+n.height/2-i.height/2;switch(r){case top:t={x:a,y:n.y-i.height};break;case bottom:t={x:a,y:n.y+n.height};break;case right:t={x:n.x+n.width,y:l};break;case left:t={x:n.x-i.width,y:l};break;default:t={x:n.x,y:n.y}}var u=r?getMainAxisFromPlacement(r):null;if(null!=u){var c="y"===u?"height":"width";switch(o){case start:t[u]=t[u]-(n[c]/2-i[c]/2);break;case end:t[u]=t[u]+(n[c]/2-i[c]/2)}}return t}function detectOverflow(e,t){void 0===t&&(t={});var n=t,i=n.placement,s=void 0===i?e.placement:i,r=n.strategy,o=void 0===r?e.strategy:r,a=n.boundary,l=void 0===a?clippingParents:a,u=n.rootBoundary,c=void 0===u?viewport:u,h=n.elementContext,d=void 0===h?popper:h,p=n.altBoundary,f=void 0!==p&&p,g=n.padding,_=void 0===g?0:g,E=mergePaddingObject("number"!=typeof _?_:expandToHashMap(_,basePlacements)),m=d===popper?reference:popper,v=e.rects.popper,y=e.elements[f?m:d],T=getClippingRect(isElement$1(y)?y:y.contextElement||getDocumentElement(e.elements.popper),l,c,o),b=getBoundingClientRect(e.elements.reference),A=computeOffsets({reference:b,element:v,strategy:"absolute",placement:s}),C=rectToClientRect(Object.assign({},v,A)),k=d===popper?C:b,S={top:T.top-k.top+E.top,bottom:k.bottom-T.bottom+E.bottom,left:T.left-k.left+E.left,right:k.right-T.right+E.right},O=e.modifiersData.offset;if(d===popper&&O){var D=O[s];Object.keys(S).forEach((function(e){var t=[right,bottom].indexOf(e)>=0?1:-1,n=[top,bottom].indexOf(e)>=0?"y":"x";S[e]+=D[n]*t}))}return S}function computeAutoPlacement(e,t){void 0===t&&(t={});var n=t,i=n.placement,s=n.boundary,r=n.rootBoundary,o=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,u=void 0===l?placements:l,c=getVariation(i),h=c?a?variationPlacements:variationPlacements.filter((function(e){return getVariation(e)===c})):basePlacements,d=h.filter((function(e){return u.indexOf(e)>=0}));0===d.length&&(d=h);var p=d.reduce((function(t,n){return t[n]=detectOverflow(e,{placement:n,boundary:s,rootBoundary:r,padding:o})[getBasePlacement(n)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}function getExpandedFallbackPlacements(e){if(getBasePlacement(e)===auto)return[];var t=getOppositePlacement(e);return[getOppositeVariationPlacement(e),t,getOppositeVariationPlacement(t)]}function flip(e){var t=e.state,n=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var s=n.mainAxis,r=void 0===s||s,o=n.altAxis,a=void 0===o||o,l=n.fallbackPlacements,u=n.padding,c=n.boundary,h=n.rootBoundary,d=n.altBoundary,p=n.flipVariations,f=void 0===p||p,g=n.allowedAutoPlacements,_=t.options.placement,E=getBasePlacement(_),m=l||(E===_||!f?[getOppositePlacement(_)]:getExpandedFallbackPlacements(_)),v=[_].concat(m).reduce((function(e,n){return e.concat(getBasePlacement(n)===auto?computeAutoPlacement(t,{placement:n,boundary:c,rootBoundary:h,padding:u,flipVariations:f,allowedAutoPlacements:g}):n)}),[]),y=t.rects.reference,T=t.rects.popper,b=new Map,A=!0,C=v[0],k=0;k=0,N=w?"width":"height",I=detectOverflow(t,{placement:S,boundary:c,rootBoundary:h,altBoundary:d,padding:u}),L=w?D?right:left:D?bottom:top;y[N]>T[N]&&(L=getOppositePlacement(L));var M=getOppositePlacement(L),P=[];if(r&&P.push(I[O]<=0),a&&P.push(I[L]<=0,I[M]<=0),P.every((function(e){return e}))){C=S,A=!1;break}b.set(S,P)}if(A)for(var R=function(e){var t=v.find((function(t){var n=b.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return C=t,"break"},F=f?3:1;F>0;F--){if("break"===R(F))break}t.placement!==C&&(t.modifiersData[i]._skip=!0,t.placement=C,t.reset=!0)}}var flip$1={name:"flip",enabled:!0,phase:"main",fn:flip,requiresIfExists:["offset"],data:{_skip:!1}};function getSideOffsets(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function isAnySideFullyClipped(e){return[top,right,bottom,left].some((function(t){return e[t]>=0}))}function hide(e){var t=e.state,n=e.name,i=t.rects.reference,s=t.rects.popper,r=t.modifiersData.preventOverflow,o=detectOverflow(t,{elementContext:"reference"}),a=detectOverflow(t,{altBoundary:!0}),l=getSideOffsets(o,i),u=getSideOffsets(a,s,r),c=isAnySideFullyClipped(l),h=isAnySideFullyClipped(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":h})}var hide$1={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide};function distanceAndSkiddingToXY(e,t,n){var i=getBasePlacement(e),s=[left,top].indexOf(i)>=0?-1:1,r="function"==typeof n?n(Object.assign({},t,{placement:e})):n,o=r[0],a=r[1];return o=o||0,a=(a||0)*s,[left,right].indexOf(i)>=0?{x:a,y:o}:{x:o,y:a}}function offset(e){var t=e.state,n=e.options,i=e.name,s=n.offset,r=void 0===s?[0,0]:s,o=placements.reduce((function(e,n){return e[n]=distanceAndSkiddingToXY(n,t.rects,r),e}),{}),a=o[t.placement],l=a.x,u=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[i]=o}var offset$1={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset};function popperOffsets(e){var t=e.state,n=e.name;t.modifiersData[n]=computeOffsets({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var popperOffsets$1={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets,data:{}};function getAltAxis(e){return"x"===e?"y":"x"}function preventOverflow(e){var t=e.state,n=e.options,i=e.name,s=n.mainAxis,r=void 0===s||s,o=n.altAxis,a=void 0!==o&&o,l=n.boundary,u=n.rootBoundary,c=n.altBoundary,h=n.padding,d=n.tether,p=void 0===d||d,f=n.tetherOffset,g=void 0===f?0:f,_=detectOverflow(t,{boundary:l,rootBoundary:u,padding:h,altBoundary:c}),E=getBasePlacement(t.placement),m=getVariation(t.placement),v=!m,y=getMainAxisFromPlacement(E),T=getAltAxis(y),b=t.modifiersData.popperOffsets,A=t.rects.reference,C=t.rects.popper,k="function"==typeof g?g(Object.assign({},t.rects,{placement:t.placement})):g,S="number"==typeof k?{mainAxis:k,altAxis:k}:Object.assign({mainAxis:0,altAxis:0},k),O=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,D={x:0,y:0};if(b){if(r){var w,N="y"===y?top:left,I="y"===y?bottom:right,L="y"===y?"height":"width",M=b[y],P=M+_[N],R=M-_[I],F=p?-C[L]/2:0,x=m===start?A[L]:C[L],V=m===start?-C[L]:-A[L],$=t.elements.arrow,H=p&&$?getLayoutRect($):{width:0,height:0},B=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:getFreshSideObject(),j=B[N],W=B[I],U=within(0,A[L],H[L]),K=v?A[L]/2-F-U-j-S.mainAxis:x-U-j-S.mainAxis,Y=v?-A[L]/2+F+U+W+S.mainAxis:V+U+W+S.mainAxis,G=t.elements.arrow&&getOffsetParent(t.elements.arrow),z=G?"y"===y?G.clientTop||0:G.clientLeft||0:0,q=null!=(w=null==O?void 0:O[y])?w:0,X=M+Y-q,Q=within(p?min(P,M+K-q-z):P,M,p?max(R,X):R);b[y]=Q,D[y]=Q-M}if(a){var Z,J="x"===y?top:left,ee="x"===y?bottom:right,te=b[T],ne="y"===T?"height":"width",ie=te+_[J],se=te-_[ee],re=-1!==[top,left].indexOf(E),oe=null!=(Z=null==O?void 0:O[T])?Z:0,ae=re?ie:te-A[ne]-C[ne]-oe+S.altAxis,le=re?te+A[ne]+C[ne]-oe-S.altAxis:se,ue=p&&re?withinMaxClamp(ae,te,le):within(p?ae:ie,te,p?le:se);b[T]=ue,D[T]=ue-te}t.modifiersData[i]=D}}var preventOverflow$1={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow,requiresIfExists:["offset"]};function getHTMLElementScroll(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function getNodeScroll(e){return e!==getWindow(e)&&isHTMLElement(e)?getHTMLElementScroll(e):getWindowScroll(e)}function isElementScaled(e){var t=e.getBoundingClientRect(),n=round(t.width)/e.offsetWidth||1,i=round(t.height)/e.offsetHeight||1;return 1!==n||1!==i}function getCompositeRect(e,t,n){void 0===n&&(n=!1);var i=isHTMLElement(t),s=isHTMLElement(t)&&isElementScaled(t),r=getDocumentElement(t),o=getBoundingClientRect(e,s,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!n)&&(("body"!==getNodeName(t)||isScrollParent(r))&&(a=getNodeScroll(t)),isHTMLElement(t)?((l=getBoundingClientRect(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):r&&(l.x=getWindowScrollBarX(r))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function order(e){var t=new Map,n=new Set,i=[];function s(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var i=t.get(e);i&&s(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||s(e)})),i}function orderModifiers(e){var t=order(e);return modifierPhases.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}function debounce(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function mergeByName(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}var DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var e=arguments.length,t=new Array(e),n=0;nnull==e?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e},getSelector=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&"#"!==n?n.trim():null}return t},getSelectorFromElement=e=>{const t=getSelector(e);return t&&document.querySelector(t)?t:null},getElementFromSelector=e=>{const t=getSelector(e);return t?document.querySelector(t):null},getTransitionDurationFromElement=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e);const i=Number.parseFloat(t),s=Number.parseFloat(n);return i||s?(t=t.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(n))):0},triggerTransitionEnd=e=>{e.dispatchEvent(new Event(TRANSITION_END))},isElement=e=>!(!e||"object"!=typeof e)&&(void 0!==e.jquery&&(e=e[0]),void 0!==e.nodeType),getElement=e=>isElement(e)?e.jquery?e[0]:e:"string"==typeof e&&e.length>0?document.querySelector(e):null,isVisible=e=>{if(!isElement(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),n=e.closest("details:not([open])");if(!n)return t;if(n!==e){const t=e.closest("summary");if(t&&t.parentNode!==n)return!1;if(null===t)return!1}return t},isDisabled=e=>!e||e.nodeType!==Node.ELEMENT_NODE||(!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled"))),findShadowRoot=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?findShadowRoot(e.parentNode):null},noop=()=>{},reflow=e=>{e.offsetHeight},getjQuery=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,DOMContentLoadedCallbacks=[],onDOMContentLoaded=e=>{"loading"===document.readyState?(DOMContentLoadedCallbacks.length||document.addEventListener("DOMContentLoaded",(()=>{for(const e of DOMContentLoadedCallbacks)e()})),DOMContentLoadedCallbacks.push(e)):e()},isRTL=()=>"rtl"===document.documentElement.dir,defineJQueryPlugin=e=>{var t;t=()=>{const t=getjQuery();if(t){const n=e.NAME,i=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=i,e.jQueryInterface)}},"loading"===document.readyState?(DOMContentLoadedCallbacks.length||document.addEventListener("DOMContentLoaded",(()=>{for(const e of DOMContentLoadedCallbacks)e()})),DOMContentLoadedCallbacks.push(t)):t()},execute=e=>{"function"==typeof e&&e()},executeAfterTransition=(e,t,n=!0)=>{if(!n)return void execute(e);const i=getTransitionDurationFromElement(t)+5;let s=!1;const r=({target:n})=>{n===t&&(s=!0,t.removeEventListener(TRANSITION_END,r),execute(e))};t.addEventListener(TRANSITION_END,r),setTimeout((()=>{s||triggerTransitionEnd(t)}),i)},getNextActiveElement=(e,t,n,i)=>{const s=e.length;let r=e.indexOf(t);return-1===r?!n&&i?e[s-1]:e[0]:(r+=n?1:-1,i&&(r=(r+s)%s),e[Math.max(0,Math.min(r,s-1))])},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(e,t){return t&&`${t}::${uidEvent++}`||e.uidEvent||uidEvent++}function getElementEvents(e){const t=makeEventUid(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(e,t){return function n(i){return hydrateObj(i,{delegateTarget:e}),n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(s){const r=e.querySelectorAll(t);for(let{target:o}=s;o&&o!==this;o=o.parentNode)for(const a of r)if(a===o)return hydrateObj(s,{delegateTarget:o}),i.oneOff&&EventHandler.off(e,s.type,t,n),n.apply(o,[s])}}function findHandler(e,t,n=null){return Object.values(e).find((e=>e.callable===t&&e.delegationSelector===n))}function normalizeParameters(e,t,n){const i="string"==typeof t,s=i?n:t||n;let r=getTypeEvent(e);return nativeEvents.has(r)||(r=e),[i,s,r]}function addHandler(e,t,n,i,s){if("string"!=typeof t||!e)return;let[r,o,a]=normalizeParameters(t,n,i);if(t in customEvents){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};o=e(o)}const l=getElementEvents(e),u=l[a]||(l[a]={}),c=findHandler(u,o,r?n:null);if(c)return void(c.oneOff=c.oneOff&&s);const h=makeEventUid(o,t.replace(namespaceRegex,"")),d=r?bootstrapDelegationHandler(e,n,o):bootstrapHandler(e,o);d.delegationSelector=r?n:null,d.callable=o,d.oneOff=s,d.uidEvent=h,u[h]=d,e.addEventListener(a,d,r)}function removeHandler(e,t,n,i,s){const r=findHandler(t[n],i,s);r&&(e.removeEventListener(n,r,Boolean(s)),delete t[n][r.uidEvent])}function removeNamespacedHandlers(e,t,n,i){const s=t[n]||{};for(const r of Object.keys(s))if(r.includes(i)){const i=s[r];removeHandler(e,t,n,i.callable,i.delegationSelector)}}function getTypeEvent(e){return e=e.replace(stripNameRegex,""),customEvents[e]||e}const EventHandler={on(e,t,n,i){addHandler(e,t,n,i,!1)},one(e,t,n,i){addHandler(e,t,n,i,!0)},off(e,t,n,i){if("string"!=typeof t||!e)return;const[s,r,o]=normalizeParameters(t,n,i),a=o!==t,l=getElementEvents(e),u=l[o]||{},c=t.startsWith(".");if(void 0===r){if(c)for(const n of Object.keys(l))removeNamespacedHandlers(e,l,n,t.slice(1));for(const n of Object.keys(u)){const i=n.replace(stripUidRegex,"");if(!a||t.includes(i)){const t=u[n];removeHandler(e,l,o,t.callable,t.delegationSelector)}}}else{if(!Object.keys(u).length)return;removeHandler(e,l,o,r,s?n:null)}},trigger(e,t,n){if("string"!=typeof t||!e)return null;const i=getjQuery();let s=null,r=!0,o=!0,a=!1;t!==getTypeEvent(t)&&i&&(s=i.Event(t,n),i(e).trigger(s),r=!s.isPropagationStopped(),o=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let l=new Event(t,{bubbles:r,cancelable:!0});return l=hydrateObj(l,n),a&&l.preventDefault(),o&&e.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function hydrateObj(e,t){for(const[n,i]of Object.entries(t||{}))try{e[n]=i}catch(t){Object.defineProperty(e,n,{configurable:!0,get:()=>i})}return e}const elementMap=new Map,Data={set(e,t,n){elementMap.has(e)||elementMap.set(e,new Map);const i=elementMap.get(e);i.has(t)||0===i.size?i.set(t,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`)},get:(e,t)=>elementMap.has(e)&&elementMap.get(e).get(t)||null,remove(e,t){if(!elementMap.has(e))return;const n=elementMap.get(e);n.delete(t),0===n.size&&elementMap.delete(e)}};function normalizeData(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch(t){return e}}function normalizeDataKey(e){return e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}const Manipulator={setDataAttribute(e,t,n){e.setAttribute(`data-bs-${normalizeDataKey(t)}`,n)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(e){if(!e)return{};const t={},n=Object.keys(e.dataset).filter((e=>e.startsWith("bs")&&!e.startsWith("bsConfig")));for(const i of n){let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),t[n]=normalizeData(e.dataset[i])}return t},getDataAttribute:(e,t)=>normalizeData(e.getAttribute(`data-bs-${normalizeDataKey(t)}`))};class Config{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=isElement(t)?Manipulator.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...isElement(t)?Manipulator.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const i of Object.keys(t)){const s=t[i],r=e[i],o=isElement(r)?"element":null==(n=r)?`${n}`:Object.prototype.toString.call(n).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${o}" but expected type "${s}".`)}var n}}const VERSION="5.2.2";class BaseComponent extends Config{constructor(e,t){super(),(e=getElement(e))&&(this._element=e,this._config=this._getConfig(t),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){executeAfterTransition(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return Data.get(getElement(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return"5.2.2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const enableDismissTrigger=(e,t="hide")=>{const n=`click.dismiss${e.EVENT_KEY}`,i=e.NAME;EventHandler.on(document,n,`[data-bs-dismiss="${i}"]`,(function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),isDisabled(this))return;const s=getElementFromSelector(this)||this.closest(`.${i}`);e.getOrCreateInstance(s)[t]()}))},NAME$f="alert",DATA_KEY$a="bs.alert",EVENT_KEY$b=".bs.alert",EVENT_CLOSE="close.bs.alert",EVENT_CLOSED="closed.bs.alert",CLASS_NAME_FADE$5="fade",CLASS_NAME_SHOW$8="show";class Alert extends BaseComponent{static get NAME(){return NAME$f}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}static jQueryInterface(e){return this.each((function(){const t=Alert.getOrCreateInstance(this);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}enableDismissTrigger(Alert,"close"),defineJQueryPlugin(Alert);const NAME$e="button",DATA_KEY$9="bs.button",EVENT_KEY$a=".bs.button",DATA_API_KEY$6=".data-api",CLASS_NAME_ACTIVE$3="active",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$6="click.bs.button.data-api";class Button extends BaseComponent{static get NAME(){return NAME$e}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(e){return this.each((function(){const t=Button.getOrCreateInstance(this);"toggle"===e&&t[e]()}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$5,(e=>{e.preventDefault();const t=e.target.closest(SELECTOR_DATA_TOGGLE$5);Button.getOrCreateInstance(t).toggle()})),defineJQueryPlugin(Button);const SelectorEngine={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter((e=>e.matches(t))),parents(e,t){const n=[];let i=e.parentNode.closest(t);for(;i;)n.push(i),i=i.parentNode.closest(t);return n},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((e=>`${e}:not([tabindex^="-"])`)).join(",");return this.find(t,e).filter((e=>!isDisabled(e)&&isVisible(e)))}},NAME$d="swipe",EVENT_KEY$9=".bs.swipe",EVENT_TOUCHSTART="touchstart.bs.swipe",EVENT_TOUCHMOVE="touchmove.bs.swipe",EVENT_TOUCHEND="touchend.bs.swipe",EVENT_POINTERDOWN="pointerdown.bs.swipe",EVENT_POINTERUP="pointerup.bs.swipe",POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$c={endCallback:null,leftCallback:null,rightCallback:null},DefaultType$c={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Swipe extends Config{constructor(e,t){super(),this._element=e,e&&Swipe.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}dispose(){EventHandler.off(this._element,".bs.swipe")}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),execute(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&execute(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,(e=>this._start(e))),EventHandler.on(this._element,EVENT_POINTERUP,(e=>this._end(e))),this._element.classList.add("pointer-event")):(EventHandler.on(this._element,EVENT_TOUCHSTART,(e=>this._start(e))),EventHandler.on(this._element,EVENT_TOUCHMOVE,(e=>this._move(e))),EventHandler.on(this._element,EVENT_TOUCHEND,(e=>this._end(e))))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$c="carousel",DATA_KEY$8="bs.carousel",EVENT_KEY$8=".bs.carousel",DATA_API_KEY$5=".data-api",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE="slide.bs.carousel",EVENT_SLID="slid.bs.carousel",EVENT_KEYDOWN$1="keydown.bs.carousel",EVENT_MOUSEENTER$1="mouseenter.bs.carousel",EVENT_MOUSELEAVE$1="mouseleave.bs.carousel",EVENT_DRAG_START="dragstart.bs.carousel",EVENT_LOAD_DATA_API$3="load.bs.carousel.data-api",EVENT_CLICK_DATA_API$5="click.bs.carousel.data-api",CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$2="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={ArrowLeft:"right",ArrowRight:"left"},Default$b={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$b={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),"carousel"===this._config.ride&&this.cycle()}static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}next(){this._slide("next")}nextWhenVisible(){!document.hidden&&isVisible(this._element)&&this.next()}prev(){this._slide("prev")}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?EventHandler.one(this._element,EVENT_SLID,(()=>this.cycle())):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void EventHandler.one(this._element,EVENT_SLID,(()=>this.to(e)));const n=this._getItemIndex(this._getActive());if(n===e)return;const i=e>n?"next":"prev";this._slide(i,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,(e=>this._keydown(e))),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER$1,(()=>this.pause())),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,(()=>this._maybeEnableCycle()))),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(e,EVENT_DRAG_START,(e=>e.preventDefault()));const e={leftCallback:()=>this._slide(this._directionToOrder("left")),rightCallback:()=>this._slide(this._directionToOrder("right")),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=KEY_TO_DIRECTION[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=SelectorEngine.findOne(".active",this._indicatorsElement);t.classList.remove("active"),t.removeAttribute("aria-current");const n=SelectorEngine.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add("active"),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),i="next"===e,s=t||getNextActiveElement(this._getItems(),n,i,this._config.wrap);if(s===n)return;const r=this._getItemIndex(s),o=t=>EventHandler.trigger(this._element,t,{relatedTarget:s,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:r});if(o(EVENT_SLIDE).defaultPrevented)return;if(!n||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(r),this._activeElement=s;const l=i?CLASS_NAME_START:CLASS_NAME_END,u=i?CLASS_NAME_NEXT:CLASS_NAME_PREV;s.classList.add(u),reflow(s),n.classList.add(l),s.classList.add(l);this._queueCallback((()=>{s.classList.remove(l,u),s.classList.add("active"),n.classList.remove("active",u,l),this._isSliding=!1,o(EVENT_SLID)}),n,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return isRTL()?"left"===e?"prev":"next":"left"===e?"next":"prev"}_orderToDirection(e){return isRTL()?"prev"===e?"left":"right":"prev"===e?"right":"left"}static jQueryInterface(e){return this.each((function(){const t=Carousel.getOrCreateInstance(this,e);if("number"!=typeof e){if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e]()}}else t.to(e)}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_SLIDE,(function(e){const t=getElementFromSelector(this);if(!t||!t.classList.contains("carousel"))return;e.preventDefault();const n=Carousel.getOrCreateInstance(t),i=this.getAttribute("data-bs-slide-to");return i?(n.to(i),void n._maybeEnableCycle()):"next"===Manipulator.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())})),EventHandler.on(window,EVENT_LOAD_DATA_API$3,(()=>{const e=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of e)Carousel.getOrCreateInstance(t)})),defineJQueryPlugin(Carousel);const NAME$b="collapse",DATA_KEY$7="bs.collapse",EVENT_KEY$7=".bs.collapse",DATA_API_KEY$4=".data-api",EVENT_SHOW$6="show.bs.collapse",EVENT_SHOWN$6="shown.bs.collapse",EVENT_HIDE$6="hide.bs.collapse",EVENT_HIDDEN$6="hidden.bs.collapse",EVENT_CLICK_DATA_API$4="click.bs.collapse.data-api",CLASS_NAME_SHOW$7="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=":scope .collapse .collapse",CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="collapse"]',Default$a={parent:null,toggle:!0},DefaultType$a={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);for(const e of n){const t=getSelectorFromElement(e),n=SelectorEngine.find(t).filter((e=>e===this._element));null!==t&&n.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter((e=>e!==this._element)).map((e=>Collapse.getOrCreateInstance(e,{toggle:!1})))),e.length&&e[0]._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$6).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[t]="",EventHandler.trigger(this._element,EVENT_SHOWN$6)}),this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE$6).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");for(const e of this._triggerArray){const t=getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0;this._element.style[e]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),EventHandler.trigger(this._element,EVENT_HIDDEN$6)}),this._element,!0)}_isShown(e=this._element){return e.classList.contains("show")}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=getElement(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);for(const t of e){const e=getElementFromSelector(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(e,this._config.parent).filter((e=>!t.includes(e)))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}static jQueryInterface(e){const t={};return"string"==typeof e&&/show|hide/.test(e)&&(t.toggle=!1),this.each((function(){const n=Collapse.getOrCreateInstance(this,t);if("string"==typeof e){if(void 0===n[e])throw new TypeError(`No method named "${e}"`);n[e]()}}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$4,(function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();const t=getSelectorFromElement(this),n=SelectorEngine.find(t);for(const e of n)Collapse.getOrCreateInstance(e,{toggle:!1}).toggle()})),defineJQueryPlugin(Collapse);const NAME$a="dropdown",DATA_KEY$6="bs.dropdown",EVENT_KEY$6=".bs.dropdown",DATA_API_KEY$3=".data-api",ESCAPE_KEY$2="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",RIGHT_MOUSE_BUTTON=2,EVENT_HIDE$5="hide.bs.dropdown",EVENT_HIDDEN$5="hidden.bs.dropdown",EVENT_SHOW$5="show.bs.dropdown",EVENT_SHOWN$5="shown.bs.dropdown",EVENT_CLICK_DATA_API$3="click.bs.dropdown.data-api",EVENT_KEYDOWN_DATA_API="keydown.bs.dropdown.data-api",EVENT_KEYUP_DATA_API="keyup.bs.dropdown.data-api",CLASS_NAME_SHOW$6="show",CLASS_NAME_DROPUP="dropup",CLASS_NAME_DROPEND="dropend",CLASS_NAME_DROPSTART="dropstart",CLASS_NAME_DROPUP_CENTER="dropup-center",CLASS_NAME_DROPDOWN_CENTER="dropdown-center",SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',SELECTOR_DATA_TOGGLE_SHOWN=`${SELECTOR_DATA_TOGGLE$3}.show`,SELECTOR_MENU=".dropdown-menu",SELECTOR_NAVBAR=".navbar",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",PLACEMENT_TOP=isRTL()?"top-end":"top-start",PLACEMENT_TOPEND=isRTL()?"top-start":"top-end",PLACEMENT_BOTTOM=isRTL()?"bottom-end":"bottom-start",PLACEMENT_BOTTOMEND=isRTL()?"bottom-start":"bottom-end",PLACEMENT_RIGHT=isRTL()?"left-start":"right-start",PLACEMENT_LEFT=isRTL()?"right-start":"left-start",PLACEMENT_TOPCENTER="top",PLACEMENT_BOTTOMCENTER="bottom",Default$9={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},DefaultType$9={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Dropdown extends BaseComponent{constructor(e,t){super(e,t),this._popper=null,this._parent=this._element.parentNode,this._menu=SelectorEngine.next(this._element,SELECTOR_MENU)[0]||SelectorEngine.prev(this._element,SELECTOR_MENU)[0]||SelectorEngine.findOne(SELECTOR_MENU,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$5,e).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add("show"),this._element.classList.add("show"),EventHandler.trigger(this._element,EVENT_SHOWN$5,e)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(e){if(!EventHandler.trigger(this._element,EVENT_HIDE$5,e).defaultPrevented){if("ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"popper"),EventHandler.trigger(this._element,EVENT_HIDDEN$5,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!isElement(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createPopper(){if(void 0===Popper)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=this._parent:isElement(this._config.reference)?e=getElement(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const t=this._getPopperConfig();this._popper=createPopper(e,this._menu,t)}_isShown(){return this._menu.classList.contains("show")}_getPlacement(){const e=this._parent;if(e.classList.contains("dropend"))return PLACEMENT_RIGHT;if(e.classList.contains("dropstart"))return PLACEMENT_LEFT;if(e.classList.contains("dropup-center"))return"top";if(e.classList.contains("dropdown-center"))return"bottom";const t="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return e.classList.contains("dropup")?t?PLACEMENT_TOPEND:PLACEMENT_TOP:t?PLACEMENT_BOTTOMEND:PLACEMENT_BOTTOM}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map((e=>Number.parseInt(e,10))):"function"==typeof e?t=>e(t,this._element):e}_getPopperConfig(){const e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(Manipulator.setDataAttribute(this._menu,"popper","static"),e.modifiers=[{name:"applyStyles",enabled:!1}]),{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_selectMenuItem({key:e,target:t}){const n=SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter((e=>isVisible(e)));n.length&&getNextActiveElement(n,t,e===ARROW_DOWN_KEY$1,!n.includes(t)).focus()}static jQueryInterface(e){return this.each((function(){const t=Dropdown.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}}))}static clearMenus(e){if(2===e.button||"keyup"===e.type&&"Tab"!==e.key)return;const t=SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);for(const n of t){const t=Dropdown.getInstance(n);if(!t||!1===t._config.autoClose)continue;const i=e.composedPath(),s=i.includes(t._menu);if(i.includes(t._element)||"inside"===t._config.autoClose&&!s||"outside"===t._config.autoClose&&s)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const r={relatedTarget:t._element};"click"===e.type&&(r.clickEvent=e),t._completeHide(r)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n="Escape"===e.key,i=[ARROW_UP_KEY$1,ARROW_DOWN_KEY$1].includes(e.key);if(!i&&!n)return;if(t&&!n)return;e.preventDefault();const s=this.matches(SELECTOR_DATA_TOGGLE$3)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$3)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$3)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3,e.delegateTarget.parentNode),r=Dropdown.getOrCreateInstance(s);if(i)return e.stopPropagation(),r.show(),void r._selectMenuItem(e);r._isShown()&&(e.stopPropagation(),r.hide(),s.focus())}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$3,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$3,Dropdown.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Dropdown.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$3,(function(e){e.preventDefault(),Dropdown.getOrCreateInstance(this).toggle()})),defineJQueryPlugin(Dropdown);const SELECTOR_FIXED_CONTENT=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",SELECTOR_STICKY_CONTENT=".sticky-top",PROPERTY_PADDING="padding-right",PROPERTY_MARGIN="margin-right";class ScrollBarHelper{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"padding-right",(t=>t+e)),this._setElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right",(t=>t+e)),this._setElementAttributes(".sticky-top","margin-right",(t=>t-e))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"padding-right"),this._resetElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right"),this._resetElementAttributes(".sticky-top","margin-right")}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,n){const i=this.getWidth();this._applyManipulationCallback(e,(e=>{if(e!==this._element&&window.innerWidth>e.clientWidth+i)return;this._saveInitialAttribute(e,t);const s=window.getComputedStyle(e).getPropertyValue(t);e.style.setProperty(t,`${n(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(e,t){const n=e.style.getPropertyValue(t);n&&Manipulator.setDataAttribute(e,t,n)}_resetElementAttributes(e,t){this._applyManipulationCallback(e,(e=>{const n=Manipulator.getDataAttribute(e,t);null!==n?(Manipulator.removeDataAttribute(e,t),e.style.setProperty(t,n)):e.style.removeProperty(t)}))}_applyManipulationCallback(e,t){if(isElement(e))t(e);else for(const n of SelectorEngine.find(e,this._element))t(n)}}const NAME$9="backdrop",CLASS_NAME_FADE$4="fade",CLASS_NAME_SHOW$5="show",EVENT_MOUSEDOWN="mousedown.bs.backdrop",Default$8={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},DefaultType$8={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Backdrop extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}show(e){if(!this._config.isVisible)return void execute(e);this._append();const t=this._getElement();this._config.isAnimated&&reflow(t),t.classList.add("show"),this._emulateAnimation((()=>{execute(e)}))}hide(e){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation((()=>{this.dispose(),execute(e)}))):execute(e)}dispose(){this._isAppended&&(EventHandler.off(this._element,EVENT_MOUSEDOWN),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add("fade"),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=getElement(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),EventHandler.on(e,EVENT_MOUSEDOWN,(()=>{execute(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(e){executeAfterTransition(e,this._getElement(),this._config.isAnimated)}}const NAME$8="focustrap",DATA_KEY$5="bs.focustrap",EVENT_KEY$5=".bs.focustrap",EVENT_FOCUSIN$2="focusin.bs.focustrap",EVENT_KEYDOWN_TAB="keydown.tab.bs.focustrap",TAB_KEY="Tab",TAB_NAV_FORWARD="forward",TAB_NAV_BACKWARD="backward",Default$7={autofocus:!0,trapElement:null},DefaultType$7={autofocus:"boolean",trapElement:"element"};class FocusTrap extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),EventHandler.off(document,EVENT_KEY$5),EventHandler.on(document,EVENT_FOCUSIN$2,(e=>this._handleFocusin(e))),EventHandler.on(document,EVENT_KEYDOWN_TAB,(e=>this._handleKeydown(e))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,EventHandler.off(document,EVENT_KEY$5))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const n=SelectorEngine.focusableChildren(t);0===n.length?t.focus():"backward"===this._lastTabNavDirection?n[n.length-1].focus():n[0].focus()}_handleKeydown(e){"Tab"===e.key&&(this._lastTabNavDirection=e.shiftKey?"backward":"forward")}}const NAME$7="modal",DATA_KEY$4="bs.modal",EVENT_KEY$4=".bs.modal",DATA_API_KEY$2=".data-api",ESCAPE_KEY$1="Escape",EVENT_HIDE$4="hide.bs.modal",EVENT_HIDE_PREVENTED$1="hidePrevented.bs.modal",EVENT_HIDDEN$4="hidden.bs.modal",EVENT_SHOW$4="show.bs.modal",EVENT_SHOWN$4="shown.bs.modal",EVENT_RESIZE$1="resize.bs.modal",EVENT_CLICK_DISMISS="click.dismiss.bs.modal",EVENT_MOUSEDOWN_DISMISS="mousedown.dismiss.bs.modal",EVENT_KEYDOWN_DISMISS$1="keydown.dismiss.bs.modal",EVENT_CLICK_DATA_API$2="click.bs.modal.data-api",CLASS_NAME_OPEN="modal-open",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$4="show",CLASS_NAME_STATIC="modal-static",OPEN_SELECTOR$1=".modal.show",SELECTOR_DIALOG=".modal-dialog",SELECTOR_MODAL_BODY=".modal-body",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="modal"]',Default$6={backdrop:!0,focus:!0,keyboard:!0},DefaultType$6={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Modal extends BaseComponent{constructor(e,t){super(e,t),this._dialog=SelectorEngine.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new ScrollBarHelper,this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown||this._isTransitioning)return;EventHandler.trigger(this._element,EVENT_SHOW$4,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add("modal-open"),this._adjustDialog(),this._backdrop.show((()=>this._showElement(e))))}hide(){if(!this._isShown||this._isTransitioning)return;EventHandler.trigger(this._element,EVENT_HIDE$4).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove("show"),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated()))}dispose(){for(const e of[window,this._dialog])EventHandler.off(e,".bs.modal");this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Backdrop({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_showElement(e){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const t=SelectorEngine.findOne(".modal-body",this._dialog);t&&(t.scrollTop=0),reflow(this._element),this._element.classList.add("show");this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$4,{relatedTarget:e})}),this._dialog,this._isAnimated())}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS$1,(e=>{if("Escape"===e.key)return this._config.keyboard?(e.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),EventHandler.on(window,EVENT_RESIZE$1,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),EventHandler.on(this._element,EVENT_MOUSEDOWN_DISMISS,(e=>{EventHandler.one(this._element,EVENT_CLICK_DISMISS,(t=>{this._element===e.target&&this._element===t.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),this._scrollBar.reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$4)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED$1).defaultPrevented)return;const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._element.style.overflowY;"hidden"===t||this._element.classList.contains("modal-static")||(e||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static"),this._queueCallback((()=>{this._element.classList.remove("modal-static"),this._queueCallback((()=>{this._element.style.overflowY=t}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._scrollBar.getWidth(),n=t>0;if(n&&!e){const e=isRTL()?"paddingLeft":"paddingRight";this._element.style[e]=`${t}px`}if(!n&&e){const e=isRTL()?"paddingRight":"paddingLeft";this._element.style[e]=`${t}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(e,t){return this.each((function(){const n=Modal.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===n[e])throw new TypeError(`No method named "${e}"`);n[e](t)}}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$2,(function(e){const t=getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),EventHandler.one(t,EVENT_SHOW$4,(e=>{e.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$4,(()=>{isVisible(this)&&this.focus()}))}));const n=SelectorEngine.findOne(".modal.show");n&&Modal.getInstance(n).hide();Modal.getOrCreateInstance(t).toggle(this)})),enableDismissTrigger(Modal),defineJQueryPlugin(Modal);const NAME$6="offcanvas",DATA_KEY$3="bs.offcanvas",EVENT_KEY$3=".bs.offcanvas",DATA_API_KEY$1=".data-api",EVENT_LOAD_DATA_API$2="load.bs.offcanvas.data-api",ESCAPE_KEY="Escape",CLASS_NAME_SHOW$3="show",CLASS_NAME_SHOWING$1="showing",CLASS_NAME_HIDING="hiding",CLASS_NAME_BACKDROP="offcanvas-backdrop",OPEN_SELECTOR=".offcanvas.show",EVENT_SHOW$3="show.bs.offcanvas",EVENT_SHOWN$3="shown.bs.offcanvas",EVENT_HIDE$3="hide.bs.offcanvas",EVENT_HIDE_PREVENTED="hidePrevented.bs.offcanvas",EVENT_HIDDEN$3="hidden.bs.offcanvas",EVENT_RESIZE="resize.bs.offcanvas",EVENT_CLICK_DATA_API$1="click.bs.offcanvas.data-api",EVENT_KEYDOWN_DISMISS="keydown.dismiss.bs.offcanvas",SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="offcanvas"]',Default$5={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$5={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Offcanvas extends BaseComponent{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown)return;if(EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:e}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||(new ScrollBarHelper).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("showing");this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add("show"),this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN$3,{relatedTarget:e})}),this._element,!0)}hide(){if(!this._isShown)return;if(EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add("hiding"),this._backdrop.hide();this._queueCallback((()=>{this._element.classList.remove("show","hiding"),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new ScrollBarHelper).reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$3)}),this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=Boolean(this._config.backdrop);return new Backdrop({className:CLASS_NAME_BACKDROP,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?()=>{"static"!==this._config.backdrop?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED)}:null})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS,(e=>{"Escape"===e.key&&(this._config.keyboard?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED))}))}static jQueryInterface(e){return this.each((function(){const t=Offcanvas.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$1,(function(e){const t=getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,(()=>{isVisible(this)&&this.focus()}));const n=SelectorEngine.findOne(OPEN_SELECTOR);n&&n!==t&&Offcanvas.getInstance(n).hide();Offcanvas.getOrCreateInstance(t).toggle(this)})),EventHandler.on(window,EVENT_LOAD_DATA_API$2,(()=>{for(const e of SelectorEngine.find(OPEN_SELECTOR))Offcanvas.getOrCreateInstance(e).show()})),EventHandler.on(window,EVENT_RESIZE,(()=>{for(const e of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(e).position&&Offcanvas.getOrCreateInstance(e).hide()})),enableDismissTrigger(Offcanvas),defineJQueryPlugin(Offcanvas);const uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,allowedAttribute=(e,t)=>{const n=e.nodeName.toLowerCase();return t.includes(n)?!uriAttributes.has(n)||Boolean(SAFE_URL_PATTERN.test(e.nodeValue)||DATA_URL_PATTERN.test(e.nodeValue)):t.filter((e=>e instanceof RegExp)).some((e=>e.test(n)))},DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);const i=(new window.DOMParser).parseFromString(e,"text/html"),s=[].concat(...i.body.querySelectorAll("*"));for(const e of s){const n=e.nodeName.toLowerCase();if(!Object.keys(t).includes(n)){e.remove();continue}const i=[].concat(...e.attributes),s=[].concat(t["*"]||[],t[n]||[]);for(const t of i)allowedAttribute(t,s)||e.removeAttribute(t.nodeName)}return i.body.innerHTML}const NAME$5="TemplateFactory",Default$4={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},DefaultType$4={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}getContent(){return Object.values(this._config.content).map((e=>this._resolvePossibleFunction(e))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,n]of Object.entries(this._config.content))this._setContent(e,n,t);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},DefaultContentType)}_setContent(e,t,n){const i=SelectorEngine.findOne(n,e);i&&((t=this._resolvePossibleFunction(t))?isElement(t)?this._putElementInTemplate(getElement(t),i):this._config.html?i.innerHTML=this._maybeSanitize(t):i.textContent=t:i.remove())}_maybeSanitize(e){return this._config.sanitize?sanitizeHtml(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return"function"==typeof e?e(this):e}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const NAME$4="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=".modal",EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$1="click",EVENT_FOCUSIN$1="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL()?"left":"right",BOTTOM:"bottom",LEFT:isRTL()?"right":"left"},Default$3={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},DefaultType$3={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Tooltip extends BaseComponent{constructor(e,t){if(void 0===Popper)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.remove(),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=EventHandler.trigger(this._element,this.constructor.eventName("show")),t=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this.tip&&(this.tip.remove(),this.tip=null);const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(n),EventHandler.trigger(this._element,this.constructor.eventName("inserted"))),this._popper?this._popper.update():this._popper=this._createPopper(n),n.classList.add("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._queueCallback((()=>{EventHandler.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(!this._isShown())return;if(EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented)return;const e=this._getTipElement();if(e.classList.remove("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null;this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||e.remove(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName("hidden")),this._disposePopper())}),this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove("fade","show"),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=getUID(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add("fade"),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new TemplateFactory({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains("fade")}_isShown(){return this.tip&&this.tip.classList.contains("show")}_createPopper(e){const t="function"==typeof this._config.placement?this._config.placement.call(this,e,this._element):this._config.placement,n=AttachmentMap[t.toUpperCase()];return createPopper(this._element,e,this._getPopperConfig(n))}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map((e=>Number.parseInt(e,10))):"function"==typeof e?t=>e(t,this._element):e}_resolvePossibleFunction(e){return"function"==typeof e?e.call(this._element):e}_getPopperConfig(e){const t={placement:e,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:e=>{this._getTipElement().setAttribute("data-popper-placement",e.state.placement)}}]};return{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)EventHandler.on(this._element,this.constructor.eventName("click"),this._config.selector,(e=>{this._initializeOnDelegatedTarget(e).toggle()}));else if("manual"!==t){const e="hover"===t?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),n="hover"===t?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");EventHandler.on(this._element,e,this._config.selector,(e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?"focus":"hover"]=!0,t._enter()})),EventHandler.on(this._element,n,this._config.selector,(e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?"focus":"hover"]=t._element.contains(e.relatedTarget),t._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=Manipulator.getDataAttributes(this._element);for(const e of Object.keys(t))DISALLOWED_ATTRIBUTES.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:getElement(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const t in this._config)this.constructor.Default[t]!==this._config[t]&&(e[t]=this._config[t]);return e.selector=!1,e.trigger="manual",e}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(e){return this.each((function(){const t=Tooltip.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}}))}}defineJQueryPlugin(Tooltip);const NAME$3="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",Default$2={...Tooltip.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},DefaultType$2={...Tooltip.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip{static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(e){return this.each((function(){const t=Popover.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}}))}}defineJQueryPlugin(Popover);const NAME$2="scrollspy",DATA_KEY$2="bs.scrollspy",EVENT_KEY$2=".bs.scrollspy",DATA_API_KEY=".data-api",EVENT_ACTIVATE="activate.bs.scrollspy",EVENT_CLICK="click.bs.scrollspy",EVENT_LOAD_DATA_API$1="load.bs.scrollspy.data-api",CLASS_NAME_DROPDOWN_ITEM="dropdown-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=".nav-link, .nav-item > .nav-link, .list-group-item",SELECTOR_DROPDOWN=".dropdown",SELECTOR_DROPDOWN_TOGGLE$1=".dropdown-toggle",Default$1={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$1={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$2}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=getElement(e.target)||document.body,e.rootMargin=e.offset?`${e.offset}px 0px -30%`:e.rootMargin,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map((e=>Number.parseFloat(e)))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK),EventHandler.on(this._config.target,EVENT_CLICK,"[href]",(e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,i=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:i,behavior:"smooth"});n.scrollTop=i}})))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((e=>this._observerCallback(e)),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),n=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},i=(this._rootElement||document.documentElement).scrollTop,s=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const r of e){if(!r.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(r));continue}const e=r.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&e){if(n(r),!i)return}else s||e||n(r)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=SelectorEngine.find("[href]",this._config.target);for(const t of e){if(!t.hash||isDisabled(t))continue;const e=SelectorEngine.findOne(t.hash,this._element);isVisible(e)&&(this._targetLinks.set(t.hash,t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add("active"),this._activateParents(e),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("dropdown-item"))SelectorEngine.findOne(".dropdown-toggle",e.closest(".dropdown")).classList.add("active");else for(const t of SelectorEngine.parents(e,".nav, .list-group"))for(const e of SelectorEngine.prev(t,SELECTOR_LINK_ITEMS))e.classList.add("active")}_clearActiveClass(e){e.classList.remove("active");const t=SelectorEngine.find("[href].active",e);for(const e of t)e.classList.remove("active")}static jQueryInterface(e){return this.each((function(){const t=ScrollSpy.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e]()}}))}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,(()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(e)})),defineJQueryPlugin(ScrollSpy);const NAME$1="tab",DATA_KEY$1="bs.tab",EVENT_KEY$1=".bs.tab",EVENT_HIDE$1="hide.bs.tab",EVENT_HIDDEN$1="hidden.bs.tab",EVENT_SHOW$1="show.bs.tab",EVENT_SHOWN$1="shown.bs.tab",EVENT_CLICK_DATA_API="click.bs.tab",EVENT_KEYDOWN="keydown.bs.tab",EVENT_LOAD_DATA_API="load.bs.tab",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",CLASS_DROPDOWN="dropdown",SELECTOR_DROPDOWN_TOGGLE=".dropdown-toggle",SELECTOR_DROPDOWN_MENU=".dropdown-menu",NOT_SELECTOR_DROPDOWN_TOGGLE=":not(.dropdown-toggle)",SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER='.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle)',SELECTOR_DATA_TOGGLE='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`,SELECTOR_DATA_TOGGLE_ACTIVE='.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]';class Tab extends BaseComponent{constructor(e){super(e),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,(e=>this._keydown(e))))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?EventHandler.trigger(t,EVENT_HIDE$1,{relatedTarget:e}):null;EventHandler.trigger(e,EVENT_SHOW$1,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){if(!e)return;e.classList.add("active"),this._activate(getElementFromSelector(e));this._queueCallback((()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),EventHandler.trigger(e,EVENT_SHOWN$1,{relatedTarget:t})):e.classList.add("show")}),e,e.classList.contains("fade"))}_deactivate(e,t){if(!e)return;e.classList.remove("active"),e.blur(),this._deactivate(getElementFromSelector(e));this._queueCallback((()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),EventHandler.trigger(e,EVENT_HIDDEN$1,{relatedTarget:t})):e.classList.remove("show")}),e,e.classList.contains("fade"))}_keydown(e){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(e.key),n=getNextActiveElement(this._getChildren().filter((e=>!isDisabled(e))),e.target,t,!0);n&&(n.focus({preventScroll:!0}),Tab.getOrCreateInstance(n).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find((e=>this._elemIsActive(e)))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`#${e.id}`))}_toggleDropDown(e,t){const n=this._getOuterElement(e);if(!n.classList.contains("dropdown"))return;const i=(e,i)=>{const s=SelectorEngine.findOne(e,n);s&&s.classList.toggle(i,t)};i(".dropdown-toggle","active"),i(".dropdown-menu","show"),n.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains("active")}_getInnerElement(e){return e.matches(SELECTOR_INNER_ELEM)?e:SelectorEngine.findOne(SELECTOR_INNER_ELEM,e)}_getOuterElement(e){return e.closest(SELECTOR_OUTER)||e}static jQueryInterface(e){return this.each((function(){const t=Tab.getOrCreateInstance(this);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e]()}}))}}EventHandler.on(document,"click.bs.tab",SELECTOR_DATA_TOGGLE,(function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this)||Tab.getOrCreateInstance(this).show()})),EventHandler.on(window,"load.bs.tab",(()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(e)})),defineJQueryPlugin(Tab);const NAME="toast",DATA_KEY="bs.toast",EVENT_KEY=".bs.toast",EVENT_MOUSEOVER="mouseover.bs.toast",EVENT_MOUSEOUT="mouseout.bs.toast",EVENT_FOCUSIN="focusin.bs.toast",EVENT_FOCUSOUT="focusout.bs.toast",EVENT_HIDE="hide.bs.toast",EVENT_HIDDEN="hidden.bs.toast",EVENT_SHOW="show.bs.toast",EVENT_SHOWN="shown.bs.toast",CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType={animation:"boolean",autohide:"boolean",delay:"number"},Default={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}show(){if(EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");this._element.classList.remove("hide"),reflow(this._element),this._element.classList.add("show","showing"),this._queueCallback((()=>{this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()}),this._element,this._config.animation)}hide(){if(!this.isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented)return;this._element.classList.add("showing"),this._queueCallback((()=>{this._element.classList.add("hide"),this._element.classList.remove("showing","show"),EventHandler.trigger(this._element,EVENT_HIDDEN)}),this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove("show"),super.dispose()}isShown(){return this._element.classList.contains("show")}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,(e=>this._onInteraction(e,!0))),EventHandler.on(this._element,EVENT_MOUSEOUT,(e=>this._onInteraction(e,!1))),EventHandler.on(this._element,EVENT_FOCUSIN,(e=>this._onInteraction(e,!0))),EventHandler.on(this._element,EVENT_FOCUSOUT,(e=>this._onInteraction(e,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(e){return this.each((function(){const t=Toast.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}enableDismissTrigger(Toast),defineJQueryPlugin(Toast);var dropdownTriggerList=[].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]'));dropdownTriggerList.map((function(e){var t={boundary:"viewport"===e.getAttribute("data-bs-boundary")?document.querySelector(".btn"):"clippingParents"};return new Dropdown(e,t)}));var tooltipTriggerList=[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));tooltipTriggerList.map((function(e){var t,n,i={delay:{show:50,hide:50},html:null!==(t="true"===e.getAttribute("data-bs-html"))&&void 0!==t&&t,placement:null!==(n=e.getAttribute("data-bs-placement"))&&void 0!==n?n:"auto"};return new Tooltip(e,i)}));var popoverTriggerList=[].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));popoverTriggerList.map((function(e){var t,n,i={delay:{show:50,hide:50},html:null!==(t="true"===e.getAttribute("data-bs-html"))&&void 0!==t&&t,placement:null!==(n=e.getAttribute("data-bs-placement"))&&void 0!==n?n:"auto"};return new Popover(e,i)}));var switchesTriggerList=[].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]'));switchesTriggerList.map((function(e){e.addEventListener("click",(function(t){t.stopPropagation(),e.classList.toggle("active")}))}));var toastsTriggerList=[].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]'));toastsTriggerList.map((function(e){return new Toast(e)})); \ No newline at end of file diff --git a/demo/dist/js/tabler.js b/demo/dist/js/tabler.js deleted file mode 100644 index bc7d9f9e1..000000000 --- a/demo/dist/js/tabler.js +++ /dev/null @@ -1,8387 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -(function (factory) { - typeof define === 'function' && define.amd ? define(factory) : - factory(); -})((function () { 'use strict'; - - var e,t,n="function"==typeof Map?new Map:(e=[],t=[],{has:function(t){return e.indexOf(t)>-1},get:function(n){return t[e.indexOf(n)]},set:function(n,o){-1===e.indexOf(n)&&(e.push(n),t.push(o));},delete:function(n){var o=e.indexOf(n);o>-1&&(e.splice(o,1),t.splice(o,1));}}),o=function(e){return new Event(e,{bubbles:!0})};try{new Event("test");}catch(e){o=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t};}function r(e){var t=n.get(e);t&&t.destroy();}function i(e){var t=n.get(e);t&&t.update();}var l=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((l=function(e){return e}).destroy=function(e){return e},l.update=function(e){return e}):((l=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return function(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!n.has(e)){var t,r=null,i=null,l=null,d=function(){e.clientWidth!==i&&c();},a=function(t){window.removeEventListener("resize",d,!1),e.removeEventListener("input",c,!1),e.removeEventListener("keyup",c,!1),e.removeEventListener("autosize:destroy",a,!1),e.removeEventListener("autosize:update",c,!1),Object.keys(t).forEach(function(n){e.style[n]=t[n];}),n.delete(e);}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",a,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",c,!1),window.addEventListener("resize",d,!1),e.addEventListener("input",c,!1),e.addEventListener("autosize:update",c,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",n.set(e,{destroy:a,update:c}),"vertical"===(t=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),r="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(r)&&(r=0),c();}function u(t){var n=e.style.width;e.style.width="0px",e.style.width=n,e.style.overflowY=t;}function s(){if(0!==e.scrollHeight){var t=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(e),n=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+r+"px",i=e.clientWidth,t.forEach(function(e){e.node.scrollTop=e.scrollTop;}),n&&(document.documentElement.scrollTop=n);}}function c(){s();var t=Math.round(parseFloat(e.style.height)),n=window.getComputedStyle(e,null),r="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):e.offsetHeight;if(r= 0) continue; - target[key] = source[key]; - } - return target; - } - function _objectWithoutProperties(source, excluded) { - if (source == null) return {}; - var target = _objectWithoutPropertiesLoose(source, excluded); - var key, i; - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; - } - } - return target; - } - function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; - } - function _possibleConstructorReturn(self, call) { - if (call && (typeof call === "object" || typeof call === "function")) { - return call; - } else if (call !== void 0) { - throw new TypeError("Derived constructors may only return object or undefined"); - } - return _assertThisInitialized(self); - } - function _createSuper(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct(); - return function _createSuperInternal() { - var Super = _getPrototypeOf(Derived), - result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn(this, result); - }; - } - function _superPropBase(object, property) { - while (!Object.prototype.hasOwnProperty.call(object, property)) { - object = _getPrototypeOf(object); - if (object === null) break; - } - return object; - } - function _get() { - if (typeof Reflect !== "undefined" && Reflect.get) { - _get = Reflect.get.bind(); - } else { - _get = function _get(target, property, receiver) { - var base = _superPropBase(target, property); - if (!base) return; - var desc = Object.getOwnPropertyDescriptor(base, property); - if (desc.get) { - return desc.get.call(arguments.length < 3 ? target : receiver); - } - return desc.value; - }; - } - return _get.apply(this, arguments); - } - function set(target, property, value, receiver) { - if (typeof Reflect !== "undefined" && Reflect.set) { - set = Reflect.set; - } else { - set = function set(target, property, value, receiver) { - var base = _superPropBase(target, property); - var desc; - if (base) { - desc = Object.getOwnPropertyDescriptor(base, property); - if (desc.set) { - desc.set.call(receiver, value); - return true; - } else if (!desc.writable) { - return false; - } - } - desc = Object.getOwnPropertyDescriptor(receiver, property); - if (desc) { - if (!desc.writable) { - return false; - } - desc.value = value; - Object.defineProperty(receiver, property, desc); - } else { - _defineProperty(receiver, property, value); - } - return true; - }; - } - return set(target, property, value, receiver); - } - function _set(target, property, value, receiver, isStrict) { - var s = set(target, property, value, receiver || target); - if (!s && isStrict) { - throw new Error('failed to set property'); - } - return value; - } - function _slicedToArray(arr, i) { - return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); - } - function _toConsumableArray(arr) { - return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); - } - function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) return _arrayLikeToArray(arr); - } - function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; - } - function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); - } - function _iterableToArrayLimit(arr, i) { - var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; - if (_i == null) return; - var _arr = []; - var _n = true; - var _d = false; - var _s, _e; - try { - for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"] != null) _i["return"](); - } finally { - if (_d) throw _e; - } - } - return _arr; - } - function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); - } - function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; - return arr2; - } - function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - - var ChangeDetails = function () { - function ChangeDetails(details) { - _classCallCheck(this, ChangeDetails); - Object.assign(this, { - inserted: '', - rawInserted: '', - skip: false, - tailShift: 0 - }, details); - } - _createClass(ChangeDetails, [{ - key: "aggregate", - value: function aggregate(details) { - this.rawInserted += details.rawInserted; - this.skip = this.skip || details.skip; - this.inserted += details.inserted; - this.tailShift += details.tailShift; - return this; - } - }, { - key: "offset", - get: function get() { - return this.tailShift + this.inserted.length; - } - }]); - return ChangeDetails; - }(); - - function isString(str) { - return typeof str === 'string' || str instanceof String; - } - var DIRECTION = { - NONE: 'NONE', - LEFT: 'LEFT', - FORCE_LEFT: 'FORCE_LEFT', - RIGHT: 'RIGHT', - FORCE_RIGHT: 'FORCE_RIGHT' - }; - function forceDirection(direction) { - switch (direction) { - case DIRECTION.LEFT: - return DIRECTION.FORCE_LEFT; - case DIRECTION.RIGHT: - return DIRECTION.FORCE_RIGHT; - default: - return direction; - } - } - function escapeRegExp(str) { - return str.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); - } - function normalizePrepare(prep) { - return Array.isArray(prep) ? prep : [prep, new ChangeDetails()]; - } - function objectIncludes(b, a) { - if (a === b) return true; - var arrA = Array.isArray(a), - arrB = Array.isArray(b), - i; - if (arrA && arrB) { - if (a.length != b.length) return false; - for (i = 0; i < a.length; i++) { - if (!objectIncludes(a[i], b[i])) return false; - } - return true; - } - if (arrA != arrB) return false; - if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') { - var dateA = a instanceof Date, - dateB = b instanceof Date; - if (dateA && dateB) return a.getTime() == b.getTime(); - if (dateA != dateB) return false; - var regexpA = a instanceof RegExp, - regexpB = b instanceof RegExp; - if (regexpA && regexpB) return a.toString() == b.toString(); - if (regexpA != regexpB) return false; - var keys = Object.keys(a); - for (i = 0; i < keys.length; i++) { - if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; - } - for (i = 0; i < keys.length; i++) { - if (!objectIncludes(b[keys[i]], a[keys[i]])) return false; - } - return true; - } else if (a && b && typeof a === 'function' && typeof b === 'function') { - return a.toString() === b.toString(); - } - return false; - } - - var ActionDetails = function () { - function ActionDetails(value, cursorPos, oldValue, oldSelection) { - _classCallCheck(this, ActionDetails); - this.value = value; - this.cursorPos = cursorPos; - this.oldValue = oldValue; - this.oldSelection = oldSelection; - while (this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos)) { - --this.oldSelection.start; - } - } - _createClass(ActionDetails, [{ - key: "startChangePos", - get: function get() { - return Math.min(this.cursorPos, this.oldSelection.start); - } - }, { - key: "insertedCount", - get: function get() { - return this.cursorPos - this.startChangePos; - } - }, { - key: "inserted", - get: function get() { - return this.value.substr(this.startChangePos, this.insertedCount); - } - }, { - key: "removedCount", - get: function get() { - return Math.max(this.oldSelection.end - this.startChangePos || - this.oldValue.length - this.value.length, 0); - } - }, { - key: "removed", - get: function get() { - return this.oldValue.substr(this.startChangePos, this.removedCount); - } - }, { - key: "head", - get: function get() { - return this.value.substring(0, this.startChangePos); - } - }, { - key: "tail", - get: function get() { - return this.value.substring(this.startChangePos + this.insertedCount); - } - }, { - key: "removeDirection", - get: function get() { - if (!this.removedCount || this.insertedCount) return DIRECTION.NONE; - return (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) && - this.oldSelection.end === this.oldSelection.start ? DIRECTION.RIGHT : DIRECTION.LEFT; - } - }]); - return ActionDetails; - }(); - - var ContinuousTailDetails = function () { - function ContinuousTailDetails() { - var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; - var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - var stop = arguments.length > 2 ? arguments[2] : undefined; - _classCallCheck(this, ContinuousTailDetails); - this.value = value; - this.from = from; - this.stop = stop; - } - _createClass(ContinuousTailDetails, [{ - key: "toString", - value: function toString() { - return this.value; - } - }, { - key: "extend", - value: function extend(tail) { - this.value += String(tail); - } - }, { - key: "appendTo", - value: function appendTo(masked) { - return masked.append(this.toString(), { - tail: true - }).aggregate(masked._appendPlaceholder()); - } - }, { - key: "state", - get: function get() { - return { - value: this.value, - from: this.from, - stop: this.stop - }; - }, - set: function set(state) { - Object.assign(this, state); - } - }, { - key: "unshift", - value: function unshift(beforePos) { - if (!this.value.length || beforePos != null && this.from >= beforePos) return ''; - var shiftChar = this.value[0]; - this.value = this.value.slice(1); - return shiftChar; - } - }, { - key: "shift", - value: function shift() { - if (!this.value.length) return ''; - var shiftChar = this.value[this.value.length - 1]; - this.value = this.value.slice(0, -1); - return shiftChar; - } - }]); - return ContinuousTailDetails; - }(); - - function IMask(el) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return new IMask.InputMask(el, opts); - } - - var Masked = function () { - function Masked(opts) { - _classCallCheck(this, Masked); - this._value = ''; - this._update(Object.assign({}, Masked.DEFAULTS, opts)); - this.isInitialized = true; - } - _createClass(Masked, [{ - key: "updateOptions", - value: function updateOptions(opts) { - if (!Object.keys(opts).length) return; - this.withValueRefresh(this._update.bind(this, opts)); - } - }, { - key: "_update", - value: function _update(opts) { - Object.assign(this, opts); - } - }, { - key: "state", - get: function get() { - return { - _value: this.value - }; - }, - set: function set(state) { - this._value = state._value; - } - }, { - key: "reset", - value: function reset() { - this._value = ''; - } - }, { - key: "value", - get: function get() { - return this._value; - }, - set: function set(value) { - this.resolve(value); - } - }, { - key: "resolve", - value: function resolve(value) { - this.reset(); - this.append(value, { - input: true - }, ''); - this.doCommit(); - return this.value; - } - }, { - key: "unmaskedValue", - get: function get() { - return this.value; - }, - set: function set(value) { - this.reset(); - this.append(value, {}, ''); - this.doCommit(); - } - }, { - key: "typedValue", - get: function get() { - return this.doParse(this.value); - }, - set: function set(value) { - this.value = this.doFormat(value); - } - }, { - key: "rawInputValue", - get: function get() { - return this.extractInput(0, this.value.length, { - raw: true - }); - }, - set: function set(value) { - this.reset(); - this.append(value, { - raw: true - }, ''); - this.doCommit(); - } - }, { - key: "isComplete", - get: function get() { - return true; - } - }, { - key: "isFilled", - get: function get() { - return this.isComplete; - } - }, { - key: "nearestInputPos", - value: function nearestInputPos(cursorPos, direction) { - return cursorPos; - } - }, { - key: "extractInput", - value: function extractInput() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - return this.value.slice(fromPos, toPos); - } - }, { - key: "extractTail", - value: function extractTail() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - return new ContinuousTailDetails(this.extractInput(fromPos, toPos), fromPos); - } - }, { - key: "appendTail", - value: function appendTail(tail) { - if (isString(tail)) tail = new ContinuousTailDetails(String(tail)); - return tail.appendTo(this); - } - }, { - key: "_appendCharRaw", - value: function _appendCharRaw(ch) { - if (!ch) return new ChangeDetails(); - this._value += ch; - return new ChangeDetails({ - inserted: ch, - rawInserted: ch - }); - } - }, { - key: "_appendChar", - value: function _appendChar(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var checkTail = arguments.length > 2 ? arguments[2] : undefined; - var consistentState = this.state; - var details; - var _normalizePrepare = normalizePrepare(this.doPrepare(ch, flags)); - var _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2); - ch = _normalizePrepare2[0]; - details = _normalizePrepare2[1]; - details = details.aggregate(this._appendCharRaw(ch, flags)); - if (details.inserted) { - var consistentTail; - var appended = this.doValidate(flags) !== false; - if (appended && checkTail != null) { - var beforeTailState = this.state; - if (this.overwrite === true) { - consistentTail = checkTail.state; - checkTail.unshift(this.value.length); - } - var tailDetails = this.appendTail(checkTail); - appended = tailDetails.rawInserted === checkTail.toString(); - if (!(appended && tailDetails.inserted) && this.overwrite === 'shift') { - this.state = beforeTailState; - consistentTail = checkTail.state; - checkTail.shift(); - tailDetails = this.appendTail(checkTail); - appended = tailDetails.rawInserted === checkTail.toString(); - } - if (appended && tailDetails.inserted) this.state = beforeTailState; - } - if (!appended) { - details = new ChangeDetails(); - this.state = consistentState; - if (checkTail && consistentTail) checkTail.state = consistentTail; - } - } - return details; - } - }, { - key: "_appendPlaceholder", - value: function _appendPlaceholder() { - return new ChangeDetails(); - } - }, { - key: "_appendEager", - value: function _appendEager() { - return new ChangeDetails(); - } - }, { - key: "append", - value: function append(str, flags, tail) { - if (!isString(str)) throw new Error('value should be string'); - var details = new ChangeDetails(); - var checkTail = isString(tail) ? new ContinuousTailDetails(String(tail)) : tail; - if (flags !== null && flags !== void 0 && flags.tail) flags._beforeTailState = this.state; - for (var ci = 0; ci < str.length; ++ci) { - details.aggregate(this._appendChar(str[ci], flags, checkTail)); - } - if (checkTail != null) { - details.tailShift += this.appendTail(checkTail).tailShift; - } - if (this.eager && flags !== null && flags !== void 0 && flags.input && str) { - details.aggregate(this._appendEager()); - } - return details; - } - }, { - key: "remove", - value: function remove() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - this._value = this.value.slice(0, fromPos) + this.value.slice(toPos); - return new ChangeDetails(); - } - }, { - key: "withValueRefresh", - value: function withValueRefresh(fn) { - if (this._refreshing || !this.isInitialized) return fn(); - this._refreshing = true; - var rawInput = this.rawInputValue; - var value = this.value; - var ret = fn(); - this.rawInputValue = rawInput; - if (this.value && this.value !== value && value.indexOf(this.value) === 0) { - this.append(value.slice(this.value.length), {}, ''); - } - delete this._refreshing; - return ret; - } - }, { - key: "runIsolated", - value: function runIsolated(fn) { - if (this._isolated || !this.isInitialized) return fn(this); - this._isolated = true; - var state = this.state; - var ret = fn(this); - this.state = state; - delete this._isolated; - return ret; - } - }, { - key: "doPrepare", - value: function doPrepare(str) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return this.prepare ? this.prepare(str, this, flags) : str; - } - }, { - key: "doValidate", - value: function doValidate(flags) { - return (!this.validate || this.validate(this.value, this, flags)) && (!this.parent || this.parent.doValidate(flags)); - } - }, { - key: "doCommit", - value: function doCommit() { - if (this.commit) this.commit(this.value, this); - } - }, { - key: "doFormat", - value: function doFormat(value) { - return this.format ? this.format(value, this) : value; - } - }, { - key: "doParse", - value: function doParse(str) { - return this.parse ? this.parse(str, this) : str; - } - }, { - key: "splice", - value: function splice(start, deleteCount, inserted, removeDirection) { - var flags = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { - input: true - }; - var tailPos = start + deleteCount; - var tail = this.extractTail(tailPos); - var oldRawValue; - if (this.eager) { - removeDirection = forceDirection(removeDirection); - oldRawValue = this.extractInput(0, tailPos, { - raw: true - }); - } - var startChangePos = this.nearestInputPos(start, deleteCount > 1 && start !== 0 && !this.eager ? DIRECTION.NONE : removeDirection); - var details = new ChangeDetails({ - tailShift: startChangePos - start - }).aggregate(this.remove(startChangePos)); - if (this.eager && removeDirection !== DIRECTION.NONE && oldRawValue === this.rawInputValue) { - if (removeDirection === DIRECTION.FORCE_LEFT) { - var valLength; - while (oldRawValue === this.rawInputValue && (valLength = this.value.length)) { - details.aggregate(new ChangeDetails({ - tailShift: -1 - })).aggregate(this.remove(valLength - 1)); - } - } else if (removeDirection === DIRECTION.FORCE_RIGHT) { - tail.unshift(); - } - } - return details.aggregate(this.append(inserted, flags, tail)); - } - }, { - key: "maskEquals", - value: function maskEquals(mask) { - return this.mask === mask; - } - }, { - key: "typedValueEquals", - value: function typedValueEquals(value) { - var tval = this.typedValue; - return value === tval || Masked.EMPTY_VALUES.includes(value) && Masked.EMPTY_VALUES.includes(tval) || this.doFormat(value) === this.doFormat(this.typedValue); - } - }]); - return Masked; - }(); - Masked.DEFAULTS = { - format: function format(v) { - return v; - }, - parse: function parse(v) { - return v; - } - }; - Masked.EMPTY_VALUES = [undefined, null, '']; - IMask.Masked = Masked; - - function maskedClass(mask) { - if (mask == null) { - throw new Error('mask property should be defined'); - } - if (mask instanceof RegExp) return IMask.MaskedRegExp; - if (isString(mask)) return IMask.MaskedPattern; - if (mask instanceof Date || mask === Date) return IMask.MaskedDate; - if (mask instanceof Number || typeof mask === 'number' || mask === Number) return IMask.MaskedNumber; - if (Array.isArray(mask) || mask === Array) return IMask.MaskedDynamic; - if (IMask.Masked && mask.prototype instanceof IMask.Masked) return mask; - if (mask instanceof IMask.Masked) return mask.constructor; - if (mask instanceof Function) return IMask.MaskedFunction; - console.warn('Mask not found for mask', mask); - return IMask.Masked; - } - function createMask(opts) { - if (IMask.Masked && opts instanceof IMask.Masked) return opts; - opts = Object.assign({}, opts); - var mask = opts.mask; - if (IMask.Masked && mask instanceof IMask.Masked) return mask; - var MaskedClass = maskedClass(mask); - if (!MaskedClass) throw new Error('Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.'); - return new MaskedClass(opts); - } - IMask.createMask = createMask; - - var _excluded$4 = ["mask"]; - var DEFAULT_INPUT_DEFINITIONS = { - '0': /\d/, - 'a': /[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, - '*': /./ - }; - var PatternInputDefinition = function () { - function PatternInputDefinition(opts) { - _classCallCheck(this, PatternInputDefinition); - var mask = opts.mask, - blockOpts = _objectWithoutProperties(opts, _excluded$4); - this.masked = createMask({ - mask: mask - }); - Object.assign(this, blockOpts); - } - _createClass(PatternInputDefinition, [{ - key: "reset", - value: function reset() { - this.isFilled = false; - this.masked.reset(); - } - }, { - key: "remove", - value: function remove() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - if (fromPos === 0 && toPos >= 1) { - this.isFilled = false; - return this.masked.remove(fromPos, toPos); - } - return new ChangeDetails(); - } - }, { - key: "value", - get: function get() { - return this.masked.value || (this.isFilled && !this.isOptional ? this.placeholderChar : ''); - } - }, { - key: "unmaskedValue", - get: function get() { - return this.masked.unmaskedValue; - } - }, { - key: "isComplete", - get: function get() { - return Boolean(this.masked.value) || this.isOptional; - } - }, { - key: "_appendChar", - value: function _appendChar(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - if (this.isFilled) return new ChangeDetails(); - var state = this.masked.state; - var details = this.masked._appendChar(ch, flags); - if (details.inserted && this.doValidate(flags) === false) { - details.inserted = details.rawInserted = ''; - this.masked.state = state; - } - if (!details.inserted && !this.isOptional && !this.lazy && !flags.input) { - details.inserted = this.placeholderChar; - } - details.skip = !details.inserted && !this.isOptional; - this.isFilled = Boolean(details.inserted); - return details; - } - }, { - key: "append", - value: function append() { - var _this$masked; - return (_this$masked = this.masked).append.apply(_this$masked, arguments); - } - }, { - key: "_appendPlaceholder", - value: function _appendPlaceholder() { - var details = new ChangeDetails(); - if (this.isFilled || this.isOptional) return details; - this.isFilled = true; - details.inserted = this.placeholderChar; - return details; - } - }, { - key: "_appendEager", - value: function _appendEager() { - return new ChangeDetails(); - } - }, { - key: "extractTail", - value: function extractTail() { - var _this$masked2; - return (_this$masked2 = this.masked).extractTail.apply(_this$masked2, arguments); - } - }, { - key: "appendTail", - value: function appendTail() { - var _this$masked3; - return (_this$masked3 = this.masked).appendTail.apply(_this$masked3, arguments); - } - }, { - key: "extractInput", - value: function extractInput() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var flags = arguments.length > 2 ? arguments[2] : undefined; - return this.masked.extractInput(fromPos, toPos, flags); - } - }, { - key: "nearestInputPos", - value: function nearestInputPos(cursorPos) { - var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; - var minPos = 0; - var maxPos = this.value.length; - var boundPos = Math.min(Math.max(cursorPos, minPos), maxPos); - switch (direction) { - case DIRECTION.LEFT: - case DIRECTION.FORCE_LEFT: - return this.isComplete ? boundPos : minPos; - case DIRECTION.RIGHT: - case DIRECTION.FORCE_RIGHT: - return this.isComplete ? boundPos : maxPos; - case DIRECTION.NONE: - default: - return boundPos; - } - } - }, { - key: "doValidate", - value: function doValidate() { - var _this$masked4, _this$parent; - return (_this$masked4 = this.masked).doValidate.apply(_this$masked4, arguments) && (!this.parent || (_this$parent = this.parent).doValidate.apply(_this$parent, arguments)); - } - }, { - key: "doCommit", - value: function doCommit() { - this.masked.doCommit(); - } - }, { - key: "state", - get: function get() { - return { - masked: this.masked.state, - isFilled: this.isFilled - }; - }, - set: function set(state) { - this.masked.state = state.masked; - this.isFilled = state.isFilled; - } - }]); - return PatternInputDefinition; - }(); - - var PatternFixedDefinition = function () { - function PatternFixedDefinition(opts) { - _classCallCheck(this, PatternFixedDefinition); - Object.assign(this, opts); - this._value = ''; - this.isFixed = true; - } - _createClass(PatternFixedDefinition, [{ - key: "value", - get: function get() { - return this._value; - } - }, { - key: "unmaskedValue", - get: function get() { - return this.isUnmasking ? this.value : ''; - } - }, { - key: "reset", - value: function reset() { - this._isRawInput = false; - this._value = ''; - } - }, { - key: "remove", - value: function remove() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length; - this._value = this._value.slice(0, fromPos) + this._value.slice(toPos); - if (!this._value) this._isRawInput = false; - return new ChangeDetails(); - } - }, { - key: "nearestInputPos", - value: function nearestInputPos(cursorPos) { - var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; - var minPos = 0; - var maxPos = this._value.length; - switch (direction) { - case DIRECTION.LEFT: - case DIRECTION.FORCE_LEFT: - return minPos; - case DIRECTION.NONE: - case DIRECTION.RIGHT: - case DIRECTION.FORCE_RIGHT: - default: - return maxPos; - } - } - }, { - key: "extractInput", - value: function extractInput() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length; - var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - return flags.raw && this._isRawInput && this._value.slice(fromPos, toPos) || ''; - } - }, { - key: "isComplete", - get: function get() { - return true; - } - }, { - key: "isFilled", - get: function get() { - return Boolean(this._value); - } - }, { - key: "_appendChar", - value: function _appendChar(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var details = new ChangeDetails(); - if (this._value) return details; - var appended = this.char === ch; - var isResolved = appended && (this.isUnmasking || flags.input || flags.raw) && (!flags.raw || !this.eager) && !flags.tail; - if (isResolved) details.rawInserted = this.char; - this._value = details.inserted = this.char; - this._isRawInput = isResolved && (flags.raw || flags.input); - return details; - } - }, { - key: "_appendEager", - value: function _appendEager() { - return this._appendChar(this.char, { - tail: true - }); - } - }, { - key: "_appendPlaceholder", - value: function _appendPlaceholder() { - var details = new ChangeDetails(); - if (this._value) return details; - this._value = details.inserted = this.char; - return details; - } - }, { - key: "extractTail", - value: function extractTail() { - arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - return new ContinuousTailDetails(''); - } - }, { - key: "appendTail", - value: function appendTail(tail) { - if (isString(tail)) tail = new ContinuousTailDetails(String(tail)); - return tail.appendTo(this); - } - }, { - key: "append", - value: function append(str, flags, tail) { - var details = this._appendChar(str[0], flags); - if (tail != null) { - details.tailShift += this.appendTail(tail).tailShift; - } - return details; - } - }, { - key: "doCommit", - value: function doCommit() {} - }, { - key: "state", - get: function get() { - return { - _value: this._value, - _isRawInput: this._isRawInput - }; - }, - set: function set(state) { - Object.assign(this, state); - } - }]); - return PatternFixedDefinition; - }(); - - var _excluded$3 = ["chunks"]; - var ChunksTailDetails = function () { - function ChunksTailDetails() { - var chunks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - _classCallCheck(this, ChunksTailDetails); - this.chunks = chunks; - this.from = from; - } - _createClass(ChunksTailDetails, [{ - key: "toString", - value: function toString() { - return this.chunks.map(String).join(''); - } - }, { - key: "extend", - value: function extend(tailChunk) { - if (!String(tailChunk)) return; - if (isString(tailChunk)) tailChunk = new ContinuousTailDetails(String(tailChunk)); - var lastChunk = this.chunks[this.chunks.length - 1]; - var extendLast = lastChunk && ( - lastChunk.stop === tailChunk.stop || tailChunk.stop == null) && - tailChunk.from === lastChunk.from + lastChunk.toString().length; - if (tailChunk instanceof ContinuousTailDetails) { - if (extendLast) { - lastChunk.extend(tailChunk.toString()); - } else { - this.chunks.push(tailChunk); - } - } else if (tailChunk instanceof ChunksTailDetails) { - if (tailChunk.stop == null) { - var firstTailChunk; - while (tailChunk.chunks.length && tailChunk.chunks[0].stop == null) { - firstTailChunk = tailChunk.chunks.shift(); - firstTailChunk.from += tailChunk.from; - this.extend(firstTailChunk); - } - } - if (tailChunk.toString()) { - tailChunk.stop = tailChunk.blockIndex; - this.chunks.push(tailChunk); - } - } - } - }, { - key: "appendTo", - value: function appendTo(masked) { - if (!(masked instanceof IMask.MaskedPattern)) { - var tail = new ContinuousTailDetails(this.toString()); - return tail.appendTo(masked); - } - var details = new ChangeDetails(); - for (var ci = 0; ci < this.chunks.length && !details.skip; ++ci) { - var chunk = this.chunks[ci]; - var lastBlockIter = masked._mapPosToBlock(masked.value.length); - var stop = chunk.stop; - var chunkBlock = void 0; - if (stop != null && ( - !lastBlockIter || lastBlockIter.index <= stop)) { - if (chunk instanceof ChunksTailDetails || - masked._stops.indexOf(stop) >= 0) { - details.aggregate(masked._appendPlaceholder(stop)); - } - chunkBlock = chunk instanceof ChunksTailDetails && masked._blocks[stop]; - } - if (chunkBlock) { - var tailDetails = chunkBlock.appendTail(chunk); - tailDetails.skip = false; - details.aggregate(tailDetails); - masked._value += tailDetails.inserted; - var remainChars = chunk.toString().slice(tailDetails.rawInserted.length); - if (remainChars) details.aggregate(masked.append(remainChars, { - tail: true - })); - } else { - details.aggregate(masked.append(chunk.toString(), { - tail: true - })); - } - } - return details; - } - }, { - key: "state", - get: function get() { - return { - chunks: this.chunks.map(function (c) { - return c.state; - }), - from: this.from, - stop: this.stop, - blockIndex: this.blockIndex - }; - }, - set: function set(state) { - var chunks = state.chunks, - props = _objectWithoutProperties(state, _excluded$3); - Object.assign(this, props); - this.chunks = chunks.map(function (cstate) { - var chunk = "chunks" in cstate ? new ChunksTailDetails() : new ContinuousTailDetails(); - chunk.state = cstate; - return chunk; - }); - } - }, { - key: "unshift", - value: function unshift(beforePos) { - if (!this.chunks.length || beforePos != null && this.from >= beforePos) return ''; - var chunkShiftPos = beforePos != null ? beforePos - this.from : beforePos; - var ci = 0; - while (ci < this.chunks.length) { - var chunk = this.chunks[ci]; - var shiftChar = chunk.unshift(chunkShiftPos); - if (chunk.toString()) { - if (!shiftChar) break; - ++ci; - } else { - this.chunks.splice(ci, 1); - } - if (shiftChar) return shiftChar; - } - return ''; - } - }, { - key: "shift", - value: function shift() { - if (!this.chunks.length) return ''; - var ci = this.chunks.length - 1; - while (0 <= ci) { - var chunk = this.chunks[ci]; - var shiftChar = chunk.shift(); - if (chunk.toString()) { - if (!shiftChar) break; - --ci; - } else { - this.chunks.splice(ci, 1); - } - if (shiftChar) return shiftChar; - } - return ''; - } - }]); - return ChunksTailDetails; - }(); - - var PatternCursor = function () { - function PatternCursor(masked, pos) { - _classCallCheck(this, PatternCursor); - this.masked = masked; - this._log = []; - var _ref = masked._mapPosToBlock(pos) || (pos < 0 ? - { - index: 0, - offset: 0 - } : - { - index: this.masked._blocks.length, - offset: 0 - }), - offset = _ref.offset, - index = _ref.index; - this.offset = offset; - this.index = index; - this.ok = false; - } - _createClass(PatternCursor, [{ - key: "block", - get: function get() { - return this.masked._blocks[this.index]; - } - }, { - key: "pos", - get: function get() { - return this.masked._blockStartPos(this.index) + this.offset; - } - }, { - key: "state", - get: function get() { - return { - index: this.index, - offset: this.offset, - ok: this.ok - }; - }, - set: function set(s) { - Object.assign(this, s); - } - }, { - key: "pushState", - value: function pushState() { - this._log.push(this.state); - } - }, { - key: "popState", - value: function popState() { - var s = this._log.pop(); - this.state = s; - return s; - } - }, { - key: "bindBlock", - value: function bindBlock() { - if (this.block) return; - if (this.index < 0) { - this.index = 0; - this.offset = 0; - } - if (this.index >= this.masked._blocks.length) { - this.index = this.masked._blocks.length - 1; - this.offset = this.block.value.length; - } - } - }, { - key: "_pushLeft", - value: function _pushLeft(fn) { - this.pushState(); - for (this.bindBlock(); 0 <= this.index; --this.index, this.offset = ((_this$block = this.block) === null || _this$block === void 0 ? void 0 : _this$block.value.length) || 0) { - var _this$block; - if (fn()) return this.ok = true; - } - return this.ok = false; - } - }, { - key: "_pushRight", - value: function _pushRight(fn) { - this.pushState(); - for (this.bindBlock(); this.index < this.masked._blocks.length; ++this.index, this.offset = 0) { - if (fn()) return this.ok = true; - } - return this.ok = false; - } - }, { - key: "pushLeftBeforeFilled", - value: function pushLeftBeforeFilled() { - var _this = this; - return this._pushLeft(function () { - if (_this.block.isFixed || !_this.block.value) return; - _this.offset = _this.block.nearestInputPos(_this.offset, DIRECTION.FORCE_LEFT); - if (_this.offset !== 0) return true; - }); - } - }, { - key: "pushLeftBeforeInput", - value: function pushLeftBeforeInput() { - var _this2 = this; - return this._pushLeft(function () { - if (_this2.block.isFixed) return; - _this2.offset = _this2.block.nearestInputPos(_this2.offset, DIRECTION.LEFT); - return true; - }); - } - }, { - key: "pushLeftBeforeRequired", - value: function pushLeftBeforeRequired() { - var _this3 = this; - return this._pushLeft(function () { - if (_this3.block.isFixed || _this3.block.isOptional && !_this3.block.value) return; - _this3.offset = _this3.block.nearestInputPos(_this3.offset, DIRECTION.LEFT); - return true; - }); - } - }, { - key: "pushRightBeforeFilled", - value: function pushRightBeforeFilled() { - var _this4 = this; - return this._pushRight(function () { - if (_this4.block.isFixed || !_this4.block.value) return; - _this4.offset = _this4.block.nearestInputPos(_this4.offset, DIRECTION.FORCE_RIGHT); - if (_this4.offset !== _this4.block.value.length) return true; - }); - } - }, { - key: "pushRightBeforeInput", - value: function pushRightBeforeInput() { - var _this5 = this; - return this._pushRight(function () { - if (_this5.block.isFixed) return; - _this5.offset = _this5.block.nearestInputPos(_this5.offset, DIRECTION.NONE); - return true; - }); - } - }, { - key: "pushRightBeforeRequired", - value: function pushRightBeforeRequired() { - var _this6 = this; - return this._pushRight(function () { - if (_this6.block.isFixed || _this6.block.isOptional && !_this6.block.value) return; - _this6.offset = _this6.block.nearestInputPos(_this6.offset, DIRECTION.NONE); - return true; - }); - } - }]); - return PatternCursor; - }(); - - var MaskedRegExp = function (_Masked) { - _inherits(MaskedRegExp, _Masked); - var _super = _createSuper(MaskedRegExp); - function MaskedRegExp() { - _classCallCheck(this, MaskedRegExp); - return _super.apply(this, arguments); - } - _createClass(MaskedRegExp, [{ - key: "_update", - value: - function _update(opts) { - if (opts.mask) opts.validate = function (value) { - return value.search(opts.mask) >= 0; - }; - _get(_getPrototypeOf(MaskedRegExp.prototype), "_update", this).call(this, opts); - } - }]); - return MaskedRegExp; - }(Masked); - IMask.MaskedRegExp = MaskedRegExp; - - var _excluded$2 = ["_blocks"]; - var MaskedPattern = function (_Masked) { - _inherits(MaskedPattern, _Masked); - var _super = _createSuper(MaskedPattern); - function MaskedPattern() { - var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - _classCallCheck(this, MaskedPattern); - opts.definitions = Object.assign({}, DEFAULT_INPUT_DEFINITIONS, opts.definitions); - return _super.call(this, Object.assign({}, MaskedPattern.DEFAULTS, opts)); - } - _createClass(MaskedPattern, [{ - key: "_update", - value: function _update() { - var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - opts.definitions = Object.assign({}, this.definitions, opts.definitions); - _get(_getPrototypeOf(MaskedPattern.prototype), "_update", this).call(this, opts); - this._rebuildMask(); - } - }, { - key: "_rebuildMask", - value: function _rebuildMask() { - var _this = this; - var defs = this.definitions; - this._blocks = []; - this._stops = []; - this._maskedBlocks = {}; - var pattern = this.mask; - if (!pattern || !defs) return; - var unmaskingBlock = false; - var optionalBlock = false; - for (var i = 0; i < pattern.length; ++i) { - if (this.blocks) { - var _ret = function () { - var p = pattern.slice(i); - var bNames = Object.keys(_this.blocks).filter(function (bName) { - return p.indexOf(bName) === 0; - }); - bNames.sort(function (a, b) { - return b.length - a.length; - }); - var bName = bNames[0]; - if (bName) { - var maskedBlock = createMask(Object.assign({ - parent: _this, - lazy: _this.lazy, - eager: _this.eager, - placeholderChar: _this.placeholderChar, - overwrite: _this.overwrite - }, _this.blocks[bName])); - if (maskedBlock) { - _this._blocks.push(maskedBlock); - if (!_this._maskedBlocks[bName]) _this._maskedBlocks[bName] = []; - _this._maskedBlocks[bName].push(_this._blocks.length - 1); - } - i += bName.length - 1; - return "continue"; - } - }(); - if (_ret === "continue") continue; - } - var char = pattern[i]; - var isInput = (char in defs); - if (char === MaskedPattern.STOP_CHAR) { - this._stops.push(this._blocks.length); - continue; - } - if (char === '{' || char === '}') { - unmaskingBlock = !unmaskingBlock; - continue; - } - if (char === '[' || char === ']') { - optionalBlock = !optionalBlock; - continue; - } - if (char === MaskedPattern.ESCAPE_CHAR) { - ++i; - char = pattern[i]; - if (!char) break; - isInput = false; - } - var def = isInput ? new PatternInputDefinition({ - parent: this, - lazy: this.lazy, - eager: this.eager, - placeholderChar: this.placeholderChar, - mask: defs[char], - isOptional: optionalBlock - }) : new PatternFixedDefinition({ - char: char, - eager: this.eager, - isUnmasking: unmaskingBlock - }); - this._blocks.push(def); - } - } - }, { - key: "state", - get: function get() { - return Object.assign({}, _get(_getPrototypeOf(MaskedPattern.prototype), "state", this), { - _blocks: this._blocks.map(function (b) { - return b.state; - }) - }); - }, - set: function set(state) { - var _blocks = state._blocks, - maskedState = _objectWithoutProperties(state, _excluded$2); - this._blocks.forEach(function (b, bi) { - return b.state = _blocks[bi]; - }); - _set(_getPrototypeOf(MaskedPattern.prototype), "state", maskedState, this, true); - } - }, { - key: "reset", - value: function reset() { - _get(_getPrototypeOf(MaskedPattern.prototype), "reset", this).call(this); - this._blocks.forEach(function (b) { - return b.reset(); - }); - } - }, { - key: "isComplete", - get: function get() { - return this._blocks.every(function (b) { - return b.isComplete; - }); - } - }, { - key: "isFilled", - get: function get() { - return this._blocks.every(function (b) { - return b.isFilled; - }); - } - }, { - key: "isFixed", - get: function get() { - return this._blocks.every(function (b) { - return b.isFixed; - }); - } - }, { - key: "isOptional", - get: function get() { - return this._blocks.every(function (b) { - return b.isOptional; - }); - } - }, { - key: "doCommit", - value: function doCommit() { - this._blocks.forEach(function (b) { - return b.doCommit(); - }); - _get(_getPrototypeOf(MaskedPattern.prototype), "doCommit", this).call(this); - } - }, { - key: "unmaskedValue", - get: function get() { - return this._blocks.reduce(function (str, b) { - return str += b.unmaskedValue; - }, ''); - }, - set: function set(unmaskedValue) { - _set(_getPrototypeOf(MaskedPattern.prototype), "unmaskedValue", unmaskedValue, this, true); - } - }, { - key: "value", - get: function get() { - return this._blocks.reduce(function (str, b) { - return str += b.value; - }, ''); - }, - set: function set(value) { - _set(_getPrototypeOf(MaskedPattern.prototype), "value", value, this, true); - } - }, { - key: "appendTail", - value: function appendTail(tail) { - return _get(_getPrototypeOf(MaskedPattern.prototype), "appendTail", this).call(this, tail).aggregate(this._appendPlaceholder()); - } - }, { - key: "_appendEager", - value: function _appendEager() { - var _this$_mapPosToBlock; - var details = new ChangeDetails(); - var startBlockIndex = (_this$_mapPosToBlock = this._mapPosToBlock(this.value.length)) === null || _this$_mapPosToBlock === void 0 ? void 0 : _this$_mapPosToBlock.index; - if (startBlockIndex == null) return details; - if (this._blocks[startBlockIndex].isFilled) ++startBlockIndex; - for (var bi = startBlockIndex; bi < this._blocks.length; ++bi) { - var d = this._blocks[bi]._appendEager(); - if (!d.inserted) break; - details.aggregate(d); - } - return details; - } - }, { - key: "_appendCharRaw", - value: function _appendCharRaw(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var blockIter = this._mapPosToBlock(this.value.length); - var details = new ChangeDetails(); - if (!blockIter) return details; - for (var bi = blockIter.index;; ++bi) { - var _flags$_beforeTailSta, _flags$_beforeTailSta2; - var _block = this._blocks[bi]; - if (!_block) break; - var blockDetails = _block._appendChar(ch, Object.assign({}, flags, { - _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) === null || _flags$_beforeTailSta === void 0 ? void 0 : (_flags$_beforeTailSta2 = _flags$_beforeTailSta._blocks) === null || _flags$_beforeTailSta2 === void 0 ? void 0 : _flags$_beforeTailSta2[bi] - })); - var skip = blockDetails.skip; - details.aggregate(blockDetails); - if (skip || blockDetails.rawInserted) break; - } - return details; - } - }, { - key: "extractTail", - value: function extractTail() { - var _this2 = this; - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var chunkTail = new ChunksTailDetails(); - if (fromPos === toPos) return chunkTail; - this._forEachBlocksInRange(fromPos, toPos, function (b, bi, bFromPos, bToPos) { - var blockChunk = b.extractTail(bFromPos, bToPos); - blockChunk.stop = _this2._findStopBefore(bi); - blockChunk.from = _this2._blockStartPos(bi); - if (blockChunk instanceof ChunksTailDetails) blockChunk.blockIndex = bi; - chunkTail.extend(blockChunk); - }); - return chunkTail; - } - }, { - key: "extractInput", - value: function extractInput() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - if (fromPos === toPos) return ''; - var input = ''; - this._forEachBlocksInRange(fromPos, toPos, function (b, _, fromPos, toPos) { - input += b.extractInput(fromPos, toPos, flags); - }); - return input; - } - }, { - key: "_findStopBefore", - value: function _findStopBefore(blockIndex) { - var stopBefore; - for (var si = 0; si < this._stops.length; ++si) { - var stop = this._stops[si]; - if (stop <= blockIndex) stopBefore = stop;else break; - } - return stopBefore; - } - }, { - key: "_appendPlaceholder", - value: function _appendPlaceholder(toBlockIndex) { - var _this3 = this; - var details = new ChangeDetails(); - if (this.lazy && toBlockIndex == null) return details; - var startBlockIter = this._mapPosToBlock(this.value.length); - if (!startBlockIter) return details; - var startBlockIndex = startBlockIter.index; - var endBlockIndex = toBlockIndex != null ? toBlockIndex : this._blocks.length; - this._blocks.slice(startBlockIndex, endBlockIndex).forEach(function (b) { - if (!b.lazy || toBlockIndex != null) { - var args = b._blocks != null ? [b._blocks.length] : []; - var bDetails = b._appendPlaceholder.apply(b, args); - _this3._value += bDetails.inserted; - details.aggregate(bDetails); - } - }); - return details; - } - }, { - key: "_mapPosToBlock", - value: function _mapPosToBlock(pos) { - var accVal = ''; - for (var bi = 0; bi < this._blocks.length; ++bi) { - var _block2 = this._blocks[bi]; - var blockStartPos = accVal.length; - accVal += _block2.value; - if (pos <= accVal.length) { - return { - index: bi, - offset: pos - blockStartPos - }; - } - } - } - }, { - key: "_blockStartPos", - value: function _blockStartPos(blockIndex) { - return this._blocks.slice(0, blockIndex).reduce(function (pos, b) { - return pos += b.value.length; - }, 0); - } - }, { - key: "_forEachBlocksInRange", - value: function _forEachBlocksInRange(fromPos) { - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var fn = arguments.length > 2 ? arguments[2] : undefined; - var fromBlockIter = this._mapPosToBlock(fromPos); - if (fromBlockIter) { - var toBlockIter = this._mapPosToBlock(toPos); - var isSameBlock = toBlockIter && fromBlockIter.index === toBlockIter.index; - var fromBlockStartPos = fromBlockIter.offset; - var fromBlockEndPos = toBlockIter && isSameBlock ? toBlockIter.offset : this._blocks[fromBlockIter.index].value.length; - fn(this._blocks[fromBlockIter.index], fromBlockIter.index, fromBlockStartPos, fromBlockEndPos); - if (toBlockIter && !isSameBlock) { - for (var bi = fromBlockIter.index + 1; bi < toBlockIter.index; ++bi) { - fn(this._blocks[bi], bi, 0, this._blocks[bi].value.length); - } - fn(this._blocks[toBlockIter.index], toBlockIter.index, 0, toBlockIter.offset); - } - } - } - }, { - key: "remove", - value: function remove() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var removeDetails = _get(_getPrototypeOf(MaskedPattern.prototype), "remove", this).call(this, fromPos, toPos); - this._forEachBlocksInRange(fromPos, toPos, function (b, _, bFromPos, bToPos) { - removeDetails.aggregate(b.remove(bFromPos, bToPos)); - }); - return removeDetails; - } - }, { - key: "nearestInputPos", - value: function nearestInputPos(cursorPos) { - var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; - if (!this._blocks.length) return 0; - var cursor = new PatternCursor(this, cursorPos); - if (direction === DIRECTION.NONE) { - if (cursor.pushRightBeforeInput()) return cursor.pos; - cursor.popState(); - if (cursor.pushLeftBeforeInput()) return cursor.pos; - return this.value.length; - } - if (direction === DIRECTION.LEFT || direction === DIRECTION.FORCE_LEFT) { - if (direction === DIRECTION.LEFT) { - cursor.pushRightBeforeFilled(); - if (cursor.ok && cursor.pos === cursorPos) return cursorPos; - cursor.popState(); - } - cursor.pushLeftBeforeInput(); - cursor.pushLeftBeforeRequired(); - cursor.pushLeftBeforeFilled(); - if (direction === DIRECTION.LEFT) { - cursor.pushRightBeforeInput(); - cursor.pushRightBeforeRequired(); - if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos; - cursor.popState(); - if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos; - cursor.popState(); - } - if (cursor.ok) return cursor.pos; - if (direction === DIRECTION.FORCE_LEFT) return 0; - cursor.popState(); - if (cursor.ok) return cursor.pos; - cursor.popState(); - if (cursor.ok) return cursor.pos; - return 0; - } - if (direction === DIRECTION.RIGHT || direction === DIRECTION.FORCE_RIGHT) { - cursor.pushRightBeforeInput(); - cursor.pushRightBeforeRequired(); - if (cursor.pushRightBeforeFilled()) return cursor.pos; - if (direction === DIRECTION.FORCE_RIGHT) return this.value.length; - cursor.popState(); - if (cursor.ok) return cursor.pos; - cursor.popState(); - if (cursor.ok) return cursor.pos; - return this.nearestInputPos(cursorPos, DIRECTION.LEFT); - } - return cursorPos; - } - }, { - key: "maskedBlock", - value: function maskedBlock(name) { - return this.maskedBlocks(name)[0]; - } - }, { - key: "maskedBlocks", - value: function maskedBlocks(name) { - var _this4 = this; - var indices = this._maskedBlocks[name]; - if (!indices) return []; - return indices.map(function (gi) { - return _this4._blocks[gi]; - }); - } - }]); - return MaskedPattern; - }(Masked); - MaskedPattern.DEFAULTS = { - lazy: true, - placeholderChar: '_' - }; - MaskedPattern.STOP_CHAR = '`'; - MaskedPattern.ESCAPE_CHAR = '\\'; - MaskedPattern.InputDefinition = PatternInputDefinition; - MaskedPattern.FixedDefinition = PatternFixedDefinition; - IMask.MaskedPattern = MaskedPattern; - - var MaskedRange = function (_MaskedPattern) { - _inherits(MaskedRange, _MaskedPattern); - var _super = _createSuper(MaskedRange); - function MaskedRange() { - _classCallCheck(this, MaskedRange); - return _super.apply(this, arguments); - } - _createClass(MaskedRange, [{ - key: "_matchFrom", - get: - function get() { - return this.maxLength - String(this.from).length; - } - }, { - key: "_update", - value: function _update(opts) { - opts = Object.assign({ - to: this.to || 0, - from: this.from || 0, - maxLength: this.maxLength || 0 - }, opts); - var maxLength = String(opts.to).length; - if (opts.maxLength != null) maxLength = Math.max(maxLength, opts.maxLength); - opts.maxLength = maxLength; - var fromStr = String(opts.from).padStart(maxLength, '0'); - var toStr = String(opts.to).padStart(maxLength, '0'); - var sameCharsCount = 0; - while (sameCharsCount < toStr.length && toStr[sameCharsCount] === fromStr[sameCharsCount]) { - ++sameCharsCount; - } - opts.mask = toStr.slice(0, sameCharsCount).replace(/0/g, '\\0') + '0'.repeat(maxLength - sameCharsCount); - _get(_getPrototypeOf(MaskedRange.prototype), "_update", this).call(this, opts); - } - }, { - key: "isComplete", - get: function get() { - return _get(_getPrototypeOf(MaskedRange.prototype), "isComplete", this) && Boolean(this.value); - } - }, { - key: "boundaries", - value: function boundaries(str) { - var minstr = ''; - var maxstr = ''; - var _ref = str.match(/^(\D*)(\d*)(\D*)/) || [], - _ref2 = _slicedToArray(_ref, 3), - placeholder = _ref2[1], - num = _ref2[2]; - if (num) { - minstr = '0'.repeat(placeholder.length) + num; - maxstr = '9'.repeat(placeholder.length) + num; - } - minstr = minstr.padEnd(this.maxLength, '0'); - maxstr = maxstr.padEnd(this.maxLength, '9'); - return [minstr, maxstr]; - } - }, { - key: "doPrepare", - value: function doPrepare(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var details; - var _normalizePrepare = normalizePrepare(_get(_getPrototypeOf(MaskedRange.prototype), "doPrepare", this).call(this, ch.replace(/\D/g, ''), flags)); - var _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2); - ch = _normalizePrepare2[0]; - details = _normalizePrepare2[1]; - if (!this.autofix || !ch) return ch; - var fromStr = String(this.from).padStart(this.maxLength, '0'); - var toStr = String(this.to).padStart(this.maxLength, '0'); - var nextVal = this.value + ch; - if (nextVal.length > this.maxLength) return ''; - var _this$boundaries = this.boundaries(nextVal), - _this$boundaries2 = _slicedToArray(_this$boundaries, 2), - minstr = _this$boundaries2[0], - maxstr = _this$boundaries2[1]; - if (Number(maxstr) < this.from) return fromStr[nextVal.length - 1]; - if (Number(minstr) > this.to) { - if (this.autofix === 'pad' && nextVal.length < this.maxLength) { - return ['', details.aggregate(this.append(fromStr[nextVal.length - 1] + ch, flags))]; - } - return toStr[nextVal.length - 1]; - } - return ch; - } - }, { - key: "doValidate", - value: function doValidate() { - var _get2; - var str = this.value; - var firstNonZero = str.search(/[^0]/); - if (firstNonZero === -1 && str.length <= this._matchFrom) return true; - var _this$boundaries3 = this.boundaries(str), - _this$boundaries4 = _slicedToArray(_this$boundaries3, 2), - minstr = _this$boundaries4[0], - maxstr = _this$boundaries4[1]; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - return this.from <= Number(maxstr) && Number(minstr) <= this.to && (_get2 = _get(_getPrototypeOf(MaskedRange.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)); - } - }]); - return MaskedRange; - }(MaskedPattern); - IMask.MaskedRange = MaskedRange; - - var MaskedDate = function (_MaskedPattern) { - _inherits(MaskedDate, _MaskedPattern); - var _super = _createSuper(MaskedDate); - function MaskedDate(opts) { - _classCallCheck(this, MaskedDate); - return _super.call(this, Object.assign({}, MaskedDate.DEFAULTS, opts)); - } - _createClass(MaskedDate, [{ - key: "_update", - value: function _update(opts) { - if (opts.mask === Date) delete opts.mask; - if (opts.pattern) opts.mask = opts.pattern; - var blocks = opts.blocks; - opts.blocks = Object.assign({}, MaskedDate.GET_DEFAULT_BLOCKS()); - if (opts.min) opts.blocks.Y.from = opts.min.getFullYear(); - if (opts.max) opts.blocks.Y.to = opts.max.getFullYear(); - if (opts.min && opts.max && opts.blocks.Y.from === opts.blocks.Y.to) { - opts.blocks.m.from = opts.min.getMonth() + 1; - opts.blocks.m.to = opts.max.getMonth() + 1; - if (opts.blocks.m.from === opts.blocks.m.to) { - opts.blocks.d.from = opts.min.getDate(); - opts.blocks.d.to = opts.max.getDate(); - } - } - Object.assign(opts.blocks, this.blocks, blocks); - Object.keys(opts.blocks).forEach(function (bk) { - var b = opts.blocks[bk]; - if (!('autofix' in b) && 'autofix' in opts) b.autofix = opts.autofix; - }); - _get(_getPrototypeOf(MaskedDate.prototype), "_update", this).call(this, opts); - } - }, { - key: "doValidate", - value: function doValidate() { - var _get2; - var date = this.date; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - return (_get2 = _get(_getPrototypeOf(MaskedDate.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)) && (!this.isComplete || this.isDateExist(this.value) && date != null && (this.min == null || this.min <= date) && (this.max == null || date <= this.max)); - } - }, { - key: "isDateExist", - value: function isDateExist(str) { - return this.format(this.parse(str, this), this).indexOf(str) >= 0; - } - }, { - key: "date", - get: function get() { - return this.typedValue; - }, - set: function set(date) { - this.typedValue = date; - } - }, { - key: "typedValue", - get: function get() { - return this.isComplete ? _get(_getPrototypeOf(MaskedDate.prototype), "typedValue", this) : null; - }, - set: function set(value) { - _set(_getPrototypeOf(MaskedDate.prototype), "typedValue", value, this, true); - } - }, { - key: "maskEquals", - value: function maskEquals(mask) { - return mask === Date || _get(_getPrototypeOf(MaskedDate.prototype), "maskEquals", this).call(this, mask); - } - }]); - return MaskedDate; - }(MaskedPattern); - MaskedDate.DEFAULTS = { - pattern: 'd{.}`m{.}`Y', - format: function format(date) { - if (!date) return ''; - var day = String(date.getDate()).padStart(2, '0'); - var month = String(date.getMonth() + 1).padStart(2, '0'); - var year = date.getFullYear(); - return [day, month, year].join('.'); - }, - parse: function parse(str) { - var _str$split = str.split('.'), - _str$split2 = _slicedToArray(_str$split, 3), - day = _str$split2[0], - month = _str$split2[1], - year = _str$split2[2]; - return new Date(year, month - 1, day); - } - }; - MaskedDate.GET_DEFAULT_BLOCKS = function () { - return { - d: { - mask: MaskedRange, - from: 1, - to: 31, - maxLength: 2 - }, - m: { - mask: MaskedRange, - from: 1, - to: 12, - maxLength: 2 - }, - Y: { - mask: MaskedRange, - from: 1900, - to: 9999 - } - }; - }; - IMask.MaskedDate = MaskedDate; - - var MaskElement = function () { - function MaskElement() { - _classCallCheck(this, MaskElement); - } - _createClass(MaskElement, [{ - key: "selectionStart", - get: - function get() { - var start; - try { - start = this._unsafeSelectionStart; - } catch (e) {} - return start != null ? start : this.value.length; - } - }, { - key: "selectionEnd", - get: function get() { - var end; - try { - end = this._unsafeSelectionEnd; - } catch (e) {} - return end != null ? end : this.value.length; - } - }, { - key: "select", - value: function select(start, end) { - if (start == null || end == null || start === this.selectionStart && end === this.selectionEnd) return; - try { - this._unsafeSelect(start, end); - } catch (e) {} - } - }, { - key: "_unsafeSelect", - value: function _unsafeSelect(start, end) {} - }, { - key: "isActive", - get: function get() { - return false; - } - }, { - key: "bindEvents", - value: function bindEvents(handlers) {} - }, { - key: "unbindEvents", - value: function unbindEvents() {} - }]); - return MaskElement; - }(); - IMask.MaskElement = MaskElement; - - var HTMLMaskElement = function (_MaskElement) { - _inherits(HTMLMaskElement, _MaskElement); - var _super = _createSuper(HTMLMaskElement); - function HTMLMaskElement(input) { - var _this; - _classCallCheck(this, HTMLMaskElement); - _this = _super.call(this); - _this.input = input; - _this._handlers = {}; - return _this; - } - _createClass(HTMLMaskElement, [{ - key: "rootElement", - get: function get() { - var _this$input$getRootNo, _this$input$getRootNo2, _this$input; - return (_this$input$getRootNo = (_this$input$getRootNo2 = (_this$input = this.input).getRootNode) === null || _this$input$getRootNo2 === void 0 ? void 0 : _this$input$getRootNo2.call(_this$input)) !== null && _this$input$getRootNo !== void 0 ? _this$input$getRootNo : document; - } - }, { - key: "isActive", - get: function get() { - return this.input === this.rootElement.activeElement; - } - }, { - key: "_unsafeSelectionStart", - get: function get() { - return this.input.selectionStart; - } - }, { - key: "_unsafeSelectionEnd", - get: function get() { - return this.input.selectionEnd; - } - }, { - key: "_unsafeSelect", - value: function _unsafeSelect(start, end) { - this.input.setSelectionRange(start, end); - } - }, { - key: "value", - get: function get() { - return this.input.value; - }, - set: function set(value) { - this.input.value = value; - } - }, { - key: "bindEvents", - value: function bindEvents(handlers) { - var _this2 = this; - Object.keys(handlers).forEach(function (event) { - return _this2._toggleEventHandler(HTMLMaskElement.EVENTS_MAP[event], handlers[event]); - }); - } - }, { - key: "unbindEvents", - value: function unbindEvents() { - var _this3 = this; - Object.keys(this._handlers).forEach(function (event) { - return _this3._toggleEventHandler(event); - }); - } - }, { - key: "_toggleEventHandler", - value: function _toggleEventHandler(event, handler) { - if (this._handlers[event]) { - this.input.removeEventListener(event, this._handlers[event]); - delete this._handlers[event]; - } - if (handler) { - this.input.addEventListener(event, handler); - this._handlers[event] = handler; - } - } - }]); - return HTMLMaskElement; - }(MaskElement); - HTMLMaskElement.EVENTS_MAP = { - selectionChange: 'keydown', - input: 'input', - drop: 'drop', - click: 'click', - focus: 'focus', - commit: 'blur' - }; - IMask.HTMLMaskElement = HTMLMaskElement; - - var HTMLContenteditableMaskElement = function (_HTMLMaskElement) { - _inherits(HTMLContenteditableMaskElement, _HTMLMaskElement); - var _super = _createSuper(HTMLContenteditableMaskElement); - function HTMLContenteditableMaskElement() { - _classCallCheck(this, HTMLContenteditableMaskElement); - return _super.apply(this, arguments); - } - _createClass(HTMLContenteditableMaskElement, [{ - key: "_unsafeSelectionStart", - get: - function get() { - var root = this.rootElement; - var selection = root.getSelection && root.getSelection(); - var anchorOffset = selection && selection.anchorOffset; - var focusOffset = selection && selection.focusOffset; - if (focusOffset == null || anchorOffset == null || anchorOffset < focusOffset) { - return anchorOffset; - } - return focusOffset; - } - }, { - key: "_unsafeSelectionEnd", - get: function get() { - var root = this.rootElement; - var selection = root.getSelection && root.getSelection(); - var anchorOffset = selection && selection.anchorOffset; - var focusOffset = selection && selection.focusOffset; - if (focusOffset == null || anchorOffset == null || anchorOffset > focusOffset) { - return anchorOffset; - } - return focusOffset; - } - }, { - key: "_unsafeSelect", - value: function _unsafeSelect(start, end) { - if (!this.rootElement.createRange) return; - var range = this.rootElement.createRange(); - range.setStart(this.input.firstChild || this.input, start); - range.setEnd(this.input.lastChild || this.input, end); - var root = this.rootElement; - var selection = root.getSelection && root.getSelection(); - if (selection) { - selection.removeAllRanges(); - selection.addRange(range); - } - } - }, { - key: "value", - get: function get() { - return this.input.textContent; - }, - set: function set(value) { - this.input.textContent = value; - } - }]); - return HTMLContenteditableMaskElement; - }(HTMLMaskElement); - IMask.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement; - - var _excluded$1 = ["mask"]; - var InputMask = function () { - function InputMask(el, opts) { - _classCallCheck(this, InputMask); - this.el = el instanceof MaskElement ? el : el.isContentEditable && el.tagName !== 'INPUT' && el.tagName !== 'TEXTAREA' ? new HTMLContenteditableMaskElement(el) : new HTMLMaskElement(el); - this.masked = createMask(opts); - this._listeners = {}; - this._value = ''; - this._unmaskedValue = ''; - this._saveSelection = this._saveSelection.bind(this); - this._onInput = this._onInput.bind(this); - this._onChange = this._onChange.bind(this); - this._onDrop = this._onDrop.bind(this); - this._onFocus = this._onFocus.bind(this); - this._onClick = this._onClick.bind(this); - this.alignCursor = this.alignCursor.bind(this); - this.alignCursorFriendly = this.alignCursorFriendly.bind(this); - this._bindEvents(); - this.updateValue(); - this._onChange(); - } - _createClass(InputMask, [{ - key: "mask", - get: function get() { - return this.masked.mask; - }, - set: function set(mask) { - if (this.maskEquals(mask)) return; - if (!(mask instanceof IMask.Masked) && this.masked.constructor === maskedClass(mask)) { - this.masked.updateOptions({ - mask: mask - }); - return; - } - var masked = createMask({ - mask: mask - }); - masked.unmaskedValue = this.masked.unmaskedValue; - this.masked = masked; - } - }, { - key: "maskEquals", - value: function maskEquals(mask) { - var _this$masked; - return mask == null || ((_this$masked = this.masked) === null || _this$masked === void 0 ? void 0 : _this$masked.maskEquals(mask)); - } - }, { - key: "value", - get: function get() { - return this._value; - }, - set: function set(str) { - if (this.value === str) return; - this.masked.value = str; - this.updateControl(); - this.alignCursor(); - } - }, { - key: "unmaskedValue", - get: function get() { - return this._unmaskedValue; - }, - set: function set(str) { - if (this.unmaskedValue === str) return; - this.masked.unmaskedValue = str; - this.updateControl(); - this.alignCursor(); - } - }, { - key: "typedValue", - get: function get() { - return this.masked.typedValue; - }, - set: function set(val) { - if (this.masked.typedValueEquals(val)) return; - this.masked.typedValue = val; - this.updateControl(); - this.alignCursor(); - } - }, { - key: "_bindEvents", - value: function _bindEvents() { - this.el.bindEvents({ - selectionChange: this._saveSelection, - input: this._onInput, - drop: this._onDrop, - click: this._onClick, - focus: this._onFocus, - commit: this._onChange - }); - } - }, { - key: "_unbindEvents", - value: function _unbindEvents() { - if (this.el) this.el.unbindEvents(); - } - }, { - key: "_fireEvent", - value: function _fireEvent(ev) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - var listeners = this._listeners[ev]; - if (!listeners) return; - listeners.forEach(function (l) { - return l.apply(void 0, args); - }); - } - }, { - key: "selectionStart", - get: function get() { - return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart; - } - }, { - key: "cursorPos", - get: function get() { - return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd; - }, - set: function set(pos) { - if (!this.el || !this.el.isActive) return; - this.el.select(pos, pos); - this._saveSelection(); - } - }, { - key: "_saveSelection", - value: function - _saveSelection() { - if (this.value !== this.el.value) { - console.warn('Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly.'); - } - this._selection = { - start: this.selectionStart, - end: this.cursorPos - }; - } - }, { - key: "updateValue", - value: function updateValue() { - this.masked.value = this.el.value; - this._value = this.masked.value; - } - }, { - key: "updateControl", - value: function updateControl() { - var newUnmaskedValue = this.masked.unmaskedValue; - var newValue = this.masked.value; - var isChanged = this.unmaskedValue !== newUnmaskedValue || this.value !== newValue; - this._unmaskedValue = newUnmaskedValue; - this._value = newValue; - if (this.el.value !== newValue) this.el.value = newValue; - if (isChanged) this._fireChangeEvents(); - } - }, { - key: "updateOptions", - value: function updateOptions(opts) { - var mask = opts.mask, - restOpts = _objectWithoutProperties(opts, _excluded$1); - var updateMask = !this.maskEquals(mask); - var updateOpts = !objectIncludes(this.masked, restOpts); - if (updateMask) this.mask = mask; - if (updateOpts) this.masked.updateOptions(restOpts); - if (updateMask || updateOpts) this.updateControl(); - } - }, { - key: "updateCursor", - value: function updateCursor(cursorPos) { - if (cursorPos == null) return; - this.cursorPos = cursorPos; - this._delayUpdateCursor(cursorPos); - } - }, { - key: "_delayUpdateCursor", - value: function _delayUpdateCursor(cursorPos) { - var _this = this; - this._abortUpdateCursor(); - this._changingCursorPos = cursorPos; - this._cursorChanging = setTimeout(function () { - if (!_this.el) return; - _this.cursorPos = _this._changingCursorPos; - _this._abortUpdateCursor(); - }, 10); - } - }, { - key: "_fireChangeEvents", - value: function _fireChangeEvents() { - this._fireEvent('accept', this._inputEvent); - if (this.masked.isComplete) this._fireEvent('complete', this._inputEvent); - } - }, { - key: "_abortUpdateCursor", - value: function _abortUpdateCursor() { - if (this._cursorChanging) { - clearTimeout(this._cursorChanging); - delete this._cursorChanging; - } - } - }, { - key: "alignCursor", - value: function alignCursor() { - this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, DIRECTION.LEFT)); - } - }, { - key: "alignCursorFriendly", - value: function alignCursorFriendly() { - if (this.selectionStart !== this.cursorPos) return; - this.alignCursor(); - } - }, { - key: "on", - value: function on(ev, handler) { - if (!this._listeners[ev]) this._listeners[ev] = []; - this._listeners[ev].push(handler); - return this; - } - }, { - key: "off", - value: function off(ev, handler) { - if (!this._listeners[ev]) return this; - if (!handler) { - delete this._listeners[ev]; - return this; - } - var hIndex = this._listeners[ev].indexOf(handler); - if (hIndex >= 0) this._listeners[ev].splice(hIndex, 1); - return this; - } - }, { - key: "_onInput", - value: function _onInput(e) { - this._inputEvent = e; - this._abortUpdateCursor(); - if (!this._selection) return this.updateValue(); - var details = new ActionDetails( - this.el.value, this.cursorPos, - this.value, this._selection); - var oldRawValue = this.masked.rawInputValue; - var offset = this.masked.splice(details.startChangePos, details.removed.length, details.inserted, details.removeDirection, { - input: true, - raw: true - }).offset; - var removeDirection = oldRawValue === this.masked.rawInputValue ? details.removeDirection : DIRECTION.NONE; - var cursorPos = this.masked.nearestInputPos(details.startChangePos + offset, removeDirection); - if (removeDirection !== DIRECTION.NONE) cursorPos = this.masked.nearestInputPos(cursorPos, DIRECTION.NONE); - this.updateControl(); - this.updateCursor(cursorPos); - delete this._inputEvent; - } - }, { - key: "_onChange", - value: function _onChange() { - if (this.value !== this.el.value) { - this.updateValue(); - } - this.masked.doCommit(); - this.updateControl(); - this._saveSelection(); - } - }, { - key: "_onDrop", - value: function _onDrop(ev) { - ev.preventDefault(); - ev.stopPropagation(); - } - }, { - key: "_onFocus", - value: function _onFocus(ev) { - this.alignCursorFriendly(); - } - }, { - key: "_onClick", - value: function _onClick(ev) { - this.alignCursorFriendly(); - } - }, { - key: "destroy", - value: function destroy() { - this._unbindEvents(); - this._listeners.length = 0; - delete this.el; - } - }]); - return InputMask; - }(); - IMask.InputMask = InputMask; - - var MaskedEnum = function (_MaskedPattern) { - _inherits(MaskedEnum, _MaskedPattern); - var _super = _createSuper(MaskedEnum); - function MaskedEnum() { - _classCallCheck(this, MaskedEnum); - return _super.apply(this, arguments); - } - _createClass(MaskedEnum, [{ - key: "_update", - value: - function _update(opts) { - if (opts.enum) opts.mask = '*'.repeat(opts.enum[0].length); - _get(_getPrototypeOf(MaskedEnum.prototype), "_update", this).call(this, opts); - } - }, { - key: "doValidate", - value: function doValidate() { - var _this = this, - _get2; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - return this.enum.some(function (e) { - return e.indexOf(_this.unmaskedValue) >= 0; - }) && (_get2 = _get(_getPrototypeOf(MaskedEnum.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)); - } - }]); - return MaskedEnum; - }(MaskedPattern); - IMask.MaskedEnum = MaskedEnum; - - var MaskedNumber = function (_Masked) { - _inherits(MaskedNumber, _Masked); - var _super = _createSuper(MaskedNumber); - function MaskedNumber(opts) { - _classCallCheck(this, MaskedNumber); - return _super.call(this, Object.assign({}, MaskedNumber.DEFAULTS, opts)); - } - _createClass(MaskedNumber, [{ - key: "_update", - value: function _update(opts) { - _get(_getPrototypeOf(MaskedNumber.prototype), "_update", this).call(this, opts); - this._updateRegExps(); - } - }, { - key: "_updateRegExps", - value: function _updateRegExps() { - var start = '^' + (this.allowNegative ? '[+|\\-]?' : ''); - var midInput = '(0|([1-9]+\\d*))?'; - var mid = '\\d*'; - var end = (this.scale ? '(' + escapeRegExp(this.radix) + '\\d{0,' + this.scale + '})?' : '') + '$'; - this._numberRegExpInput = new RegExp(start + midInput + end); - this._numberRegExp = new RegExp(start + mid + end); - this._mapToRadixRegExp = new RegExp('[' + this.mapToRadix.map(escapeRegExp).join('') + ']', 'g'); - this._thousandsSeparatorRegExp = new RegExp(escapeRegExp(this.thousandsSeparator), 'g'); - } - }, { - key: "_removeThousandsSeparators", - value: function _removeThousandsSeparators(value) { - return value.replace(this._thousandsSeparatorRegExp, ''); - } - }, { - key: "_insertThousandsSeparators", - value: function _insertThousandsSeparators(value) { - var parts = value.split(this.radix); - parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, this.thousandsSeparator); - return parts.join(this.radix); - } - }, { - key: "doPrepare", - value: function doPrepare(ch) { - var _get2; - ch = ch.replace(this._mapToRadixRegExp, this.radix); - var noSepCh = this._removeThousandsSeparators(ch); - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - var _normalizePrepare = normalizePrepare((_get2 = _get(_getPrototypeOf(MaskedNumber.prototype), "doPrepare", this)).call.apply(_get2, [this, noSepCh].concat(args))), - _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2), - prepCh = _normalizePrepare2[0], - details = _normalizePrepare2[1]; - if (ch && !noSepCh) details.skip = true; - return [prepCh, details]; - } - }, { - key: "_separatorsCount", - value: function _separatorsCount(to) { - var extendOnSeparators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var count = 0; - for (var pos = 0; pos < to; ++pos) { - if (this._value.indexOf(this.thousandsSeparator, pos) === pos) { - ++count; - if (extendOnSeparators) to += this.thousandsSeparator.length; - } - } - return count; - } - }, { - key: "_separatorsCountFromSlice", - value: function _separatorsCountFromSlice() { - var slice = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._value; - return this._separatorsCount(this._removeThousandsSeparators(slice).length, true); - } - }, { - key: "extractInput", - value: function extractInput() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var flags = arguments.length > 2 ? arguments[2] : undefined; - var _this$_adjustRangeWit = this._adjustRangeWithSeparators(fromPos, toPos); - var _this$_adjustRangeWit2 = _slicedToArray(_this$_adjustRangeWit, 2); - fromPos = _this$_adjustRangeWit2[0]; - toPos = _this$_adjustRangeWit2[1]; - return this._removeThousandsSeparators(_get(_getPrototypeOf(MaskedNumber.prototype), "extractInput", this).call(this, fromPos, toPos, flags)); - } - }, { - key: "_appendCharRaw", - value: function _appendCharRaw(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - if (!this.thousandsSeparator) return _get(_getPrototypeOf(MaskedNumber.prototype), "_appendCharRaw", this).call(this, ch, flags); - var prevBeforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value; - var prevBeforeTailSeparatorsCount = this._separatorsCountFromSlice(prevBeforeTailValue); - this._value = this._removeThousandsSeparators(this.value); - var appendDetails = _get(_getPrototypeOf(MaskedNumber.prototype), "_appendCharRaw", this).call(this, ch, flags); - this._value = this._insertThousandsSeparators(this._value); - var beforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value; - var beforeTailSeparatorsCount = this._separatorsCountFromSlice(beforeTailValue); - appendDetails.tailShift += (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length; - appendDetails.skip = !appendDetails.rawInserted && ch === this.thousandsSeparator; - return appendDetails; - } - }, { - key: "_findSeparatorAround", - value: function _findSeparatorAround(pos) { - if (this.thousandsSeparator) { - var searchFrom = pos - this.thousandsSeparator.length + 1; - var separatorPos = this.value.indexOf(this.thousandsSeparator, searchFrom); - if (separatorPos <= pos) return separatorPos; - } - return -1; - } - }, { - key: "_adjustRangeWithSeparators", - value: function _adjustRangeWithSeparators(from, to) { - var separatorAroundFromPos = this._findSeparatorAround(from); - if (separatorAroundFromPos >= 0) from = separatorAroundFromPos; - var separatorAroundToPos = this._findSeparatorAround(to); - if (separatorAroundToPos >= 0) to = separatorAroundToPos + this.thousandsSeparator.length; - return [from, to]; - } - }, { - key: "remove", - value: function remove() { - var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; - var _this$_adjustRangeWit3 = this._adjustRangeWithSeparators(fromPos, toPos); - var _this$_adjustRangeWit4 = _slicedToArray(_this$_adjustRangeWit3, 2); - fromPos = _this$_adjustRangeWit4[0]; - toPos = _this$_adjustRangeWit4[1]; - var valueBeforePos = this.value.slice(0, fromPos); - var valueAfterPos = this.value.slice(toPos); - var prevBeforeTailSeparatorsCount = this._separatorsCount(valueBeforePos.length); - this._value = this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos + valueAfterPos)); - var beforeTailSeparatorsCount = this._separatorsCountFromSlice(valueBeforePos); - return new ChangeDetails({ - tailShift: (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length - }); - } - }, { - key: "nearestInputPos", - value: function nearestInputPos(cursorPos, direction) { - if (!this.thousandsSeparator) return cursorPos; - switch (direction) { - case DIRECTION.NONE: - case DIRECTION.LEFT: - case DIRECTION.FORCE_LEFT: - { - var separatorAtLeftPos = this._findSeparatorAround(cursorPos - 1); - if (separatorAtLeftPos >= 0) { - var separatorAtLeftEndPos = separatorAtLeftPos + this.thousandsSeparator.length; - if (cursorPos < separatorAtLeftEndPos || this.value.length <= separatorAtLeftEndPos || direction === DIRECTION.FORCE_LEFT) { - return separatorAtLeftPos; - } - } - break; - } - case DIRECTION.RIGHT: - case DIRECTION.FORCE_RIGHT: - { - var separatorAtRightPos = this._findSeparatorAround(cursorPos); - if (separatorAtRightPos >= 0) { - return separatorAtRightPos + this.thousandsSeparator.length; - } - } - } - return cursorPos; - } - }, { - key: "doValidate", - value: function doValidate(flags) { - var regexp = flags.input ? this._numberRegExpInput : this._numberRegExp; - var valid = regexp.test(this._removeThousandsSeparators(this.value)); - if (valid) { - var number = this.number; - valid = valid && !isNaN(number) && ( - this.min == null || this.min >= 0 || this.min <= this.number) && ( - this.max == null || this.max <= 0 || this.number <= this.max); - } - return valid && _get(_getPrototypeOf(MaskedNumber.prototype), "doValidate", this).call(this, flags); - } - }, { - key: "doCommit", - value: function doCommit() { - if (this.value) { - var number = this.number; - var validnum = number; - if (this.min != null) validnum = Math.max(validnum, this.min); - if (this.max != null) validnum = Math.min(validnum, this.max); - if (validnum !== number) this.unmaskedValue = String(validnum); - var formatted = this.value; - if (this.normalizeZeros) formatted = this._normalizeZeros(formatted); - if (this.padFractionalZeros && this.scale > 0) formatted = this._padFractionalZeros(formatted); - this._value = formatted; - } - _get(_getPrototypeOf(MaskedNumber.prototype), "doCommit", this).call(this); - } - }, { - key: "_normalizeZeros", - value: function _normalizeZeros(value) { - var parts = this._removeThousandsSeparators(value).split(this.radix); - parts[0] = parts[0].replace(/^(\D*)(0*)(\d*)/, function (match, sign, zeros, num) { - return sign + num; - }); - if (value.length && !/\d$/.test(parts[0])) parts[0] = parts[0] + '0'; - if (parts.length > 1) { - parts[1] = parts[1].replace(/0*$/, ''); - if (!parts[1].length) parts.length = 1; - } - return this._insertThousandsSeparators(parts.join(this.radix)); - } - }, { - key: "_padFractionalZeros", - value: function _padFractionalZeros(value) { - if (!value) return value; - var parts = value.split(this.radix); - if (parts.length < 2) parts.push(''); - parts[1] = parts[1].padEnd(this.scale, '0'); - return parts.join(this.radix); - } - }, { - key: "unmaskedValue", - get: function get() { - return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix, '.'); - }, - set: function set(unmaskedValue) { - _set(_getPrototypeOf(MaskedNumber.prototype), "unmaskedValue", unmaskedValue.replace('.', this.radix), this, true); - } - }, { - key: "typedValue", - get: function get() { - return Number(this.unmaskedValue); - }, - set: function set(n) { - _set(_getPrototypeOf(MaskedNumber.prototype), "unmaskedValue", String(n), this, true); - } - }, { - key: "number", - get: function get() { - return this.typedValue; - }, - set: function set(number) { - this.typedValue = number; - } - }, { - key: "allowNegative", - get: function get() { - return this.signed || this.min != null && this.min < 0 || this.max != null && this.max < 0; - } - }, { - key: "typedValueEquals", - value: function typedValueEquals(value) { - return (_get(_getPrototypeOf(MaskedNumber.prototype), "typedValueEquals", this).call(this, value) || MaskedNumber.EMPTY_VALUES.includes(value) && MaskedNumber.EMPTY_VALUES.includes(this.typedValue)) && !(value === 0 && this.value === ''); - } - }]); - return MaskedNumber; - }(Masked); - MaskedNumber.DEFAULTS = { - radix: ',', - thousandsSeparator: '', - mapToRadix: ['.'], - scale: 2, - signed: false, - normalizeZeros: true, - padFractionalZeros: false - }; - MaskedNumber.EMPTY_VALUES = [].concat(_toConsumableArray(Masked.EMPTY_VALUES), [0]); - IMask.MaskedNumber = MaskedNumber; - - var MaskedFunction = function (_Masked) { - _inherits(MaskedFunction, _Masked); - var _super = _createSuper(MaskedFunction); - function MaskedFunction() { - _classCallCheck(this, MaskedFunction); - return _super.apply(this, arguments); - } - _createClass(MaskedFunction, [{ - key: "_update", - value: - function _update(opts) { - if (opts.mask) opts.validate = opts.mask; - _get(_getPrototypeOf(MaskedFunction.prototype), "_update", this).call(this, opts); - } - }]); - return MaskedFunction; - }(Masked); - IMask.MaskedFunction = MaskedFunction; - - var _excluded = ["compiledMasks", "currentMaskRef", "currentMask"]; - var MaskedDynamic = function (_Masked) { - _inherits(MaskedDynamic, _Masked); - var _super = _createSuper(MaskedDynamic); - function MaskedDynamic(opts) { - var _this; - _classCallCheck(this, MaskedDynamic); - _this = _super.call(this, Object.assign({}, MaskedDynamic.DEFAULTS, opts)); - _this.currentMask = null; - return _this; - } - _createClass(MaskedDynamic, [{ - key: "_update", - value: function _update(opts) { - _get(_getPrototypeOf(MaskedDynamic.prototype), "_update", this).call(this, opts); - if ('mask' in opts) { - this.compiledMasks = Array.isArray(opts.mask) ? opts.mask.map(function (m) { - return createMask(m); - }) : []; - } - } - }, { - key: "_appendCharRaw", - value: function _appendCharRaw(ch) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var details = this._applyDispatch(ch, flags); - if (this.currentMask) { - details.aggregate(this.currentMask._appendChar(ch, this.currentMaskFlags(flags))); - } - return details; - } - }, { - key: "_applyDispatch", - value: function _applyDispatch() { - var appended = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var prevValueBeforeTail = flags.tail && flags._beforeTailState != null ? flags._beforeTailState._value : this.value; - var inputValue = this.rawInputValue; - var insertValue = flags.tail && flags._beforeTailState != null ? - flags._beforeTailState._rawInputValue : inputValue; - var tailValue = inputValue.slice(insertValue.length); - var prevMask = this.currentMask; - var details = new ChangeDetails(); - var prevMaskState = prevMask === null || prevMask === void 0 ? void 0 : prevMask.state; - this.currentMask = this.doDispatch(appended, Object.assign({}, flags)); - if (this.currentMask) { - if (this.currentMask !== prevMask) { - this.currentMask.reset(); - if (insertValue) { - var d = this.currentMask.append(insertValue, { - raw: true - }); - details.tailShift = d.inserted.length - prevValueBeforeTail.length; - } - if (tailValue) { - details.tailShift += this.currentMask.append(tailValue, { - raw: true, - tail: true - }).tailShift; - } - } else { - this.currentMask.state = prevMaskState; - } - } - return details; - } - }, { - key: "_appendPlaceholder", - value: function _appendPlaceholder() { - var details = this._applyDispatch.apply(this, arguments); - if (this.currentMask) { - details.aggregate(this.currentMask._appendPlaceholder()); - } - return details; - } - }, { - key: "_appendEager", - value: function _appendEager() { - var details = this._applyDispatch.apply(this, arguments); - if (this.currentMask) { - details.aggregate(this.currentMask._appendEager()); - } - return details; - } - }, { - key: "currentMaskFlags", - value: function currentMaskFlags(flags) { - var _flags$_beforeTailSta, _flags$_beforeTailSta2; - return Object.assign({}, flags, { - _beforeTailState: ((_flags$_beforeTailSta = flags._beforeTailState) === null || _flags$_beforeTailSta === void 0 ? void 0 : _flags$_beforeTailSta.currentMaskRef) === this.currentMask && ((_flags$_beforeTailSta2 = flags._beforeTailState) === null || _flags$_beforeTailSta2 === void 0 ? void 0 : _flags$_beforeTailSta2.currentMask) || flags._beforeTailState - }); - } - }, { - key: "doDispatch", - value: function doDispatch(appended) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return this.dispatch(appended, this, flags); - } - }, { - key: "doValidate", - value: function doValidate(flags) { - return _get(_getPrototypeOf(MaskedDynamic.prototype), "doValidate", this).call(this, flags) && (!this.currentMask || this.currentMask.doValidate(this.currentMaskFlags(flags))); - } - }, { - key: "doPrepare", - value: function doPrepare(str) { - var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var _normalizePrepare = normalizePrepare(_get(_getPrototypeOf(MaskedDynamic.prototype), "doPrepare", this).call(this, str, flags)), - _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2), - s = _normalizePrepare2[0], - details = _normalizePrepare2[1]; - if (this.currentMask) { - var currentDetails; - var _normalizePrepare3 = normalizePrepare(_get(_getPrototypeOf(MaskedDynamic.prototype), "doPrepare", this).call(this, s, this.currentMaskFlags(flags))); - var _normalizePrepare4 = _slicedToArray(_normalizePrepare3, 2); - s = _normalizePrepare4[0]; - currentDetails = _normalizePrepare4[1]; - details = details.aggregate(currentDetails); - } - return [s, details]; - } - }, { - key: "reset", - value: function reset() { - var _this$currentMask; - (_this$currentMask = this.currentMask) === null || _this$currentMask === void 0 ? void 0 : _this$currentMask.reset(); - this.compiledMasks.forEach(function (m) { - return m.reset(); - }); - } - }, { - key: "value", - get: function get() { - return this.currentMask ? this.currentMask.value : ''; - }, - set: function set(value) { - _set(_getPrototypeOf(MaskedDynamic.prototype), "value", value, this, true); - } - }, { - key: "unmaskedValue", - get: function get() { - return this.currentMask ? this.currentMask.unmaskedValue : ''; - }, - set: function set(unmaskedValue) { - _set(_getPrototypeOf(MaskedDynamic.prototype), "unmaskedValue", unmaskedValue, this, true); - } - }, { - key: "typedValue", - get: function get() { - return this.currentMask ? this.currentMask.typedValue : ''; - } - , - set: function set(value) { - var unmaskedValue = String(value); - if (this.currentMask) { - this.currentMask.typedValue = value; - unmaskedValue = this.currentMask.unmaskedValue; - } - this.unmaskedValue = unmaskedValue; - } - }, { - key: "isComplete", - get: function get() { - var _this$currentMask2; - return Boolean((_this$currentMask2 = this.currentMask) === null || _this$currentMask2 === void 0 ? void 0 : _this$currentMask2.isComplete); - } - }, { - key: "isFilled", - get: function get() { - var _this$currentMask3; - return Boolean((_this$currentMask3 = this.currentMask) === null || _this$currentMask3 === void 0 ? void 0 : _this$currentMask3.isFilled); - } - }, { - key: "remove", - value: function remove() { - var details = new ChangeDetails(); - if (this.currentMask) { - var _this$currentMask4; - details.aggregate((_this$currentMask4 = this.currentMask).remove.apply(_this$currentMask4, arguments)) - .aggregate(this._applyDispatch()); - } - return details; - } - }, { - key: "state", - get: function get() { - var _this$currentMask5; - return Object.assign({}, _get(_getPrototypeOf(MaskedDynamic.prototype), "state", this), { - _rawInputValue: this.rawInputValue, - compiledMasks: this.compiledMasks.map(function (m) { - return m.state; - }), - currentMaskRef: this.currentMask, - currentMask: (_this$currentMask5 = this.currentMask) === null || _this$currentMask5 === void 0 ? void 0 : _this$currentMask5.state - }); - }, - set: function set(state) { - var compiledMasks = state.compiledMasks, - currentMaskRef = state.currentMaskRef, - currentMask = state.currentMask, - maskedState = _objectWithoutProperties(state, _excluded); - this.compiledMasks.forEach(function (m, mi) { - return m.state = compiledMasks[mi]; - }); - if (currentMaskRef != null) { - this.currentMask = currentMaskRef; - this.currentMask.state = currentMask; - } - _set(_getPrototypeOf(MaskedDynamic.prototype), "state", maskedState, this, true); - } - }, { - key: "extractInput", - value: function extractInput() { - var _this$currentMask6; - return this.currentMask ? (_this$currentMask6 = this.currentMask).extractInput.apply(_this$currentMask6, arguments) : ''; - } - }, { - key: "extractTail", - value: function extractTail() { - var _this$currentMask7, _get2; - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - return this.currentMask ? (_this$currentMask7 = this.currentMask).extractTail.apply(_this$currentMask7, args) : (_get2 = _get(_getPrototypeOf(MaskedDynamic.prototype), "extractTail", this)).call.apply(_get2, [this].concat(args)); - } - }, { - key: "doCommit", - value: function doCommit() { - if (this.currentMask) this.currentMask.doCommit(); - _get(_getPrototypeOf(MaskedDynamic.prototype), "doCommit", this).call(this); - } - }, { - key: "nearestInputPos", - value: function nearestInputPos() { - var _this$currentMask8, _get3; - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - return this.currentMask ? (_this$currentMask8 = this.currentMask).nearestInputPos.apply(_this$currentMask8, args) : (_get3 = _get(_getPrototypeOf(MaskedDynamic.prototype), "nearestInputPos", this)).call.apply(_get3, [this].concat(args)); - } - }, { - key: "overwrite", - get: function get() { - return this.currentMask ? this.currentMask.overwrite : _get(_getPrototypeOf(MaskedDynamic.prototype), "overwrite", this); - }, - set: function set(overwrite) { - console.warn('"overwrite" option is not available in dynamic mask, use this option in siblings'); - } - }, { - key: "eager", - get: function get() { - return this.currentMask ? this.currentMask.eager : _get(_getPrototypeOf(MaskedDynamic.prototype), "eager", this); - }, - set: function set(eager) { - console.warn('"eager" option is not available in dynamic mask, use this option in siblings'); - } - }, { - key: "maskEquals", - value: function maskEquals(mask) { - return Array.isArray(mask) && this.compiledMasks.every(function (m, mi) { - var _mask$mi; - return m.maskEquals((_mask$mi = mask[mi]) === null || _mask$mi === void 0 ? void 0 : _mask$mi.mask); - }); - } - }, { - key: "typedValueEquals", - value: function typedValueEquals(value) { - var _this$currentMask9; - return Boolean((_this$currentMask9 = this.currentMask) === null || _this$currentMask9 === void 0 ? void 0 : _this$currentMask9.typedValueEquals(value)); - } - }]); - return MaskedDynamic; - }(Masked); - MaskedDynamic.DEFAULTS = { - dispatch: function dispatch(appended, masked, flags) { - if (!masked.compiledMasks.length) return; - var inputValue = masked.rawInputValue; - var inputs = masked.compiledMasks.map(function (m, index) { - m.reset(); - m.append(inputValue, { - raw: true - }); - m.append(appended, masked.currentMaskFlags(flags)); - var weight = m.rawInputValue.length; - return { - weight: weight, - index: index - }; - }); - inputs.sort(function (i1, i2) { - return i2.weight - i1.weight; - }); - return masked.compiledMasks[inputs[0].index]; - } - }; - IMask.MaskedDynamic = MaskedDynamic; - - var PIPE_TYPE = { - MASKED: 'value', - UNMASKED: 'unmaskedValue', - TYPED: 'typedValue' - }; - function createPipe(mask) { - var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : PIPE_TYPE.MASKED; - var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : PIPE_TYPE.MASKED; - var masked = createMask(mask); - return function (value) { - return masked.runIsolated(function (m) { - m[from] = value; - return m[to]; - }); - }; - } - function pipe(value) { - for (var _len = arguments.length, pipeArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - pipeArgs[_key - 1] = arguments[_key]; - } - return createPipe.apply(void 0, pipeArgs)(value); - } - IMask.PIPE_TYPE = PIPE_TYPE; - IMask.createPipe = createPipe; - IMask.pipe = pipe; - - try { - globalThis.IMask = IMask; - } catch (e) {} - - var maskElementList = [].slice.call(document.querySelectorAll('[data-mask]')); - maskElementList.map(function (maskEl) { - return new IMask(maskEl, { - mask: maskEl.dataset.mask, - lazy: maskEl.dataset['mask-visible'] === 'true' - }); - }); - - var top = 'top'; - var bottom = 'bottom'; - var right = 'right'; - var left = 'left'; - var auto = 'auto'; - var basePlacements = [top, bottom, right, left]; - var start = 'start'; - var end = 'end'; - var clippingParents = 'clippingParents'; - var viewport = 'viewport'; - var popper = 'popper'; - var reference = 'reference'; - var variationPlacements = basePlacements.reduce(function (acc, placement) { - return acc.concat([placement + "-" + start, placement + "-" + end]); - }, []); - var placements = [].concat(basePlacements, [auto]).reduce(function (acc, placement) { - return acc.concat([placement, placement + "-" + start, placement + "-" + end]); - }, []); - var beforeRead = 'beforeRead'; - var read = 'read'; - var afterRead = 'afterRead'; - var beforeMain = 'beforeMain'; - var main = 'main'; - var afterMain = 'afterMain'; - var beforeWrite = 'beforeWrite'; - var write = 'write'; - var afterWrite = 'afterWrite'; - var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; - - function getNodeName(element) { - return element ? (element.nodeName || '').toLowerCase() : null; - } - - function getWindow(node) { - if (node == null) { - return window; - } - if (node.toString() !== '[object Window]') { - var ownerDocument = node.ownerDocument; - return ownerDocument ? ownerDocument.defaultView || window : window; - } - return node; - } - - function isElement$1(node) { - var OwnElement = getWindow(node).Element; - return node instanceof OwnElement || node instanceof Element; - } - function isHTMLElement(node) { - var OwnElement = getWindow(node).HTMLElement; - return node instanceof OwnElement || node instanceof HTMLElement; - } - function isShadowRoot(node) { - if (typeof ShadowRoot === 'undefined') { - return false; - } - var OwnElement = getWindow(node).ShadowRoot; - return node instanceof OwnElement || node instanceof ShadowRoot; - } - - function applyStyles(_ref) { - var state = _ref.state; - Object.keys(state.elements).forEach(function (name) { - var style = state.styles[name] || {}; - var attributes = state.attributes[name] || {}; - var element = state.elements[name]; - if (!isHTMLElement(element) || !getNodeName(element)) { - return; - } - Object.assign(element.style, style); - Object.keys(attributes).forEach(function (name) { - var value = attributes[name]; - if (value === false) { - element.removeAttribute(name); - } else { - element.setAttribute(name, value === true ? '' : value); - } - }); - }); - } - function effect$2(_ref2) { - var state = _ref2.state; - var initialStyles = { - popper: { - position: state.options.strategy, - left: '0', - top: '0', - margin: '0' - }, - arrow: { - position: 'absolute' - }, - reference: {} - }; - Object.assign(state.elements.popper.style, initialStyles.popper); - state.styles = initialStyles; - if (state.elements.arrow) { - Object.assign(state.elements.arrow.style, initialStyles.arrow); - } - return function () { - Object.keys(state.elements).forEach(function (name) { - var element = state.elements[name]; - var attributes = state.attributes[name] || {}; - var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); - var style = styleProperties.reduce(function (style, property) { - style[property] = ''; - return style; - }, {}); - if (!isHTMLElement(element) || !getNodeName(element)) { - return; - } - Object.assign(element.style, style); - Object.keys(attributes).forEach(function (attribute) { - element.removeAttribute(attribute); - }); - }); - }; - } - var applyStyles$1 = { - name: 'applyStyles', - enabled: true, - phase: 'write', - fn: applyStyles, - effect: effect$2, - requires: ['computeStyles'] - }; - - function getBasePlacement(placement) { - return placement.split('-')[0]; - } - - var max = Math.max; - var min = Math.min; - var round = Math.round; - - function getUAString() { - var uaData = navigator.userAgentData; - if (uaData != null && uaData.brands) { - return uaData.brands.map(function (item) { - return item.brand + "/" + item.version; - }).join(' '); - } - return navigator.userAgent; - } - - function isLayoutViewport() { - return !/^((?!chrome|android).)*safari/i.test(getUAString()); - } - - function getBoundingClientRect(element, includeScale, isFixedStrategy) { - if (includeScale === void 0) { - includeScale = false; - } - if (isFixedStrategy === void 0) { - isFixedStrategy = false; - } - var clientRect = element.getBoundingClientRect(); - var scaleX = 1; - var scaleY = 1; - if (includeScale && isHTMLElement(element)) { - scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; - scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; - } - var _ref = isElement$1(element) ? getWindow(element) : window, - visualViewport = _ref.visualViewport; - var addVisualOffsets = !isLayoutViewport() && isFixedStrategy; - var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; - var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; - var width = clientRect.width / scaleX; - var height = clientRect.height / scaleY; - return { - width: width, - height: height, - top: y, - right: x + width, - bottom: y + height, - left: x, - x: x, - y: y - }; - } - - function getLayoutRect(element) { - var clientRect = getBoundingClientRect(element); - var width = element.offsetWidth; - var height = element.offsetHeight; - if (Math.abs(clientRect.width - width) <= 1) { - width = clientRect.width; - } - if (Math.abs(clientRect.height - height) <= 1) { - height = clientRect.height; - } - return { - x: element.offsetLeft, - y: element.offsetTop, - width: width, - height: height - }; - } - - function contains(parent, child) { - var rootNode = child.getRootNode && child.getRootNode(); - if (parent.contains(child)) { - return true; - } - else if (rootNode && isShadowRoot(rootNode)) { - var next = child; - do { - if (next && parent.isSameNode(next)) { - return true; - } - next = next.parentNode || next.host; - } while (next); - } - return false; - } - - function getComputedStyle$1(element) { - return getWindow(element).getComputedStyle(element); - } - - function isTableElement(element) { - return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; - } - - function getDocumentElement(element) { - return ((isElement$1(element) ? element.ownerDocument : - element.document) || window.document).documentElement; - } - - function getParentNode(element) { - if (getNodeName(element) === 'html') { - return element; - } - return ( - element.assignedSlot || - element.parentNode || ( - isShadowRoot(element) ? element.host : null) || - getDocumentElement(element) - ); - } - - function getTrueOffsetParent(element) { - if (!isHTMLElement(element) || - getComputedStyle$1(element).position === 'fixed') { - return null; - } - return element.offsetParent; - } - function getContainingBlock(element) { - var isFirefox = /firefox/i.test(getUAString()); - var isIE = /Trident/i.test(getUAString()); - if (isIE && isHTMLElement(element)) { - var elementCss = getComputedStyle$1(element); - if (elementCss.position === 'fixed') { - return null; - } - } - var currentNode = getParentNode(element); - if (isShadowRoot(currentNode)) { - currentNode = currentNode.host; - } - while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) { - var css = getComputedStyle$1(currentNode); - if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') { - return currentNode; - } else { - currentNode = currentNode.parentNode; - } - } - return null; - } - function getOffsetParent(element) { - var window = getWindow(element); - var offsetParent = getTrueOffsetParent(element); - while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') { - offsetParent = getTrueOffsetParent(offsetParent); - } - if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static')) { - return window; - } - return offsetParent || getContainingBlock(element) || window; - } - - function getMainAxisFromPlacement(placement) { - return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; - } - - function within(min$1, value, max$1) { - return max(min$1, min(value, max$1)); - } - function withinMaxClamp(min, value, max) { - var v = within(min, value, max); - return v > max ? max : v; - } - - function getFreshSideObject() { - return { - top: 0, - right: 0, - bottom: 0, - left: 0 - }; - } - - function mergePaddingObject(paddingObject) { - return Object.assign({}, getFreshSideObject(), paddingObject); - } - - function expandToHashMap(value, keys) { - return keys.reduce(function (hashMap, key) { - hashMap[key] = value; - return hashMap; - }, {}); - } - - var toPaddingObject = function toPaddingObject(padding, state) { - padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { - placement: state.placement - })) : padding; - return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); - }; - function arrow(_ref) { - var _state$modifiersData$; - var state = _ref.state, - name = _ref.name, - options = _ref.options; - var arrowElement = state.elements.arrow; - var popperOffsets = state.modifiersData.popperOffsets; - var basePlacement = getBasePlacement(state.placement); - var axis = getMainAxisFromPlacement(basePlacement); - var isVertical = [left, right].indexOf(basePlacement) >= 0; - var len = isVertical ? 'height' : 'width'; - if (!arrowElement || !popperOffsets) { - return; - } - var paddingObject = toPaddingObject(options.padding, state); - var arrowRect = getLayoutRect(arrowElement); - var minProp = axis === 'y' ? top : left; - var maxProp = axis === 'y' ? bottom : right; - var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; - var startDiff = popperOffsets[axis] - state.rects.reference[axis]; - var arrowOffsetParent = getOffsetParent(arrowElement); - var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; - var centerToReference = endDiff / 2 - startDiff / 2; - var min = paddingObject[minProp]; - var max = clientSize - arrowRect[len] - paddingObject[maxProp]; - var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; - var offset = within(min, center, max); - var axisProp = axis; - state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); - } - function effect$1(_ref2) { - var state = _ref2.state, - options = _ref2.options; - var _options$element = options.element, - arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; - if (arrowElement == null) { - return; - } - if (typeof arrowElement === 'string') { - arrowElement = state.elements.popper.querySelector(arrowElement); - if (!arrowElement) { - return; - } - } - if (!contains(state.elements.popper, arrowElement)) { - return; - } - state.elements.arrow = arrowElement; - } - var arrow$1 = { - name: 'arrow', - enabled: true, - phase: 'main', - fn: arrow, - effect: effect$1, - requires: ['popperOffsets'], - requiresIfExists: ['preventOverflow'] - }; - - function getVariation(placement) { - return placement.split('-')[1]; - } - - var unsetSides = { - top: 'auto', - right: 'auto', - bottom: 'auto', - left: 'auto' - }; - function roundOffsetsByDPR(_ref) { - var x = _ref.x, - y = _ref.y; - var win = window; - var dpr = win.devicePixelRatio || 1; - return { - x: round(x * dpr) / dpr || 0, - y: round(y * dpr) / dpr || 0 - }; - } - function mapToStyles(_ref2) { - var _Object$assign2; - var popper = _ref2.popper, - popperRect = _ref2.popperRect, - placement = _ref2.placement, - variation = _ref2.variation, - offsets = _ref2.offsets, - position = _ref2.position, - gpuAcceleration = _ref2.gpuAcceleration, - adaptive = _ref2.adaptive, - roundOffsets = _ref2.roundOffsets, - isFixed = _ref2.isFixed; - var _offsets$x = offsets.x, - x = _offsets$x === void 0 ? 0 : _offsets$x, - _offsets$y = offsets.y, - y = _offsets$y === void 0 ? 0 : _offsets$y; - var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({ - x: x, - y: y - }) : { - x: x, - y: y - }; - x = _ref3.x; - y = _ref3.y; - var hasX = offsets.hasOwnProperty('x'); - var hasY = offsets.hasOwnProperty('y'); - var sideX = left; - var sideY = top; - var win = window; - if (adaptive) { - var offsetParent = getOffsetParent(popper); - var heightProp = 'clientHeight'; - var widthProp = 'clientWidth'; - if (offsetParent === getWindow(popper)) { - offsetParent = getDocumentElement(popper); - if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') { - heightProp = 'scrollHeight'; - widthProp = 'scrollWidth'; - } - } - offsetParent = offsetParent; - if (placement === top || (placement === left || placement === right) && variation === end) { - sideY = bottom; - var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : - offsetParent[heightProp]; - y -= offsetY - popperRect.height; - y *= gpuAcceleration ? 1 : -1; - } - if (placement === left || (placement === top || placement === bottom) && variation === end) { - sideX = right; - var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : - offsetParent[widthProp]; - x -= offsetX - popperRect.width; - x *= gpuAcceleration ? 1 : -1; - } - } - var commonStyles = Object.assign({ - position: position - }, adaptive && unsetSides); - var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ - x: x, - y: y - }) : { - x: x, - y: y - }; - x = _ref4.x; - y = _ref4.y; - if (gpuAcceleration) { - var _Object$assign; - return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); - } - return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); - } - function computeStyles(_ref5) { - var state = _ref5.state, - options = _ref5.options; - var _options$gpuAccelerat = options.gpuAcceleration, - gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, - _options$adaptive = options.adaptive, - adaptive = _options$adaptive === void 0 ? true : _options$adaptive, - _options$roundOffsets = options.roundOffsets, - roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; - var commonStyles = { - placement: getBasePlacement(state.placement), - variation: getVariation(state.placement), - popper: state.elements.popper, - popperRect: state.rects.popper, - gpuAcceleration: gpuAcceleration, - isFixed: state.options.strategy === 'fixed' - }; - if (state.modifiersData.popperOffsets != null) { - state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.popperOffsets, - position: state.options.strategy, - adaptive: adaptive, - roundOffsets: roundOffsets - }))); - } - if (state.modifiersData.arrow != null) { - state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.arrow, - position: 'absolute', - adaptive: false, - roundOffsets: roundOffsets - }))); - } - state.attributes.popper = Object.assign({}, state.attributes.popper, { - 'data-popper-placement': state.placement - }); - } - var computeStyles$1 = { - name: 'computeStyles', - enabled: true, - phase: 'beforeWrite', - fn: computeStyles, - data: {} - }; - - var passive = { - passive: true - }; - function effect(_ref) { - var state = _ref.state, - instance = _ref.instance, - options = _ref.options; - var _options$scroll = options.scroll, - scroll = _options$scroll === void 0 ? true : _options$scroll, - _options$resize = options.resize, - resize = _options$resize === void 0 ? true : _options$resize; - var window = getWindow(state.elements.popper); - var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); - if (scroll) { - scrollParents.forEach(function (scrollParent) { - scrollParent.addEventListener('scroll', instance.update, passive); - }); - } - if (resize) { - window.addEventListener('resize', instance.update, passive); - } - return function () { - if (scroll) { - scrollParents.forEach(function (scrollParent) { - scrollParent.removeEventListener('scroll', instance.update, passive); - }); - } - if (resize) { - window.removeEventListener('resize', instance.update, passive); - } - }; - } - var eventListeners = { - name: 'eventListeners', - enabled: true, - phase: 'write', - fn: function fn() {}, - effect: effect, - data: {} - }; - - var hash$1 = { - left: 'right', - right: 'left', - bottom: 'top', - top: 'bottom' - }; - function getOppositePlacement(placement) { - return placement.replace(/left|right|bottom|top/g, function (matched) { - return hash$1[matched]; - }); - } - - var hash = { - start: 'end', - end: 'start' - }; - function getOppositeVariationPlacement(placement) { - return placement.replace(/start|end/g, function (matched) { - return hash[matched]; - }); - } - - function getWindowScroll(node) { - var win = getWindow(node); - var scrollLeft = win.pageXOffset; - var scrollTop = win.pageYOffset; - return { - scrollLeft: scrollLeft, - scrollTop: scrollTop - }; - } - - function getWindowScrollBarX(element) { - return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; - } - - function getViewportRect(element, strategy) { - var win = getWindow(element); - var html = getDocumentElement(element); - var visualViewport = win.visualViewport; - var width = html.clientWidth; - var height = html.clientHeight; - var x = 0; - var y = 0; - if (visualViewport) { - width = visualViewport.width; - height = visualViewport.height; - var layoutViewport = isLayoutViewport(); - if (layoutViewport || !layoutViewport && strategy === 'fixed') { - x = visualViewport.offsetLeft; - y = visualViewport.offsetTop; - } - } - return { - width: width, - height: height, - x: x + getWindowScrollBarX(element), - y: y - }; - } - - function getDocumentRect(element) { - var _element$ownerDocumen; - var html = getDocumentElement(element); - var winScroll = getWindowScroll(element); - var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; - var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); - var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); - var x = -winScroll.scrollLeft + getWindowScrollBarX(element); - var y = -winScroll.scrollTop; - if (getComputedStyle$1(body || html).direction === 'rtl') { - x += max(html.clientWidth, body ? body.clientWidth : 0) - width; - } - return { - width: width, - height: height, - x: x, - y: y - }; - } - - function isScrollParent(element) { - var _getComputedStyle = getComputedStyle$1(element), - overflow = _getComputedStyle.overflow, - overflowX = _getComputedStyle.overflowX, - overflowY = _getComputedStyle.overflowY; - return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); - } - - function getScrollParent(node) { - if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { - return node.ownerDocument.body; - } - if (isHTMLElement(node) && isScrollParent(node)) { - return node; - } - return getScrollParent(getParentNode(node)); - } - - function listScrollParents(element, list) { - var _element$ownerDocumen; - if (list === void 0) { - list = []; - } - var scrollParent = getScrollParent(element); - var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); - var win = getWindow(scrollParent); - var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; - var updatedList = list.concat(target); - return isBody ? updatedList : - updatedList.concat(listScrollParents(getParentNode(target))); - } - - function rectToClientRect(rect) { - return Object.assign({}, rect, { - left: rect.x, - top: rect.y, - right: rect.x + rect.width, - bottom: rect.y + rect.height - }); - } - - function getInnerBoundingClientRect(element, strategy) { - var rect = getBoundingClientRect(element, false, strategy === 'fixed'); - rect.top = rect.top + element.clientTop; - rect.left = rect.left + element.clientLeft; - rect.bottom = rect.top + element.clientHeight; - rect.right = rect.left + element.clientWidth; - rect.width = element.clientWidth; - rect.height = element.clientHeight; - rect.x = rect.left; - rect.y = rect.top; - return rect; - } - function getClientRectFromMixedType(element, clippingParent, strategy) { - return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement$1(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); - } - function getClippingParents(element) { - var clippingParents = listScrollParents(getParentNode(element)); - var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle$1(element).position) >= 0; - var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; - if (!isElement$1(clipperElement)) { - return []; - } - return clippingParents.filter(function (clippingParent) { - return isElement$1(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body'; - }); - } - function getClippingRect(element, boundary, rootBoundary, strategy) { - var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); - var clippingParents = [].concat(mainClippingParents, [rootBoundary]); - var firstClippingParent = clippingParents[0]; - var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { - var rect = getClientRectFromMixedType(element, clippingParent, strategy); - accRect.top = max(rect.top, accRect.top); - accRect.right = min(rect.right, accRect.right); - accRect.bottom = min(rect.bottom, accRect.bottom); - accRect.left = max(rect.left, accRect.left); - return accRect; - }, getClientRectFromMixedType(element, firstClippingParent, strategy)); - clippingRect.width = clippingRect.right - clippingRect.left; - clippingRect.height = clippingRect.bottom - clippingRect.top; - clippingRect.x = clippingRect.left; - clippingRect.y = clippingRect.top; - return clippingRect; - } - - function computeOffsets(_ref) { - var reference = _ref.reference, - element = _ref.element, - placement = _ref.placement; - var basePlacement = placement ? getBasePlacement(placement) : null; - var variation = placement ? getVariation(placement) : null; - var commonX = reference.x + reference.width / 2 - element.width / 2; - var commonY = reference.y + reference.height / 2 - element.height / 2; - var offsets; - switch (basePlacement) { - case top: - offsets = { - x: commonX, - y: reference.y - element.height - }; - break; - case bottom: - offsets = { - x: commonX, - y: reference.y + reference.height - }; - break; - case right: - offsets = { - x: reference.x + reference.width, - y: commonY - }; - break; - case left: - offsets = { - x: reference.x - element.width, - y: commonY - }; - break; - default: - offsets = { - x: reference.x, - y: reference.y - }; - } - var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; - if (mainAxis != null) { - var len = mainAxis === 'y' ? 'height' : 'width'; - switch (variation) { - case start: - offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); - break; - case end: - offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); - break; - } - } - return offsets; - } - - function detectOverflow(state, options) { - if (options === void 0) { - options = {}; - } - var _options = options, - _options$placement = _options.placement, - placement = _options$placement === void 0 ? state.placement : _options$placement, - _options$strategy = _options.strategy, - strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, - _options$boundary = _options.boundary, - boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, - _options$rootBoundary = _options.rootBoundary, - rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, - _options$elementConte = _options.elementContext, - elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, - _options$altBoundary = _options.altBoundary, - altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, - _options$padding = _options.padding, - padding = _options$padding === void 0 ? 0 : _options$padding; - var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); - var altContext = elementContext === popper ? reference : popper; - var popperRect = state.rects.popper; - var element = state.elements[altBoundary ? altContext : elementContext]; - var clippingClientRect = getClippingRect(isElement$1(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); - var referenceClientRect = getBoundingClientRect(state.elements.reference); - var popperOffsets = computeOffsets({ - reference: referenceClientRect, - element: popperRect, - strategy: 'absolute', - placement: placement - }); - var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets)); - var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; - var overflowOffsets = { - top: clippingClientRect.top - elementClientRect.top + paddingObject.top, - bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, - left: clippingClientRect.left - elementClientRect.left + paddingObject.left, - right: elementClientRect.right - clippingClientRect.right + paddingObject.right - }; - var offsetData = state.modifiersData.offset; - if (elementContext === popper && offsetData) { - var offset = offsetData[placement]; - Object.keys(overflowOffsets).forEach(function (key) { - var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; - var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x'; - overflowOffsets[key] += offset[axis] * multiply; - }); - } - return overflowOffsets; - } - - function computeAutoPlacement(state, options) { - if (options === void 0) { - options = {}; - } - var _options = options, - placement = _options.placement, - boundary = _options.boundary, - rootBoundary = _options.rootBoundary, - padding = _options.padding, - flipVariations = _options.flipVariations, - _options$allowedAutoP = _options.allowedAutoPlacements, - allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; - var variation = getVariation(placement); - var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { - return getVariation(placement) === variation; - }) : basePlacements; - var allowedPlacements = placements$1.filter(function (placement) { - return allowedAutoPlacements.indexOf(placement) >= 0; - }); - if (allowedPlacements.length === 0) { - allowedPlacements = placements$1; - } - var overflows = allowedPlacements.reduce(function (acc, placement) { - acc[placement] = detectOverflow(state, { - placement: placement, - boundary: boundary, - rootBoundary: rootBoundary, - padding: padding - })[getBasePlacement(placement)]; - return acc; - }, {}); - return Object.keys(overflows).sort(function (a, b) { - return overflows[a] - overflows[b]; - }); - } - - function getExpandedFallbackPlacements(placement) { - if (getBasePlacement(placement) === auto) { - return []; - } - var oppositePlacement = getOppositePlacement(placement); - return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; - } - function flip(_ref) { - var state = _ref.state, - options = _ref.options, - name = _ref.name; - if (state.modifiersData[name]._skip) { - return; - } - var _options$mainAxis = options.mainAxis, - checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, - _options$altAxis = options.altAxis, - checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, - specifiedFallbackPlacements = options.fallbackPlacements, - padding = options.padding, - boundary = options.boundary, - rootBoundary = options.rootBoundary, - altBoundary = options.altBoundary, - _options$flipVariatio = options.flipVariations, - flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, - allowedAutoPlacements = options.allowedAutoPlacements; - var preferredPlacement = state.options.placement; - var basePlacement = getBasePlacement(preferredPlacement); - var isBasePlacement = basePlacement === preferredPlacement; - var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); - var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { - return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, { - placement: placement, - boundary: boundary, - rootBoundary: rootBoundary, - padding: padding, - flipVariations: flipVariations, - allowedAutoPlacements: allowedAutoPlacements - }) : placement); - }, []); - var referenceRect = state.rects.reference; - var popperRect = state.rects.popper; - var checksMap = new Map(); - var makeFallbackChecks = true; - var firstFittingPlacement = placements[0]; - for (var i = 0; i < placements.length; i++) { - var placement = placements[i]; - var _basePlacement = getBasePlacement(placement); - var isStartVariation = getVariation(placement) === start; - var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; - var len = isVertical ? 'width' : 'height'; - var overflow = detectOverflow(state, { - placement: placement, - boundary: boundary, - rootBoundary: rootBoundary, - altBoundary: altBoundary, - padding: padding - }); - var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; - if (referenceRect[len] > popperRect[len]) { - mainVariationSide = getOppositePlacement(mainVariationSide); - } - var altVariationSide = getOppositePlacement(mainVariationSide); - var checks = []; - if (checkMainAxis) { - checks.push(overflow[_basePlacement] <= 0); - } - if (checkAltAxis) { - checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); - } - if (checks.every(function (check) { - return check; - })) { - firstFittingPlacement = placement; - makeFallbackChecks = false; - break; - } - checksMap.set(placement, checks); - } - if (makeFallbackChecks) { - var numberOfChecks = flipVariations ? 3 : 1; - var _loop = function _loop(_i) { - var fittingPlacement = placements.find(function (placement) { - var checks = checksMap.get(placement); - if (checks) { - return checks.slice(0, _i).every(function (check) { - return check; - }); - } - }); - if (fittingPlacement) { - firstFittingPlacement = fittingPlacement; - return "break"; - } - }; - for (var _i = numberOfChecks; _i > 0; _i--) { - var _ret = _loop(_i); - if (_ret === "break") break; - } - } - if (state.placement !== firstFittingPlacement) { - state.modifiersData[name]._skip = true; - state.placement = firstFittingPlacement; - state.reset = true; - } - } - var flip$1 = { - name: 'flip', - enabled: true, - phase: 'main', - fn: flip, - requiresIfExists: ['offset'], - data: { - _skip: false - } - }; - - function getSideOffsets(overflow, rect, preventedOffsets) { - if (preventedOffsets === void 0) { - preventedOffsets = { - x: 0, - y: 0 - }; - } - return { - top: overflow.top - rect.height - preventedOffsets.y, - right: overflow.right - rect.width + preventedOffsets.x, - bottom: overflow.bottom - rect.height + preventedOffsets.y, - left: overflow.left - rect.width - preventedOffsets.x - }; - } - function isAnySideFullyClipped(overflow) { - return [top, right, bottom, left].some(function (side) { - return overflow[side] >= 0; - }); - } - function hide(_ref) { - var state = _ref.state, - name = _ref.name; - var referenceRect = state.rects.reference; - var popperRect = state.rects.popper; - var preventedOffsets = state.modifiersData.preventOverflow; - var referenceOverflow = detectOverflow(state, { - elementContext: 'reference' - }); - var popperAltOverflow = detectOverflow(state, { - altBoundary: true - }); - var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); - var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); - var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); - var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); - state.modifiersData[name] = { - referenceClippingOffsets: referenceClippingOffsets, - popperEscapeOffsets: popperEscapeOffsets, - isReferenceHidden: isReferenceHidden, - hasPopperEscaped: hasPopperEscaped - }; - state.attributes.popper = Object.assign({}, state.attributes.popper, { - 'data-popper-reference-hidden': isReferenceHidden, - 'data-popper-escaped': hasPopperEscaped - }); - } - var hide$1 = { - name: 'hide', - enabled: true, - phase: 'main', - requiresIfExists: ['preventOverflow'], - fn: hide - }; - - function distanceAndSkiddingToXY(placement, rects, offset) { - var basePlacement = getBasePlacement(placement); - var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; - var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { - placement: placement - })) : offset, - skidding = _ref[0], - distance = _ref[1]; - skidding = skidding || 0; - distance = (distance || 0) * invertDistance; - return [left, right].indexOf(basePlacement) >= 0 ? { - x: distance, - y: skidding - } : { - x: skidding, - y: distance - }; - } - function offset(_ref2) { - var state = _ref2.state, - options = _ref2.options, - name = _ref2.name; - var _options$offset = options.offset, - offset = _options$offset === void 0 ? [0, 0] : _options$offset; - var data = placements.reduce(function (acc, placement) { - acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); - return acc; - }, {}); - var _data$state$placement = data[state.placement], - x = _data$state$placement.x, - y = _data$state$placement.y; - if (state.modifiersData.popperOffsets != null) { - state.modifiersData.popperOffsets.x += x; - state.modifiersData.popperOffsets.y += y; - } - state.modifiersData[name] = data; - } - var offset$1 = { - name: 'offset', - enabled: true, - phase: 'main', - requires: ['popperOffsets'], - fn: offset - }; - - function popperOffsets(_ref) { - var state = _ref.state, - name = _ref.name; - state.modifiersData[name] = computeOffsets({ - reference: state.rects.reference, - element: state.rects.popper, - strategy: 'absolute', - placement: state.placement - }); - } - var popperOffsets$1 = { - name: 'popperOffsets', - enabled: true, - phase: 'read', - fn: popperOffsets, - data: {} - }; - - function getAltAxis(axis) { - return axis === 'x' ? 'y' : 'x'; - } - - function preventOverflow(_ref) { - var state = _ref.state, - options = _ref.options, - name = _ref.name; - var _options$mainAxis = options.mainAxis, - checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, - _options$altAxis = options.altAxis, - checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, - boundary = options.boundary, - rootBoundary = options.rootBoundary, - altBoundary = options.altBoundary, - padding = options.padding, - _options$tether = options.tether, - tether = _options$tether === void 0 ? true : _options$tether, - _options$tetherOffset = options.tetherOffset, - tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; - var overflow = detectOverflow(state, { - boundary: boundary, - rootBoundary: rootBoundary, - padding: padding, - altBoundary: altBoundary - }); - var basePlacement = getBasePlacement(state.placement); - var variation = getVariation(state.placement); - var isBasePlacement = !variation; - var mainAxis = getMainAxisFromPlacement(basePlacement); - var altAxis = getAltAxis(mainAxis); - var popperOffsets = state.modifiersData.popperOffsets; - var referenceRect = state.rects.reference; - var popperRect = state.rects.popper; - var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { - placement: state.placement - })) : tetherOffset; - var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? { - mainAxis: tetherOffsetValue, - altAxis: tetherOffsetValue - } : Object.assign({ - mainAxis: 0, - altAxis: 0 - }, tetherOffsetValue); - var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; - var data = { - x: 0, - y: 0 - }; - if (!popperOffsets) { - return; - } - if (checkMainAxis) { - var _offsetModifierState$; - var mainSide = mainAxis === 'y' ? top : left; - var altSide = mainAxis === 'y' ? bottom : right; - var len = mainAxis === 'y' ? 'height' : 'width'; - var offset = popperOffsets[mainAxis]; - var min$1 = offset + overflow[mainSide]; - var max$1 = offset - overflow[altSide]; - var additive = tether ? -popperRect[len] / 2 : 0; - var minLen = variation === start ? referenceRect[len] : popperRect[len]; - var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; - var arrowElement = state.elements.arrow; - var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { - width: 0, - height: 0 - }; - var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject(); - var arrowPaddingMin = arrowPaddingObject[mainSide]; - var arrowPaddingMax = arrowPaddingObject[altSide]; - var arrowLen = within(0, referenceRect[len], arrowRect[len]); - var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; - var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; - var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); - var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; - var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; - var tetherMin = offset + minOffset - offsetModifierValue - clientOffset; - var tetherMax = offset + maxOffset - offsetModifierValue; - var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1); - popperOffsets[mainAxis] = preventedOffset; - data[mainAxis] = preventedOffset - offset; - } - if (checkAltAxis) { - var _offsetModifierState$2; - var _mainSide = mainAxis === 'x' ? top : left; - var _altSide = mainAxis === 'x' ? bottom : right; - var _offset = popperOffsets[altAxis]; - var _len = altAxis === 'y' ? 'height' : 'width'; - var _min = _offset + overflow[_mainSide]; - var _max = _offset - overflow[_altSide]; - var isOriginSide = [top, left].indexOf(basePlacement) !== -1; - var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; - var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; - var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; - var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); - popperOffsets[altAxis] = _preventedOffset; - data[altAxis] = _preventedOffset - _offset; - } - state.modifiersData[name] = data; - } - var preventOverflow$1 = { - name: 'preventOverflow', - enabled: true, - phase: 'main', - fn: preventOverflow, - requiresIfExists: ['offset'] - }; - - function getHTMLElementScroll(element) { - return { - scrollLeft: element.scrollLeft, - scrollTop: element.scrollTop - }; - } - - function getNodeScroll(node) { - if (node === getWindow(node) || !isHTMLElement(node)) { - return getWindowScroll(node); - } else { - return getHTMLElementScroll(node); - } - } - - function isElementScaled(element) { - var rect = element.getBoundingClientRect(); - var scaleX = round(rect.width) / element.offsetWidth || 1; - var scaleY = round(rect.height) / element.offsetHeight || 1; - return scaleX !== 1 || scaleY !== 1; - } - function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { - if (isFixed === void 0) { - isFixed = false; - } - var isOffsetParentAnElement = isHTMLElement(offsetParent); - var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); - var documentElement = getDocumentElement(offsetParent); - var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); - var scroll = { - scrollLeft: 0, - scrollTop: 0 - }; - var offsets = { - x: 0, - y: 0 - }; - if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { - if (getNodeName(offsetParent) !== 'body' || - isScrollParent(documentElement)) { - scroll = getNodeScroll(offsetParent); - } - if (isHTMLElement(offsetParent)) { - offsets = getBoundingClientRect(offsetParent, true); - offsets.x += offsetParent.clientLeft; - offsets.y += offsetParent.clientTop; - } else if (documentElement) { - offsets.x = getWindowScrollBarX(documentElement); - } - } - return { - x: rect.left + scroll.scrollLeft - offsets.x, - y: rect.top + scroll.scrollTop - offsets.y, - width: rect.width, - height: rect.height - }; - } - - function order(modifiers) { - var map = new Map(); - var visited = new Set(); - var result = []; - modifiers.forEach(function (modifier) { - map.set(modifier.name, modifier); - }); - function sort(modifier) { - visited.add(modifier.name); - var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); - requires.forEach(function (dep) { - if (!visited.has(dep)) { - var depModifier = map.get(dep); - if (depModifier) { - sort(depModifier); - } - } - }); - result.push(modifier); - } - modifiers.forEach(function (modifier) { - if (!visited.has(modifier.name)) { - sort(modifier); - } - }); - return result; - } - function orderModifiers(modifiers) { - var orderedModifiers = order(modifiers); - return modifierPhases.reduce(function (acc, phase) { - return acc.concat(orderedModifiers.filter(function (modifier) { - return modifier.phase === phase; - })); - }, []); - } - - function debounce(fn) { - var pending; - return function () { - if (!pending) { - pending = new Promise(function (resolve) { - Promise.resolve().then(function () { - pending = undefined; - resolve(fn()); - }); - }); - } - return pending; - }; - } - - function mergeByName(modifiers) { - var merged = modifiers.reduce(function (merged, current) { - var existing = merged[current.name]; - merged[current.name] = existing ? Object.assign({}, existing, current, { - options: Object.assign({}, existing.options, current.options), - data: Object.assign({}, existing.data, current.data) - }) : current; - return merged; - }, {}); - return Object.keys(merged).map(function (key) { - return merged[key]; - }); - } - - var DEFAULT_OPTIONS = { - placement: 'bottom', - modifiers: [], - strategy: 'absolute' - }; - function areValidElements() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - return !args.some(function (element) { - return !(element && typeof element.getBoundingClientRect === 'function'); - }); - } - function popperGenerator(generatorOptions) { - if (generatorOptions === void 0) { - generatorOptions = {}; - } - var _generatorOptions = generatorOptions, - _generatorOptions$def = _generatorOptions.defaultModifiers, - defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, - _generatorOptions$def2 = _generatorOptions.defaultOptions, - defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; - return function createPopper(reference, popper, options) { - if (options === void 0) { - options = defaultOptions; - } - var state = { - placement: 'bottom', - orderedModifiers: [], - options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), - modifiersData: {}, - elements: { - reference: reference, - popper: popper - }, - attributes: {}, - styles: {} - }; - var effectCleanupFns = []; - var isDestroyed = false; - var instance = { - state: state, - setOptions: function setOptions(setOptionsAction) { - var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction; - cleanupModifierEffects(); - state.options = Object.assign({}, defaultOptions, state.options, options); - state.scrollParents = { - reference: isElement$1(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [], - popper: listScrollParents(popper) - }; - var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); - state.orderedModifiers = orderedModifiers.filter(function (m) { - return m.enabled; - }); - runModifierEffects(); - return instance.update(); - }, - forceUpdate: function forceUpdate() { - if (isDestroyed) { - return; - } - var _state$elements = state.elements, - reference = _state$elements.reference, - popper = _state$elements.popper; - if (!areValidElements(reference, popper)) { - return; - } - state.rects = { - reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'), - popper: getLayoutRect(popper) - }; - state.reset = false; - state.placement = state.options.placement; - state.orderedModifiers.forEach(function (modifier) { - return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); - }); - for (var index = 0; index < state.orderedModifiers.length; index++) { - if (state.reset === true) { - state.reset = false; - index = -1; - continue; - } - var _state$orderedModifie = state.orderedModifiers[index], - fn = _state$orderedModifie.fn, - _state$orderedModifie2 = _state$orderedModifie.options, - _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, - name = _state$orderedModifie.name; - if (typeof fn === 'function') { - state = fn({ - state: state, - options: _options, - name: name, - instance: instance - }) || state; - } - } - }, - update: debounce(function () { - return new Promise(function (resolve) { - instance.forceUpdate(); - resolve(state); - }); - }), - destroy: function destroy() { - cleanupModifierEffects(); - isDestroyed = true; - } - }; - if (!areValidElements(reference, popper)) { - return instance; - } - instance.setOptions(options).then(function (state) { - if (!isDestroyed && options.onFirstUpdate) { - options.onFirstUpdate(state); - } - }); - function runModifierEffects() { - state.orderedModifiers.forEach(function (_ref3) { - var name = _ref3.name, - _ref3$options = _ref3.options, - options = _ref3$options === void 0 ? {} : _ref3$options, - effect = _ref3.effect; - if (typeof effect === 'function') { - var cleanupFn = effect({ - state: state, - name: name, - instance: instance, - options: options - }); - var noopFn = function noopFn() {}; - effectCleanupFns.push(cleanupFn || noopFn); - } - }); - } - function cleanupModifierEffects() { - effectCleanupFns.forEach(function (fn) { - return fn(); - }); - effectCleanupFns = []; - } - return instance; - }; - } - var createPopper$2 = popperGenerator(); - - var defaultModifiers$1 = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1]; - var createPopper$1 = popperGenerator({ - defaultModifiers: defaultModifiers$1 - }); - - var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; - var createPopper = popperGenerator({ - defaultModifiers: defaultModifiers - }); - - var Popper = /*#__PURE__*/Object.freeze({ - __proto__: null, - popperGenerator: popperGenerator, - detectOverflow: detectOverflow, - createPopperBase: createPopper$2, - createPopper: createPopper, - createPopperLite: createPopper$1, - top: top, - bottom: bottom, - right: right, - left: left, - auto: auto, - basePlacements: basePlacements, - start: start, - end: end, - clippingParents: clippingParents, - viewport: viewport, - popper: popper, - reference: reference, - variationPlacements: variationPlacements, - placements: placements, - beforeRead: beforeRead, - read: read, - afterRead: afterRead, - beforeMain: beforeMain, - main: main, - afterMain: afterMain, - beforeWrite: beforeWrite, - write: write, - afterWrite: afterWrite, - modifierPhases: modifierPhases, - applyStyles: applyStyles$1, - arrow: arrow$1, - computeStyles: computeStyles$1, - eventListeners: eventListeners, - flip: flip$1, - hide: hide$1, - offset: offset$1, - popperOffsets: popperOffsets$1, - preventOverflow: preventOverflow$1 - }); - - /*! - * Bootstrap v5.2.2 (https://getbootstrap.com/) - * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ - const MAX_UID = 1000000; - const MILLISECONDS_MULTIPLIER = 1000; - const TRANSITION_END = 'transitionend'; - const toType = object => { - if (object === null || object === undefined) { - return `${object}`; - } - return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase(); - }; - const getUID = prefix => { - do { - prefix += Math.floor(Math.random() * MAX_UID); - } while (document.getElementById(prefix)); - return prefix; - }; - const getSelector = element => { - let selector = element.getAttribute('data-bs-target'); - if (!selector || selector === '#') { - let hrefAttribute = element.getAttribute('href'); - if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) { - return null; - } - if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) { - hrefAttribute = `#${hrefAttribute.split('#')[1]}`; - } - selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null; - } - return selector; - }; - const getSelectorFromElement = element => { - const selector = getSelector(element); - if (selector) { - return document.querySelector(selector) ? selector : null; - } - return null; - }; - const getElementFromSelector = element => { - const selector = getSelector(element); - return selector ? document.querySelector(selector) : null; - }; - const getTransitionDurationFromElement = element => { - if (!element) { - return 0; - } - let { - transitionDuration, - transitionDelay - } = window.getComputedStyle(element); - const floatTransitionDuration = Number.parseFloat(transitionDuration); - const floatTransitionDelay = Number.parseFloat(transitionDelay); - if (!floatTransitionDuration && !floatTransitionDelay) { - return 0; - } - transitionDuration = transitionDuration.split(',')[0]; - transitionDelay = transitionDelay.split(',')[0]; - return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; - }; - const triggerTransitionEnd = element => { - element.dispatchEvent(new Event(TRANSITION_END)); - }; - const isElement = object => { - if (!object || typeof object !== 'object') { - return false; - } - if (typeof object.jquery !== 'undefined') { - object = object[0]; - } - return typeof object.nodeType !== 'undefined'; - }; - const getElement = object => { - if (isElement(object)) { - return object.jquery ? object[0] : object; - } - if (typeof object === 'string' && object.length > 0) { - return document.querySelector(object); - } - return null; - }; - const isVisible = element => { - if (!isElement(element) || element.getClientRects().length === 0) { - return false; - } - const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; - const closedDetails = element.closest('details:not([open])'); - if (!closedDetails) { - return elementIsVisible; - } - if (closedDetails !== element) { - const summary = element.closest('summary'); - if (summary && summary.parentNode !== closedDetails) { - return false; - } - if (summary === null) { - return false; - } - } - return elementIsVisible; - }; - const isDisabled = element => { - if (!element || element.nodeType !== Node.ELEMENT_NODE) { - return true; - } - if (element.classList.contains('disabled')) { - return true; - } - if (typeof element.disabled !== 'undefined') { - return element.disabled; - } - return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; - }; - const findShadowRoot = element => { - if (!document.documentElement.attachShadow) { - return null; - } - if (typeof element.getRootNode === 'function') { - const root = element.getRootNode(); - return root instanceof ShadowRoot ? root : null; - } - if (element instanceof ShadowRoot) { - return element; - } - if (!element.parentNode) { - return null; - } - return findShadowRoot(element.parentNode); - }; - const noop = () => {}; - const reflow = element => { - element.offsetHeight; - }; - const getjQuery = () => { - if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return window.jQuery; - } - return null; - }; - const DOMContentLoadedCallbacks = []; - const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - for (const callback of DOMContentLoadedCallbacks) { - callback(); - } - }); - } - DOMContentLoadedCallbacks.push(callback); - } else { - callback(); - } - }; - const isRTL = () => document.documentElement.dir === 'rtl'; - const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery(); - if ($) { - const name = plugin.NAME; - const JQUERY_NO_CONFLICT = $.fn[name]; - $.fn[name] = plugin.jQueryInterface; - $.fn[name].Constructor = plugin; - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT; - return plugin.jQueryInterface; - }; - } - }); - }; - const execute = callback => { - if (typeof callback === 'function') { - callback(); - } - }; - const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { - if (!waitForTransition) { - execute(callback); - return; - } - const durationPadding = 5; - const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; - let called = false; - const handler = ({ - target - }) => { - if (target !== transitionElement) { - return; - } - called = true; - transitionElement.removeEventListener(TRANSITION_END, handler); - execute(callback); - }; - transitionElement.addEventListener(TRANSITION_END, handler); - setTimeout(() => { - if (!called) { - triggerTransitionEnd(transitionElement); - } - }, emulatedDuration); - }; - const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { - const listLength = list.length; - let index = list.indexOf(activeElement); - if (index === -1) { - return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]; - } - index += shouldGetNext ? 1 : -1; - if (isCycleAllowed) { - index = (index + listLength) % listLength; - } - return list[Math.max(0, Math.min(index, listLength - 1))]; - }; - const namespaceRegex = /[^.]*(?=\..*)\.|.*/; - const stripNameRegex = /\..*/; - const stripUidRegex = /::\d+$/; - const eventRegistry = {}; - let uidEvent = 1; - const customEvents = { - mouseenter: 'mouseover', - mouseleave: 'mouseout' - }; - const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']); - function makeEventUid(element, uid) { - return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; - } - function getElementEvents(element) { - const uid = makeEventUid(element); - element.uidEvent = uid; - eventRegistry[uid] = eventRegistry[uid] || {}; - return eventRegistry[uid]; - } - function bootstrapHandler(element, fn) { - return function handler(event) { - hydrateObj(event, { - delegateTarget: element - }); - if (handler.oneOff) { - EventHandler.off(element, event.type, fn); - } - return fn.apply(element, [event]); - }; - } - function bootstrapDelegationHandler(element, selector, fn) { - return function handler(event) { - const domElements = element.querySelectorAll(selector); - for (let { - target - } = event; target && target !== this; target = target.parentNode) { - for (const domElement of domElements) { - if (domElement !== target) { - continue; - } - hydrateObj(event, { - delegateTarget: target - }); - if (handler.oneOff) { - EventHandler.off(element, event.type, selector, fn); - } - return fn.apply(target, [event]); - } - } - }; - } - function findHandler(events, callable, delegationSelector = null) { - return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector); - } - function normalizeParameters(originalTypeEvent, handler, delegationFunction) { - const isDelegated = typeof handler === 'string'; - const callable = isDelegated ? delegationFunction : handler || delegationFunction; - let typeEvent = getTypeEvent(originalTypeEvent); - if (!nativeEvents.has(typeEvent)) { - typeEvent = originalTypeEvent; - } - return [isDelegated, callable, typeEvent]; - } - function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { - if (typeof originalTypeEvent !== 'string' || !element) { - return; - } - let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); - if (originalTypeEvent in customEvents) { - const wrapFunction = fn => { - return function (event) { - if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { - return fn.call(this, event); - } - }; - }; - callable = wrapFunction(callable); - } - const events = getElementEvents(element); - const handlers = events[typeEvent] || (events[typeEvent] = {}); - const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); - if (previousFunction) { - previousFunction.oneOff = previousFunction.oneOff && oneOff; - return; - } - const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, '')); - const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); - fn.delegationSelector = isDelegated ? handler : null; - fn.callable = callable; - fn.oneOff = oneOff; - fn.uidEvent = uid; - handlers[uid] = fn; - element.addEventListener(typeEvent, fn, isDelegated); - } - function removeHandler(element, events, typeEvent, handler, delegationSelector) { - const fn = findHandler(events[typeEvent], handler, delegationSelector); - if (!fn) { - return; - } - element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); - delete events[typeEvent][fn.uidEvent]; - } - function removeNamespacedHandlers(element, events, typeEvent, namespace) { - const storeElementEvent = events[typeEvent] || {}; - for (const handlerKey of Object.keys(storeElementEvent)) { - if (handlerKey.includes(namespace)) { - const event = storeElementEvent[handlerKey]; - removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); - } - } - } - function getTypeEvent(event) { - event = event.replace(stripNameRegex, ''); - return customEvents[event] || event; - } - const EventHandler = { - on(element, event, handler, delegationFunction) { - addHandler(element, event, handler, delegationFunction, false); - }, - one(element, event, handler, delegationFunction) { - addHandler(element, event, handler, delegationFunction, true); - }, - off(element, originalTypeEvent, handler, delegationFunction) { - if (typeof originalTypeEvent !== 'string' || !element) { - return; - } - const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); - const inNamespace = typeEvent !== originalTypeEvent; - const events = getElementEvents(element); - const storeElementEvent = events[typeEvent] || {}; - const isNamespace = originalTypeEvent.startsWith('.'); - if (typeof callable !== 'undefined') { - if (!Object.keys(storeElementEvent).length) { - return; - } - removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); - return; - } - if (isNamespace) { - for (const elementEvent of Object.keys(events)) { - removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); - } - } - for (const keyHandlers of Object.keys(storeElementEvent)) { - const handlerKey = keyHandlers.replace(stripUidRegex, ''); - if (!inNamespace || originalTypeEvent.includes(handlerKey)) { - const event = storeElementEvent[keyHandlers]; - removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); - } - } - }, - trigger(element, event, args) { - if (typeof event !== 'string' || !element) { - return null; - } - const $ = getjQuery(); - const typeEvent = getTypeEvent(event); - const inNamespace = event !== typeEvent; - let jQueryEvent = null; - let bubbles = true; - let nativeDispatch = true; - let defaultPrevented = false; - if (inNamespace && $) { - jQueryEvent = $.Event(event, args); - $(element).trigger(jQueryEvent); - bubbles = !jQueryEvent.isPropagationStopped(); - nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); - defaultPrevented = jQueryEvent.isDefaultPrevented(); - } - let evt = new Event(event, { - bubbles, - cancelable: true - }); - evt = hydrateObj(evt, args); - if (defaultPrevented) { - evt.preventDefault(); - } - if (nativeDispatch) { - element.dispatchEvent(evt); - } - if (evt.defaultPrevented && jQueryEvent) { - jQueryEvent.preventDefault(); - } - return evt; - } - }; - function hydrateObj(obj, meta) { - for (const [key, value] of Object.entries(meta || {})) { - try { - obj[key] = value; - } catch (_unused) { - Object.defineProperty(obj, key, { - configurable: true, - get() { - return value; - } - }); - } - } - return obj; - } - const elementMap = new Map(); - const Data = { - set(element, key, instance) { - if (!elementMap.has(element)) { - elementMap.set(element, new Map()); - } - const instanceMap = elementMap.get(element); - if (!instanceMap.has(key) && instanceMap.size !== 0) { - console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); - return; - } - instanceMap.set(key, instance); - }, - get(element, key) { - if (elementMap.has(element)) { - return elementMap.get(element).get(key) || null; - } - return null; - }, - remove(element, key) { - if (!elementMap.has(element)) { - return; - } - const instanceMap = elementMap.get(element); - instanceMap.delete(key); - if (instanceMap.size === 0) { - elementMap.delete(element); - } - } - }; - function normalizeData(value) { - if (value === 'true') { - return true; - } - if (value === 'false') { - return false; - } - if (value === Number(value).toString()) { - return Number(value); - } - if (value === '' || value === 'null') { - return null; - } - if (typeof value !== 'string') { - return value; - } - try { - return JSON.parse(decodeURIComponent(value)); - } catch (_unused) { - return value; - } - } - function normalizeDataKey(key) { - return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`); - } - const Manipulator = { - setDataAttribute(element, key, value) { - element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); - }, - removeDataAttribute(element, key) { - element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); - }, - getDataAttributes(element) { - if (!element) { - return {}; - } - const attributes = {}; - const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig')); - for (const key of bsKeys) { - let pureKey = key.replace(/^bs/, ''); - pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); - attributes[pureKey] = normalizeData(element.dataset[key]); - } - return attributes; - }, - getDataAttribute(element, key) { - return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); - } - }; - class Config { - static get Default() { - return {}; - } - static get DefaultType() { - return {}; - } - static get NAME() { - throw new Error('You have to implement the static method "NAME", for each component!'); - } - _getConfig(config) { - config = this._mergeConfigObj(config); - config = this._configAfterMerge(config); - this._typeCheckConfig(config); - return config; - } - _configAfterMerge(config) { - return config; - } - _mergeConfigObj(config, element) { - const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; - return { ...this.constructor.Default, - ...(typeof jsonConfig === 'object' ? jsonConfig : {}), - ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}), - ...(typeof config === 'object' ? config : {}) - }; - } - _typeCheckConfig(config, configTypes = this.constructor.DefaultType) { - for (const property of Object.keys(configTypes)) { - const expectedTypes = configTypes[property]; - const value = config[property]; - const valueType = isElement(value) ? 'element' : toType(value); - if (!new RegExp(expectedTypes).test(valueType)) { - throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); - } - } - } - } - const VERSION = '5.2.2'; - class BaseComponent extends Config { - constructor(element, config) { - super(); - element = getElement(element); - if (!element) { - return; - } - this._element = element; - this._config = this._getConfig(config); - Data.set(this._element, this.constructor.DATA_KEY, this); - } - dispose() { - Data.remove(this._element, this.constructor.DATA_KEY); - EventHandler.off(this._element, this.constructor.EVENT_KEY); - for (const propertyName of Object.getOwnPropertyNames(this)) { - this[propertyName] = null; - } - } - _queueCallback(callback, element, isAnimated = true) { - executeAfterTransition(callback, element, isAnimated); - } - _getConfig(config) { - config = this._mergeConfigObj(config, this._element); - config = this._configAfterMerge(config); - this._typeCheckConfig(config); - return config; - } - static getInstance(element) { - return Data.get(getElement(element), this.DATA_KEY); - } - static getOrCreateInstance(element, config = {}) { - return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null); - } - static get VERSION() { - return VERSION; - } - static get DATA_KEY() { - return `bs.${this.NAME}`; - } - static get EVENT_KEY() { - return `.${this.DATA_KEY}`; - } - static eventName(name) { - return `${name}${this.EVENT_KEY}`; - } - } - const enableDismissTrigger = (component, method = 'hide') => { - const clickEvent = `click.dismiss${component.EVENT_KEY}`; - const name = component.NAME; - EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - if (isDisabled(this)) { - return; - } - const target = getElementFromSelector(this) || this.closest(`.${name}`); - const instance = component.getOrCreateInstance(target); - instance[method](); - }); - }; - const NAME$f = 'alert'; - const DATA_KEY$a = 'bs.alert'; - const EVENT_KEY$b = `.${DATA_KEY$a}`; - const EVENT_CLOSE = `close${EVENT_KEY$b}`; - const EVENT_CLOSED = `closed${EVENT_KEY$b}`; - const CLASS_NAME_FADE$5 = 'fade'; - const CLASS_NAME_SHOW$8 = 'show'; - class Alert extends BaseComponent { - static get NAME() { - return NAME$f; - } - close() { - const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); - if (closeEvent.defaultPrevented) { - return; - } - this._element.classList.remove(CLASS_NAME_SHOW$8); - const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); - this._queueCallback(() => this._destroyElement(), this._element, isAnimated); - } - _destroyElement() { - this._element.remove(); - EventHandler.trigger(this._element, EVENT_CLOSED); - this.dispose(); - } - static jQueryInterface(config) { - return this.each(function () { - const data = Alert.getOrCreateInstance(this); - if (typeof config !== 'string') { - return; - } - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - data[config](this); - }); - } - } - enableDismissTrigger(Alert, 'close'); - defineJQueryPlugin(Alert); - const NAME$e = 'button'; - const DATA_KEY$9 = 'bs.button'; - const EVENT_KEY$a = `.${DATA_KEY$9}`; - const DATA_API_KEY$6 = '.data-api'; - const CLASS_NAME_ACTIVE$3 = 'active'; - const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]'; - const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; - class Button extends BaseComponent { - static get NAME() { - return NAME$e; - } - toggle() { - this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3)); - } - static jQueryInterface(config) { - return this.each(function () { - const data = Button.getOrCreateInstance(this); - if (config === 'toggle') { - data[config](); - } - }); - } - } - EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => { - event.preventDefault(); - const button = event.target.closest(SELECTOR_DATA_TOGGLE$5); - const data = Button.getOrCreateInstance(button); - data.toggle(); - }); - defineJQueryPlugin(Button); - const SelectorEngine = { - find(selector, element = document.documentElement) { - return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); - }, - findOne(selector, element = document.documentElement) { - return Element.prototype.querySelector.call(element, selector); - }, - children(element, selector) { - return [].concat(...element.children).filter(child => child.matches(selector)); - }, - parents(element, selector) { - const parents = []; - let ancestor = element.parentNode.closest(selector); - while (ancestor) { - parents.push(ancestor); - ancestor = ancestor.parentNode.closest(selector); - } - return parents; - }, - prev(element, selector) { - let previous = element.previousElementSibling; - while (previous) { - if (previous.matches(selector)) { - return [previous]; - } - previous = previous.previousElementSibling; - } - return []; - }, - next(element, selector) { - let next = element.nextElementSibling; - while (next) { - if (next.matches(selector)) { - return [next]; - } - next = next.nextElementSibling; - } - return []; - }, - focusableChildren(element) { - const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(','); - return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el)); - } - }; - const NAME$d = 'swipe'; - const EVENT_KEY$9 = '.bs.swipe'; - const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`; - const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`; - const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`; - const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`; - const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`; - const POINTER_TYPE_TOUCH = 'touch'; - const POINTER_TYPE_PEN = 'pen'; - const CLASS_NAME_POINTER_EVENT = 'pointer-event'; - const SWIPE_THRESHOLD = 40; - const Default$c = { - endCallback: null, - leftCallback: null, - rightCallback: null - }; - const DefaultType$c = { - endCallback: '(function|null)', - leftCallback: '(function|null)', - rightCallback: '(function|null)' - }; - class Swipe extends Config { - constructor(element, config) { - super(); - this._element = element; - if (!element || !Swipe.isSupported()) { - return; - } - this._config = this._getConfig(config); - this._deltaX = 0; - this._supportPointerEvents = Boolean(window.PointerEvent); - this._initEvents(); - } - static get Default() { - return Default$c; - } - static get DefaultType() { - return DefaultType$c; - } - static get NAME() { - return NAME$d; - } - dispose() { - EventHandler.off(this._element, EVENT_KEY$9); - } - _start(event) { - if (!this._supportPointerEvents) { - this._deltaX = event.touches[0].clientX; - return; - } - if (this._eventIsPointerPenTouch(event)) { - this._deltaX = event.clientX; - } - } - _end(event) { - if (this._eventIsPointerPenTouch(event)) { - this._deltaX = event.clientX - this._deltaX; - } - this._handleSwipe(); - execute(this._config.endCallback); - } - _move(event) { - this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX; - } - _handleSwipe() { - const absDeltaX = Math.abs(this._deltaX); - if (absDeltaX <= SWIPE_THRESHOLD) { - return; - } - const direction = absDeltaX / this._deltaX; - this._deltaX = 0; - if (!direction) { - return; - } - execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback); - } - _initEvents() { - if (this._supportPointerEvents) { - EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event)); - EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event)); - this._element.classList.add(CLASS_NAME_POINTER_EVENT); - } else { - EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event)); - EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event)); - EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event)); - } - } - _eventIsPointerPenTouch(event) { - return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); - } - static isSupported() { - return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; - } - } - const NAME$c = 'carousel'; - const DATA_KEY$8 = 'bs.carousel'; - const EVENT_KEY$8 = `.${DATA_KEY$8}`; - const DATA_API_KEY$5 = '.data-api'; - const ARROW_LEFT_KEY$1 = 'ArrowLeft'; - const ARROW_RIGHT_KEY$1 = 'ArrowRight'; - const TOUCHEVENT_COMPAT_WAIT = 500; - const ORDER_NEXT = 'next'; - const ORDER_PREV = 'prev'; - const DIRECTION_LEFT = 'left'; - const DIRECTION_RIGHT = 'right'; - const EVENT_SLIDE = `slide${EVENT_KEY$8}`; - const EVENT_SLID = `slid${EVENT_KEY$8}`; - const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`; - const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`; - const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`; - const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`; - const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`; - const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`; - const CLASS_NAME_CAROUSEL = 'carousel'; - const CLASS_NAME_ACTIVE$2 = 'active'; - const CLASS_NAME_SLIDE = 'slide'; - const CLASS_NAME_END = 'carousel-item-end'; - const CLASS_NAME_START = 'carousel-item-start'; - const CLASS_NAME_NEXT = 'carousel-item-next'; - const CLASS_NAME_PREV = 'carousel-item-prev'; - const SELECTOR_ACTIVE = '.active'; - const SELECTOR_ITEM = '.carousel-item'; - const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM; - const SELECTOR_ITEM_IMG = '.carousel-item img'; - const SELECTOR_INDICATORS = '.carousel-indicators'; - const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'; - const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; - const KEY_TO_DIRECTION = { - [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT, - [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT - }; - const Default$b = { - interval: 5000, - keyboard: true, - pause: 'hover', - ride: false, - touch: true, - wrap: true - }; - const DefaultType$b = { - interval: '(number|boolean)', - keyboard: 'boolean', - pause: '(string|boolean)', - ride: '(boolean|string)', - touch: 'boolean', - wrap: 'boolean' - }; - class Carousel extends BaseComponent { - constructor(element, config) { - super(element, config); - this._interval = null; - this._activeElement = null; - this._isSliding = false; - this.touchTimeout = null; - this._swipeHelper = null; - this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); - this._addEventListeners(); - if (this._config.ride === CLASS_NAME_CAROUSEL) { - this.cycle(); - } - } - static get Default() { - return Default$b; - } - static get DefaultType() { - return DefaultType$b; - } - static get NAME() { - return NAME$c; - } - next() { - this._slide(ORDER_NEXT); - } - nextWhenVisible() { - if (!document.hidden && isVisible(this._element)) { - this.next(); - } - } - prev() { - this._slide(ORDER_PREV); - } - pause() { - if (this._isSliding) { - triggerTransitionEnd(this._element); - } - this._clearInterval(); - } - cycle() { - this._clearInterval(); - this._updateInterval(); - this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval); - } - _maybeEnableCycle() { - if (!this._config.ride) { - return; - } - if (this._isSliding) { - EventHandler.one(this._element, EVENT_SLID, () => this.cycle()); - return; - } - this.cycle(); - } - to(index) { - const items = this._getItems(); - if (index > items.length - 1 || index < 0) { - return; - } - if (this._isSliding) { - EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); - return; - } - const activeIndex = this._getItemIndex(this._getActive()); - if (activeIndex === index) { - return; - } - const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV; - this._slide(order, items[index]); - } - dispose() { - if (this._swipeHelper) { - this._swipeHelper.dispose(); - } - super.dispose(); - } - _configAfterMerge(config) { - config.defaultInterval = config.interval; - return config; - } - _addEventListeners() { - if (this._config.keyboard) { - EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event)); - } - if (this._config.pause === 'hover') { - EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause()); - EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle()); - } - if (this._config.touch && Swipe.isSupported()) { - this._addTouchEventListeners(); - } - } - _addTouchEventListeners() { - for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) { - EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault()); - } - const endCallBack = () => { - if (this._config.pause !== 'hover') { - return; - } - this.pause(); - if (this.touchTimeout) { - clearTimeout(this.touchTimeout); - } - this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval); - }; - const swipeConfig = { - leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)), - rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)), - endCallback: endCallBack - }; - this._swipeHelper = new Swipe(this._element, swipeConfig); - } - _keydown(event) { - if (/input|textarea/i.test(event.target.tagName)) { - return; - } - const direction = KEY_TO_DIRECTION[event.key]; - if (direction) { - event.preventDefault(); - this._slide(this._directionToOrder(direction)); - } - } - _getItemIndex(element) { - return this._getItems().indexOf(element); - } - _setActiveIndicatorElement(index) { - if (!this._indicatorsElement) { - return; - } - const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); - activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); - activeIndicator.removeAttribute('aria-current'); - const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement); - if (newActiveIndicator) { - newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); - newActiveIndicator.setAttribute('aria-current', 'true'); - } - } - _updateInterval() { - const element = this._activeElement || this._getActive(); - if (!element) { - return; - } - const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10); - this._config.interval = elementInterval || this._config.defaultInterval; - } - _slide(order, element = null) { - if (this._isSliding) { - return; - } - const activeElement = this._getActive(); - const isNext = order === ORDER_NEXT; - const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); - if (nextElement === activeElement) { - return; - } - const nextElementIndex = this._getItemIndex(nextElement); - const triggerEvent = eventName => { - return EventHandler.trigger(this._element, eventName, { - relatedTarget: nextElement, - direction: this._orderToDirection(order), - from: this._getItemIndex(activeElement), - to: nextElementIndex - }); - }; - const slideEvent = triggerEvent(EVENT_SLIDE); - if (slideEvent.defaultPrevented) { - return; - } - if (!activeElement || !nextElement) { - return; - } - const isCycling = Boolean(this._interval); - this.pause(); - this._isSliding = true; - this._setActiveIndicatorElement(nextElementIndex); - this._activeElement = nextElement; - const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; - const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; - nextElement.classList.add(orderClassName); - reflow(nextElement); - activeElement.classList.add(directionalClassName); - nextElement.classList.add(directionalClassName); - const completeCallBack = () => { - nextElement.classList.remove(directionalClassName, orderClassName); - nextElement.classList.add(CLASS_NAME_ACTIVE$2); - activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); - this._isSliding = false; - triggerEvent(EVENT_SLID); - }; - this._queueCallback(completeCallBack, activeElement, this._isAnimated()); - if (isCycling) { - this.cycle(); - } - } - _isAnimated() { - return this._element.classList.contains(CLASS_NAME_SLIDE); - } - _getActive() { - return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); - } - _getItems() { - return SelectorEngine.find(SELECTOR_ITEM, this._element); - } - _clearInterval() { - if (this._interval) { - clearInterval(this._interval); - this._interval = null; - } - } - _directionToOrder(direction) { - if (isRTL()) { - return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; - } - return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; - } - _orderToDirection(order) { - if (isRTL()) { - return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; - } - return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; - } - static jQueryInterface(config) { - return this.each(function () { - const data = Carousel.getOrCreateInstance(this, config); - if (typeof config === 'number') { - data.to(config); - return; - } - if (typeof config === 'string') { - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - } - }); - } - } - EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) { - const target = getElementFromSelector(this); - if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { - return; - } - event.preventDefault(); - const carousel = Carousel.getOrCreateInstance(target); - const slideIndex = this.getAttribute('data-bs-slide-to'); - if (slideIndex) { - carousel.to(slideIndex); - carousel._maybeEnableCycle(); - return; - } - if (Manipulator.getDataAttribute(this, 'slide') === 'next') { - carousel.next(); - carousel._maybeEnableCycle(); - return; - } - carousel.prev(); - carousel._maybeEnableCycle(); - }); - EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { - const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); - for (const carousel of carousels) { - Carousel.getOrCreateInstance(carousel); - } - }); - defineJQueryPlugin(Carousel); - const NAME$b = 'collapse'; - const DATA_KEY$7 = 'bs.collapse'; - const EVENT_KEY$7 = `.${DATA_KEY$7}`; - const DATA_API_KEY$4 = '.data-api'; - const EVENT_SHOW$6 = `show${EVENT_KEY$7}`; - const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`; - const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`; - const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`; - const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`; - const CLASS_NAME_SHOW$7 = 'show'; - const CLASS_NAME_COLLAPSE = 'collapse'; - const CLASS_NAME_COLLAPSING = 'collapsing'; - const CLASS_NAME_COLLAPSED = 'collapsed'; - const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; - const CLASS_NAME_HORIZONTAL = 'collapse-horizontal'; - const WIDTH = 'width'; - const HEIGHT = 'height'; - const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; - const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; - const Default$a = { - parent: null, - toggle: true - }; - const DefaultType$a = { - parent: '(null|element)', - toggle: 'boolean' - }; - class Collapse extends BaseComponent { - constructor(element, config) { - super(element, config); - this._isTransitioning = false; - this._triggerArray = []; - const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); - for (const elem of toggleList) { - const selector = getSelectorFromElement(elem); - const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element); - if (selector !== null && filterElement.length) { - this._triggerArray.push(elem); - } - } - this._initializeChildren(); - if (!this._config.parent) { - this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); - } - if (this._config.toggle) { - this.toggle(); - } - } - static get Default() { - return Default$a; - } - static get DefaultType() { - return DefaultType$a; - } - static get NAME() { - return NAME$b; - } - toggle() { - if (this._isShown()) { - this.hide(); - } else { - this.show(); - } - } - show() { - if (this._isTransitioning || this._isShown()) { - return; - } - let activeChildren = []; - if (this._config.parent) { - activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, { - toggle: false - })); - } - if (activeChildren.length && activeChildren[0]._isTransitioning) { - return; - } - const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); - if (startEvent.defaultPrevented) { - return; - } - for (const activeInstance of activeChildren) { - activeInstance.hide(); - } - const dimension = this._getDimension(); - this._element.classList.remove(CLASS_NAME_COLLAPSE); - this._element.classList.add(CLASS_NAME_COLLAPSING); - this._element.style[dimension] = 0; - this._addAriaAndCollapsedClass(this._triggerArray, true); - this._isTransitioning = true; - const complete = () => { - this._isTransitioning = false; - this._element.classList.remove(CLASS_NAME_COLLAPSING); - this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); - this._element.style[dimension] = ''; - EventHandler.trigger(this._element, EVENT_SHOWN$6); - }; - const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); - const scrollSize = `scroll${capitalizedDimension}`; - this._queueCallback(complete, this._element, true); - this._element.style[dimension] = `${this._element[scrollSize]}px`; - } - hide() { - if (this._isTransitioning || !this._isShown()) { - return; - } - const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); - if (startEvent.defaultPrevented) { - return; - } - const dimension = this._getDimension(); - this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; - reflow(this._element); - this._element.classList.add(CLASS_NAME_COLLAPSING); - this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); - for (const trigger of this._triggerArray) { - const element = getElementFromSelector(trigger); - if (element && !this._isShown(element)) { - this._addAriaAndCollapsedClass([trigger], false); - } - } - this._isTransitioning = true; - const complete = () => { - this._isTransitioning = false; - this._element.classList.remove(CLASS_NAME_COLLAPSING); - this._element.classList.add(CLASS_NAME_COLLAPSE); - EventHandler.trigger(this._element, EVENT_HIDDEN$6); - }; - this._element.style[dimension] = ''; - this._queueCallback(complete, this._element, true); - } - _isShown(element = this._element) { - return element.classList.contains(CLASS_NAME_SHOW$7); - } - _configAfterMerge(config) { - config.toggle = Boolean(config.toggle); - config.parent = getElement(config.parent); - return config; - } - _getDimension() { - return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; - } - _initializeChildren() { - if (!this._config.parent) { - return; - } - const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4); - for (const element of children) { - const selected = getElementFromSelector(element); - if (selected) { - this._addAriaAndCollapsedClass([element], this._isShown(selected)); - } - } - } - _getFirstLevelChildren(selector) { - const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); - return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element)); - } - _addAriaAndCollapsedClass(triggerArray, isOpen) { - if (!triggerArray.length) { - return; - } - for (const element of triggerArray) { - element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); - element.setAttribute('aria-expanded', isOpen); - } - } - static jQueryInterface(config) { - const _config = {}; - if (typeof config === 'string' && /show|hide/.test(config)) { - _config.toggle = false; - } - return this.each(function () { - const data = Collapse.getOrCreateInstance(this, _config); - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - } - }); - } - } - EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) { - if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') { - event.preventDefault(); - } - const selector = getSelectorFromElement(this); - const selectorElements = SelectorEngine.find(selector); - for (const element of selectorElements) { - Collapse.getOrCreateInstance(element, { - toggle: false - }).toggle(); - } - }); - defineJQueryPlugin(Collapse); - const NAME$a = 'dropdown'; - const DATA_KEY$6 = 'bs.dropdown'; - const EVENT_KEY$6 = `.${DATA_KEY$6}`; - const DATA_API_KEY$3 = '.data-api'; - const ESCAPE_KEY$2 = 'Escape'; - const TAB_KEY$1 = 'Tab'; - const ARROW_UP_KEY$1 = 'ArrowUp'; - const ARROW_DOWN_KEY$1 = 'ArrowDown'; - const RIGHT_MOUSE_BUTTON = 2; - const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`; - const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`; - const EVENT_SHOW$5 = `show${EVENT_KEY$6}`; - const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`; - const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; - const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`; - const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`; - const CLASS_NAME_SHOW$6 = 'show'; - const CLASS_NAME_DROPUP = 'dropup'; - const CLASS_NAME_DROPEND = 'dropend'; - const CLASS_NAME_DROPSTART = 'dropstart'; - const CLASS_NAME_DROPUP_CENTER = 'dropup-center'; - const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'; - const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)'; - const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`; - const SELECTOR_MENU = '.dropdown-menu'; - const SELECTOR_NAVBAR = '.navbar'; - const SELECTOR_NAVBAR_NAV = '.navbar-nav'; - const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; - const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'; - const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'; - const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'; - const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'; - const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; - const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; - const PLACEMENT_TOPCENTER = 'top'; - const PLACEMENT_BOTTOMCENTER = 'bottom'; - const Default$9 = { - autoClose: true, - boundary: 'clippingParents', - display: 'dynamic', - offset: [0, 2], - popperConfig: null, - reference: 'toggle' - }; - const DefaultType$9 = { - autoClose: '(boolean|string)', - boundary: '(string|element)', - display: 'string', - offset: '(array|string|function)', - popperConfig: '(null|object|function)', - reference: '(string|element|object)' - }; - class Dropdown extends BaseComponent { - constructor(element, config) { - super(element, config); - this._popper = null; - this._parent = this._element.parentNode; - this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); - this._inNavbar = this._detectNavbar(); - } - static get Default() { - return Default$9; - } - static get DefaultType() { - return DefaultType$9; - } - static get NAME() { - return NAME$a; - } - toggle() { - return this._isShown() ? this.hide() : this.show(); - } - show() { - if (isDisabled(this._element) || this._isShown()) { - return; - } - const relatedTarget = { - relatedTarget: this._element - }; - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget); - if (showEvent.defaultPrevented) { - return; - } - this._createPopper(); - if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) { - for (const element of [].concat(...document.body.children)) { - EventHandler.on(element, 'mouseover', noop); - } - } - this._element.focus(); - this._element.setAttribute('aria-expanded', true); - this._menu.classList.add(CLASS_NAME_SHOW$6); - this._element.classList.add(CLASS_NAME_SHOW$6); - EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget); - } - hide() { - if (isDisabled(this._element) || !this._isShown()) { - return; - } - const relatedTarget = { - relatedTarget: this._element - }; - this._completeHide(relatedTarget); - } - dispose() { - if (this._popper) { - this._popper.destroy(); - } - super.dispose(); - } - update() { - this._inNavbar = this._detectNavbar(); - if (this._popper) { - this._popper.update(); - } - } - _completeHide(relatedTarget) { - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget); - if (hideEvent.defaultPrevented) { - return; - } - if ('ontouchstart' in document.documentElement) { - for (const element of [].concat(...document.body.children)) { - EventHandler.off(element, 'mouseover', noop); - } - } - if (this._popper) { - this._popper.destroy(); - } - this._menu.classList.remove(CLASS_NAME_SHOW$6); - this._element.classList.remove(CLASS_NAME_SHOW$6); - this._element.setAttribute('aria-expanded', 'false'); - Manipulator.removeDataAttribute(this._menu, 'popper'); - EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget); - } - _getConfig(config) { - config = super._getConfig(config); - if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') { - throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); - } - return config; - } - _createPopper() { - if (typeof Popper === 'undefined') { - throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); - } - let referenceElement = this._element; - if (this._config.reference === 'parent') { - referenceElement = this._parent; - } else if (isElement(this._config.reference)) { - referenceElement = getElement(this._config.reference); - } else if (typeof this._config.reference === 'object') { - referenceElement = this._config.reference; - } - const popperConfig = this._getPopperConfig(); - this._popper = createPopper(referenceElement, this._menu, popperConfig); - } - _isShown() { - return this._menu.classList.contains(CLASS_NAME_SHOW$6); - } - _getPlacement() { - const parentDropdown = this._parent; - if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { - return PLACEMENT_RIGHT; - } - if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { - return PLACEMENT_LEFT; - } - if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) { - return PLACEMENT_TOPCENTER; - } - if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) { - return PLACEMENT_BOTTOMCENTER; - } - const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'; - if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { - return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; - } - return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; - } - _detectNavbar() { - return this._element.closest(SELECTOR_NAVBAR) !== null; - } - _getOffset() { - const { - offset - } = this._config; - if (typeof offset === 'string') { - return offset.split(',').map(value => Number.parseInt(value, 10)); - } - if (typeof offset === 'function') { - return popperData => offset(popperData, this._element); - } - return offset; - } - _getPopperConfig() { - const defaultBsPopperConfig = { - placement: this._getPlacement(), - modifiers: [{ - name: 'preventOverflow', - options: { - boundary: this._config.boundary - } - }, { - name: 'offset', - options: { - offset: this._getOffset() - } - }] - }; - if (this._inNavbar || this._config.display === 'static') { - Manipulator.setDataAttribute(this._menu, 'popper', 'static'); - defaultBsPopperConfig.modifiers = [{ - name: 'applyStyles', - enabled: false - }]; - } - return { ...defaultBsPopperConfig, - ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) - }; - } - _selectMenuItem({ - key, - target - }) { - const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element)); - if (!items.length) { - return; - } - getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus(); - } - static jQueryInterface(config) { - return this.each(function () { - const data = Dropdown.getOrCreateInstance(this, config); - if (typeof config !== 'string') { - return; - } - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - }); - } - static clearMenus(event) { - if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) { - return; - } - const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN); - for (const toggle of openToggles) { - const context = Dropdown.getInstance(toggle); - if (!context || context._config.autoClose === false) { - continue; - } - const composedPath = event.composedPath(); - const isMenuTarget = composedPath.includes(context._menu); - if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) { - continue; - } - if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { - continue; - } - const relatedTarget = { - relatedTarget: context._element - }; - if (event.type === 'click') { - relatedTarget.clickEvent = event; - } - context._completeHide(relatedTarget); - } - } - static dataApiKeydownHandler(event) { - const isInput = /input|textarea/i.test(event.target.tagName); - const isEscapeEvent = event.key === ESCAPE_KEY$2; - const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key); - if (!isUpOrDownEvent && !isEscapeEvent) { - return; - } - if (isInput && !isEscapeEvent) { - return; - } - event.preventDefault(); - const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); - const instance = Dropdown.getOrCreateInstance(getToggleButton); - if (isUpOrDownEvent) { - event.stopPropagation(); - instance.show(); - instance._selectMenuItem(event); - return; - } - if (instance._isShown()) { - event.stopPropagation(); - instance.hide(); - getToggleButton.focus(); - } - } - } - EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); - EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); - EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); - EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); - EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { - event.preventDefault(); - Dropdown.getOrCreateInstance(this).toggle(); - }); - defineJQueryPlugin(Dropdown); - const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; - const SELECTOR_STICKY_CONTENT = '.sticky-top'; - const PROPERTY_PADDING = 'padding-right'; - const PROPERTY_MARGIN = 'margin-right'; - class ScrollBarHelper { - constructor() { - this._element = document.body; - } - getWidth() { - const documentWidth = document.documentElement.clientWidth; - return Math.abs(window.innerWidth - documentWidth); - } - hide() { - const width = this.getWidth(); - this._disableOverFlow(); - this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); - this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width); - this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width); - } - reset() { - this._resetElementAttributes(this._element, 'overflow'); - this._resetElementAttributes(this._element, PROPERTY_PADDING); - this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING); - this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN); - } - isOverflowing() { - return this.getWidth() > 0; - } - _disableOverFlow() { - this._saveInitialAttribute(this._element, 'overflow'); - this._element.style.overflow = 'hidden'; - } - _setElementAttributes(selector, styleProperty, callback) { - const scrollbarWidth = this.getWidth(); - const manipulationCallBack = element => { - if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { - return; - } - this._saveInitialAttribute(element, styleProperty); - const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty); - element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`); - }; - this._applyManipulationCallback(selector, manipulationCallBack); - } - _saveInitialAttribute(element, styleProperty) { - const actualValue = element.style.getPropertyValue(styleProperty); - if (actualValue) { - Manipulator.setDataAttribute(element, styleProperty, actualValue); - } - } - _resetElementAttributes(selector, styleProperty) { - const manipulationCallBack = element => { - const value = Manipulator.getDataAttribute(element, styleProperty); - if (value === null) { - element.style.removeProperty(styleProperty); - return; - } - Manipulator.removeDataAttribute(element, styleProperty); - element.style.setProperty(styleProperty, value); - }; - this._applyManipulationCallback(selector, manipulationCallBack); - } - _applyManipulationCallback(selector, callBack) { - if (isElement(selector)) { - callBack(selector); - return; - } - for (const sel of SelectorEngine.find(selector, this._element)) { - callBack(sel); - } - } - } - const NAME$9 = 'backdrop'; - const CLASS_NAME_FADE$4 = 'fade'; - const CLASS_NAME_SHOW$5 = 'show'; - const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; - const Default$8 = { - className: 'modal-backdrop', - clickCallback: null, - isAnimated: false, - isVisible: true, - rootElement: 'body' - }; - const DefaultType$8 = { - className: 'string', - clickCallback: '(function|null)', - isAnimated: 'boolean', - isVisible: 'boolean', - rootElement: '(element|string)' - }; - class Backdrop extends Config { - constructor(config) { - super(); - this._config = this._getConfig(config); - this._isAppended = false; - this._element = null; - } - static get Default() { - return Default$8; - } - static get DefaultType() { - return DefaultType$8; - } - static get NAME() { - return NAME$9; - } - show(callback) { - if (!this._config.isVisible) { - execute(callback); - return; - } - this._append(); - const element = this._getElement(); - if (this._config.isAnimated) { - reflow(element); - } - element.classList.add(CLASS_NAME_SHOW$5); - this._emulateAnimation(() => { - execute(callback); - }); - } - hide(callback) { - if (!this._config.isVisible) { - execute(callback); - return; - } - this._getElement().classList.remove(CLASS_NAME_SHOW$5); - this._emulateAnimation(() => { - this.dispose(); - execute(callback); - }); - } - dispose() { - if (!this._isAppended) { - return; - } - EventHandler.off(this._element, EVENT_MOUSEDOWN); - this._element.remove(); - this._isAppended = false; - } - _getElement() { - if (!this._element) { - const backdrop = document.createElement('div'); - backdrop.className = this._config.className; - if (this._config.isAnimated) { - backdrop.classList.add(CLASS_NAME_FADE$4); - } - this._element = backdrop; - } - return this._element; - } - _configAfterMerge(config) { - config.rootElement = getElement(config.rootElement); - return config; - } - _append() { - if (this._isAppended) { - return; - } - const element = this._getElement(); - this._config.rootElement.append(element); - EventHandler.on(element, EVENT_MOUSEDOWN, () => { - execute(this._config.clickCallback); - }); - this._isAppended = true; - } - _emulateAnimation(callback) { - executeAfterTransition(callback, this._getElement(), this._config.isAnimated); - } - } - const NAME$8 = 'focustrap'; - const DATA_KEY$5 = 'bs.focustrap'; - const EVENT_KEY$5 = `.${DATA_KEY$5}`; - const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`; - const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; - const TAB_KEY = 'Tab'; - const TAB_NAV_FORWARD = 'forward'; - const TAB_NAV_BACKWARD = 'backward'; - const Default$7 = { - autofocus: true, - trapElement: null - }; - const DefaultType$7 = { - autofocus: 'boolean', - trapElement: 'element' - }; - class FocusTrap extends Config { - constructor(config) { - super(); - this._config = this._getConfig(config); - this._isActive = false; - this._lastTabNavDirection = null; - } - static get Default() { - return Default$7; - } - static get DefaultType() { - return DefaultType$7; - } - static get NAME() { - return NAME$8; - } - activate() { - if (this._isActive) { - return; - } - if (this._config.autofocus) { - this._config.trapElement.focus(); - } - EventHandler.off(document, EVENT_KEY$5); - EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event)); - EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)); - this._isActive = true; - } - deactivate() { - if (!this._isActive) { - return; - } - this._isActive = false; - EventHandler.off(document, EVENT_KEY$5); - } - _handleFocusin(event) { - const { - trapElement - } = this._config; - if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) { - return; - } - const elements = SelectorEngine.focusableChildren(trapElement); - if (elements.length === 0) { - trapElement.focus(); - } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { - elements[elements.length - 1].focus(); - } else { - elements[0].focus(); - } - } - _handleKeydown(event) { - if (event.key !== TAB_KEY) { - return; - } - this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; - } - } - const NAME$7 = 'modal'; - const DATA_KEY$4 = 'bs.modal'; - const EVENT_KEY$4 = `.${DATA_KEY$4}`; - const DATA_API_KEY$2 = '.data-api'; - const ESCAPE_KEY$1 = 'Escape'; - const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`; - const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; - const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; - const EVENT_SHOW$4 = `show${EVENT_KEY$4}`; - const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; - const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; - const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; - const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; - const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; - const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; - const CLASS_NAME_OPEN = 'modal-open'; - const CLASS_NAME_FADE$3 = 'fade'; - const CLASS_NAME_SHOW$4 = 'show'; - const CLASS_NAME_STATIC = 'modal-static'; - const OPEN_SELECTOR$1 = '.modal.show'; - const SELECTOR_DIALOG = '.modal-dialog'; - const SELECTOR_MODAL_BODY = '.modal-body'; - const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; - const Default$6 = { - backdrop: true, - focus: true, - keyboard: true - }; - const DefaultType$6 = { - backdrop: '(boolean|string)', - focus: 'boolean', - keyboard: 'boolean' - }; - class Modal extends BaseComponent { - constructor(element, config) { - super(element, config); - this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); - this._backdrop = this._initializeBackDrop(); - this._focustrap = this._initializeFocusTrap(); - this._isShown = false; - this._isTransitioning = false; - this._scrollBar = new ScrollBarHelper(); - this._addEventListeners(); - } - static get Default() { - return Default$6; - } - static get DefaultType() { - return DefaultType$6; - } - static get NAME() { - return NAME$7; - } - toggle(relatedTarget) { - return this._isShown ? this.hide() : this.show(relatedTarget); - } - show(relatedTarget) { - if (this._isShown || this._isTransitioning) { - return; - } - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, { - relatedTarget - }); - if (showEvent.defaultPrevented) { - return; - } - this._isShown = true; - this._isTransitioning = true; - this._scrollBar.hide(); - document.body.classList.add(CLASS_NAME_OPEN); - this._adjustDialog(); - this._backdrop.show(() => this._showElement(relatedTarget)); - } - hide() { - if (!this._isShown || this._isTransitioning) { - return; - } - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4); - if (hideEvent.defaultPrevented) { - return; - } - this._isShown = false; - this._isTransitioning = true; - this._focustrap.deactivate(); - this._element.classList.remove(CLASS_NAME_SHOW$4); - this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); - } - dispose() { - for (const htmlElement of [window, this._dialog]) { - EventHandler.off(htmlElement, EVENT_KEY$4); - } - this._backdrop.dispose(); - this._focustrap.deactivate(); - super.dispose(); - } - handleUpdate() { - this._adjustDialog(); - } - _initializeBackDrop() { - return new Backdrop({ - isVisible: Boolean(this._config.backdrop), - isAnimated: this._isAnimated() - }); - } - _initializeFocusTrap() { - return new FocusTrap({ - trapElement: this._element - }); - } - _showElement(relatedTarget) { - if (!document.body.contains(this._element)) { - document.body.append(this._element); - } - this._element.style.display = 'block'; - this._element.removeAttribute('aria-hidden'); - this._element.setAttribute('aria-modal', true); - this._element.setAttribute('role', 'dialog'); - this._element.scrollTop = 0; - const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); - if (modalBody) { - modalBody.scrollTop = 0; - } - reflow(this._element); - this._element.classList.add(CLASS_NAME_SHOW$4); - const transitionComplete = () => { - if (this._config.focus) { - this._focustrap.activate(); - } - this._isTransitioning = false; - EventHandler.trigger(this._element, EVENT_SHOWN$4, { - relatedTarget - }); - }; - this._queueCallback(transitionComplete, this._dialog, this._isAnimated()); - } - _addEventListeners() { - EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => { - if (event.key !== ESCAPE_KEY$1) { - return; - } - if (this._config.keyboard) { - event.preventDefault(); - this.hide(); - return; - } - this._triggerBackdropTransition(); - }); - EventHandler.on(window, EVENT_RESIZE$1, () => { - if (this._isShown && !this._isTransitioning) { - this._adjustDialog(); - } - }); - EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => { - EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => { - if (this._element !== event.target || this._element !== event2.target) { - return; - } - if (this._config.backdrop === 'static') { - this._triggerBackdropTransition(); - return; - } - if (this._config.backdrop) { - this.hide(); - } - }); - }); - } - _hideModal() { - this._element.style.display = 'none'; - this._element.setAttribute('aria-hidden', true); - this._element.removeAttribute('aria-modal'); - this._element.removeAttribute('role'); - this._isTransitioning = false; - this._backdrop.hide(() => { - document.body.classList.remove(CLASS_NAME_OPEN); - this._resetAdjustments(); - this._scrollBar.reset(); - EventHandler.trigger(this._element, EVENT_HIDDEN$4); - }); - } - _isAnimated() { - return this._element.classList.contains(CLASS_NAME_FADE$3); - } - _triggerBackdropTransition() { - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); - if (hideEvent.defaultPrevented) { - return; - } - const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; - const initialOverflowY = this._element.style.overflowY; - if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) { - return; - } - if (!isModalOverflowing) { - this._element.style.overflowY = 'hidden'; - } - this._element.classList.add(CLASS_NAME_STATIC); - this._queueCallback(() => { - this._element.classList.remove(CLASS_NAME_STATIC); - this._queueCallback(() => { - this._element.style.overflowY = initialOverflowY; - }, this._dialog); - }, this._dialog); - this._element.focus(); - } - _adjustDialog() { - const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; - const scrollbarWidth = this._scrollBar.getWidth(); - const isBodyOverflowing = scrollbarWidth > 0; - if (isBodyOverflowing && !isModalOverflowing) { - const property = isRTL() ? 'paddingLeft' : 'paddingRight'; - this._element.style[property] = `${scrollbarWidth}px`; - } - if (!isBodyOverflowing && isModalOverflowing) { - const property = isRTL() ? 'paddingRight' : 'paddingLeft'; - this._element.style[property] = `${scrollbarWidth}px`; - } - } - _resetAdjustments() { - this._element.style.paddingLeft = ''; - this._element.style.paddingRight = ''; - } - static jQueryInterface(config, relatedTarget) { - return this.each(function () { - const data = Modal.getOrCreateInstance(this, config); - if (typeof config !== 'string') { - return; - } - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - data[config](relatedTarget); - }); - } - } - EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { - const target = getElementFromSelector(this); - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - EventHandler.one(target, EVENT_SHOW$4, showEvent => { - if (showEvent.defaultPrevented) { - return; - } - EventHandler.one(target, EVENT_HIDDEN$4, () => { - if (isVisible(this)) { - this.focus(); - } - }); - }); - const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); - if (alreadyOpen) { - Modal.getInstance(alreadyOpen).hide(); - } - const data = Modal.getOrCreateInstance(target); - data.toggle(this); - }); - enableDismissTrigger(Modal); - defineJQueryPlugin(Modal); - const NAME$6 = 'offcanvas'; - const DATA_KEY$3 = 'bs.offcanvas'; - const EVENT_KEY$3 = `.${DATA_KEY$3}`; - const DATA_API_KEY$1 = '.data-api'; - const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`; - const ESCAPE_KEY = 'Escape'; - const CLASS_NAME_SHOW$3 = 'show'; - const CLASS_NAME_SHOWING$1 = 'showing'; - const CLASS_NAME_HIDING = 'hiding'; - const CLASS_NAME_BACKDROP = 'offcanvas-backdrop'; - const OPEN_SELECTOR = '.offcanvas.show'; - const EVENT_SHOW$3 = `show${EVENT_KEY$3}`; - const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`; - const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`; - const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`; - const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`; - const EVENT_RESIZE = `resize${EVENT_KEY$3}`; - const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`; - const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`; - const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]'; - const Default$5 = { - backdrop: true, - keyboard: true, - scroll: false - }; - const DefaultType$5 = { - backdrop: '(boolean|string)', - keyboard: 'boolean', - scroll: 'boolean' - }; - class Offcanvas extends BaseComponent { - constructor(element, config) { - super(element, config); - this._isShown = false; - this._backdrop = this._initializeBackDrop(); - this._focustrap = this._initializeFocusTrap(); - this._addEventListeners(); - } - static get Default() { - return Default$5; - } - static get DefaultType() { - return DefaultType$5; - } - static get NAME() { - return NAME$6; - } - toggle(relatedTarget) { - return this._isShown ? this.hide() : this.show(relatedTarget); - } - show(relatedTarget) { - if (this._isShown) { - return; - } - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { - relatedTarget - }); - if (showEvent.defaultPrevented) { - return; - } - this._isShown = true; - this._backdrop.show(); - if (!this._config.scroll) { - new ScrollBarHelper().hide(); - } - this._element.setAttribute('aria-modal', true); - this._element.setAttribute('role', 'dialog'); - this._element.classList.add(CLASS_NAME_SHOWING$1); - const completeCallBack = () => { - if (!this._config.scroll || this._config.backdrop) { - this._focustrap.activate(); - } - this._element.classList.add(CLASS_NAME_SHOW$3); - this._element.classList.remove(CLASS_NAME_SHOWING$1); - EventHandler.trigger(this._element, EVENT_SHOWN$3, { - relatedTarget - }); - }; - this._queueCallback(completeCallBack, this._element, true); - } - hide() { - if (!this._isShown) { - return; - } - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); - if (hideEvent.defaultPrevented) { - return; - } - this._focustrap.deactivate(); - this._element.blur(); - this._isShown = false; - this._element.classList.add(CLASS_NAME_HIDING); - this._backdrop.hide(); - const completeCallback = () => { - this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING); - this._element.removeAttribute('aria-modal'); - this._element.removeAttribute('role'); - if (!this._config.scroll) { - new ScrollBarHelper().reset(); - } - EventHandler.trigger(this._element, EVENT_HIDDEN$3); - }; - this._queueCallback(completeCallback, this._element, true); - } - dispose() { - this._backdrop.dispose(); - this._focustrap.deactivate(); - super.dispose(); - } - _initializeBackDrop() { - const clickCallback = () => { - if (this._config.backdrop === 'static') { - EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); - return; - } - this.hide(); - }; - const isVisible = Boolean(this._config.backdrop); - return new Backdrop({ - className: CLASS_NAME_BACKDROP, - isVisible, - isAnimated: true, - rootElement: this._element.parentNode, - clickCallback: isVisible ? clickCallback : null - }); - } - _initializeFocusTrap() { - return new FocusTrap({ - trapElement: this._element - }); - } - _addEventListeners() { - EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => { - if (event.key !== ESCAPE_KEY) { - return; - } - if (!this._config.keyboard) { - EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); - return; - } - this.hide(); - }); - } - static jQueryInterface(config) { - return this.each(function () { - const data = Offcanvas.getOrCreateInstance(this, config); - if (typeof config !== 'string') { - return; - } - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - data[config](this); - }); - } - } - EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { - const target = getElementFromSelector(this); - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - if (isDisabled(this)) { - return; - } - EventHandler.one(target, EVENT_HIDDEN$3, () => { - if (isVisible(this)) { - this.focus(); - } - }); - const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); - if (alreadyOpen && alreadyOpen !== target) { - Offcanvas.getInstance(alreadyOpen).hide(); - } - const data = Offcanvas.getOrCreateInstance(target); - data.toggle(this); - }); - EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { - for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { - Offcanvas.getOrCreateInstance(selector).show(); - } - }); - EventHandler.on(window, EVENT_RESIZE, () => { - for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) { - if (getComputedStyle(element).position !== 'fixed') { - Offcanvas.getOrCreateInstance(element).hide(); - } - } - }); - enableDismissTrigger(Offcanvas); - defineJQueryPlugin(Offcanvas); - const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); - const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; - const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; - const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; - const allowedAttribute = (attribute, allowedAttributeList) => { - const attributeName = attribute.nodeName.toLowerCase(); - if (allowedAttributeList.includes(attributeName)) { - if (uriAttributes.has(attributeName)) { - return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue)); - } - return true; - } - return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName)); - }; - const DefaultAllowlist = { - '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], - a: ['target', 'href', 'title', 'rel'], - area: [], - b: [], - br: [], - col: [], - code: [], - div: [], - em: [], - hr: [], - h1: [], - h2: [], - h3: [], - h4: [], - h5: [], - h6: [], - i: [], - img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], - li: [], - ol: [], - p: [], - pre: [], - s: [], - small: [], - span: [], - sub: [], - sup: [], - strong: [], - u: [], - ul: [] - }; - function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { - if (!unsafeHtml.length) { - return unsafeHtml; - } - if (sanitizeFunction && typeof sanitizeFunction === 'function') { - return sanitizeFunction(unsafeHtml); - } - const domParser = new window.DOMParser(); - const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); - const elements = [].concat(...createdDocument.body.querySelectorAll('*')); - for (const element of elements) { - const elementName = element.nodeName.toLowerCase(); - if (!Object.keys(allowList).includes(elementName)) { - element.remove(); - continue; - } - const attributeList = [].concat(...element.attributes); - const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []); - for (const attribute of attributeList) { - if (!allowedAttribute(attribute, allowedAttributes)) { - element.removeAttribute(attribute.nodeName); - } - } - } - return createdDocument.body.innerHTML; - } - const NAME$5 = 'TemplateFactory'; - const Default$4 = { - allowList: DefaultAllowlist, - content: {}, - extraClass: '', - html: false, - sanitize: true, - sanitizeFn: null, - template: '
' - }; - const DefaultType$4 = { - allowList: 'object', - content: 'object', - extraClass: '(string|function)', - html: 'boolean', - sanitize: 'boolean', - sanitizeFn: '(null|function)', - template: 'string' - }; - const DefaultContentType = { - entry: '(string|element|function|null)', - selector: '(string|element)' - }; - class TemplateFactory extends Config { - constructor(config) { - super(); - this._config = this._getConfig(config); - } - static get Default() { - return Default$4; - } - static get DefaultType() { - return DefaultType$4; - } - static get NAME() { - return NAME$5; - } - getContent() { - return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean); - } - hasContent() { - return this.getContent().length > 0; - } - changeContent(content) { - this._checkContent(content); - this._config.content = { ...this._config.content, - ...content - }; - return this; - } - toHtml() { - const templateWrapper = document.createElement('div'); - templateWrapper.innerHTML = this._maybeSanitize(this._config.template); - for (const [selector, text] of Object.entries(this._config.content)) { - this._setContent(templateWrapper, text, selector); - } - const template = templateWrapper.children[0]; - const extraClass = this._resolvePossibleFunction(this._config.extraClass); - if (extraClass) { - template.classList.add(...extraClass.split(' ')); - } - return template; - } - _typeCheckConfig(config) { - super._typeCheckConfig(config); - this._checkContent(config.content); - } - _checkContent(arg) { - for (const [selector, content] of Object.entries(arg)) { - super._typeCheckConfig({ - selector, - entry: content - }, DefaultContentType); - } - } - _setContent(template, content, selector) { - const templateElement = SelectorEngine.findOne(selector, template); - if (!templateElement) { - return; - } - content = this._resolvePossibleFunction(content); - if (!content) { - templateElement.remove(); - return; - } - if (isElement(content)) { - this._putElementInTemplate(getElement(content), templateElement); - return; - } - if (this._config.html) { - templateElement.innerHTML = this._maybeSanitize(content); - return; - } - templateElement.textContent = content; - } - _maybeSanitize(arg) { - return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg; - } - _resolvePossibleFunction(arg) { - return typeof arg === 'function' ? arg(this) : arg; - } - _putElementInTemplate(element, templateElement) { - if (this._config.html) { - templateElement.innerHTML = ''; - templateElement.append(element); - return; - } - templateElement.textContent = element.textContent; - } - } - const NAME$4 = 'tooltip'; - const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']); - const CLASS_NAME_FADE$2 = 'fade'; - const CLASS_NAME_MODAL = 'modal'; - const CLASS_NAME_SHOW$2 = 'show'; - const SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; - const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; - const EVENT_MODAL_HIDE = 'hide.bs.modal'; - const TRIGGER_HOVER = 'hover'; - const TRIGGER_FOCUS = 'focus'; - const TRIGGER_CLICK = 'click'; - const TRIGGER_MANUAL = 'manual'; - const EVENT_HIDE$2 = 'hide'; - const EVENT_HIDDEN$2 = 'hidden'; - const EVENT_SHOW$2 = 'show'; - const EVENT_SHOWN$2 = 'shown'; - const EVENT_INSERTED = 'inserted'; - const EVENT_CLICK$1 = 'click'; - const EVENT_FOCUSIN$1 = 'focusin'; - const EVENT_FOCUSOUT$1 = 'focusout'; - const EVENT_MOUSEENTER = 'mouseenter'; - const EVENT_MOUSELEAVE = 'mouseleave'; - const AttachmentMap = { - AUTO: 'auto', - TOP: 'top', - RIGHT: isRTL() ? 'left' : 'right', - BOTTOM: 'bottom', - LEFT: isRTL() ? 'right' : 'left' - }; - const Default$3 = { - allowList: DefaultAllowlist, - animation: true, - boundary: 'clippingParents', - container: false, - customClass: '', - delay: 0, - fallbackPlacements: ['top', 'right', 'bottom', 'left'], - html: false, - offset: [0, 0], - placement: 'top', - popperConfig: null, - sanitize: true, - sanitizeFn: null, - selector: false, - template: '', - title: '', - trigger: 'hover focus' - }; - const DefaultType$3 = { - allowList: 'object', - animation: 'boolean', - boundary: '(string|element)', - container: '(string|element|boolean)', - customClass: '(string|function)', - delay: '(number|object)', - fallbackPlacements: 'array', - html: 'boolean', - offset: '(array|string|function)', - placement: '(string|function)', - popperConfig: '(null|object|function)', - sanitize: 'boolean', - sanitizeFn: '(null|function)', - selector: '(string|boolean)', - template: 'string', - title: '(string|element|function)', - trigger: 'string' - }; - class Tooltip extends BaseComponent { - constructor(element, config) { - if (typeof Popper === 'undefined') { - throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); - } - super(element, config); - this._isEnabled = true; - this._timeout = 0; - this._isHovered = null; - this._activeTrigger = {}; - this._popper = null; - this._templateFactory = null; - this._newContent = null; - this.tip = null; - this._setListeners(); - if (!this._config.selector) { - this._fixTitle(); - } - } - static get Default() { - return Default$3; - } - static get DefaultType() { - return DefaultType$3; - } - static get NAME() { - return NAME$4; - } - enable() { - this._isEnabled = true; - } - disable() { - this._isEnabled = false; - } - toggleEnabled() { - this._isEnabled = !this._isEnabled; - } - toggle() { - if (!this._isEnabled) { - return; - } - this._activeTrigger.click = !this._activeTrigger.click; - if (this._isShown()) { - this._leave(); - return; - } - this._enter(); - } - dispose() { - clearTimeout(this._timeout); - EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); - if (this.tip) { - this.tip.remove(); - } - if (this._element.getAttribute('data-bs-original-title')) { - this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title')); - } - this._disposePopper(); - super.dispose(); - } - show() { - if (this._element.style.display === 'none') { - throw new Error('Please use show on visible elements'); - } - if (!(this._isWithContent() && this._isEnabled)) { - return; - } - const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2)); - const shadowRoot = findShadowRoot(this._element); - const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); - if (showEvent.defaultPrevented || !isInTheDom) { - return; - } - if (this.tip) { - this.tip.remove(); - this.tip = null; - } - const tip = this._getTipElement(); - this._element.setAttribute('aria-describedby', tip.getAttribute('id')); - const { - container - } = this._config; - if (!this._element.ownerDocument.documentElement.contains(this.tip)) { - container.append(tip); - EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)); - } - if (this._popper) { - this._popper.update(); - } else { - this._popper = this._createPopper(tip); - } - tip.classList.add(CLASS_NAME_SHOW$2); - if ('ontouchstart' in document.documentElement) { - for (const element of [].concat(...document.body.children)) { - EventHandler.on(element, 'mouseover', noop); - } - } - const complete = () => { - EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2)); - if (this._isHovered === false) { - this._leave(); - } - this._isHovered = false; - }; - this._queueCallback(complete, this.tip, this._isAnimated()); - } - hide() { - if (!this._isShown()) { - return; - } - const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2)); - if (hideEvent.defaultPrevented) { - return; - } - const tip = this._getTipElement(); - tip.classList.remove(CLASS_NAME_SHOW$2); - if ('ontouchstart' in document.documentElement) { - for (const element of [].concat(...document.body.children)) { - EventHandler.off(element, 'mouseover', noop); - } - } - this._activeTrigger[TRIGGER_CLICK] = false; - this._activeTrigger[TRIGGER_FOCUS] = false; - this._activeTrigger[TRIGGER_HOVER] = false; - this._isHovered = null; - const complete = () => { - if (this._isWithActiveTrigger()) { - return; - } - if (!this._isHovered) { - tip.remove(); - } - this._element.removeAttribute('aria-describedby'); - EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2)); - this._disposePopper(); - }; - this._queueCallback(complete, this.tip, this._isAnimated()); - } - update() { - if (this._popper) { - this._popper.update(); - } - } - _isWithContent() { - return Boolean(this._getTitle()); - } - _getTipElement() { - if (!this.tip) { - this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); - } - return this.tip; - } - _createTipElement(content) { - const tip = this._getTemplateFactory(content).toHtml(); - if (!tip) { - return null; - } - tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); - tip.classList.add(`bs-${this.constructor.NAME}-auto`); - const tipId = getUID(this.constructor.NAME).toString(); - tip.setAttribute('id', tipId); - if (this._isAnimated()) { - tip.classList.add(CLASS_NAME_FADE$2); - } - return tip; - } - setContent(content) { - this._newContent = content; - if (this._isShown()) { - this._disposePopper(); - this.show(); - } - } - _getTemplateFactory(content) { - if (this._templateFactory) { - this._templateFactory.changeContent(content); - } else { - this._templateFactory = new TemplateFactory({ ...this._config, - content, - extraClass: this._resolvePossibleFunction(this._config.customClass) - }); - } - return this._templateFactory; - } - _getContentForTemplate() { - return { - [SELECTOR_TOOLTIP_INNER]: this._getTitle() - }; - } - _getTitle() { - return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title'); - } - _initializeOnDelegatedTarget(event) { - return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); - } - _isAnimated() { - return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2); - } - _isShown() { - return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2); - } - _createPopper(tip) { - const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement; - const attachment = AttachmentMap[placement.toUpperCase()]; - return createPopper(this._element, tip, this._getPopperConfig(attachment)); - } - _getOffset() { - const { - offset - } = this._config; - if (typeof offset === 'string') { - return offset.split(',').map(value => Number.parseInt(value, 10)); - } - if (typeof offset === 'function') { - return popperData => offset(popperData, this._element); - } - return offset; - } - _resolvePossibleFunction(arg) { - return typeof arg === 'function' ? arg.call(this._element) : arg; - } - _getPopperConfig(attachment) { - const defaultBsPopperConfig = { - placement: attachment, - modifiers: [{ - name: 'flip', - options: { - fallbackPlacements: this._config.fallbackPlacements - } - }, { - name: 'offset', - options: { - offset: this._getOffset() - } - }, { - name: 'preventOverflow', - options: { - boundary: this._config.boundary - } - }, { - name: 'arrow', - options: { - element: `.${this.constructor.NAME}-arrow` - } - }, { - name: 'preSetPlacement', - enabled: true, - phase: 'beforeMain', - fn: data => { - this._getTipElement().setAttribute('data-popper-placement', data.state.placement); - } - }] - }; - return { ...defaultBsPopperConfig, - ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) - }; - } - _setListeners() { - const triggers = this._config.trigger.split(' '); - for (const trigger of triggers) { - if (trigger === 'click') { - EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => { - const context = this._initializeOnDelegatedTarget(event); - context.toggle(); - }); - } else if (trigger !== TRIGGER_MANUAL) { - const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); - const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); - EventHandler.on(this._element, eventIn, this._config.selector, event => { - const context = this._initializeOnDelegatedTarget(event); - context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; - context._enter(); - }); - EventHandler.on(this._element, eventOut, this._config.selector, event => { - const context = this._initializeOnDelegatedTarget(event); - context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); - context._leave(); - }); - } - } - this._hideModalHandler = () => { - if (this._element) { - this.hide(); - } - }; - EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); - } - _fixTitle() { - const title = this._element.getAttribute('title'); - if (!title) { - return; - } - if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) { - this._element.setAttribute('aria-label', title); - } - this._element.setAttribute('data-bs-original-title', title); - this._element.removeAttribute('title'); - } - _enter() { - if (this._isShown() || this._isHovered) { - this._isHovered = true; - return; - } - this._isHovered = true; - this._setTimeout(() => { - if (this._isHovered) { - this.show(); - } - }, this._config.delay.show); - } - _leave() { - if (this._isWithActiveTrigger()) { - return; - } - this._isHovered = false; - this._setTimeout(() => { - if (!this._isHovered) { - this.hide(); - } - }, this._config.delay.hide); - } - _setTimeout(handler, timeout) { - clearTimeout(this._timeout); - this._timeout = setTimeout(handler, timeout); - } - _isWithActiveTrigger() { - return Object.values(this._activeTrigger).includes(true); - } - _getConfig(config) { - const dataAttributes = Manipulator.getDataAttributes(this._element); - for (const dataAttribute of Object.keys(dataAttributes)) { - if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) { - delete dataAttributes[dataAttribute]; - } - } - config = { ...dataAttributes, - ...(typeof config === 'object' && config ? config : {}) - }; - config = this._mergeConfigObj(config); - config = this._configAfterMerge(config); - this._typeCheckConfig(config); - return config; - } - _configAfterMerge(config) { - config.container = config.container === false ? document.body : getElement(config.container); - if (typeof config.delay === 'number') { - config.delay = { - show: config.delay, - hide: config.delay - }; - } - if (typeof config.title === 'number') { - config.title = config.title.toString(); - } - if (typeof config.content === 'number') { - config.content = config.content.toString(); - } - return config; - } - _getDelegateConfig() { - const config = {}; - for (const key in this._config) { - if (this.constructor.Default[key] !== this._config[key]) { - config[key] = this._config[key]; - } - } - config.selector = false; - config.trigger = 'manual'; - return config; - } - _disposePopper() { - if (this._popper) { - this._popper.destroy(); - this._popper = null; - } - } - static jQueryInterface(config) { - return this.each(function () { - const data = Tooltip.getOrCreateInstance(this, config); - if (typeof config !== 'string') { - return; - } - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - }); - } - } - defineJQueryPlugin(Tooltip); - const NAME$3 = 'popover'; - const SELECTOR_TITLE = '.popover-header'; - const SELECTOR_CONTENT = '.popover-body'; - const Default$2 = { ...Tooltip.Default, - content: '', - offset: [0, 8], - placement: 'right', - template: '', - trigger: 'click' - }; - const DefaultType$2 = { ...Tooltip.DefaultType, - content: '(null|string|element|function)' - }; - class Popover extends Tooltip { - static get Default() { - return Default$2; - } - static get DefaultType() { - return DefaultType$2; - } - static get NAME() { - return NAME$3; - } - _isWithContent() { - return this._getTitle() || this._getContent(); - } - _getContentForTemplate() { - return { - [SELECTOR_TITLE]: this._getTitle(), - [SELECTOR_CONTENT]: this._getContent() - }; - } - _getContent() { - return this._resolvePossibleFunction(this._config.content); - } - static jQueryInterface(config) { - return this.each(function () { - const data = Popover.getOrCreateInstance(this, config); - if (typeof config !== 'string') { - return; - } - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - }); - } - } - defineJQueryPlugin(Popover); - const NAME$2 = 'scrollspy'; - const DATA_KEY$2 = 'bs.scrollspy'; - const EVENT_KEY$2 = `.${DATA_KEY$2}`; - const DATA_API_KEY = '.data-api'; - const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; - const EVENT_CLICK = `click${EVENT_KEY$2}`; - const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`; - const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; - const CLASS_NAME_ACTIVE$1 = 'active'; - const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; - const SELECTOR_TARGET_LINKS = '[href]'; - const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; - const SELECTOR_NAV_LINKS = '.nav-link'; - const SELECTOR_NAV_ITEMS = '.nav-item'; - const SELECTOR_LIST_ITEMS = '.list-group-item'; - const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`; - const SELECTOR_DROPDOWN = '.dropdown'; - const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle'; - const Default$1 = { - offset: null, - rootMargin: '0px 0px -25%', - smoothScroll: false, - target: null, - threshold: [0.1, 0.5, 1] - }; - const DefaultType$1 = { - offset: '(number|null)', - rootMargin: 'string', - smoothScroll: 'boolean', - target: 'element', - threshold: 'array' - }; - class ScrollSpy extends BaseComponent { - constructor(element, config) { - super(element, config); - this._targetLinks = new Map(); - this._observableSections = new Map(); - this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element; - this._activeTarget = null; - this._observer = null; - this._previousScrollData = { - visibleEntryTop: 0, - parentScrollTop: 0 - }; - this.refresh(); - } - static get Default() { - return Default$1; - } - static get DefaultType() { - return DefaultType$1; - } - static get NAME() { - return NAME$2; - } - refresh() { - this._initializeTargetsAndObservables(); - this._maybeEnableSmoothScroll(); - if (this._observer) { - this._observer.disconnect(); - } else { - this._observer = this._getNewObserver(); - } - for (const section of this._observableSections.values()) { - this._observer.observe(section); - } - } - dispose() { - this._observer.disconnect(); - super.dispose(); - } - _configAfterMerge(config) { - config.target = getElement(config.target) || document.body; - config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin; - if (typeof config.threshold === 'string') { - config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value)); - } - return config; - } - _maybeEnableSmoothScroll() { - if (!this._config.smoothScroll) { - return; - } - EventHandler.off(this._config.target, EVENT_CLICK); - EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => { - const observableSection = this._observableSections.get(event.target.hash); - if (observableSection) { - event.preventDefault(); - const root = this._rootElement || window; - const height = observableSection.offsetTop - this._element.offsetTop; - if (root.scrollTo) { - root.scrollTo({ - top: height, - behavior: 'smooth' - }); - return; - } - root.scrollTop = height; - } - }); - } - _getNewObserver() { - const options = { - root: this._rootElement, - threshold: this._config.threshold, - rootMargin: this._config.rootMargin - }; - return new IntersectionObserver(entries => this._observerCallback(entries), options); - } - _observerCallback(entries) { - const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`); - const activate = entry => { - this._previousScrollData.visibleEntryTop = entry.target.offsetTop; - this._process(targetElement(entry)); - }; - const parentScrollTop = (this._rootElement || document.documentElement).scrollTop; - const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop; - this._previousScrollData.parentScrollTop = parentScrollTop; - for (const entry of entries) { - if (!entry.isIntersecting) { - this._activeTarget = null; - this._clearActiveClass(targetElement(entry)); - continue; - } - const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; - if (userScrollsDown && entryIsLowerThanPrevious) { - activate(entry); - if (!parentScrollTop) { - return; - } - continue; - } - if (!userScrollsDown && !entryIsLowerThanPrevious) { - activate(entry); - } - } - } - _initializeTargetsAndObservables() { - this._targetLinks = new Map(); - this._observableSections = new Map(); - const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target); - for (const anchor of targetLinks) { - if (!anchor.hash || isDisabled(anchor)) { - continue; - } - const observableSection = SelectorEngine.findOne(anchor.hash, this._element); - if (isVisible(observableSection)) { - this._targetLinks.set(anchor.hash, anchor); - this._observableSections.set(anchor.hash, observableSection); - } - } - } - _process(target) { - if (this._activeTarget === target) { - return; - } - this._clearActiveClass(this._config.target); - this._activeTarget = target; - target.classList.add(CLASS_NAME_ACTIVE$1); - this._activateParents(target); - EventHandler.trigger(this._element, EVENT_ACTIVATE, { - relatedTarget: target - }); - } - _activateParents(target) { - if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { - SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1); - return; - } - for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) { - for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) { - item.classList.add(CLASS_NAME_ACTIVE$1); - } - } - } - _clearActiveClass(parent) { - parent.classList.remove(CLASS_NAME_ACTIVE$1); - const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent); - for (const node of activeNodes) { - node.classList.remove(CLASS_NAME_ACTIVE$1); - } - } - static jQueryInterface(config) { - return this.each(function () { - const data = ScrollSpy.getOrCreateInstance(this, config); - if (typeof config !== 'string') { - return; - } - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - }); - } - } - EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => { - for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) { - ScrollSpy.getOrCreateInstance(spy); - } - }); - defineJQueryPlugin(ScrollSpy); - const NAME$1 = 'tab'; - const DATA_KEY$1 = 'bs.tab'; - const EVENT_KEY$1 = `.${DATA_KEY$1}`; - const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`; - const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`; - const EVENT_SHOW$1 = `show${EVENT_KEY$1}`; - const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`; - const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`; - const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`; - const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`; - const ARROW_LEFT_KEY = 'ArrowLeft'; - const ARROW_RIGHT_KEY = 'ArrowRight'; - const ARROW_UP_KEY = 'ArrowUp'; - const ARROW_DOWN_KEY = 'ArrowDown'; - const CLASS_NAME_ACTIVE = 'active'; - const CLASS_NAME_FADE$1 = 'fade'; - const CLASS_NAME_SHOW$1 = 'show'; - const CLASS_DROPDOWN = 'dropdown'; - const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; - const SELECTOR_DROPDOWN_MENU = '.dropdown-menu'; - const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)'; - const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; - const SELECTOR_OUTER = '.nav-item, .list-group-item'; - const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; - const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; - const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; - const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`; - class Tab extends BaseComponent { - constructor(element) { - super(element); - this._parent = this._element.closest(SELECTOR_TAB_PANEL); - if (!this._parent) { - return; - } - this._setInitialAttributes(this._parent, this._getChildren()); - EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event)); - } - static get NAME() { - return NAME$1; - } - show() { - const innerElem = this._element; - if (this._elemIsActive(innerElem)) { - return; - } - const active = this._getActiveElem(); - const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, { - relatedTarget: innerElem - }) : null; - const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, { - relatedTarget: active - }); - if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) { - return; - } - this._deactivate(active, innerElem); - this._activate(innerElem, active); - } - _activate(element, relatedElem) { - if (!element) { - return; - } - element.classList.add(CLASS_NAME_ACTIVE); - this._activate(getElementFromSelector(element)); - const complete = () => { - if (element.getAttribute('role') !== 'tab') { - element.classList.add(CLASS_NAME_SHOW$1); - return; - } - element.removeAttribute('tabindex'); - element.setAttribute('aria-selected', true); - this._toggleDropDown(element, true); - EventHandler.trigger(element, EVENT_SHOWN$1, { - relatedTarget: relatedElem - }); - }; - this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); - } - _deactivate(element, relatedElem) { - if (!element) { - return; - } - element.classList.remove(CLASS_NAME_ACTIVE); - element.blur(); - this._deactivate(getElementFromSelector(element)); - const complete = () => { - if (element.getAttribute('role') !== 'tab') { - element.classList.remove(CLASS_NAME_SHOW$1); - return; - } - element.setAttribute('aria-selected', false); - element.setAttribute('tabindex', '-1'); - this._toggleDropDown(element, false); - EventHandler.trigger(element, EVENT_HIDDEN$1, { - relatedTarget: relatedElem - }); - }; - this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); - } - _keydown(event) { - if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) { - return; - } - event.stopPropagation(); - event.preventDefault(); - const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); - const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true); - if (nextActiveElement) { - nextActiveElement.focus({ - preventScroll: true - }); - Tab.getOrCreateInstance(nextActiveElement).show(); - } - } - _getChildren() { - return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent); - } - _getActiveElem() { - return this._getChildren().find(child => this._elemIsActive(child)) || null; - } - _setInitialAttributes(parent, children) { - this._setAttributeIfNotExists(parent, 'role', 'tablist'); - for (const child of children) { - this._setInitialAttributesOnChild(child); - } - } - _setInitialAttributesOnChild(child) { - child = this._getInnerElement(child); - const isActive = this._elemIsActive(child); - const outerElem = this._getOuterElement(child); - child.setAttribute('aria-selected', isActive); - if (outerElem !== child) { - this._setAttributeIfNotExists(outerElem, 'role', 'presentation'); - } - if (!isActive) { - child.setAttribute('tabindex', '-1'); - } - this._setAttributeIfNotExists(child, 'role', 'tab'); - this._setInitialAttributesOnTargetPanel(child); - } - _setInitialAttributesOnTargetPanel(child) { - const target = getElementFromSelector(child); - if (!target) { - return; - } - this._setAttributeIfNotExists(target, 'role', 'tabpanel'); - if (child.id) { - this._setAttributeIfNotExists(target, 'aria-labelledby', `#${child.id}`); - } - } - _toggleDropDown(element, open) { - const outerElem = this._getOuterElement(element); - if (!outerElem.classList.contains(CLASS_DROPDOWN)) { - return; - } - const toggle = (selector, className) => { - const element = SelectorEngine.findOne(selector, outerElem); - if (element) { - element.classList.toggle(className, open); - } - }; - toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE); - toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1); - outerElem.setAttribute('aria-expanded', open); - } - _setAttributeIfNotExists(element, attribute, value) { - if (!element.hasAttribute(attribute)) { - element.setAttribute(attribute, value); - } - } - _elemIsActive(elem) { - return elem.classList.contains(CLASS_NAME_ACTIVE); - } - _getInnerElement(elem) { - return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem); - } - _getOuterElement(elem) { - return elem.closest(SELECTOR_OUTER) || elem; - } - static jQueryInterface(config) { - return this.each(function () { - const data = Tab.getOrCreateInstance(this); - if (typeof config !== 'string') { - return; - } - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - data[config](); - }); - } - } - EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) { - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - if (isDisabled(this)) { - return; - } - Tab.getOrCreateInstance(this).show(); - }); - EventHandler.on(window, EVENT_LOAD_DATA_API, () => { - for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) { - Tab.getOrCreateInstance(element); - } - }); - defineJQueryPlugin(Tab); - const NAME = 'toast'; - const DATA_KEY = 'bs.toast'; - const EVENT_KEY = `.${DATA_KEY}`; - const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`; - const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`; - const EVENT_FOCUSIN = `focusin${EVENT_KEY}`; - const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`; - const EVENT_HIDE = `hide${EVENT_KEY}`; - const EVENT_HIDDEN = `hidden${EVENT_KEY}`; - const EVENT_SHOW = `show${EVENT_KEY}`; - const EVENT_SHOWN = `shown${EVENT_KEY}`; - const CLASS_NAME_FADE = 'fade'; - const CLASS_NAME_HIDE = 'hide'; - const CLASS_NAME_SHOW = 'show'; - const CLASS_NAME_SHOWING = 'showing'; - const DefaultType = { - animation: 'boolean', - autohide: 'boolean', - delay: 'number' - }; - const Default = { - animation: true, - autohide: true, - delay: 5000 - }; - class Toast extends BaseComponent { - constructor(element, config) { - super(element, config); - this._timeout = null; - this._hasMouseInteraction = false; - this._hasKeyboardInteraction = false; - this._setListeners(); - } - static get Default() { - return Default; - } - static get DefaultType() { - return DefaultType; - } - static get NAME() { - return NAME; - } - show() { - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW); - if (showEvent.defaultPrevented) { - return; - } - this._clearTimeout(); - if (this._config.animation) { - this._element.classList.add(CLASS_NAME_FADE); - } - const complete = () => { - this._element.classList.remove(CLASS_NAME_SHOWING); - EventHandler.trigger(this._element, EVENT_SHOWN); - this._maybeScheduleHide(); - }; - this._element.classList.remove(CLASS_NAME_HIDE); - reflow(this._element); - this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING); - this._queueCallback(complete, this._element, this._config.animation); - } - hide() { - if (!this.isShown()) { - return; - } - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE); - if (hideEvent.defaultPrevented) { - return; - } - const complete = () => { - this._element.classList.add(CLASS_NAME_HIDE); - this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW); - EventHandler.trigger(this._element, EVENT_HIDDEN); - }; - this._element.classList.add(CLASS_NAME_SHOWING); - this._queueCallback(complete, this._element, this._config.animation); - } - dispose() { - this._clearTimeout(); - if (this.isShown()) { - this._element.classList.remove(CLASS_NAME_SHOW); - } - super.dispose(); - } - isShown() { - return this._element.classList.contains(CLASS_NAME_SHOW); - } - _maybeScheduleHide() { - if (!this._config.autohide) { - return; - } - if (this._hasMouseInteraction || this._hasKeyboardInteraction) { - return; - } - this._timeout = setTimeout(() => { - this.hide(); - }, this._config.delay); - } - _onInteraction(event, isInteracting) { - switch (event.type) { - case 'mouseover': - case 'mouseout': - { - this._hasMouseInteraction = isInteracting; - break; - } - case 'focusin': - case 'focusout': - { - this._hasKeyboardInteraction = isInteracting; - break; - } - } - if (isInteracting) { - this._clearTimeout(); - return; - } - const nextElement = event.relatedTarget; - if (this._element === nextElement || this._element.contains(nextElement)) { - return; - } - this._maybeScheduleHide(); - } - _setListeners() { - EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true)); - EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false)); - EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true)); - EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false)); - } - _clearTimeout() { - clearTimeout(this._timeout); - this._timeout = null; - } - static jQueryInterface(config) { - return this.each(function () { - const data = Toast.getOrCreateInstance(this, config); - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - data[config](this); - } - }); - } - } - enableDismissTrigger(Toast); - defineJQueryPlugin(Toast); - - var bootstrap = /*#__PURE__*/Object.freeze({ - __proto__: null, - Alert: Alert, - Button: Button, - Carousel: Carousel, - Collapse: Collapse, - Dropdown: Dropdown, - Modal: Modal, - Offcanvas: Offcanvas, - Popover: Popover, - ScrollSpy: ScrollSpy, - Tab: Tab, - Toast: Toast, - Tooltip: Tooltip - }); - - var dropdownTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]')); - dropdownTriggerList.map(function (dropdownTriggerEl) { - var options = { - boundary: dropdownTriggerEl.getAttribute('data-bs-boundary') === 'viewport' ? document.querySelector('.btn') : 'clippingParents' - }; - return new Dropdown(dropdownTriggerEl, options); - }); - - var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); - tooltipTriggerList.map(function (tooltipTriggerEl) { - var _ref, _tooltipTriggerEl$get; - var options = { - delay: { - show: 50, - hide: 50 - }, - html: (_ref = tooltipTriggerEl.getAttribute("data-bs-html") === "true") !== null && _ref !== void 0 ? _ref : false, - placement: (_tooltipTriggerEl$get = tooltipTriggerEl.getAttribute('data-bs-placement')) !== null && _tooltipTriggerEl$get !== void 0 ? _tooltipTriggerEl$get : 'auto' - }; - return new Tooltip(tooltipTriggerEl, options); - }); - - var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')); - popoverTriggerList.map(function (popoverTriggerEl) { - var _ref, _popoverTriggerEl$get; - var options = { - delay: { - show: 50, - hide: 50 - }, - html: (_ref = popoverTriggerEl.getAttribute('data-bs-html') === "true") !== null && _ref !== void 0 ? _ref : false, - placement: (_popoverTriggerEl$get = popoverTriggerEl.getAttribute('data-bs-placement')) !== null && _popoverTriggerEl$get !== void 0 ? _popoverTriggerEl$get : 'auto' - }; - return new Popover(popoverTriggerEl, options); - }); - - var switchesTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]')); - switchesTriggerList.map(function (switchTriggerEl) { - switchTriggerEl.addEventListener('click', function (e) { - e.stopPropagation(); - switchTriggerEl.classList.toggle('active'); - }); - }); - - var EnableActivationTabsFromLocationHash = function EnableActivationTabsFromLocationHash() { - var locationHash = window.location.hash; - if (locationHash) { - var tabsList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tab"]')); - var matchedTabs = tabsList.filter(function (tab) { - return tab.hash === locationHash; - }); - matchedTabs.map(function (tab) { - new Tab(tab).show(); - }); - } - }; - EnableActivationTabsFromLocationHash(); - - var toastsTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]')); - toastsTriggerList.map(function (toastTriggerEl) { - return new Toast(toastTriggerEl); - }); - - var prefix = 'tblr-'; - var hexToRgba = function hexToRgba(hex, opacity) { - var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); - return result ? "rgba(".concat(parseInt(result[1], 16), ", ").concat(parseInt(result[2], 16), ", ").concat(parseInt(result[3], 16), ", ").concat(opacity, ")") : null; - }; - var getColor = function getColor(color) { - var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; - var c = getComputedStyle(document.body).getPropertyValue("--".concat(prefix).concat(color)).trim(); - if (opacity !== 1) { - return hexToRgba(c, opacity); - } - return c; - }; - - var tabler = /*#__PURE__*/Object.freeze({ - __proto__: null, - prefix: prefix, - hexToRgba: hexToRgba, - getColor: getColor - }); - - globalThis.bootstrap = bootstrap; - globalThis.tabler = tabler; - -})); diff --git a/demo/dist/js/tabler.min.js b/demo/dist/js/tabler.min.js deleted file mode 100644 index a48d03299..000000000 --- a/demo/dist/js/tabler.min.js +++ /dev/null @@ -1,15 +0,0 @@ -/*! -* Tabler v1.0.0-beta14 (https://tabler.io) -* @version 1.0.0-beta14 -* @link https://tabler.io -* Copyright 2018-2022 The Tabler Authors -* Copyright 2018-2022 codecalm.net Paweł Kuna -* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE) -*/ -!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";var t,e,n="function"==typeof Map?new Map:(t=[],e=[],{has:function(e){return t.indexOf(e)>-1},get:function(n){return e[t.indexOf(n)]},set:function(n,i){-1===t.indexOf(n)&&(t.push(n),e.push(i))},delete:function(n){var i=t.indexOf(n);i>-1&&(t.splice(i,1),e.splice(i,1))}}),i=function(t){return new Event(t,{bubbles:!0})};try{new Event("test")}catch(t){i=function(t){var e=document.createEvent("Event");return e.initEvent(t,!0,!1),e}}function s(t){var e=n.get(t);e&&e.destroy()}function r(t){var e=n.get(t);e&&e.update()}var o=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((o=function(t){return t}).destroy=function(t){return t},o.update=function(t){return t}):((o=function(t,e){return t&&Array.prototype.forEach.call(t.length?t:[t],(function(t){return function(t){if(t&&t.nodeName&&"TEXTAREA"===t.nodeName&&!n.has(t)){var e,s=null,r=null,o=null,a=function(){t.clientWidth!==r&&h()},u=function(e){window.removeEventListener("resize",a,!1),t.removeEventListener("input",h,!1),t.removeEventListener("keyup",h,!1),t.removeEventListener("autosize:destroy",u,!1),t.removeEventListener("autosize:update",h,!1),Object.keys(e).forEach((function(n){t.style[n]=e[n]})),n.delete(t)}.bind(t,{height:t.style.height,resize:t.style.resize,overflowY:t.style.overflowY,overflowX:t.style.overflowX,wordWrap:t.style.wordWrap});t.addEventListener("autosize:destroy",u,!1),"onpropertychange"in t&&"oninput"in t&&t.addEventListener("keyup",h,!1),window.addEventListener("resize",a,!1),t.addEventListener("input",h,!1),t.addEventListener("autosize:update",h,!1),t.style.overflowX="hidden",t.style.wordWrap="break-word",n.set(t,{destroy:u,update:h}),"vertical"===(e=window.getComputedStyle(t,null)).resize?t.style.resize="none":"both"===e.resize&&(t.style.resize="horizontal"),s="content-box"===e.boxSizing?-(parseFloat(e.paddingTop)+parseFloat(e.paddingBottom)):parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth),isNaN(s)&&(s=0),h()}function l(e){var n=t.style.width;t.style.width="0px",t.style.width=n,t.style.overflowY=e}function c(){if(0!==t.scrollHeight){var e=function(t){for(var e=[];t&&t.parentNode&&t.parentNode instanceof Element;)t.parentNode.scrollTop&&e.push({node:t.parentNode,scrollTop:t.parentNode.scrollTop}),t=t.parentNode;return e}(t),n=document.documentElement&&document.documentElement.scrollTop;t.style.height="",t.style.height=t.scrollHeight+s+"px",r=t.clientWidth,e.forEach((function(t){t.node.scrollTop=t.scrollTop})),n&&(document.documentElement.scrollTop=n)}}function h(){c();var e=Math.round(parseFloat(t.style.height)),n=window.getComputedStyle(t,null),s="content-box"===n.boxSizing?Math.round(parseFloat(n.height)):t.offsetHeight;if(s=0||(s[n]=t[n]);return s}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(s[n]=t[n])}return s}function v(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function _(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,i=p(t);if(e){var s=p(this).constructor;n=Reflect.construct(i,arguments,s)}else n=i.apply(this,arguments);return v(this,n)}}function b(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=p(t)););return t}function y(){return y="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var i=b(t,e);if(i){var s=Object.getOwnPropertyDescriptor(i,e);return s.get?s.get.call(arguments.length<3?t:n):s.value}},y.apply(this,arguments)}function k(t,e,n,i){return k="undefined"!=typeof Reflect&&Reflect.set?Reflect.set:function(t,e,n,i){var s,r=b(t,e);if(r){if((s=Object.getOwnPropertyDescriptor(r,e)).set)return s.set.call(i,n),!0;if(!s.writable)return!1}if(s=Object.getOwnPropertyDescriptor(i,e)){if(!s.writable)return!1;s.value=n,Object.defineProperty(i,e,s)}else!function(t,e,n){e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}(i,e,n);return!0},k(t,e,n,i)}function w(t,e,n,i,s){if(!k(t,e,n,i||t)&&s)throw new Error("failed to set property");return n}function A(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==n)return;var i,s,r=[],o=!0,a=!1;try{for(n=n.call(t);!(o=(i=n.next()).done)&&(r.push(i.value),!e||r.length!==e);o=!0);}catch(t){a=!0,s=t}finally{try{o||null==n.return||n.return()}finally{if(a)throw s}}return r}(t,e)||E(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(t,e){if(t){if("string"==typeof t)return C(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(t,e):void 0}}function C(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2?arguments[2]:void 0;c(this,t),this.value=e,this.from=n,this.stop=i}return d(t,[{key:"toString",value:function(){return this.value}},{key:"extend",value:function(t){this.value+=String(t)}},{key:"appendTo",value:function(t){return t.append(this.toString(),{tail:!0}).aggregate(t._appendPlaceholder())}},{key:"state",get:function(){return{value:this.value,from:this.from,stop:this.stop}},set:function(t){Object.assign(this,t)}},{key:"unshift",value:function(t){if(!this.value.length||null!=t&&this.from>=t)return"";var e=this.value[0];return this.value=this.value.slice(1),e}},{key:"shift",value:function(){if(!this.value.length)return"";var t=this.value[this.value.length-1];return this.value=this.value.slice(0,-1),t}}]),t}();function R(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new R.InputMask(t,e)}var V=function(){function t(e){c(this,t),this._value="",this._update(Object.assign({},t.DEFAULTS,e)),this.isInitialized=!0}return d(t,[{key:"updateOptions",value:function(t){Object.keys(t).length&&this.withValueRefresh(this._update.bind(this,t))}},{key:"_update",value:function(t){Object.assign(this,t)}},{key:"state",get:function(){return{_value:this.value}},set:function(t){this._value=t._value}},{key:"reset",value:function(){this._value=""}},{key:"value",get:function(){return this._value},set:function(t){this.resolve(t)}},{key:"resolve",value:function(t){return this.reset(),this.append(t,{input:!0},""),this.doCommit(),this.value}},{key:"unmaskedValue",get:function(){return this.value},set:function(t){this.reset(),this.append(t,{},""),this.doCommit()}},{key:"typedValue",get:function(){return this.doParse(this.value)},set:function(t){this.value=this.doFormat(t)}},{key:"rawInputValue",get:function(){return this.extractInput(0,this.value.length,{raw:!0})},set:function(t){this.reset(),this.append(t,{raw:!0},""),this.doCommit()}},{key:"isComplete",get:function(){return!0}},{key:"isFilled",get:function(){return this.isComplete}},{key:"nearestInputPos",value:function(t,e){return t}},{key:"extractInput",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return this.value.slice(t,e)}},{key:"extractTail",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return new N(this.extractInput(t,e),t)}},{key:"appendTail",value:function(t){return S(t)&&(t=new N(String(t))),t.appendTo(this)}},{key:"_appendCharRaw",value:function(t){return t?(this._value+=t,new x({inserted:t,rawInserted:t})):new x}},{key:"_appendChar",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0,s=this.state,r=I(this.doPrepare(t,n)),o=A(r,2);if(t=o[0],(e=(e=o[1]).aggregate(this._appendCharRaw(t,n))).inserted){var a,u=!1!==this.doValidate(n);if(u&&null!=i){var l=this.state;!0===this.overwrite&&(a=i.state,i.unshift(this.value.length));var c=this.appendTail(i);(u=c.rawInserted===i.toString())&&c.inserted||"shift"!==this.overwrite||(this.state=l,a=i.state,i.shift(),u=(c=this.appendTail(i)).rawInserted===i.toString()),u&&c.inserted&&(this.state=l)}u||(e=new x,this.state=s,i&&a&&(i.state=a))}return e}},{key:"_appendPlaceholder",value:function(){return new x}},{key:"_appendEager",value:function(){return new x}},{key:"append",value:function(t,e,n){if(!S(t))throw new Error("value should be string");var i=new x,s=S(n)?new N(String(n)):n;null!=e&&e.tail&&(e._beforeTailState=this.state);for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return this._value=this.value.slice(0,t)+this.value.slice(e),new x}},{key:"withValueRefresh",value:function(t){if(this._refreshing||!this.isInitialized)return t();this._refreshing=!0;var e=this.rawInputValue,n=this.value,i=t();return this.rawInputValue=e,this.value&&this.value!==n&&0===n.indexOf(this.value)&&this.append(n.slice(this.value.length),{},""),delete this._refreshing,i}},{key:"runIsolated",value:function(t){if(this._isolated||!this.isInitialized)return t(this);this._isolated=!0;var e=this.state,n=t(this);return this.state=e,delete this._isolated,n}},{key:"doPrepare",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.prepare?this.prepare(t,this,e):t}},{key:"doValidate",value:function(t){return(!this.validate||this.validate(this.value,this,t))&&(!this.parent||this.parent.doValidate(t))}},{key:"doCommit",value:function(){this.commit&&this.commit(this.value,this)}},{key:"doFormat",value:function(t){return this.format?this.format(t,this):t}},{key:"doParse",value:function(t){return this.parse?this.parse(t,this):t}},{key:"splice",value:function(t,e,n,i){var s,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{input:!0},o=t+e,a=this.extractTail(o);this.eager&&(i=M(i),s=this.extractInput(0,o,{raw:!0}));var u=this.nearestInputPos(t,e>1&&0!==t&&!this.eager?T:i),l=new x({tailShift:u-t}).aggregate(this.remove(u));if(this.eager&&i!==T&&s===this.rawInputValue)if(i===F)for(var c;s===this.rawInputValue&&(c=this.value.length);)l.aggregate(new x({tailShift:-1})).aggregate(this.remove(c-1));else i===B&&a.unshift();return l.aggregate(this.append(n,r,a))}},{key:"maskEquals",value:function(t){return this.mask===t}},{key:"typedValueEquals",value:function(e){var n=this.typedValue;return e===n||t.EMPTY_VALUES.includes(e)&&t.EMPTY_VALUES.includes(n)||this.doFormat(e)===this.doFormat(this.typedValue)}}]),t}();function z(t){if(null==t)throw new Error("mask property should be defined");return t instanceof RegExp?R.MaskedRegExp:S(t)?R.MaskedPattern:t instanceof Date||t===Date?R.MaskedDate:t instanceof Number||"number"==typeof t||t===Number?R.MaskedNumber:Array.isArray(t)||t===Array?R.MaskedDynamic:R.Masked&&t.prototype instanceof R.Masked?t:t instanceof R.Masked?t.constructor:t instanceof Function?R.MaskedFunction:(console.warn("Mask not found for mask",t),R.Masked)}function H(t){if(R.Masked&&t instanceof R.Masked)return t;var e=(t=Object.assign({},t)).mask;if(R.Masked&&e instanceof R.Masked)return e;var n=z(e);if(!n)throw new Error("Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.");return new n(t)}V.DEFAULTS={format:function(t){return t},parse:function(t){return t}},V.EMPTY_VALUES=[void 0,null,""],R.Masked=V,R.createMask=H;var q=["mask"],W={0:/\d/,a:/[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,"*":/./},$=function(){function t(e){c(this,t);var n=e.mask,i=m(e,q);this.masked=H({mask:n}),Object.assign(this,i)}return d(t,[{key:"reset",value:function(){this.isFilled=!1,this.masked.reset()}},{key:"remove",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return 0===t&&e>=1?(this.isFilled=!1,this.masked.remove(t,e)):new x}},{key:"value",get:function(){return this.masked.value||(this.isFilled&&!this.isOptional?this.placeholderChar:"")}},{key:"unmaskedValue",get:function(){return this.masked.unmaskedValue}},{key:"isComplete",get:function(){return Boolean(this.masked.value)||this.isOptional}},{key:"_appendChar",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.isFilled)return new x;var n=this.masked.state,i=this.masked._appendChar(t,e);return i.inserted&&!1===this.doValidate(e)&&(i.inserted=i.rawInserted="",this.masked.state=n),i.inserted||this.isOptional||this.lazy||e.input||(i.inserted=this.placeholderChar),i.skip=!i.inserted&&!this.isOptional,this.isFilled=Boolean(i.inserted),i}},{key:"append",value:function(){var t;return(t=this.masked).append.apply(t,arguments)}},{key:"_appendPlaceholder",value:function(){var t=new x;return this.isFilled||this.isOptional||(this.isFilled=!0,t.inserted=this.placeholderChar),t}},{key:"_appendEager",value:function(){return new x}},{key:"extractTail",value:function(){var t;return(t=this.masked).extractTail.apply(t,arguments)}},{key:"appendTail",value:function(){var t;return(t=this.masked).appendTail.apply(t,arguments)}},{key:"extractInput",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,n=arguments.length>2?arguments[2]:void 0;return this.masked.extractInput(t,e,n)}},{key:"nearestInputPos",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:T,n=0,i=this.value.length,s=Math.min(Math.max(t,n),i);switch(e){case D:case F:return this.isComplete?s:n;case O:case B:return this.isComplete?s:i;default:return s}}},{key:"doValidate",value:function(){var t,e;return(t=this.masked).doValidate.apply(t,arguments)&&(!this.parent||(e=this.parent).doValidate.apply(e,arguments))}},{key:"doCommit",value:function(){this.masked.doCommit()}},{key:"state",get:function(){return{masked:this.masked.state,isFilled:this.isFilled}},set:function(t){this.masked.state=t.masked,this.isFilled=t.isFilled}}]),t}(),U=function(){function t(e){c(this,t),Object.assign(this,e),this._value="",this.isFixed=!0}return d(t,[{key:"value",get:function(){return this._value}},{key:"unmaskedValue",get:function(){return this.isUnmasking?this.value:""}},{key:"reset",value:function(){this._isRawInput=!1,this._value=""}},{key:"remove",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._value.length;return this._value=this._value.slice(0,t)+this._value.slice(e),this._value||(this._isRawInput=!1),new x}},{key:"nearestInputPos",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:T,n=0,i=this._value.length;switch(e){case D:case F:return n;default:return i}}},{key:"extractInput",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._value.length,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.raw&&this._isRawInput&&this._value.slice(t,e)||""}},{key:"isComplete",get:function(){return!0}},{key:"isFilled",get:function(){return Boolean(this._value)}},{key:"_appendChar",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new x;if(this._value)return n;var i=this.char===t,s=i&&(this.isUnmasking||e.input||e.raw)&&(!e.raw||!this.eager)&&!e.tail;return s&&(n.rawInserted=this.char),this._value=n.inserted=this.char,this._isRawInput=s&&(e.raw||e.input),n}},{key:"_appendEager",value:function(){return this._appendChar(this.char,{tail:!0})}},{key:"_appendPlaceholder",value:function(){var t=new x;return this._value||(this._value=t.inserted=this.char),t}},{key:"extractTail",value:function(){return arguments.length>1&&void 0!==arguments[1]||this.value.length,new N("")}},{key:"appendTail",value:function(t){return S(t)&&(t=new N(String(t))),t.appendTo(this)}},{key:"append",value:function(t,e,n){var i=this._appendChar(t[0],e);return null!=n&&(i.tailShift+=this.appendTail(n).tailShift),i}},{key:"doCommit",value:function(){}},{key:"state",get:function(){return{_value:this._value,_isRawInput:this._isRawInput}},set:function(t){Object.assign(this,t)}}]),t}(),Y=["chunks"],K=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;c(this,t),this.chunks=e,this.from=n}return d(t,[{key:"toString",value:function(){return this.chunks.map(String).join("")}},{key:"extend",value:function(e){if(String(e)){S(e)&&(e=new N(String(e)));var n=this.chunks[this.chunks.length-1],i=n&&(n.stop===e.stop||null==e.stop)&&e.from===n.from+n.toString().length;if(e instanceof N)i?n.extend(e.toString()):this.chunks.push(e);else if(e instanceof t){if(null==e.stop)for(var s;e.chunks.length&&null==e.chunks[0].stop;)(s=e.chunks.shift()).from+=e.from,this.extend(s);e.toString()&&(e.stop=e.blockIndex,this.chunks.push(e))}}}},{key:"appendTo",value:function(e){if(!(e instanceof R.MaskedPattern))return new N(this.toString()).appendTo(e);for(var n=new x,i=0;i=0)&&n.aggregate(e._appendPlaceholder(o)),a=s instanceof t&&e._blocks[o]),a){var u=a.appendTail(s);u.skip=!1,n.aggregate(u),e._value+=u.inserted;var l=s.toString().slice(u.rawInserted.length);l&&n.aggregate(e.append(l,{tail:!0}))}else n.aggregate(e.append(s.toString(),{tail:!0}))}return n}},{key:"state",get:function(){return{chunks:this.chunks.map((function(t){return t.state})),from:this.from,stop:this.stop,blockIndex:this.blockIndex}},set:function(e){var n=e.chunks,i=m(e,Y);Object.assign(this,i),this.chunks=n.map((function(e){var n="chunks"in e?new t:new N;return n.state=e,n}))}},{key:"unshift",value:function(t){if(!this.chunks.length||null!=t&&this.from>=t)return"";for(var e=null!=t?t-this.from:t,n=0;n=this.masked._blocks.length&&(this.index=this.masked._blocks.length-1,this.offset=this.block.value.length))}},{key:"_pushLeft",value:function(t){for(this.pushState(),this.bindBlock();0<=this.index;--this.index,this.offset=(null===(e=this.block)||void 0===e?void 0:e.value.length)||0){var e;if(t())return this.ok=!0}return this.ok=!1}},{key:"_pushRight",value:function(t){for(this.pushState(),this.bindBlock();this.index=0}),y(p(n.prototype),"_update",this).call(this,t)}}]),n}(V);R.MaskedRegExp=Q;var Z=["_blocks"],G=function(t){f(n,t);var e=_(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return c(this,n),t.definitions=Object.assign({},W,t.definitions),e.call(this,Object.assign({},n.DEFAULTS,t))}return d(n,[{key:"_update",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.definitions=Object.assign({},this.definitions,t.definitions),y(p(n.prototype),"_update",this).call(this,t),this._rebuildMask()}},{key:"_rebuildMask",value:function(){var t=this,e=this.definitions;this._blocks=[],this._stops=[],this._maskedBlocks={};var i=this.mask;if(i&&e)for(var s=!1,r=!1,o=0;o1&&void 0!==arguments[1]?arguments[1]:{},n=this._mapPosToBlock(this.value.length),i=new x;if(!n)return i;for(var s=n.index;;++s){var r,o,a=this._blocks[s];if(!a)break;var u=a._appendChar(t,Object.assign({},e,{_beforeTailState:null===(r=e._beforeTailState)||void 0===r||null===(o=r._blocks)||void 0===o?void 0:o[s]})),l=u.skip;if(i.aggregate(u),l||u.rawInserted)break}return i}},{key:"extractTail",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,i=new K;return e===n||this._forEachBlocksInRange(e,n,(function(e,n,s,r){var o=e.extractTail(s,r);o.stop=t._findStopBefore(n),o.from=t._blockStartPos(n),o instanceof K&&(o.blockIndex=n),i.extend(o)})),i}},{key:"extractInput",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t===e)return"";var i="";return this._forEachBlocksInRange(t,e,(function(t,e,s,r){i+=t.extractInput(s,r,n)})),i}},{key:"_findStopBefore",value:function(t){for(var e,n=0;n1&&void 0!==arguments[1]?arguments[1]:this.value.length,n=arguments.length>2?arguments[2]:void 0,i=this._mapPosToBlock(t);if(i){var s=this._mapPosToBlock(e),r=s&&i.index===s.index,o=i.offset,a=s&&r?s.offset:this._blocks[i.index].value.length;if(n(this._blocks[i.index],i.index,o,a),s&&!r){for(var u=i.index+1;u0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,i=y(p(n.prototype),"remove",this).call(this,t,e);return this._forEachBlocksInRange(t,e,(function(t,e,n,s){i.aggregate(t.remove(n,s))})),i}},{key:"nearestInputPos",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:T;if(!this._blocks.length)return 0;var n=new X(this,t);if(e===T)return n.pushRightBeforeInput()?n.pos:(n.popState(),n.pushLeftBeforeInput()?n.pos:this.value.length);if(e===D||e===F){if(e===D){if(n.pushRightBeforeFilled(),n.ok&&n.pos===t)return t;n.popState()}if(n.pushLeftBeforeInput(),n.pushLeftBeforeRequired(),n.pushLeftBeforeFilled(),e===D){if(n.pushRightBeforeInput(),n.pushRightBeforeRequired(),n.ok&&n.pos<=t)return n.pos;if(n.popState(),n.ok&&n.pos<=t)return n.pos;n.popState()}return n.ok?n.pos:e===F?0:(n.popState(),n.ok?n.pos:(n.popState(),n.ok?n.pos:0))}return e===O||e===B?(n.pushRightBeforeInput(),n.pushRightBeforeRequired(),n.pushRightBeforeFilled()?n.pos:e===B?this.value.length:(n.popState(),n.ok?n.pos:(n.popState(),n.ok?n.pos:this.nearestInputPos(t,D)))):t}},{key:"maskedBlock",value:function(t){return this.maskedBlocks(t)[0]}},{key:"maskedBlocks",value:function(t){var e=this,n=this._maskedBlocks[t];return n?n.map((function(t){return e._blocks[t]})):[]}}]),n}(V);G.DEFAULTS={lazy:!0,placeholderChar:"_"},G.STOP_CHAR="`",G.ESCAPE_CHAR="\\",G.InputDefinition=$,G.FixedDefinition=U,R.MaskedPattern=G;var J=function(t){f(n,t);var e=_(n);function n(){return c(this,n),e.apply(this,arguments)}return d(n,[{key:"_matchFrom",get:function(){return this.maxLength-String(this.from).length}},{key:"_update",value:function(t){t=Object.assign({to:this.to||0,from:this.from||0,maxLength:this.maxLength||0},t);var e=String(t.to).length;null!=t.maxLength&&(e=Math.max(e,t.maxLength)),t.maxLength=e;for(var i=String(t.from).padStart(e,"0"),s=String(t.to).padStart(e,"0"),r=0;r1&&void 0!==arguments[1]?arguments[1]:{},s=I(y(p(n.prototype),"doPrepare",this).call(this,t.replace(/\D/g,""),i)),r=A(s,2);if(t=r[0],e=r[1],!this.autofix||!t)return t;var o=String(this.from).padStart(this.maxLength,"0"),a=String(this.to).padStart(this.maxLength,"0"),u=this.value+t;if(u.length>this.maxLength)return"";var l=this.boundaries(u),c=A(l,2),h=c[0],d=c[1];return Number(d)this.to?"pad"===this.autofix&&u.length=0}},{key:"date",get:function(){return this.typedValue},set:function(t){this.typedValue=t}},{key:"typedValue",get:function(){return this.isComplete?y(p(n.prototype),"typedValue",this):null},set:function(t){w(p(n.prototype),"typedValue",t,this,!0)}},{key:"maskEquals",value:function(t){return t===Date||y(p(n.prototype),"maskEquals",this).call(this,t)}}]),n}(G);tt.DEFAULTS={pattern:"d{.}`m{.}`Y",format:function(t){return t?[String(t.getDate()).padStart(2,"0"),String(t.getMonth()+1).padStart(2,"0"),t.getFullYear()].join("."):""},parse:function(t){var e=A(t.split("."),3),n=e[0],i=e[1],s=e[2];return new Date(s,i-1,n)}},tt.GET_DEFAULT_BLOCKS=function(){return{d:{mask:J,from:1,to:31,maxLength:2},m:{mask:J,from:1,to:12,maxLength:2},Y:{mask:J,from:1900,to:9999}}},R.MaskedDate=tt;var et=function(){function t(){c(this,t)}return d(t,[{key:"selectionStart",get:function(){var t;try{t=this._unsafeSelectionStart}catch(t){}return null!=t?t:this.value.length}},{key:"selectionEnd",get:function(){var t;try{t=this._unsafeSelectionEnd}catch(t){}return null!=t?t:this.value.length}},{key:"select",value:function(t,e){if(null!=t&&null!=e&&(t!==this.selectionStart||e!==this.selectionEnd))try{this._unsafeSelect(t,e)}catch(t){}}},{key:"_unsafeSelect",value:function(t,e){}},{key:"isActive",get:function(){return!1}},{key:"bindEvents",value:function(t){}},{key:"unbindEvents",value:function(){}}]),t}();R.MaskElement=et;var nt=function(t){f(n,t);var e=_(n);function n(t){var i;return c(this,n),(i=e.call(this)).input=t,i._handlers={},i}return d(n,[{key:"rootElement",get:function(){var t,e,n;return null!==(t=null===(e=(n=this.input).getRootNode)||void 0===e?void 0:e.call(n))&&void 0!==t?t:document}},{key:"isActive",get:function(){return this.input===this.rootElement.activeElement}},{key:"_unsafeSelectionStart",get:function(){return this.input.selectionStart}},{key:"_unsafeSelectionEnd",get:function(){return this.input.selectionEnd}},{key:"_unsafeSelect",value:function(t,e){this.input.setSelectionRange(t,e)}},{key:"value",get:function(){return this.input.value},set:function(t){this.input.value=t}},{key:"bindEvents",value:function(t){var e=this;Object.keys(t).forEach((function(i){return e._toggleEventHandler(n.EVENTS_MAP[i],t[i])}))}},{key:"unbindEvents",value:function(){var t=this;Object.keys(this._handlers).forEach((function(e){return t._toggleEventHandler(e)}))}},{key:"_toggleEventHandler",value:function(t,e){this._handlers[t]&&(this.input.removeEventListener(t,this._handlers[t]),delete this._handlers[t]),e&&(this.input.addEventListener(t,e),this._handlers[t]=e)}}]),n}(et);nt.EVENTS_MAP={selectionChange:"keydown",input:"input",drop:"drop",click:"click",focus:"focus",commit:"blur"},R.HTMLMaskElement=nt;var it=function(t){f(n,t);var e=_(n);function n(){return c(this,n),e.apply(this,arguments)}return d(n,[{key:"_unsafeSelectionStart",get:function(){var t=this.rootElement,e=t.getSelection&&t.getSelection(),n=e&&e.anchorOffset,i=e&&e.focusOffset;return null==i||null==n||ni?n:i}},{key:"_unsafeSelect",value:function(t,e){if(this.rootElement.createRange){var n=this.rootElement.createRange();n.setStart(this.input.firstChild||this.input,t),n.setEnd(this.input.lastChild||this.input,e);var i=this.rootElement,s=i.getSelection&&i.getSelection();s&&(s.removeAllRanges(),s.addRange(n))}}},{key:"value",get:function(){return this.input.textContent},set:function(t){this.input.textContent=t}}]),n}(nt);R.HTMLContenteditableMaskElement=it;var st=["mask"],rt=function(){function t(e,n){c(this,t),this.el=e instanceof et?e:e.isContentEditable&&"INPUT"!==e.tagName&&"TEXTAREA"!==e.tagName?new it(e):new nt(e),this.masked=H(n),this._listeners={},this._value="",this._unmaskedValue="",this._saveSelection=this._saveSelection.bind(this),this._onInput=this._onInput.bind(this),this._onChange=this._onChange.bind(this),this._onDrop=this._onDrop.bind(this),this._onFocus=this._onFocus.bind(this),this._onClick=this._onClick.bind(this),this.alignCursor=this.alignCursor.bind(this),this.alignCursorFriendly=this.alignCursorFriendly.bind(this),this._bindEvents(),this.updateValue(),this._onChange()}return d(t,[{key:"mask",get:function(){return this.masked.mask},set:function(t){if(!this.maskEquals(t))if(t instanceof R.Masked||this.masked.constructor!==z(t)){var e=H({mask:t});e.unmaskedValue=this.masked.unmaskedValue,this.masked=e}else this.masked.updateOptions({mask:t})}},{key:"maskEquals",value:function(t){var e;return null==t||(null===(e=this.masked)||void 0===e?void 0:e.maskEquals(t))}},{key:"value",get:function(){return this._value},set:function(t){this.value!==t&&(this.masked.value=t,this.updateControl(),this.alignCursor())}},{key:"unmaskedValue",get:function(){return this._unmaskedValue},set:function(t){this.unmaskedValue!==t&&(this.masked.unmaskedValue=t,this.updateControl(),this.alignCursor())}},{key:"typedValue",get:function(){return this.masked.typedValue},set:function(t){this.masked.typedValueEquals(t)||(this.masked.typedValue=t,this.updateControl(),this.alignCursor())}},{key:"_bindEvents",value:function(){this.el.bindEvents({selectionChange:this._saveSelection,input:this._onInput,drop:this._onDrop,click:this._onClick,focus:this._onFocus,commit:this._onChange})}},{key:"_unbindEvents",value:function(){this.el&&this.el.unbindEvents()}},{key:"_fireEvent",value:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i=0&&this._listeners[t].splice(n,1),this}},{key:"_onInput",value:function(t){if(this._inputEvent=t,this._abortUpdateCursor(),!this._selection)return this.updateValue();var e=new j(this.el.value,this.cursorPos,this.value,this._selection),n=this.masked.rawInputValue,i=this.masked.splice(e.startChangePos,e.removed.length,e.inserted,e.removeDirection,{input:!0,raw:!0}).offset,s=n===this.masked.rawInputValue?e.removeDirection:T,r=this.masked.nearestInputPos(e.startChangePos+i,s);s!==T&&(r=this.masked.nearestInputPos(r,T)),this.updateControl(),this.updateCursor(r),delete this._inputEvent}},{key:"_onChange",value:function(){this.value!==this.el.value&&this.updateValue(),this.masked.doCommit(),this.updateControl(),this._saveSelection()}},{key:"_onDrop",value:function(t){t.preventDefault(),t.stopPropagation()}},{key:"_onFocus",value:function(t){this.alignCursorFriendly()}},{key:"_onClick",value:function(t){this.alignCursorFriendly()}},{key:"destroy",value:function(){this._unbindEvents(),this._listeners.length=0,delete this.el}}]),t}();R.InputMask=rt;var ot=function(t){f(n,t);var e=_(n);function n(){return c(this,n),e.apply(this,arguments)}return d(n,[{key:"_update",value:function(t){t.enum&&(t.mask="*".repeat(t.enum[0].length)),y(p(n.prototype),"_update",this).call(this,t)}},{key:"doValidate",value:function(){for(var t,e=this,i=arguments.length,s=new Array(i),r=0;r=0}))&&(t=y(p(n.prototype),"doValidate",this)).call.apply(t,[this].concat(s))}}]),n}(G);R.MaskedEnum=ot;var at,ut=function(t){f(n,t);var e=_(n);function n(t){return c(this,n),e.call(this,Object.assign({},n.DEFAULTS,t))}return d(n,[{key:"_update",value:function(t){y(p(n.prototype),"_update",this).call(this,t),this._updateRegExps()}},{key:"_updateRegExps",value:function(){var t="^"+(this.allowNegative?"[+|\\-]?":""),e=(this.scale?"("+P(this.radix)+"\\d{0,"+this.scale+"})?":"")+"$";this._numberRegExpInput=new RegExp(t+"(0|([1-9]+\\d*))?"+e),this._numberRegExp=new RegExp(t+"\\d*"+e),this._mapToRadixRegExp=new RegExp("["+this.mapToRadix.map(P).join("")+"]","g"),this._thousandsSeparatorRegExp=new RegExp(P(this.thousandsSeparator),"g")}},{key:"_removeThousandsSeparators",value:function(t){return t.replace(this._thousandsSeparatorRegExp,"")}},{key:"_insertThousandsSeparators",value:function(t){var e=t.split(this.radix);return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,this.thousandsSeparator),e.join(this.radix)}},{key:"doPrepare",value:function(t){var e;t=t.replace(this._mapToRadixRegExp,this.radix);for(var i=this._removeThousandsSeparators(t),s=arguments.length,r=new Array(s>1?s-1:0),o=1;o1&&void 0!==arguments[1]&&arguments[1],n=0,i=0;i0&&void 0!==arguments[0]?arguments[0]:this._value;return this._separatorsCount(this._removeThousandsSeparators(t).length,!0)}},{key:"extractInput",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,i=arguments.length>2?arguments[2]:void 0,s=this._adjustRangeWithSeparators(t,e),r=A(s,2);return t=r[0],e=r[1],this._removeThousandsSeparators(y(p(n.prototype),"extractInput",this).call(this,t,e,i))}},{key:"_appendCharRaw",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.thousandsSeparator)return y(p(n.prototype),"_appendCharRaw",this).call(this,t,e);var i=e.tail&&e._beforeTailState?e._beforeTailState._value:this._value,s=this._separatorsCountFromSlice(i);this._value=this._removeThousandsSeparators(this.value);var r=y(p(n.prototype),"_appendCharRaw",this).call(this,t,e);this._value=this._insertThousandsSeparators(this._value);var o=e.tail&&e._beforeTailState?e._beforeTailState._value:this._value,a=this._separatorsCountFromSlice(o);return r.tailShift+=(a-s)*this.thousandsSeparator.length,r.skip=!r.rawInserted&&t===this.thousandsSeparator,r}},{key:"_findSeparatorAround",value:function(t){if(this.thousandsSeparator){var e=t-this.thousandsSeparator.length+1,n=this.value.indexOf(this.thousandsSeparator,e);if(n<=t)return n}return-1}},{key:"_adjustRangeWithSeparators",value:function(t,e){var n=this._findSeparatorAround(t);n>=0&&(t=n);var i=this._findSeparatorAround(e);return i>=0&&(e=i+this.thousandsSeparator.length),[t,e]}},{key:"remove",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,n=this._adjustRangeWithSeparators(t,e),i=A(n,2);t=i[0],e=i[1];var s=this.value.slice(0,t),r=this.value.slice(e),o=this._separatorsCount(s.length);this._value=this._insertThousandsSeparators(this._removeThousandsSeparators(s+r));var a=this._separatorsCountFromSlice(s);return new x({tailShift:(a-o)*this.thousandsSeparator.length})}},{key:"nearestInputPos",value:function(t,e){if(!this.thousandsSeparator)return t;switch(e){case T:case D:case F:var n=this._findSeparatorAround(t-1);if(n>=0){var i=n+this.thousandsSeparator.length;if(t=0)return s+this.thousandsSeparator.length}return t}},{key:"doValidate",value:function(t){var e=(t.input?this._numberRegExpInput:this._numberRegExp).test(this._removeThousandsSeparators(this.value));if(e){var i=this.number;e=e&&!isNaN(i)&&(null==this.min||this.min>=0||this.min<=this.number)&&(null==this.max||this.max<=0||this.number<=this.max)}return e&&y(p(n.prototype),"doValidate",this).call(this,t)}},{key:"doCommit",value:function(){if(this.value){var t=this.number,e=t;null!=this.min&&(e=Math.max(e,this.min)),null!=this.max&&(e=Math.min(e,this.max)),e!==t&&(this.unmaskedValue=String(e));var i=this.value;this.normalizeZeros&&(i=this._normalizeZeros(i)),this.padFractionalZeros&&this.scale>0&&(i=this._padFractionalZeros(i)),this._value=i}y(p(n.prototype),"doCommit",this).call(this)}},{key:"_normalizeZeros",value:function(t){var e=this._removeThousandsSeparators(t).split(this.radix);return e[0]=e[0].replace(/^(\D*)(0*)(\d*)/,(function(t,e,n,i){return e+i})),t.length&&!/\d$/.test(e[0])&&(e[0]=e[0]+"0"),e.length>1&&(e[1]=e[1].replace(/0*$/,""),e[1].length||(e.length=1)),this._insertThousandsSeparators(e.join(this.radix))}},{key:"_padFractionalZeros",value:function(t){if(!t)return t;var e=t.split(this.radix);return e.length<2&&e.push(""),e[1]=e[1].padEnd(this.scale,"0"),e.join(this.radix)}},{key:"unmaskedValue",get:function(){return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix,".")},set:function(t){w(p(n.prototype),"unmaskedValue",t.replace(".",this.radix),this,!0)}},{key:"typedValue",get:function(){return Number(this.unmaskedValue)},set:function(t){w(p(n.prototype),"unmaskedValue",String(t),this,!0)}},{key:"number",get:function(){return this.typedValue},set:function(t){this.typedValue=t}},{key:"allowNegative",get:function(){return this.signed||null!=this.min&&this.min<0||null!=this.max&&this.max<0}},{key:"typedValueEquals",value:function(t){return(y(p(n.prototype),"typedValueEquals",this).call(this,t)||n.EMPTY_VALUES.includes(t)&&n.EMPTY_VALUES.includes(this.typedValue))&&!(0===t&&""===this.value)}}]),n}(V);ut.DEFAULTS={radix:",",thousandsSeparator:"",mapToRadix:["."],scale:2,signed:!1,normalizeZeros:!0,padFractionalZeros:!1},ut.EMPTY_VALUES=[].concat(function(t){if(Array.isArray(t))return C(t)}(at=V.EMPTY_VALUES)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(at)||E(at)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[0]),R.MaskedNumber=ut;var lt=function(t){f(n,t);var e=_(n);function n(){return c(this,n),e.apply(this,arguments)}return d(n,[{key:"_update",value:function(t){t.mask&&(t.validate=t.mask),y(p(n.prototype),"_update",this).call(this,t)}}]),n}(V);R.MaskedFunction=lt;var ct=["compiledMasks","currentMaskRef","currentMask"],ht=function(t){f(n,t);var e=_(n);function n(t){var i;return c(this,n),(i=e.call(this,Object.assign({},n.DEFAULTS,t))).currentMask=null,i}return d(n,[{key:"_update",value:function(t){y(p(n.prototype),"_update",this).call(this,t),"mask"in t&&(this.compiledMasks=Array.isArray(t.mask)?t.mask.map((function(t){return H(t)})):[])}},{key:"_appendCharRaw",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this._applyDispatch(t,e);return this.currentMask&&n.aggregate(this.currentMask._appendChar(t,this.currentMaskFlags(e))),n}},{key:"_applyDispatch",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.tail&&null!=e._beforeTailState?e._beforeTailState._value:this.value,i=this.rawInputValue,s=e.tail&&null!=e._beforeTailState?e._beforeTailState._rawInputValue:i,r=i.slice(s.length),o=this.currentMask,a=new x,u=null==o?void 0:o.state;if(this.currentMask=this.doDispatch(t,Object.assign({},e)),this.currentMask)if(this.currentMask!==o){if(this.currentMask.reset(),s){var l=this.currentMask.append(s,{raw:!0});a.tailShift=l.inserted.length-n.length}r&&(a.tailShift+=this.currentMask.append(r,{raw:!0,tail:!0}).tailShift)}else this.currentMask.state=u;return a}},{key:"_appendPlaceholder",value:function(){var t=this._applyDispatch.apply(this,arguments);return this.currentMask&&t.aggregate(this.currentMask._appendPlaceholder()),t}},{key:"_appendEager",value:function(){var t=this._applyDispatch.apply(this,arguments);return this.currentMask&&t.aggregate(this.currentMask._appendEager()),t}},{key:"currentMaskFlags",value:function(t){var e,n;return Object.assign({},t,{_beforeTailState:(null===(e=t._beforeTailState)||void 0===e?void 0:e.currentMaskRef)===this.currentMask&&(null===(n=t._beforeTailState)||void 0===n?void 0:n.currentMask)||t._beforeTailState})}},{key:"doDispatch",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.dispatch(t,this,e)}},{key:"doValidate",value:function(t){return y(p(n.prototype),"doValidate",this).call(this,t)&&(!this.currentMask||this.currentMask.doValidate(this.currentMaskFlags(t)))}},{key:"doPrepare",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=I(y(p(n.prototype),"doPrepare",this).call(this,t,e)),s=A(i,2),r=s[0],o=s[1];if(this.currentMask){var a,u=I(y(p(n.prototype),"doPrepare",this).call(this,r,this.currentMaskFlags(e))),l=A(u,2);r=l[0],a=l[1],o=o.aggregate(a)}return[r,o]}},{key:"reset",value:function(){var t;null===(t=this.currentMask)||void 0===t||t.reset(),this.compiledMasks.forEach((function(t){return t.reset()}))}},{key:"value",get:function(){return this.currentMask?this.currentMask.value:""},set:function(t){w(p(n.prototype),"value",t,this,!0)}},{key:"unmaskedValue",get:function(){return this.currentMask?this.currentMask.unmaskedValue:""},set:function(t){w(p(n.prototype),"unmaskedValue",t,this,!0)}},{key:"typedValue",get:function(){return this.currentMask?this.currentMask.typedValue:""},set:function(t){var e=String(t);this.currentMask&&(this.currentMask.typedValue=t,e=this.currentMask.unmaskedValue),this.unmaskedValue=e}},{key:"isComplete",get:function(){var t;return Boolean(null===(t=this.currentMask)||void 0===t?void 0:t.isComplete)}},{key:"isFilled",get:function(){var t;return Boolean(null===(t=this.currentMask)||void 0===t?void 0:t.isFilled)}},{key:"remove",value:function(){var t,e=new x;this.currentMask&&e.aggregate((t=this.currentMask).remove.apply(t,arguments)).aggregate(this._applyDispatch());return e}},{key:"state",get:function(){var t;return Object.assign({},y(p(n.prototype),"state",this),{_rawInputValue:this.rawInputValue,compiledMasks:this.compiledMasks.map((function(t){return t.state})),currentMaskRef:this.currentMask,currentMask:null===(t=this.currentMask)||void 0===t?void 0:t.state})},set:function(t){var e=t.compiledMasks,i=t.currentMaskRef,s=t.currentMask,r=m(t,ct);this.compiledMasks.forEach((function(t,n){return t.state=e[n]})),null!=i&&(this.currentMask=i,this.currentMask.state=s),w(p(n.prototype),"state",r,this,!0)}},{key:"extractInput",value:function(){var t;return this.currentMask?(t=this.currentMask).extractInput.apply(t,arguments):""}},{key:"extractTail",value:function(){for(var t,e,i=arguments.length,s=new Array(i),r=0;r1&&void 0!==arguments[1]?arguments[1]:dt.MASKED,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:dt.MASKED,i=H(t);return function(t){return i.runIsolated((function(i){return i[e]=t,i[n]}))}}R.PIPE_TYPE=dt,R.createPipe=ft,R.pipe=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i0&&Yt(i.width)/t.offsetWidth||1,r=t.offsetHeight>0&&Yt(i.height)/t.offsetHeight||1);var o=(Vt(t)?Rt(t):window).visualViewport,a=!Xt()&&n,u=(i.left+(a&&o?o.offsetLeft:0))/s,l=(i.top+(a&&o?o.offsetTop:0))/r,c=i.width/s,h=i.height/r;return{width:c,height:h,top:l,right:u+c,bottom:l+h,left:u,x:u,y:l}}function Zt(t){var e=Qt(t),n=t.offsetWidth,i=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-i)<=1&&(i=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:i}}function Gt(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&Ht(n)){var i=e;do{if(i&&t.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Jt(t){return Rt(t).getComputedStyle(t)}function te(t){return["table","td","th"].indexOf(Nt(t))>=0}function ee(t){return((Vt(t)?t.ownerDocument:t.document)||window.document).documentElement}function ne(t){return"html"===Nt(t)?t:t.assignedSlot||t.parentNode||(Ht(t)?t.host:null)||ee(t)}function ie(t){return zt(t)&&"fixed"!==Jt(t).position?t.offsetParent:null}function se(t){for(var e=Rt(t),n=ie(t);n&&te(n)&&"static"===Jt(n).position;)n=ie(n);return n&&("html"===Nt(n)||"body"===Nt(n)&&"static"===Jt(n).position)?e:n||function(t){var e=/firefox/i.test(Kt());if(/Trident/i.test(Kt())&&zt(t)&&"fixed"===Jt(t).position)return null;var n=ne(t);for(Ht(n)&&(n=n.host);zt(n)&&["html","body"].indexOf(Nt(n))<0;){var i=Jt(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||e&&"filter"===i.willChange||e&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(t)||e}function re(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function oe(t,e,n){return $t(t,Ut(e,n))}function ae(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ue(t,e){return e.reduce((function(e,n){return e[n]=t,e}),{})}var le={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,n=t.state,i=t.name,s=t.options,r=n.elements.arrow,o=n.modifiersData.popperOffsets,a=Wt(n.placement),u=re(a),l=[vt,mt].indexOf(a)>=0?"height":"width";if(r&&o){var c=function(t,e){return ae("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ue(t,bt))}(s.padding,n),h=Zt(r),d="y"===u?pt:vt,f="y"===u?gt:mt,p=n.rects.reference[l]+n.rects.reference[u]-o[u]-n.rects.popper[l],g=o[u]-n.rects.reference[u],m=se(r),v=m?"y"===u?m.clientHeight||0:m.clientWidth||0:0,_=p/2-g/2,b=c[d],y=v-h[l]-c[f],k=v/2-h[l]/2+_,w=oe(b,k,y),A=u;n.modifiersData[i]=((e={})[A]=w,e.centerOffset=w-k,e)}},effect:function(t){var e=t.state,n=t.options.element,i=void 0===n?"[data-popper-arrow]":n;null!=i&&("string"!=typeof i||(i=e.elements.popper.querySelector(i)))&&Gt(e.elements.popper,i)&&(e.elements.arrow=i)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ce(t){return t.split("-")[1]}var he={top:"auto",right:"auto",bottom:"auto",left:"auto"};function de(t){var e,n=t.popper,i=t.popperRect,s=t.placement,r=t.variation,o=t.offsets,a=t.position,u=t.gpuAcceleration,l=t.adaptive,c=t.roundOffsets,h=t.isFixed,d=o.x,f=void 0===d?0:d,p=o.y,g=void 0===p?0:p,m="function"==typeof c?c({x:f,y:g}):{x:f,y:g};f=m.x,g=m.y;var v=o.hasOwnProperty("x"),_=o.hasOwnProperty("y"),b=vt,y=pt,k=window;if(l){var w=se(n),A="clientHeight",E="clientWidth";if(w===Rt(n)&&"static"!==Jt(w=ee(n)).position&&"absolute"===a&&(A="scrollHeight",E="scrollWidth"),s===pt||(s===vt||s===mt)&&r===kt)y=gt,g-=(h&&w===k&&k.visualViewport?k.visualViewport.height:w[A])-i.height,g*=u?1:-1;if(s===vt||(s===pt||s===gt)&&r===kt)b=mt,f-=(h&&w===k&&k.visualViewport?k.visualViewport.width:w[E])-i.width,f*=u?1:-1}var C,x=Object.assign({position:a},l&&he),S=!0===c?function(t){var e=t.x,n=t.y,i=window.devicePixelRatio||1;return{x:Yt(e*i)/i||0,y:Yt(n*i)/i||0}}({x:f,y:g}):{x:f,y:g};return f=S.x,g=S.y,u?Object.assign({},x,((C={})[y]=_?"0":"",C[b]=v?"0":"",C.transform=(k.devicePixelRatio||1)<=1?"translate("+f+"px, "+g+"px)":"translate3d("+f+"px, "+g+"px, 0)",C)):Object.assign({},x,((e={})[y]=_?g+"px":"",e[b]=v?f+"px":"",e.transform="",e))}var fe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,n=t.options,i=n.gpuAcceleration,s=void 0===i||i,r=n.adaptive,o=void 0===r||r,a=n.roundOffsets,u=void 0===a||a,l={placement:Wt(e.placement),variation:ce(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,de(Object.assign({},l,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:u})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,de(Object.assign({},l,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},pe={passive:!0};var ge={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,n=t.instance,i=t.options,s=i.scroll,r=void 0===s||s,o=i.resize,a=void 0===o||o,u=Rt(e.elements.popper),l=[].concat(e.scrollParents.reference,e.scrollParents.popper);return r&&l.forEach((function(t){t.addEventListener("scroll",n.update,pe)})),a&&u.addEventListener("resize",n.update,pe),function(){r&&l.forEach((function(t){t.removeEventListener("scroll",n.update,pe)})),a&&u.removeEventListener("resize",n.update,pe)}},data:{}},me={left:"right",right:"left",bottom:"top",top:"bottom"};function ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return me[t]}))}var _e={start:"end",end:"start"};function be(t){return t.replace(/start|end/g,(function(t){return _e[t]}))}function ye(t){var e=Rt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ke(t){return Qt(ee(t)).left+ye(t).scrollLeft}function we(t){var e=Jt(t),n=e.overflow,i=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+i)}function Ae(t){return["html","body","#document"].indexOf(Nt(t))>=0?t.ownerDocument.body:zt(t)&&we(t)?t:Ae(ne(t))}function Ee(t,e){var n;void 0===e&&(e=[]);var i=Ae(t),s=i===(null==(n=t.ownerDocument)?void 0:n.body),r=Rt(i),o=s?[r].concat(r.visualViewport||[],we(i)?i:[]):i,a=e.concat(o);return s?a:a.concat(Ee(ne(o)))}function Ce(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function xe(t,e,n){return e===At?Ce(function(t,e){var n=Rt(t),i=ee(t),s=n.visualViewport,r=i.clientWidth,o=i.clientHeight,a=0,u=0;if(s){r=s.width,o=s.height;var l=Xt();(l||!l&&"fixed"===e)&&(a=s.offsetLeft,u=s.offsetTop)}return{width:r,height:o,x:a+ke(t),y:u}}(t,n)):Vt(e)?function(t,e){var n=Qt(t,!1,"fixed"===e);return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}(e,n):Ce(function(t){var e,n=ee(t),i=ye(t),s=null==(e=t.ownerDocument)?void 0:e.body,r=$t(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),o=$t(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-i.scrollLeft+ke(t),u=-i.scrollTop;return"rtl"===Jt(s||n).direction&&(a+=$t(n.clientWidth,s?s.clientWidth:0)-r),{width:r,height:o,x:a,y:u}}(ee(t)))}function Se(t,e,n,i){var s="clippingParents"===e?function(t){var e=Ee(ne(t)),n=["absolute","fixed"].indexOf(Jt(t).position)>=0&&zt(t)?se(t):t;return Vt(n)?e.filter((function(t){return Vt(t)&&Gt(t,n)&&"body"!==Nt(t)})):[]}(t):[].concat(e),r=[].concat(s,[n]),o=r[0],a=r.reduce((function(e,n){var s=xe(t,n,i);return e.top=$t(s.top,e.top),e.right=Ut(s.right,e.right),e.bottom=Ut(s.bottom,e.bottom),e.left=$t(s.left,e.left),e}),xe(t,o,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Te(t){var e,n=t.reference,i=t.element,s=t.placement,r=s?Wt(s):null,o=s?ce(s):null,a=n.x+n.width/2-i.width/2,u=n.y+n.height/2-i.height/2;switch(r){case pt:e={x:a,y:n.y-i.height};break;case gt:e={x:a,y:n.y+n.height};break;case mt:e={x:n.x+n.width,y:u};break;case vt:e={x:n.x-i.width,y:u};break;default:e={x:n.x,y:n.y}}var l=r?re(r):null;if(null!=l){var c="y"===l?"height":"width";switch(o){case yt:e[l]=e[l]-(n[c]/2-i[c]/2);break;case kt:e[l]=e[l]+(n[c]/2-i[c]/2)}}return e}function De(t,e){void 0===e&&(e={});var n=e,i=n.placement,s=void 0===i?t.placement:i,r=n.strategy,o=void 0===r?t.strategy:r,a=n.boundary,u=void 0===a?wt:a,l=n.rootBoundary,c=void 0===l?At:l,h=n.elementContext,d=void 0===h?Et:h,f=n.altBoundary,p=void 0!==f&&f,g=n.padding,m=void 0===g?0:g,v=ae("number"!=typeof m?m:ue(m,bt)),_=d===Et?Ct:Et,b=t.rects.popper,y=t.elements[p?_:d],k=Se(Vt(y)?y:y.contextElement||ee(t.elements.popper),u,c,o),w=Qt(t.elements.reference),A=Te({reference:w,element:b,strategy:"absolute",placement:s}),E=Ce(Object.assign({},b,A)),C=d===Et?E:w,x={top:k.top-C.top+v.top,bottom:C.bottom-k.bottom+v.bottom,left:k.left-C.left+v.left,right:C.right-k.right+v.right},S=t.modifiersData.offset;if(d===Et&&S){var T=S[s];Object.keys(x).forEach((function(t){var e=[mt,gt].indexOf(t)>=0?1:-1,n=[pt,gt].indexOf(t)>=0?"y":"x";x[t]+=T[n]*e}))}return x}function Fe(t,e){void 0===e&&(e={});var n=e,i=n.placement,s=n.boundary,r=n.rootBoundary,o=n.padding,a=n.flipVariations,u=n.allowedAutoPlacements,l=void 0===u?St:u,c=ce(i),h=c?a?xt:xt.filter((function(t){return ce(t)===c})):bt,d=h.filter((function(t){return l.indexOf(t)>=0}));0===d.length&&(d=h);var f=d.reduce((function(e,n){return e[n]=De(t,{placement:n,boundary:s,rootBoundary:r,padding:o})[Wt(n)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}var Oe={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,n=t.options,i=t.name;if(!e.modifiersData[i]._skip){for(var s=n.mainAxis,r=void 0===s||s,o=n.altAxis,a=void 0===o||o,u=n.fallbackPlacements,l=n.padding,c=n.boundary,h=n.rootBoundary,d=n.altBoundary,f=n.flipVariations,p=void 0===f||f,g=n.allowedAutoPlacements,m=e.options.placement,v=Wt(m),_=u||(v===m||!p?[ve(m)]:function(t){if(Wt(t)===_t)return[];var e=ve(t);return[be(t),e,be(e)]}(m)),b=[m].concat(_).reduce((function(t,n){return t.concat(Wt(n)===_t?Fe(e,{placement:n,boundary:c,rootBoundary:h,padding:l,flipVariations:p,allowedAutoPlacements:g}):n)}),[]),y=e.rects.reference,k=e.rects.popper,w=new Map,A=!0,E=b[0],C=0;C=0,F=D?"width":"height",O=De(e,{placement:x,boundary:c,rootBoundary:h,altBoundary:d,padding:l}),B=D?T?mt:vt:T?gt:pt;y[F]>k[F]&&(B=ve(B));var M=ve(B),P=[];if(r&&P.push(O[S]<=0),a&&P.push(O[B]<=0,O[M]<=0),P.every((function(t){return t}))){E=x,A=!1;break}w.set(x,P)}if(A)for(var I=function(t){var e=b.find((function(e){var n=w.get(e);if(n)return n.slice(0,t).every((function(t){return t}))}));if(e)return E=e,"break"},L=p?3:1;L>0;L--){if("break"===I(L))break}e.placement!==E&&(e.modifiersData[i]._skip=!0,e.placement=E,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Be(t,e,n){return void 0===n&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function Me(t){return[pt,mt,gt,vt].some((function(e){return t[e]>=0}))}var Pe={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,n=t.name,i=e.rects.reference,s=e.rects.popper,r=e.modifiersData.preventOverflow,o=De(e,{elementContext:"reference"}),a=De(e,{altBoundary:!0}),u=Be(o,i),l=Be(a,s,r),c=Me(u),h=Me(l);e.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:l,isReferenceHidden:c,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":h})}};var Ie={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,n=t.options,i=t.name,s=n.offset,r=void 0===s?[0,0]:s,o=St.reduce((function(t,n){return t[n]=function(t,e,n){var i=Wt(t),s=[vt,pt].indexOf(i)>=0?-1:1,r="function"==typeof n?n(Object.assign({},e,{placement:t})):n,o=r[0],a=r[1];return o=o||0,a=(a||0)*s,[vt,mt].indexOf(i)>=0?{x:a,y:o}:{x:o,y:a}}(n,e.rects,r),t}),{}),a=o[e.placement],u=a.x,l=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=u,e.modifiersData.popperOffsets.y+=l),e.modifiersData[i]=o}};var Le={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,n=t.name;e.modifiersData[n]=Te({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}};var je={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,n=t.options,i=t.name,s=n.mainAxis,r=void 0===s||s,o=n.altAxis,a=void 0!==o&&o,u=n.boundary,l=n.rootBoundary,c=n.altBoundary,h=n.padding,d=n.tether,f=void 0===d||d,p=n.tetherOffset,g=void 0===p?0:p,m=De(e,{boundary:u,rootBoundary:l,padding:h,altBoundary:c}),v=Wt(e.placement),_=ce(e.placement),b=!_,y=re(v),k="x"===y?"y":"x",w=e.modifiersData.popperOffsets,A=e.rects.reference,E=e.rects.popper,C="function"==typeof g?g(Object.assign({},e.rects,{placement:e.placement})):g,x="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),S=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,T={x:0,y:0};if(w){if(r){var D,F="y"===y?pt:vt,O="y"===y?gt:mt,B="y"===y?"height":"width",M=w[y],P=M+m[F],I=M-m[O],L=f?-E[B]/2:0,j=_===yt?A[B]:E[B],N=_===yt?-E[B]:-A[B],R=e.elements.arrow,V=f&&R?Zt(R):{width:0,height:0},z=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},H=z[F],q=z[O],W=oe(0,A[B],V[B]),$=b?A[B]/2-L-W-H-x.mainAxis:j-W-H-x.mainAxis,U=b?-A[B]/2+L+W+q+x.mainAxis:N+W+q+x.mainAxis,Y=e.elements.arrow&&se(e.elements.arrow),K=Y?"y"===y?Y.clientTop||0:Y.clientLeft||0:0,X=null!=(D=null==S?void 0:S[y])?D:0,Q=M+U-X,Z=oe(f?Ut(P,M+$-X-K):P,M,f?$t(I,Q):I);w[y]=Z,T[y]=Z-M}if(a){var G,J="x"===y?pt:vt,tt="x"===y?gt:mt,et=w[k],nt="y"===k?"height":"width",it=et+m[J],st=et-m[tt],rt=-1!==[pt,vt].indexOf(v),ot=null!=(G=null==S?void 0:S[k])?G:0,at=rt?it:et-A[nt]-E[nt]-ot+x.altAxis,ut=rt?et+A[nt]+E[nt]-ot-x.altAxis:st,lt=f&&rt?function(t,e,n){var i=oe(t,e,n);return i>n?n:i}(at,et,ut):oe(f?at:it,et,f?ut:st);w[k]=lt,T[k]=lt-et}e.modifiersData[i]=T}},requiresIfExists:["offset"]};function Ne(t,e,n){void 0===n&&(n=!1);var i,s,r=zt(e),o=zt(e)&&function(t){var e=t.getBoundingClientRect(),n=Yt(e.width)/t.offsetWidth||1,i=Yt(e.height)/t.offsetHeight||1;return 1!==n||1!==i}(e),a=ee(e),u=Qt(t,o,n),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&(("body"!==Nt(e)||we(a))&&(l=(i=e)!==Rt(i)&&zt(i)?{scrollLeft:(s=i).scrollLeft,scrollTop:s.scrollTop}:ye(i)),zt(e)?((c=Qt(e,!0)).x+=e.clientLeft,c.y+=e.clientTop):a&&(c.x=ke(a))),{x:u.left+l.scrollLeft-c.x,y:u.top+l.scrollTop-c.y,width:u.width,height:u.height}}function Re(t){var e=new Map,n=new Set,i=[];function s(t){n.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!n.has(t)){var i=e.get(t);i&&s(i)}})),i.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){n.has(t.name)||s(t)})),i}var Ve={placement:"bottom",modifiers:[],strategy:"absolute"};function ze(){for(var t=arguments.length,e=new Array(t),n=0;n{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let n=t.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),e=n&&"#"!==n?n.trim():null}return e},Xe=t=>{const e=Ke(t);return e&&document.querySelector(e)?e:null},Qe=t=>{const e=Ke(t);return e?document.querySelector(e):null},Ze=t=>{t.dispatchEvent(new Event(Ye))},Ge=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),Je=t=>Ge(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,tn=t=>{if(!Ge(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),n=t.closest("details:not([open])");if(!n)return e;if(n!==t){const e=t.closest("summary");if(e&&e.parentNode!==n)return!1;if(null===e)return!1}return e},en=t=>!t||t.nodeType!==Node.ELEMENT_NODE||(!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled"))),nn=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?nn(t.parentNode):null},sn=()=>{},rn=t=>{t.offsetHeight},on=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,an=[],un=()=>"rtl"===document.documentElement.dir,ln=t=>{var e;e=()=>{const e=on();if(e){const n=t.NAME,i=e.fn[n];e.fn[n]=t.jQueryInterface,e.fn[n].Constructor=t,e.fn[n].noConflict=()=>(e.fn[n]=i,t.jQueryInterface)}},"loading"===document.readyState?(an.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of an)t()})),an.push(e)):e()},cn=t=>{"function"==typeof t&&t()},hn=(t,e,n=!0)=>{if(!n)return void cn(t);const i=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:n}=window.getComputedStyle(t);const i=Number.parseFloat(e),s=Number.parseFloat(n);return i||s?(e=e.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(n))):0})(e)+5;let s=!1;const r=({target:n})=>{n===e&&(s=!0,e.removeEventListener(Ye,r),cn(t))};e.addEventListener(Ye,r),setTimeout((()=>{s||Ze(e)}),i)},dn=(t,e,n,i)=>{const s=t.length;let r=t.indexOf(e);return-1===r?!n&&i?t[s-1]:t[0]:(r+=n?1:-1,i&&(r=(r+s)%s),t[Math.max(0,Math.min(r,s-1))])},fn=/[^.]*(?=\..*)\.|.*/,pn=/\..*/,gn=/::\d+$/,mn={};let vn=1;const _n={mouseenter:"mouseover",mouseleave:"mouseout"},bn=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function yn(t,e){return e&&`${e}::${vn++}`||t.uidEvent||vn++}function kn(t){const e=yn(t);return t.uidEvent=e,mn[e]=mn[e]||{},mn[e]}function wn(t,e,n=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===n))}function An(t,e,n){const i="string"==typeof e,s=i?n:e||n;let r=Sn(t);return bn.has(r)||(r=t),[i,s,r]}function En(t,e,n,i,s){if("string"!=typeof e||!t)return;let[r,o,a]=An(e,n,i);if(e in _n){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};o=t(o)}const u=kn(t),l=u[a]||(u[a]={}),c=wn(l,o,r?n:null);if(c)return void(c.oneOff=c.oneOff&&s);const h=yn(o,e.replace(fn,"")),d=r?function(t,e,n){return function i(s){const r=t.querySelectorAll(e);for(let{target:o}=s;o&&o!==this;o=o.parentNode)for(const a of r)if(a===o)return Dn(s,{delegateTarget:o}),i.oneOff&&Tn.off(t,s.type,e,n),n.apply(o,[s])}}(t,n,o):function(t,e){return function n(i){return Dn(i,{delegateTarget:t}),n.oneOff&&Tn.off(t,i.type,e),e.apply(t,[i])}}(t,o);d.delegationSelector=r?n:null,d.callable=o,d.oneOff=s,d.uidEvent=h,l[h]=d,t.addEventListener(a,d,r)}function Cn(t,e,n,i,s){const r=wn(e[n],i,s);r&&(t.removeEventListener(n,r,Boolean(s)),delete e[n][r.uidEvent])}function xn(t,e,n,i){const s=e[n]||{};for(const r of Object.keys(s))if(r.includes(i)){const i=s[r];Cn(t,e,n,i.callable,i.delegationSelector)}}function Sn(t){return t=t.replace(pn,""),_n[t]||t}const Tn={on(t,e,n,i){En(t,e,n,i,!1)},one(t,e,n,i){En(t,e,n,i,!0)},off(t,e,n,i){if("string"!=typeof e||!t)return;const[s,r,o]=An(e,n,i),a=o!==e,u=kn(t),l=u[o]||{},c=e.startsWith(".");if(void 0===r){if(c)for(const n of Object.keys(u))xn(t,u,n,e.slice(1));for(const n of Object.keys(l)){const i=n.replace(gn,"");if(!a||e.includes(i)){const e=l[n];Cn(t,u,o,e.callable,e.delegationSelector)}}}else{if(!Object.keys(l).length)return;Cn(t,u,o,r,s?n:null)}},trigger(t,e,n){if("string"!=typeof e||!t)return null;const i=on();let s=null,r=!0,o=!0,a=!1;e!==Sn(e)&&i&&(s=i.Event(e,n),i(t).trigger(s),r=!s.isPropagationStopped(),o=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let u=new Event(e,{bubbles:r,cancelable:!0});return u=Dn(u,n),a&&u.preventDefault(),o&&t.dispatchEvent(u),u.defaultPrevented&&s&&s.preventDefault(),u}};function Dn(t,e){for(const[n,i]of Object.entries(e||{}))try{t[n]=i}catch(e){Object.defineProperty(t,n,{configurable:!0,get:()=>i})}return t}const Fn=new Map,On={set(t,e,n){Fn.has(t)||Fn.set(t,new Map);const i=Fn.get(t);i.has(e)||0===i.size?i.set(e,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`)},get:(t,e)=>Fn.has(t)&&Fn.get(t).get(e)||null,remove(t,e){if(!Fn.has(t))return;const n=Fn.get(t);n.delete(e),0===n.size&&Fn.delete(t)}};function Bn(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function Mn(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const Pn={setDataAttribute(t,e,n){t.setAttribute(`data-bs-${Mn(e)}`,n)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${Mn(e)}`)},getDataAttributes(t){if(!t)return{};const e={},n=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const i of n){let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=Bn(t.dataset[i])}return e},getDataAttribute:(t,e)=>Bn(t.getAttribute(`data-bs-${Mn(e)}`))};class In{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const n=Ge(e)?Pn.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...Ge(e)?Pn.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const i of Object.keys(e)){const s=e[i],r=t[i],o=Ge(r)?"element":null==(n=r)?`${n}`:Object.prototype.toString.call(n).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${o}" but expected type "${s}".`)}var n}}class Ln extends In{constructor(t,e){super(),(t=Je(t))&&(this._element=t,this._config=this._getConfig(e),On.set(this._element,this.constructor.DATA_KEY,this))}dispose(){On.remove(this._element,this.constructor.DATA_KEY),Tn.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,n=!0){hn(t,e,n)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return On.get(Je(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.2.2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const jn=(t,e="hide")=>{const n=`click.dismiss${t.EVENT_KEY}`,i=t.NAME;Tn.on(document,n,`[data-bs-dismiss="${i}"]`,(function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),en(this))return;const s=Qe(this)||this.closest(`.${i}`);t.getOrCreateInstance(s)[e]()}))};class Nn extends Ln{static get NAME(){return"alert"}close(){if(Tn.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),Tn.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Nn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}jn(Nn,"close"),ln(Nn);const Rn='[data-bs-toggle="button"]';class Vn extends Ln{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Vn.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}Tn.on(document,"click.bs.button.data-api",Rn,(t=>{t.preventDefault();const e=t.target.closest(Rn);Vn.getOrCreateInstance(e).toggle()})),ln(Vn);const zn={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const n=[];let i=t.parentNode.closest(e);for(;i;)n.push(i),i=i.parentNode.closest(e);return n},prev(t,e){let n=t.previousElementSibling;for(;n;){if(n.matches(e))return[n];n=n.previousElementSibling}return[]},next(t,e){let n=t.nextElementSibling;for(;n;){if(n.matches(e))return[n];n=n.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!en(t)&&tn(t)))}},Hn=".bs.swipe",qn={endCallback:null,leftCallback:null,rightCallback:null},Wn={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class $n extends In{constructor(t,e){super(),this._element=t,t&&$n.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return qn}static get DefaultType(){return Wn}static get NAME(){return"swipe"}dispose(){Tn.off(this._element,Hn)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),cn(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&cn(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(Tn.on(this._element,"pointerdown.bs.swipe",(t=>this._start(t))),Tn.on(this._element,"pointerup.bs.swipe",(t=>this._end(t))),this._element.classList.add("pointer-event")):(Tn.on(this._element,"touchstart.bs.swipe",(t=>this._start(t))),Tn.on(this._element,"touchmove.bs.swipe",(t=>this._move(t))),Tn.on(this._element,"touchend.bs.swipe",(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Un="next",Yn="prev",Kn="left",Xn="right",Qn="slid.bs.carousel",Zn="carousel",Gn="active",Jn=".active",ti=".carousel-item",ei={ArrowLeft:Xn,ArrowRight:Kn},ni={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ii={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class si extends Ln{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=zn.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===Zn&&this.cycle()}static get Default(){return ni}static get DefaultType(){return ii}static get NAME(){return"carousel"}next(){this._slide(Un)}nextWhenVisible(){!document.hidden&&tn(this._element)&&this.next()}prev(){this._slide(Yn)}pause(){this._isSliding&&Ze(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?Tn.one(this._element,Qn,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void Tn.one(this._element,Qn,(()=>this.to(t)));const n=this._getItemIndex(this._getActive());if(n===t)return;const i=t>n?Un:Yn;this._slide(i,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&Tn.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(Tn.on(this._element,"mouseenter.bs.carousel",(()=>this.pause())),Tn.on(this._element,"mouseleave.bs.carousel",(()=>this._maybeEnableCycle()))),this._config.touch&&$n.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of zn.find(".carousel-item img",this._element))Tn.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(Kn)),rightCallback:()=>this._slide(this._directionToOrder(Xn)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new $n(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=ei[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=zn.findOne(Jn,this._indicatorsElement);e.classList.remove(Gn),e.removeAttribute("aria-current");const n=zn.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);n&&(n.classList.add(Gn),n.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const n=this._getActive(),i=t===Un,s=e||dn(this._getItems(),n,i,this._config.wrap);if(s===n)return;const r=this._getItemIndex(s),o=e=>Tn.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(n),to:r});if(o("slide.bs.carousel").defaultPrevented)return;if(!n||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(r),this._activeElement=s;const u=i?"carousel-item-start":"carousel-item-end",l=i?"carousel-item-next":"carousel-item-prev";s.classList.add(l),rn(s),n.classList.add(u),s.classList.add(u);this._queueCallback((()=>{s.classList.remove(u,l),s.classList.add(Gn),n.classList.remove(Gn,l,u),this._isSliding=!1,o(Qn)}),n,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return zn.findOne(".active.carousel-item",this._element)}_getItems(){return zn.find(ti,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return un()?t===Kn?Yn:Un:t===Kn?Un:Yn}_orderToDirection(t){return un()?t===Yn?Kn:Xn:t===Yn?Xn:Kn}static jQueryInterface(t){return this.each((function(){const e=si.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}Tn.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",(function(t){const e=Qe(this);if(!e||!e.classList.contains(Zn))return;t.preventDefault();const n=si.getOrCreateInstance(e),i=this.getAttribute("data-bs-slide-to");return i?(n.to(i),void n._maybeEnableCycle()):"next"===Pn.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())})),Tn.on(window,"load.bs.carousel.data-api",(()=>{const t=zn.find('[data-bs-ride="carousel"]');for(const e of t)si.getOrCreateInstance(e)})),ln(si);const ri="show",oi="collapse",ai="collapsing",ui='[data-bs-toggle="collapse"]',li={parent:null,toggle:!0},ci={parent:"(null|element)",toggle:"boolean"};class hi extends Ln{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const n=zn.find(ui);for(const t of n){const e=Xe(t),n=zn.find(e).filter((t=>t===this._element));null!==e&&n.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return li}static get DefaultType(){return ci}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>hi.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(Tn.trigger(this._element,"show.bs.collapse").defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(oi),this._element.classList.add(ai),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ai),this._element.classList.add(oi,ri),this._element.style[e]="",Tn.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[e]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(Tn.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,rn(this._element),this._element.classList.add(ai),this._element.classList.remove(oi,ri);for(const t of this._triggerArray){const e=Qe(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0;this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ai),this._element.classList.add(oi),Tn.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(ri)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=Je(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(ui);for(const e of t){const t=Qe(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=zn.find(":scope .collapse .collapse",this._config.parent);return zn.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const n of t)n.classList.toggle("collapsed",!e),n.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const n=hi.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===n[t])throw new TypeError(`No method named "${t}"`);n[t]()}}))}}Tn.on(document,"click.bs.collapse.data-api",ui,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=Xe(this),n=zn.find(e);for(const t of n)hi.getOrCreateInstance(t,{toggle:!1}).toggle()})),ln(hi);const di="dropdown",fi="ArrowUp",pi="ArrowDown",gi="click.bs.dropdown.data-api",mi="keydown.bs.dropdown.data-api",vi="show",_i='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',bi=`${_i}.show`,yi=".dropdown-menu",ki=un()?"top-end":"top-start",wi=un()?"top-start":"top-end",Ai=un()?"bottom-end":"bottom-start",Ei=un()?"bottom-start":"bottom-end",Ci=un()?"left-start":"right-start",xi=un()?"right-start":"left-start",Si={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Ti={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Di extends Ln{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=zn.next(this._element,yi)[0]||zn.prev(this._element,yi)[0]||zn.findOne(yi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Si}static get DefaultType(){return Ti}static get NAME(){return di}toggle(){return this._isShown()?this.hide():this.show()}show(){if(en(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!Tn.trigger(this._element,"show.bs.dropdown",t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))Tn.on(t,"mouseover",sn);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(vi),this._element.classList.add(vi),Tn.trigger(this._element,"shown.bs.dropdown",t)}}hide(){if(en(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!Tn.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))Tn.off(t,"mouseover",sn);this._popper&&this._popper.destroy(),this._menu.classList.remove(vi),this._element.classList.remove(vi),this._element.setAttribute("aria-expanded","false"),Pn.removeDataAttribute(this._menu,"popper"),Tn.trigger(this._element,"hidden.bs.dropdown",t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!Ge(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${di.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===Ue)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:Ge(this._config.reference)?t=Je(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=$e(t,this._menu,e)}_isShown(){return this._menu.classList.contains(vi)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Ci;if(t.classList.contains("dropstart"))return xi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?wi:ki:e?Ei:Ai}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(Pn.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const n=zn.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>tn(t)));n.length&&dn(n,e,t===pi,!n.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Di.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=zn.find(bi);for(const n of e){const e=Di.getInstance(n);if(!e||!1===e._config.autoClose)continue;const i=t.composedPath(),s=i.includes(e._menu);if(i.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const r={relatedTarget:e._element};"click"===t.type&&(r.clickEvent=t),e._completeHide(r)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),n="Escape"===t.key,i=[fi,pi].includes(t.key);if(!i&&!n)return;if(e&&!n)return;t.preventDefault();const s=this.matches(_i)?this:zn.prev(this,_i)[0]||zn.next(this,_i)[0]||zn.findOne(_i,t.delegateTarget.parentNode),r=Di.getOrCreateInstance(s);if(i)return t.stopPropagation(),r.show(),void r._selectMenuItem(t);r._isShown()&&(t.stopPropagation(),r.hide(),s.focus())}}Tn.on(document,mi,_i,Di.dataApiKeydownHandler),Tn.on(document,mi,yi,Di.dataApiKeydownHandler),Tn.on(document,gi,Di.clearMenus),Tn.on(document,"keyup.bs.dropdown.data-api",Di.clearMenus),Tn.on(document,gi,_i,(function(t){t.preventDefault(),Di.getOrCreateInstance(this).toggle()})),ln(Di);const Fi=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Oi=".sticky-top",Bi="padding-right",Mi="margin-right";class Pi{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Bi,(e=>e+t)),this._setElementAttributes(Fi,Bi,(e=>e+t)),this._setElementAttributes(Oi,Mi,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Bi),this._resetElementAttributes(Fi,Bi),this._resetElementAttributes(Oi,Mi)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,n){const i=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+i)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${n(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const n=t.style.getPropertyValue(e);n&&Pn.setDataAttribute(t,e,n)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const n=Pn.getDataAttribute(t,e);null!==n?(Pn.removeDataAttribute(t,e),t.style.setProperty(e,n)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(Ge(t))e(t);else for(const n of zn.find(t,this._element))e(n)}}const Ii="backdrop",Li="show",ji="mousedown.bs.backdrop",Ni={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ri={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Vi extends In{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Ni}static get DefaultType(){return Ri}static get NAME(){return Ii}show(t){if(!this._config.isVisible)return void cn(t);this._append();const e=this._getElement();this._config.isAnimated&&rn(e),e.classList.add(Li),this._emulateAnimation((()=>{cn(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Li),this._emulateAnimation((()=>{this.dispose(),cn(t)}))):cn(t)}dispose(){this._isAppended&&(Tn.off(this._element,ji),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=Je(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),Tn.on(t,ji,(()=>{cn(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){hn(t,this._getElement(),this._config.isAnimated)}}const zi=".bs.focustrap",Hi="backward",qi={autofocus:!0,trapElement:null},Wi={autofocus:"boolean",trapElement:"element"};class $i extends In{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return qi}static get DefaultType(){return Wi}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),Tn.off(document,zi),Tn.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),Tn.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,Tn.off(document,zi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const n=zn.focusableChildren(e);0===n.length?e.focus():this._lastTabNavDirection===Hi?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Hi:"forward")}}const Ui=".bs.modal",Yi="hidden.bs.modal",Ki="show.bs.modal",Xi="modal-open",Qi="show",Zi="modal-static",Gi={backdrop:!0,focus:!0,keyboard:!0},Ji={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class ts extends Ln{constructor(t,e){super(t,e),this._dialog=zn.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Pi,this._addEventListeners()}static get Default(){return Gi}static get DefaultType(){return Ji}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||this._isTransitioning)return;Tn.trigger(this._element,Ki,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Xi),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;Tn.trigger(this._element,"hide.bs.modal").defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Qi),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated()))}dispose(){for(const t of[window,this._dialog])Tn.off(t,Ui);this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Vi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new $i({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=zn.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),rn(this._element),this._element.classList.add(Qi);this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,Tn.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){Tn.on(this._element,"keydown.dismiss.bs.modal",(t=>{if("Escape"===t.key)return this._config.keyboard?(t.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),Tn.on(window,"resize.bs.modal",(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),Tn.on(this._element,"mousedown.dismiss.bs.modal",(t=>{Tn.one(this._element,"click.dismiss.bs.modal",(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Xi),this._resetAdjustments(),this._scrollBar.reset(),Tn.trigger(this._element,Yi)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(Tn.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Zi)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Zi),this._queueCallback((()=>{this._element.classList.remove(Zi),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),n=e>0;if(n&&!t){const t=un()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!n&&t){const t=un()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const n=ts.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===n[t])throw new TypeError(`No method named "${t}"`);n[t](e)}}))}}Tn.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=Qe(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),Tn.one(e,Ki,(t=>{t.defaultPrevented||Tn.one(e,Yi,(()=>{tn(this)&&this.focus()}))}));const n=zn.findOne(".modal.show");n&&ts.getInstance(n).hide();ts.getOrCreateInstance(e).toggle(this)})),jn(ts),ln(ts);const es="show",ns="showing",is="hiding",ss=".offcanvas.show",rs="hidePrevented.bs.offcanvas",os="hidden.bs.offcanvas",as={backdrop:!0,keyboard:!0,scroll:!1},us={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class ls extends Ln{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return as}static get DefaultType(){return us}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown)return;if(Tn.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Pi).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ns);this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(es),this._element.classList.remove(ns),Tn.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0)}hide(){if(!this._isShown)return;if(Tn.trigger(this._element,"hide.bs.offcanvas").defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(is),this._backdrop.hide();this._queueCallback((()=>{this._element.classList.remove(es,is),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Pi).reset(),Tn.trigger(this._element,os)}),this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Vi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():Tn.trigger(this._element,rs)}:null})}_initializeFocusTrap(){return new $i({trapElement:this._element})}_addEventListeners(){Tn.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():Tn.trigger(this._element,rs))}))}static jQueryInterface(t){return this.each((function(){const e=ls.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}Tn.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=Qe(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),en(this))return;Tn.one(e,os,(()=>{tn(this)&&this.focus()}));const n=zn.findOne(ss);n&&n!==e&&ls.getInstance(n).hide();ls.getOrCreateInstance(e).toggle(this)})),Tn.on(window,"load.bs.offcanvas.data-api",(()=>{for(const t of zn.find(ss))ls.getOrCreateInstance(t).show()})),Tn.on(window,"resize.bs.offcanvas",(()=>{for(const t of zn.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&ls.getOrCreateInstance(t).hide()})),jn(ls),ln(ls);const cs=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),hs=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,ds=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,fs=(t,e)=>{const n=t.nodeName.toLowerCase();return e.includes(n)?!cs.has(n)||Boolean(hs.test(t.nodeValue)||ds.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(n)))},ps={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};const gs={allowList:ps,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},ms={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},vs={entry:"(string|element|function|null)",selector:"(string|element)"};class _s extends In{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return gs}static get DefaultType(){return ms}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,n]of Object.entries(this._config.content))this._setContent(t,n,e);const e=t.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&e.classList.add(...n.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,n]of Object.entries(t))super._typeCheckConfig({selector:e,entry:n},vs)}_setContent(t,e,n){const i=zn.findOne(n,t);i&&((e=this._resolvePossibleFunction(e))?Ge(e)?this._putElementInTemplate(Je(e),i):this._config.html?i.innerHTML=this._maybeSanitize(e):i.textContent=e:i.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,n){if(!t.length)return t;if(n&&"function"==typeof n)return n(t);const i=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...i.body.querySelectorAll("*"));for(const t of s){const n=t.nodeName.toLowerCase();if(!Object.keys(e).includes(n)){t.remove();continue}const i=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[n]||[]);for(const e of i)fs(e,s)||t.removeAttribute(e.nodeName)}return i.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return"function"==typeof t?t(this):t}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const bs=new Set(["sanitize","allowList","sanitizeFn"]),ys="fade",ks="show",ws=".modal",As="hide.bs.modal",Es="hover",Cs="focus",xs={AUTO:"auto",TOP:"top",RIGHT:un()?"left":"right",BOTTOM:"bottom",LEFT:un()?"right":"left"},Ss={allowList:ps,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Ts={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Ds extends Ln{constructor(t,e){if(void 0===Ue)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Ss}static get DefaultType(){return Ts}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),Tn.off(this._element.closest(ws),As,this._hideModalHandler),this.tip&&this.tip.remove(),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=Tn.trigger(this._element,this.constructor.eventName("show")),e=(nn(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this.tip&&(this.tip.remove(),this.tip=null);const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(n),Tn.trigger(this._element,this.constructor.eventName("inserted"))),this._popper?this._popper.update():this._popper=this._createPopper(n),n.classList.add(ks),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))Tn.on(t,"mouseover",sn);this._queueCallback((()=>{Tn.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(!this._isShown())return;if(Tn.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented)return;const t=this._getTipElement();if(t.classList.remove(ks),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))Tn.off(t,"mouseover",sn);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null;this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||t.remove(),this._element.removeAttribute("aria-describedby"),Tn.trigger(this._element,this.constructor.eventName("hidden")),this._disposePopper())}),this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ys,ks),e.classList.add(`bs-${this.constructor.NAME}-auto`);const n=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",n),this._isAnimated()&&e.classList.add(ys),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new _s({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ys)}_isShown(){return this.tip&&this.tip.classList.contains(ks)}_createPopper(t){const e="function"==typeof this._config.placement?this._config.placement.call(this,t,this._element):this._config.placement,n=xs[e.toUpperCase()];return $e(this._element,t,this._getPopperConfig(n))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)Tn.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===Es?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),n=e===Es?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");Tn.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?Cs:Es]=!0,e._enter()})),Tn.on(this._element,n,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?Cs:Es]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},Tn.on(this._element.closest(ws),As,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=Pn.getDataAttributes(this._element);for(const t of Object.keys(e))bs.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:Je(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=Ds.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}ln(Ds);const Fs={...Ds.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Os={...Ds.DefaultType,content:"(null|string|element|function)"};class Bs extends Ds{static get Default(){return Fs}static get DefaultType(){return Os}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=Bs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}ln(Bs);const Ms="click.bs.scrollspy",Ps="active",Is="[href]",Ls={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},js={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ns extends Ln{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Ls}static get DefaultType(){return js}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=Je(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(Tn.off(this._config.target,Ms),Tn.on(this._config.target,Ms,Is,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const n=this._rootElement||window,i=e.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:i,behavior:"smooth"});n.scrollTop=i}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),n=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},i=(this._rootElement||document.documentElement).scrollTop,s=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const r of t){if(!r.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(r));continue}const t=r.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(n(r),!i)return}else s||t||n(r)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=zn.find(Is,this._config.target);for(const e of t){if(!e.hash||en(e))continue;const t=zn.findOne(e.hash,this._element);tn(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Ps),this._activateParents(t),Tn.trigger(this._element,"activate.bs.scrollspy",{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))zn.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(Ps);else for(const e of zn.parents(t,".nav, .list-group"))for(const t of zn.prev(e,".nav-link, .nav-item > .nav-link, .list-group-item"))t.classList.add(Ps)}_clearActiveClass(t){t.classList.remove(Ps);const e=zn.find("[href].active",t);for(const t of e)t.classList.remove(Ps)}static jQueryInterface(t){return this.each((function(){const e=Ns.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Tn.on(window,"load.bs.scrollspy.data-api",(()=>{for(const t of zn.find('[data-bs-spy="scroll"]'))Ns.getOrCreateInstance(t)})),ln(Ns);const Rs="ArrowLeft",Vs="ArrowRight",zs="ArrowUp",Hs="ArrowDown",qs="active",Ws="fade",$s="show",Us='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Ys=`.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${Us}`;class Ks extends Ln{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),Tn.on(this._element,"keydown.bs.tab",(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),n=e?Tn.trigger(e,"hide.bs.tab",{relatedTarget:t}):null;Tn.trigger(t,"show.bs.tab",{relatedTarget:e}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){if(!t)return;t.classList.add(qs),this._activate(Qe(t));this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),Tn.trigger(t,"shown.bs.tab",{relatedTarget:e})):t.classList.add($s)}),t,t.classList.contains(Ws))}_deactivate(t,e){if(!t)return;t.classList.remove(qs),t.blur(),this._deactivate(Qe(t));this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),Tn.trigger(t,"hidden.bs.tab",{relatedTarget:e})):t.classList.remove($s)}),t,t.classList.contains(Ws))}_keydown(t){if(![Rs,Vs,zs,Hs].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[Vs,Hs].includes(t.key),n=dn(this._getChildren().filter((t=>!en(t))),t.target,e,!0);n&&(n.focus({preventScroll:!0}),Ks.getOrCreateInstance(n).show())}_getChildren(){return zn.find(Ys,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),n=this._getOuterElement(t);t.setAttribute("aria-selected",e),n!==t&&this._setAttributeIfNotExists(n,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=Qe(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`#${t.id}`))}_toggleDropDown(t,e){const n=this._getOuterElement(t);if(!n.classList.contains("dropdown"))return;const i=(t,i)=>{const s=zn.findOne(t,n);s&&s.classList.toggle(i,e)};i(".dropdown-toggle",qs),i(".dropdown-menu",$s),n.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,n){t.hasAttribute(e)||t.setAttribute(e,n)}_elemIsActive(t){return t.classList.contains(qs)}_getInnerElement(t){return t.matches(Ys)?t:zn.findOne(Ys,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ks.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Tn.on(document,"click.bs.tab",Us,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),en(this)||Ks.getOrCreateInstance(this).show()})),Tn.on(window,"load.bs.tab",(()=>{for(const t of zn.find('.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]'))Ks.getOrCreateInstance(t)})),ln(Ks);const Xs="hide",Qs="show",Zs="showing",Gs={animation:"boolean",autohide:"boolean",delay:"number"},Js={animation:!0,autohide:!0,delay:5e3};class tr extends Ln{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Js}static get DefaultType(){return Gs}static get NAME(){return"toast"}show(){if(Tn.trigger(this._element,"show.bs.toast").defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");this._element.classList.remove(Xs),rn(this._element),this._element.classList.add(Qs,Zs),this._queueCallback((()=>{this._element.classList.remove(Zs),Tn.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation)}hide(){if(!this.isShown())return;if(Tn.trigger(this._element,"hide.bs.toast").defaultPrevented)return;this._element.classList.add(Zs),this._queueCallback((()=>{this._element.classList.add(Xs),this._element.classList.remove(Zs,Qs),Tn.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Qs),super.dispose()}isShown(){return this._element.classList.contains(Qs)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const n=t.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){Tn.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),Tn.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),Tn.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),Tn.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=tr.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}jn(tr),ln(tr);var er=Object.freeze({__proto__:null,Alert:Nn,Button:Vn,Carousel:si,Collapse:hi,Dropdown:Di,Modal:ts,Offcanvas:ls,Popover:Bs,ScrollSpy:Ns,Tab:Ks,Toast:tr,Tooltip:Ds});[].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]')).map((function(t){var e={boundary:"viewport"===t.getAttribute("data-bs-boundary")?document.querySelector(".btn"):"clippingParents"};return new Di(t,e)})),[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){var e,n,i={delay:{show:50,hide:50},html:null!==(e="true"===t.getAttribute("data-bs-html"))&&void 0!==e&&e,placement:null!==(n=t.getAttribute("data-bs-placement"))&&void 0!==n?n:"auto"};return new Ds(t,i)})),[].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')).map((function(t){var e,n,i={delay:{show:50,hide:50},html:null!==(e="true"===t.getAttribute("data-bs-html"))&&void 0!==e&&e,placement:null!==(n=t.getAttribute("data-bs-placement"))&&void 0!==n?n:"auto"};return new Bs(t,i)})),[].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]')).map((function(t){t.addEventListener("click",(function(e){e.stopPropagation(),t.classList.toggle("active")}))}));var nr;(nr=window.location.hash)&&[].slice.call(document.querySelectorAll('[data-bs-toggle="tab"]')).filter((function(t){return t.hash===nr})).map((function(t){new Ks(t).show()})),[].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]')).map((function(t){return new tr(t)}));var ir="tblr-",sr=function(t,e){var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return n?"rgba(".concat(parseInt(n[1],16),", ").concat(parseInt(n[2],16),", ").concat(parseInt(n[3],16),", ").concat(e,")"):null},rr=Object.freeze({__proto__:null,prefix:ir,hexToRgba:sr,getColor:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=getComputedStyle(document.body).getPropertyValue("--".concat(ir).concat(t)).trim();return 1!==e?sr(n,e):n}});globalThis.bootstrap=er,globalThis.tabler=rr})); \ No newline at end of file diff --git a/demo/dist/libs/apexcharts/dist/apexcharts.amd.js b/demo/dist/libs/apexcharts/dist/apexcharts.amd.js deleted file mode 100644 index b704fc785..000000000 --- a/demo/dist/libs/apexcharts/dist/apexcharts.amd.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see apexcharts.amd.js.LICENSE.txt */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ApexCharts=e():t.ApexCharts=e()}(self,(function(){return(()=>{var t={922:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var i=function(t,e){var i,a,s,r=t[1]||"",n=t[3];if(!n)return r;if(e&&"function"==typeof btoa){var o=(i=n,a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),"/*# ".concat(s," */")),l=n.sources.map((function(t){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(t," */")}));return[r].concat(l).concat([o]).join("\n")}return[r].join("\n")}(e,t);return e[2]?"@media ".concat(e[2]," {").concat(i,"}"):i})).join("")},e.i=function(t,i){"string"==typeof t&&(t=[[null,t,""]]);for(var a=0;an.maxX-i.width&&(o=(s=n.maxX-i.width)-this.startPoints.box.x),null!=n.minY&&rn.maxY-i.height&&(l=(r=n.maxY-i.height)-this.startPoints.box.y),null!=n.snapToGrid&&(s-=s%n.snapToGrid,r-=r%n.snapToGrid,o-=o%n.snapToGrid,l-=l%n.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:l},!0):this.el.move(s,r));return a},e.prototype.end=function(t){var e=this.drag(t);this.el.fire("dragend",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(i,a){"function"!=typeof i&&"object"!=t(i)||(a=i,i=!0);var s=this.remember("_draggable")||new e(this);return(i=void 0===i||i)?s.init(a||{},i):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}).call(this)},872:function(){(function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr("in")&&this.autoSetIn&&t.attr("in",this.source),t.attr("result")||t.attr("result",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return"function"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr("in",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||"normal"})},colorMatrix:function(t,e){"matrix"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr("flood-color",t),null!=e&&this.attr("flood-opacity",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr("href",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr("stdDeviation",r(Array.prototype.slice.call(arguments))):this.attr("stdDeviation","0 0")},morphology:function(t,e){this.attr({operator:t,radius:e})},tile:function(){},turbulence:function(t,e,i,a,s){this.attr({numOctaves:e,seed:i,stitchTiles:a,baseFrequency:t,type:s})}},i={merge:function(){var t;if(arguments[0]instanceof SVG.Set){var e=this;arguments[0].each((function(t){this instanceof SVG.MergeNode?e.put(this):(this instanceof SVG.Effect||this instanceof SVG.ParentEffect)&&e.put(new SVG.MergeNode(this))}))}else{t=Array.isArray(arguments[0])?arguments[0]:arguments;for(var i=0;i{!function(){"use strict";function t(t,s,r,n,o,l,c){for(var h=t.slice(s,r||c),d=n.slice(o,l||c),u=0,g={pos:[0,0],start:[0,0]},f={pos:[0,0],start:[0,0]};h[u]=e.call(g,h[u]),d[u]=e.call(f,d[u]),h[u][0]!=d[u][0]||"M"==h[u][0]||"A"==h[u][0]&&(h[u][4]!=d[u][4]||h[u][5]!=d[u][5])?(Array.prototype.splice.apply(h,[u,1].concat(a.call(g,h[u]))),Array.prototype.splice.apply(d,[u,1].concat(a.call(f,d[u])))):(h[u]=i.call(g,h[u]),d[u]=i.call(f,d[u])),++u!=h.length||u!=d.length;)u==h.length&&h.push(["C",g.pos[0],g.pos[1],g.pos[0],g.pos[1],g.pos[0],g.pos[1]]),u==d.length&&d.push(["C",f.pos[0],f.pos[1],f.pos[0],f.pos[1],f.pos[0],f.pos[1]]);return{start:h,dest:d}}function e(t){switch(t[0]){case"z":case"Z":t[0]="L",t[1]=this.start[0],t[2]=this.start[1];break;case"H":t[0]="L",t[2]=this.pos[1];break;case"V":t[0]="L",t[2]=t[1],t[1]=this.pos[0];break;case"T":t[0]="Q",t[3]=t[1],t[4]=t[2],t[1]=this.reflection[1],t[2]=this.reflection[0];break;case"S":t[0]="C",t[6]=t[4],t[5]=t[3],t[4]=t[2],t[3]=t[1],t[2]=this.reflection[1],t[1]=this.reflection[0]}return t}function i(t){var e=t.length;return this.pos=[t[e-2],t[e-1]],-1!="SCQT".indexOf(t[0])&&(this.reflection=[2*this.pos[0]-t[e-4],2*this.pos[1]-t[e-3]]),t}function a(t){var e=[t];switch(t[0]){case"M":return this.pos=this.start=[t[1],t[2]],e;case"L":t[5]=t[3]=t[1],t[6]=t[4]=t[2],t[1]=this.pos[0],t[2]=this.pos[1];break;case"Q":t[6]=t[4],t[5]=t[3],t[4]=1*t[4]/3+2*t[2]/3,t[3]=1*t[3]/3+2*t[1]/3,t[2]=1*this.pos[1]/3+2*t[2]/3,t[1]=1*this.pos[0]/3+2*t[1]/3;break;case"A":t=(e=function(t,e){var i,a,s,r,n,o,l,c,h,d,u,g,f,p,x,b,v,m,y,w,k,A,S,C,P,L,T=Math.abs(e[1]),O=Math.abs(e[2]),E=e[3]%360,M=e[4],I=e[5],z=e[6],X=e[7],Y=new SVG.Point(t),F=new SVG.Point(z,X),R=[];if(0===T||0===O||Y.x===F.x&&Y.y===F.y)return[["C",Y.x,Y.y,F.x,F.y,F.x,F.y]];for((a=(i=new SVG.Point((Y.x-F.x)/2,(Y.y-F.y)/2).transform((new SVG.Matrix).rotate(E))).x*i.x/(T*T)+i.y*i.y/(O*O))>1&&(T*=a=Math.sqrt(a),O*=a),s=(new SVG.Matrix).rotate(E).scale(1/T,1/O).rotate(-E),Y=Y.transform(s),o=(r=[(F=F.transform(s)).x-Y.x,F.y-Y.y])[0]*r[0]+r[1]*r[1],n=Math.sqrt(o),r[0]/=n,r[1]/=n,l=o<4?Math.sqrt(1-o/4):0,M===I&&(l*=-1),c=new SVG.Point((F.x+Y.x)/2+l*-r[1],(F.y+Y.y)/2+l*r[0]),h=new SVG.Point(Y.x-c.x,Y.y-c.y),d=new SVG.Point(F.x-c.x,F.y-c.y),u=Math.acos(h.x/Math.sqrt(h.x*h.x+h.y*h.y)),h.y<0&&(u*=-1),g=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(g*=-1),I&&u>g&&(g+=2*Math.PI),!I&&u{!function(){"use strict";(function(){function t(t){t.remember("_resizeHandler",this),this.el=t,this.parameters={},this.lastUpdateCall=null,this.p=t.doc().node.createSVGPoint()}t.prototype.transformPoint=function(t,e,i){return this.p.x=t-(this.offset.x-window.pageXOffset),this.p.y=e-(this.offset.y-window.pageYOffset),this.p.matrixTransform(i||this.m)},t.prototype._extractPosition=function(t){return{x:null!=t.clientX?t.clientX:t.touches[0].clientX,y:null!=t.clientY?t.clientY:t.touches[0].clientY}},t.prototype.init=function(t){var e=this;if(this.stop(),"stop"!==t){for(var i in this.options={},this.el.resize.defaults)this.options[i]=this.el.resize.defaults[i],void 0!==t[i]&&(this.options[i]=t[i]);this.el.on("lt.resize",(function(t){e.resize(t||window.event)})),this.el.on("rt.resize",(function(t){e.resize(t||window.event)})),this.el.on("rb.resize",(function(t){e.resize(t||window.event)})),this.el.on("lb.resize",(function(t){e.resize(t||window.event)})),this.el.on("t.resize",(function(t){e.resize(t||window.event)})),this.el.on("r.resize",(function(t){e.resize(t||window.event)})),this.el.on("b.resize",(function(t){e.resize(t||window.event)})),this.el.on("l.resize",(function(t){e.resize(t||window.event)})),this.el.on("rot.resize",(function(t){e.resize(t||window.event)})),this.el.on("point.resize",(function(t){e.resize(t||window.event)})),this.update()}},t.prototype.stop=function(){return this.el.off("lt.resize"),this.el.off("rt.resize"),this.el.off("rb.resize"),this.el.off("lb.resize"),this.el.off("t.resize"),this.el.off("r.resize"),this.el.off("b.resize"),this.el.off("l.resize"),this.el.off("rot.resize"),this.el.off("point.resize"),this},t.prototype.resize=function(t){var e=this;this.m=this.el.node.getScreenCTM().inverse(),this.offset={x:window.pageXOffset,y:window.pageYOffset};var i=this._extractPosition(t.detail.event);if(this.parameters={type:this.el.type,p:this.transformPoint(i.x,i.y),x:t.detail.x,y:t.detail.y,box:this.el.bbox(),rotation:this.el.transform().rotation},"text"===this.el.type&&(this.parameters.fontSize=this.el.attr()["font-size"]),void 0!==t.detail.i){var a=this.el.array().valueOf();this.parameters.i=t.detail.i,this.parameters.pointCoords=[a[t.detail.i][0],a[t.detail.i][1]]}switch(t.type){case"lt":this.calc=function(t,e){var i=this.snapToGrid(t,e);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case"rt":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case"rb":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case"lb":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case"t":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case"r":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case"b":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case"l":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case"rot":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),n=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(n-n%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,"touchmove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"touchend.resize",(function(){e.done()})),SVG.on(window,"mousemove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"mouseup.resize",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])n.maxX&&(t=n.maxX-s),void 0!==n.minY&&r+en.maxY&&(e=n.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],n=s/r;return na&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}()},769:()=>{function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}!function(){"use strict";function e(t){this.el=t,t.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,e,i){var a="string"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,"t"===t||"b"===t),y:this.pointCoord(i[1],e,"r"===t||"l"===t)}}}e.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=["points","pointsExclude"];for(var s in r){var n=this.options[r[s]];"string"==typeof n?n=n.length>0?n.split(/\s*,\s*/i):[]:"boolean"==typeof n&&"points"===r[s]&&(n=n?a:[]),this.options[r[s]]=n}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},e.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},e.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},e.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i{"use strict";function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){for(var i=0;iSa});const r=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}var e,i,r;return e=t,r=[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(t){return t&&"object"===a(t)&&!Array.isArray(t)&&null!=t}},{key:"is",value:function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;ee.length?t:e}))),t.length>e.length?t:e}),0)}},{key:"hexToRgba",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var a=t.indexOf("Edge/");return a>0&&parseInt(t.substring(a+5,t.indexOf(".",a)),10)}}],(i=[{key:"shadeRGBColor",value:function(t,e){var i=e.split(","),a=t<0?0:255,s=t<0?-1*t:t,r=parseInt(i[0].slice(4),10),n=parseInt(i[1],10),o=parseInt(i[2],10);return"rgb("+(Math.round((a-r)*s)+r)+","+(Math.round((a-n)*s)+n)+","+(Math.round((a-o)*s)+o)+")"}},{key:"shadeHexColor",value:function(t,e){var i=parseInt(e.slice(1),16),a=t<0?0:255,s=t<0?-1*t:t,r=i>>16,n=i>>8&255,o=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-n)*s)+n)+(Math.round((a-o)*s)+o)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}])&&s(e.prototype,i),r&&s(e,r),t}();function n(t,e){for(var i=0;i"}this.w.globals.easing=t}}},{key:"animateLine",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:"animateMarker",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:"animateCircle",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:"animateRect",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:"animatePathsGradually",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,n=t.pathTo,o=t.speed,l=t.delay,c=this.w,h=0;c.config.chart.animations.animateGradually.enabled&&(h=c.config.chart.animations.animateGradually.delay),c.config.chart.animations.dynamicAnimation.enabled&&c.globals.dataChanged&&"bar"!==c.config.chart.type&&(h=0),this.morphSVG(e,i,a,"line"!==c.config.chart.type||c.globals.comboCharts?s:"stroke",r,n,o,l*h)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach((function(t){t.el.classList.remove("apexcharts-element-hidden")}))}},{key:"animationCompleted",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),"function"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:"morphSVG",value:function(t,e,i,a,s,n,o,l){var c=this,h=this.w;s||(s=t.attr("pathFrom")),n||(n=t.attr("pathTo"));var d=function(t){return"radar"===h.config.chart.type&&(o=1),"M 0 ".concat(h.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=d()),(!n||n.indexOf("undefined")>-1||n.indexOf("NaN")>-1)&&(n=d()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,l).plot(s).animate(o,h.globals.easing,l).plot(n).afterAll((function(){r.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&c.animationCompleted(t):"none"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&c.animationCompleted(t),c.showDelayedElements()}))}}])&&n(e.prototype,i),t}();function l(t,e){for(var i=0;i3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(t,e);break;case"lighten":this.addLightenFilter(t,e,{intensity:a});break;case"darken":this.addDarkenFilter(t,e,{intensity:a})}}},{key:"addShadow",value:function(t,e,i){var a=i.blur,s=i.top,r=i.left,n=i.color,o=i.opacity,l=t.flood(Array.isArray(n)?n[e]:n,o).composite(t.sourceAlpha,"in").offset(r,s).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:"dropShadow",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,n=e.blur,o=e.color,l=e.opacity,c=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),r.isIE()&&"radialBar"===h.config.chart.type||(o=Array.isArray(o)?o[i]:o,t.filter((function(t){var e;e=r.isSafari()||r.isFirefox()||r.isIE()?t.flood(o,l).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(n):t.flood(o,l).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(n).merge(t.source),t.blend(t.source,e)})),c||t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)),t}},{key:"setSelectionFilter",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute("selected",!0);var s=a.config.states.active.filter;"none"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:"_scaleFilterSize",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}])&&l(e.prototype,i),t}();function h(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function d(t){for(var e=1;e4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"butt",l=this.w,c=l.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":n,"stroke-linecap":o});return c}},{key:"drawRect",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,h=this.w,d=h.globals.dom.Paper.rect();return d.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:n,"stroke-width":null!==o?o:0,stroke:null!==l?l:"none","stroke-dasharray":c}),d.node.setAttribute("fill",r),d}},{key:"drawPolygon",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none",s=this.w,r=s.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,"stroke-width":i});return r}},{key:"drawCircle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;t<0&&(t=0);var a=i.globals.dom.Paper.circle(2*t);return null!==e&&a.attr(e),a}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,a=t.stroke,s=void 0===a?"#a8a8a8":a,r=t.strokeWidth,n=void 0===r?1:r,o=t.fill,l=t.fillOpacity,c=void 0===l?1:l,h=t.strokeOpacity,d=void 0===h?1:h,u=t.classes,g=t.strokeLinecap,f=void 0===g?null:g,p=t.strokeDashArray,x=void 0===p?0:p,b=this.w;return null===f&&(f=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:o,"fill-opacity":c,stroke:s,"stroke-opacity":d,"stroke-linecap":f,"stroke-width":n,"stroke-dasharray":x,class:u})}},{key:"group",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=e.globals.dom.Paper.group();return null!==t&&i.attr(t),i}},{key:"move",value:function(t,e){return["M",t,e].join(" ")}},{key:"line",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=["L",t,e].join(" "):"H"===i?a=["H",t].join(" "):"V"===i&&(a=["V",e].join(" ")),a}},{key:"curve",value:function(t,e,i,a,s,r){return["C",t,e,i,a,s,r].join(" ")}},{key:"quadraticCurve",value:function(t,e,i,a){return["Q",t,e,i,a].join(" ")}},{key:"arc",value:function(t,e,i,a,s,r,n){var o=arguments.length>7&&void 0!==arguments[7]&&arguments[7],l="A";o&&(l="a");var c=[l,t,e,i,a,s,r,n].join(" ");return c}},{key:"renderPaths",value:function(t){var e,i=t.j,a=t.realIndex,s=t.pathFrom,r=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,u=t.fill,g=t.animationDelay,f=t.initialSpeed,p=t.dataChangeSpeed,x=t.className,b=t.shouldClipToGrid,v=void 0===b||b,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new c(this.ctx),C=new o(this.ctx),P=this.w.config.chart.animations.enabled,L=P&&this.w.config.chart.animations.dynamicAnimation.enabled,T=!!(P&&!A.globals.resized||L&&A.globals.dataChanged&&A.globals.shouldAnimate);T?e=s:(e=r,A.globals.animationEnded=!0);var O,E=A.config.stroke.dashArray;O=Array.isArray(E)?E[a]:A.config.stroke.dashArray;var M=this.drawPath({d:e,stroke:n,strokeWidth:l,fill:u,fillOpacity:1,classes:x,strokeLinecap:h,strokeDashArray:O});if(M.attr("index",a),v&&M.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")}),"none"!==A.config.states.normal.filter.type)S.getDefaultFilter(M,a);else if(A.config.chart.dropShadow.enabled&&k&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(a))){var I=A.config.chart.dropShadow;S.dropShadow(M,I,a)}y&&(M.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,M)),M.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,M)),M.node.addEventListener("mousedown",this.pathMouseDown.bind(this,M))),M.attr({pathTo:r,pathFrom:s});var z={el:M,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:u,strokeWidth:l,delay:g};return!P||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(d(d({},z),{},{speed:f})),A.globals.dataChanged&&L&&T&&C.animatePathsGradually(d(d({},z),{},{speed:p})),M}},{key:"drawPattern",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=this.w,n=r.globals.dom.Paper.pattern(e,i,(function(r){"horizontalLines"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):"verticalLines"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):"slantedLines"===t?r.line(0,0,e,i).stroke({color:a,width:s}):"squares"===t?r.rect(e,i).fill("none").stroke({color:a,width:s}):"circles"===t&&r.circle(e).fill("none").stroke({color:a,width:s})}));return n}},{key:"drawGradient",value:function(t,e,i,a,s){var n,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,d=this.w;e.length<9&&0===e.indexOf("#")&&(e=r.hexToRgba(e,a)),i.length<9&&0===i.indexOf("#")&&(i=r.hexToRgba(i,s));var u=0,g=1,f=1,p=null;null!==l&&(u=void 0!==l[0]?l[0]/100:0,g=void 0!==l[1]?l[1]/100:1,f=void 0!==l[2]?l[2]/100:1,p=void 0!==l[3]?l[3]/100:null);var x=!("donut"!==d.config.chart.type&&"pie"!==d.config.chart.type&&"polarArea"!==d.config.chart.type&&"bubble"!==d.config.chart.type);if(n=null===c||0===c.length?d.globals.dom.Paper.gradient(x?"radial":"linear",(function(t){t.at(u,e,a),t.at(g,i,s),t.at(f,i,s),null!==p&&t.at(p,e,a)})):d.globals.dom.Paper.gradient(x?"radial":"linear",(function(t){(Array.isArray(c[h])?c[h]:c).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),x){var b=d.globals.gridWidth/2,v=d.globals.gridHeight/2;"bubble"!==d.config.chart.type?n.attr({gradientUnits:"userSpaceOnUse",cx:b,cy:v,r:o}):n.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?n.from(0,0).to(0,1):"diagonal"===t?n.from(0,0).to(1,1):"horizontal"===t?n.from(0,1).to(1,1):"diagonal2"===t&&n.from(1,0).to(0,1);return n}},{key:"getTextBasedOnMaxWidth",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),n=r.width/e.length,o=Math.floor(i/n);return i-1){var o=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(".apexcharts-series path").members,h=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,d=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute("selected","false"),a.getDefaultFilter(t,s)}))};d(l),d(h)}t.node.setAttribute("selected","true"),n="true",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if("true"===n){var u=i.config.states.active.filter;if("none"!==u)a.applyFilter(t,s,u.type,u.value);else if("none"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else"none"!==i.config.states.active.filter.type&&("none"===i.config.states.hover.filter.type||i.globals.isTouchDevice?a.getDefaultFilter(t,s):(g=i.config.states.hover.filter,a.applyFilter(t,s,g.type,g.value)));"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e={};return t&&"function"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});a&&n.attr("transform",a),r.globals.dom.Paper.add(n);var o=n.bbox();return s||(o=n.node.getBoundingClientRect()),n.remove(),{width:o.width,height:o.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if("function"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+"...");t.textContent="."}}}])&&g(e.prototype,i),a&&g(e,a),t}();function p(t,e){for(var i=0;i0&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:"extendArrayProps",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}],(i=[{key:"getStackedSeriesTotals",value:function(){var t=this.w,e=[];if(0===t.globals.series.length)return e;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:"isSeriesNull",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:"getCategoryLabels",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][n]1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4),"top"===t.label.position?s.setAttribute("y",parseFloat(s.getAttribute("y"))+r.width):s.setAttribute("y",parseFloat(s.getAttribute("y"))-r.width);var n=this.annoCtx.graphics.rotateAroundCenter(s),o=n.x,l=n.y;s.setAttribute("transform","rotate(-90 ".concat(o," ").concat(l,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,n=e.label.style.padding.right,o=e.label.style.padding.top,l=e.label.style.padding.bottom;"vertical"===e.label.orientation&&(o=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,n=e.label.style.padding.bottom);var c=s.left-a.left-r,h=s.top-a.top-o,d=this.annoCtx.graphics.drawRect(c-i.globals.barPadForNumericAxis,h,s.width+r+n,s.height+o+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:"annotationsBackground",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(a,"']"));if(r){var n=r.parentNode,o=t.addBackgroundToAnno(r,i);o&&(n.insertBefore(o.node,r),i.label.mouseEnter&&o.node.addEventListener("mouseenter",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&o.node.addEventListener("mouseleave",i.label.mouseLeave.bind(t,i)),i.label.click&&o.node.addEventListener("click",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,"xaxis")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,"yaxis")})),e.config.annotations.points.map((function(t,e){i(t,e,"point")}))}},{key:"getY1Y2",value:function(t,e){var i,a="y1"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var n=s.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(r+1)+")");n&&(i=parseFloat(n.getAttribute("y")))}else{var o;o=s.config.yaxis[e.yAxisIndex].logarithmic?(a=new x(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex]:(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight),i=s.globals.gridHeight-o,!e.marker||void 0!==e.y&&null!==e.y||(i=0),s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=o)}return i}},{key:"getX1X2",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,s=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,r=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,n=(e.x-a)/(r/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(n=(s-e.x)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x));var o=(e.x2-a)/(r/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(o=(s-e.x2)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(n=i.globals.gridWidth),"x1"===t?n:o}},{key:"getStringX",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return s&&(i=parseFloat(s.getAttribute("x"))),i}}])&&b(e.prototype,i),t}();function m(t,e){for(var i=0;in){var c=n;n=a,a=c}var h=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),n-a,0,t.fillColor,t.opacity,1,t.borderColor,r);h.node.classList.add("apexcharts-annotation-rect"),h.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(h.node),t.id&&h.node.classList.add(t.id)}var d="right"===t.label.position?s.globals.gridWidth:0,u=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:n)+t.label.offsetY-3,text:o,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});u.attr({rel:i}),e.appendChild(u.node)}},{key:"_getYAxisAnnotationWidth",value:function(t){var e=this.w;return e.globals.gridWidth,(t.width.indexOf("%")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:"drawYAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}])&&w(e.prototype,i),t}();function A(t,e){for(var i=0;i1&&n[o].classList.add("apexcharts-element-hidden"),t.globals.delayedElements.push({el:n[o],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:"drawTextAnnos",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:"addXaxisAnnotation",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:"addYaxisAnnotation",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:"addPointAnnotation",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:"addText",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,n=t.foreColor,o=t.fontSize,l=t.fontFamily,c=t.fontWeight,h=t.cssClass,d=t.backgroundColor,u=t.borderWidth,g=t.strokeDashArray,f=t.borderRadius,p=t.borderColor,x=t.appendTo,b=void 0===x?".apexcharts-annotations":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,P=this.w,L=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:o||"12px",fontWeight:c||"regular",fontFamily:l||P.config.chart.fontFamily,foreColor:n||P.config.chart.foreColor,cssClass:h}),T=P.globals.dom.baseEl.querySelector(b);T&&T.appendChild(L.node);var O=L.bbox();if(s){var E=this.graphics.drawRect(O.x-m,O.y-C,O.width+m+w,O.height+A+C,f,d||"transparent",1,u,p,g);T.insertBefore(E.node,L.node)}}},{key:"addImage",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,n=t.y,o=void 0===n?0:n,l=t.width,c=void 0===l?20:l,h=t.height,d=void 0===h?20:h,u=t.appendTo,g=void 0===u?".apexcharts-annotations":u,f=i.globals.dom.Paper.image(a);f.size(c,d).move(r,o);var p=i.globals.dom.baseEl.querySelector(g);return p&&p.appendChild(f.node),f}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,n=t.contextMethod,o=a,l=o.w,c=l.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),h=c.childNodes.length+1,d=new L,u=Object.assign({},"xaxis"===s?d.xAxisAnnotation:"yaxis"===s?d.yAxisAnnotation:d.pointAnnotation),g=r.extend(u,e);switch(s){case"xaxis":this.addXaxisAnnotation(g,c,h);break;case"yaxis":this.addYaxisAnnotation(g,c,h);break;case"point":this.addPointAnnotation(g,c,h)}var f=l.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(h,"']")),p=this.helpers.addBackgroundToAnno(f,g);return p&&c.insertBefore(p.node,f),i&&l.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:r.randomId(),method:n,label:"addAnnotation",params:e}),a}},{key:"clearAnnotations",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations");e.globals.memory.methodsToExec.map((function(t,i){"addText"!==t.label&&"addAnnotation"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=r.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:"removeAnnotation",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}])&&T(e.prototype,i),t}();function E(t,e){for(var i=0;is?a:s,n=t.image,o=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(o=i.fill.image.width+1,l=i.fill.image.height):(o=r+1,l=r):(o=t.width,l=t.height);var c=document.createElementNS(e.globals.SVGNS,"pattern");f.setAttrs(c,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:o+"px",height:l+"px"});var h=document.createElementNS(e.globals.SVGNS,"image");c.appendChild(h),h.setAttributeNS(window.SVG.xlink,"href",n),f.setAttrs(h,{x:0,y:0,preserveAspectRatio:"none",width:o+"px",height:l+"px"}),h.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(c)}},{key:"getSeriesIndex",value:function(t){var e=this.w;return("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||"heatmap"===e.config.chart.type||"treemap"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(t){var e=this.w;this.opts=t;var i,a,s,n=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),"function"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var l=this.getFillType(this.seriesIndex),c=Array.isArray(n.fill.opacity)?n.fill.opacity[this.seriesIndex]:n.fill.opacity;t.color&&(o=t.color);var h=o;if(-1===o.indexOf("rgb")?o.length<9&&(h=r.hexToRgba(o,c)):o.indexOf("rgba")>-1&&(c=r.getOpacityFromRGBA(o)),t.opacity&&(c=t.opacity),"pattern"===l&&(a=this.handlePatternFill(a,o,c,h)),"gradient"===l&&(s=this.handleGradientFill(o,c,this.seriesIndex)),"image"===l){var d=n.fill.image.src,u=t.patternID?t.patternID:"";this.clippedImgArea({opacity:c,image:Array.isArray(d)?t.seriesNumber-1&&(d=r.getOpacityFromRGBA(h));var u=void 0===s.fill.gradient.opacityTo?e:Array.isArray(s.fill.gradient.opacityTo)?s.fill.gradient.opacityTo[i]:s.fill.gradient.opacityTo;if(void 0===s.fill.gradient.gradientToColors||0===s.fill.gradient.gradientToColors.length)a="dark"===s.fill.gradient.shade?l.shadeColor(-1*parseFloat(s.fill.gradient.shadeIntensity),t.indexOf("rgb")>-1?r.rgb2hex(t):t):l.shadeColor(parseFloat(s.fill.gradient.shadeIntensity),t.indexOf("rgb")>-1?r.rgb2hex(t):t);else if(s.fill.gradient.gradientToColors[n.seriesNumber]){var g=s.fill.gradient.gradientToColors[n.seriesNumber];a=g,g.indexOf("rgba")>-1&&(u=r.getOpacityFromRGBA(g))}else a=t;if(s.fill.gradient.inverseColors){var p=h;h=a,a=p}return h.indexOf("rgb")>-1&&(h=r.rgb2hex(h)),a.indexOf("rgb")>-1&&(a=r.rgb2hex(a)),o.drawGradient(c,h,a,d,u,n.size,s.fill.gradient.stops,s.fill.gradient.colorStops,i)}}])&&E(e.prototype,i),t}();function I(t,e){for(var i=0;i0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,l=e,h=t,d=null,u=new f(this.ctx),g=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||n||g)&&(d=u.group({class:n||g?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(o.globals.cuid,")")),Array.isArray(h.x))for(var p=0;p0:o.config.markers.size>0;if(v||n||g){r.isNumber(h.y[p])?b+=" w".concat(r.randomId()):b="apexcharts-nullpoint";var m=this.getMarkerConfig({cssClass:b,seriesIndex:e,dataPointIndex:x});o.config.series[l].data[x]&&(o.config.series[l].data[x].fillColor&&(m.pointFillColor=o.config.series[l].data[x].fillColor),o.config.series[l].data[x].strokeColor&&(m.pointStrokeColor=o.config.series[l].data[x].strokeColor)),a&&(m.pSize=a),(s=u.drawMarker(h.x[p],h.y[p],m)).attr("rel",x),s.attr("j",x),s.attr("index",e),s.node.setAttribute("default-marker-size",m.pSize);var y=new c(this.ctx);y.setSelectionFilter(s,e,x),this.addEvents(s),d&&d.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([h.x[p],h.y[p]])}return d}},{key:"getMarkerConfig",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,n=void 0===r?null:r,o=this.w,l=this.getMarkerStyle(i),c=o.globals.markers.size[i],h=o.config.markers;return null!==s&&h.discrete.length&&h.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,c=t.size,l.pointShape=t.shape)})),{pSize:null===n?c:n,pRadius:h.radius,width:Array.isArray(h.width)?h.width[i]:h.width,height:Array.isArray(h.height)?h.height[i]:h.height,pointStrokeWidth:Array.isArray(h.strokeWidth)?h.strokeWidth[i]:h.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(h.shape)?h.shape[i]:h.shape),class:e,pointStrokeOpacity:Array.isArray(h.strokeOpacity)?h.strokeOpacity[i]:h.strokeOpacity,pointStrokeDashArray:Array.isArray(h.strokeDashArray)?h.strokeDashArray[i]:h.strokeDashArray,pointFillOpacity:Array.isArray(h.fillOpacity)?h.fillOpacity[i]:h.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(t){var e=this.w,i=new f(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}])&&I(e.prototype,i),t}();function X(t,e){for(var i=0;ix.maxBubbleRadius&&(p=x.maxBubbleRadius)}a.config.chart.animations.enabled||(g=p);var b=n.x[h],v=n.y[h];if(g=g||0,null!==v&&void 0!==a.globals.series[r][d]||(u=!1),u){var m=this.drawPoint(b,v,g,p,r,d,e);c.add(m)}l.add(c)}}},{key:"drawPoint",value:function(t,e,i,a,s,r,n){var l=this.w,h=s,d=new o(this.ctx),u=new c(this.ctx),g=new M(this.ctx),p=new z(this.ctx),x=new f(this.ctx),b=p.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:h,dataPointIndex:r,finishRadius:"bubble"===l.config.chart.type||l.globals.comboCharts&&l.config.series[s]&&"bubble"===l.config.series[s].type?a:null});a=b.pSize;var v,m=g.fillPath({seriesNumber:s,dataPointIndex:r,color:b.pointFillColor,patternUnits:"objectBoundingBox",value:l.globals.series[s][n]});if("circle"===b.shape?v=x.drawCircle(i):"square"!==b.shape&&"rect"!==b.shape||(v=x.drawRect(0,0,b.width-b.pointStrokeWidth/2,b.height-b.pointStrokeWidth/2,b.pRadius)),l.config.series[h].data[r]&&l.config.series[h].data[r].fillColor&&(m=l.config.series[h].data[r].fillColor),v.attr({x:t-b.width/2-b.pointStrokeWidth/2,y:e-b.height/2-b.pointStrokeWidth/2,cx:t,cy:e,fill:m,"fill-opacity":b.pointFillOpacity,stroke:b.pointStrokeColor,r:a,"stroke-width":b.pointStrokeWidth,"stroke-dasharray":b.pointStrokeDashArray,"stroke-opacity":b.pointStrokeOpacity}),l.config.chart.dropShadow.enabled){var y=l.config.chart.dropShadow;u.dropShadow(v,y,s)}if(!this.initialAnim||l.globals.dataChanged||l.globals.resized)l.globals.animationEnded=!0;else{var w=l.config.chart.animations.speed;d.animateMarker(v,0,"circle"===b.shape?a:{width:b.width,height:b.height},w,l.globals.easing,(function(){window.setTimeout((function(){d.animationCompleted(v)}),100)}))}if(l.globals.dataChanged&&"circle"===b.shape)if(this.dynamicAnim){var k,A,S,C,P=l.config.chart.animations.dynamicAnimation.speed;null!=(C=l.globals.previousPaths[s]&&l.globals.previousPaths[s][n])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var L=0;Lo.globals.gridHeight+d&&(e=o.globals.gridHeight+d/2),void 0===o.globals.dataLabelsRects[a]&&(o.globals.dataLabelsRects[a]=[]),o.globals.dataLabelsRects[a].push({x:t,y:e,width:h,height:d});var u=o.globals.dataLabelsRects[a].length-2,g=void 0!==o.globals.lastDrawnDataLabelsIndexes[a]?o.globals.lastDrawnDataLabelsIndexes[a][o.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==o.globals.dataLabelsRects[a][u]){var p=o.globals.dataLabelsRects[a][g];(t>p.x+p.width+2||e>p.y+p.height+2||t+h4&&void 0!==arguments[4]?arguments[4]:2,r=this.w,n=new f(this.ctx),o=r.config.dataLabels,l=0,c=0,h=i,d=null;if(!o.enabled||!Array.isArray(t.x))return d;d=n.group({class:"apexcharts-data-labels"});for(var u=0;ue.globals.gridWidth+b.textRects.width+10)&&(o="");var v=e.globals.dataLabels.style.colors[r];(("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(v=e.globals.dataLabels.style.colors[n]),"function"==typeof v&&(v=v({series:e.globals.series,seriesIndex:r,dataPointIndex:n,w:e})),g&&(v=g);var m=u.offsetX,y=u.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(m=0,y=0),b.drawnextLabel){var w=i.drawText({width:100,height:parseInt(u.style.fontSize,10),x:a+m,y:s+y,foreColor:v,textAnchor:l||u.textAnchor,text:o,fontSize:h||u.style.fontSize,fontFamily:u.style.fontFamily,fontWeight:u.style.fontWeight||"normal"});if(w.attr({class:"apexcharts-datalabel",cx:a,cy:s}),u.dropShadow.enabled){var k=u.dropShadow;new c(this.ctx).dropShadow(w,k)}d.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(n)}}}},{key:"addBackgroundToDataLabel",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,n=e.width,o=e.height,l=new f(this.ctx).drawRect(e.x-s,e.y-r/2,n+2*s,o+r,a.borderRadius,"transparent"===i.config.chart.background?"#fff":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);return a.dropShadow.enabled&&new c(this.ctx).dropShadow(l,a.dropShadow),l}},{key:"dataLabelsBackground",value:function(){var t=this.w;if("bubble"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;ii.globals.gridHeight&&(h=i.globals.gridHeight-u)),{bcx:n,bcy:r,dataLabelsX:e,dataLabelsY:h}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.bcy,n=t.barHeight,o=t.barWidth,l=t.textRects,c=t.dataLabelsX,h=t.strokeWidth,d=t.barDataLabelsConfig,u=t.offX,g=t.offY,f=e.globals.gridHeight/e.globals.dataPoints;o=Math.abs(o);var p=r-(this.barCtx.isRangeBar?0:f)+n/2+l.height/2+g-3,x=this.barCtx.series[a][s]<0,b=i;switch(this.barCtx.isReversed&&(b=i+o-(x?2*o:0),i=e.globals.gridWidth-o),d.position){case"center":c=x?b+o/2-u:Math.max(l.width/2,b-o/2)+u;break;case"bottom":c=x?b+o-h-Math.round(l.width/2)-u:b-o+h+Math.round(l.width/2)+u;break;case"top":c=x?b-h+Math.round(l.width/2)-u:b-h-Math.round(l.width/2)+u}return e.config.chart.stacked||(c<0?c=c+l.width+h:c+l.width/2>e.globals.gridWidth&&(c=e.globals.gridWidth-l.width-h)),{bcx:i,bcy:r,dataLabelsX:c,dataLabelsY:p}}},{key:"drawCalculatedDataLabels",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.i,r=t.j,n=t.textRects,o=t.barHeight,l=t.barWidth,c=t.dataLabelsConfig,h=this.w,d="rotate(0)";"vertical"===h.config.plotOptions.bar.dataLabels.orientation&&(d="rotate(-90, ".concat(e,", ").concat(i,")"));var u=new R(this.barCtx.ctx),g=new f(this.barCtx.ctx),p=c.formatter,x=null,b=h.globals.collapsedSeriesIndices.indexOf(s)>-1;if(c.enabled&&!b){x=g.group({class:"apexcharts-data-labels",transform:d});var v="";void 0!==a&&(v=p(a,{seriesIndex:s,dataPointIndex:r,w:h}));var m=h.globals.series[s][r]<0,y=h.config.plotOptions.bar.dataLabels.position;"vertical"===h.config.plotOptions.bar.dataLabels.orientation&&("top"===y&&(c.textAnchor=m?"end":"start"),"center"===y&&(c.textAnchor="middle"),"bottom"===y&&(c.textAnchor=m?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&lMath.abs(l)&&(v=""):n.height/1.6>Math.abs(o)&&(v=""));var w=function(t){for(var e=1;e0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=r.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels");if("mousemove"===t.type){var s=parseInt(e.getAttribute("rel"),10)-1,r=null,n=null;i.globals.axisCharts||"radialBar"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),n=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"))):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']")):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var o=0;o=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[n])}else"mouseout"===t.type&&r("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"asc",i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(e,a){var s=!1;return t&&(s="bar"===i.config.series[a].type||"column"===i.config.series[a].type),e.data&&e.data.length>0&&!s?a:-1})),r="asc"===e?0:s.length-1;"asc"===e?r=0;"asc"===e?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:"getPreviousPaths",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute("data:realIndex")},n=0;n0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(e,"'] rect")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e("x")),y:parseFloat(e("y")),width:parseFloat(e("width")),height:parseFloat(e("height"))};a.push({rect:s,color:i[t].getAttribute("color")})},r=0;r0)for(var a=0;a0?t:[]}))}}])&&B(e.prototype,i),t}();function V(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function G(t,e){for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/this.barCtx.seriesLen*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}n=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:n,zeroW:o}}},{key:"getPathFillColor",value:function(t,e,i,a){var s=this.w,r=new M(this.barCtx.ctx),n=null,o=this.barCtx.barOptions.distributed?i:e;return this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(n=a.color)})),s.config.series[e].data[i]&&s.config.series[e].data[i].fillColor&&(n=s.config.series[e].data[i].fillColor),r.fillPath({seriesNumber:this.barCtx.barOptions.distributed?o:a,dataPointIndex:i,color:n,value:t[e][i]})}},{key:"getStrokeWidth",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"barBackground",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,n=t.y2,o=t.elSeries,l=this.w,c=new f(this.barCtx.ctx),h=new j(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&h===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],u=c.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==n?n:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(u),u.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(t){var e=t.barWidth,i=t.barXPosition,a=t.yRatio,s=t.y1,r=t.y2,n=t.strokeWidth,o=t.series,l=t.realIndex,c=t.i,h=t.j,d=t.w,u=new f(this.barCtx.ctx);(n=Array.isArray(n)?n[l]:n)||(n=0);var g={barWidth:e,strokeWidth:n,yRatio:a,barXPosition:i,y1:s,y2:r},p=this.getRoundedBars(d,g,o,c,h),x=i,b=i+e,v=u.move(x,s),m=u.move(x,s),y=u.line(b-n,s);return d.globals.previousPaths.length>0&&(m=this.barCtx.getPreviousPath(l,h,!1)),v=v+u.line(x,p.y2)+p.pathWithRadius+u.line(b-n,p.y2)+y+y+"z",m=m+u.line(x,s)+y+y+y+y+y+u.line(x,s),d.config.chart.stacked&&(this.barCtx.yArrj.push(p.y2WithRadius),this.barCtx.yArrjF.push(Math.abs(s-p.y2WithRadius)),this.barCtx.yArrjVal.push(this.barCtx.series[c][h])),{pathTo:v,pathFrom:m}}},{key:"getBarpaths",value:function(t){var e=t.barYPosition,i=t.barHeight,a=t.x1,s=t.x2,r=t.strokeWidth,n=t.series,o=t.realIndex,l=t.i,c=t.j,h=t.w,d=new f(this.barCtx.ctx);(r=Array.isArray(r)?r[o]:r)||(r=0);var u={barHeight:i,strokeWidth:r,barYPosition:e,x2:s,x1:a},g=this.getRoundedBars(h,u,n,l,c),p=d.move(a,e),x=d.move(a,e);h.globals.previousPaths.length>0&&(x=this.barCtx.getPreviousPath(o,c,!1));var b=e,v=e+i,m=d.line(a,v-r);return p=p+d.line(g.x2,b)+g.pathWithRadius+d.line(g.x2,v-r)+m+m+"z",x=x+d.line(a,b)+m+m+m+m+m+d.line(a,b),h.config.chart.stacked&&(this.barCtx.xArrj.push(g.x2WithRadius),this.barCtx.xArrjF.push(Math.abs(a-g.x2WithRadius)),this.barCtx.xArrjVal.push(this.barCtx.series[l][c])),{pathTo:p,pathFrom:x}}},{key:"getRoundedBars",value:function(t,e,i,a,s){var r=new f(this.barCtx.ctx),n=0,o=t.config.plotOptions.bar.borderRadius,l=Array.isArray(o);if(n=l?o[a>o.length-1?o.length-1:a]:o,t.config.chart.stacked&&i.length>1&&a!==this.barCtx.radiusOnSeriesNumber&&!l&&(n=0),this.barCtx.isHorizontal){var c="",h=e.x2;if(Math.abs(e.x1-e.x2)0:i[a][s]<0;d&&(n*=-1),h-=n,c=r.quadraticCurve(h+n,e.barYPosition,h+n,e.barYPosition+(d?-1*n:n))+r.line(h+n,e.barYPosition+e.barHeight-e.strokeWidth-(d?-1*n:n))+r.quadraticCurve(h+n,e.barYPosition+e.barHeight-e.strokeWidth,h,e.barYPosition+e.barHeight-e.strokeWidth)}return{pathWithRadius:c,x2WithRadius:h+n,x2:h}}var u="",g=e.y2;if(Math.abs(e.y1-e.y2)=0;n--)this.barCtx.zeroSerieses.indexOf(n)>-1&&n===this.radiusOnSeriesNumber&&(this.barCtx.radiusOnSeriesNumber-=1);for(var o=e.length-1;o>=0;o--)i.globals.collapsedSeriesIndices.indexOf(this.barCtx.radiusOnSeriesNumber)>-1&&(this.barCtx.radiusOnSeriesNumber-=1)}},{key:"getXForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),a}},{key:"getYForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),a}},{key:"getGoalValues",value:function(t,e,i,a,s){var r=this,n=this.w,o=[];return n.globals.seriesGoals[a]&&n.globals.seriesGoals[a][s]&&Array.isArray(n.globals.seriesGoals[a][s])&&n.globals.seriesGoals[a][s].forEach((function(a){var s;o.push((V(s={},t,"x"===t?r.getXForValue(a.value,e,!1):r.getYForValue(a.value,i,!1)),V(s,"attrs",a),s))})),o}},{key:"drawGoalLine",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,n=t.barHeight,o=new f(this.barCtx.ctx),l=o.group({className:"apexcharts-bar-goals-groups"}),c=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:n/2,a=i+e+n/2;c=o.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(c)})):Array.isArray(s)&&s.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;c=o.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(c)})),l}}])&&G(e.prototype,i),t}();function U(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function q(t){for(var e=1;ethis.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.");for(var o=0,l=0;o0&&(this.visibleI=this.visibleI+1);var w=0,k=0;this.yRatio.length>1&&(this.yaxisIndex=m),this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var A=this.barHelpers.initialPositions();p=A.y,w=A.barHeight,h=A.yDivision,u=A.zeroW,g=A.x,k=A.barWidth,c=A.xDivision,d=A.zeroH,this.horizontal||v.push(g+k/2);for(var S=a.group({class:"apexcharts-datalabels","data:realIndex":m}),C=a.group({class:"apexcharts-bar-goals-markers",style:"pointer-events: none"}),P=0;P0&&v.push(g+k/2),b.push(p);var M=this.barHelpers.getPathFillColor(t,o,P,m);this.renderSeries({realIndex:m,pathFill:M,j:P,i:o,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:L,elSeries:y,x:g,y:p,series:t,barHeight:w,barWidth:k,elDataLabelsWrap:S,elGoalsMarkers:C,visibleSeries:this.visibleI,type:"bar"})}i.globals.seriesXvalues[m]=v,i.globals.seriesYvalues[m]=b,n.add(y)}return n}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,n=t.pathFrom,o=t.pathTo,l=t.strokeWidth,h=t.elSeries,d=t.x,u=t.y,g=t.y1,p=t.y2,x=t.series,b=t.barHeight,v=t.barWidth,m=t.barYPosition,y=t.elDataLabelsWrap,w=t.elGoalsMarkers,k=t.visibleSeries,A=t.type,S=this.w,C=new f(this.ctx);a||(a=this.barOptions.distributed?S.globals.stroke.colors[s]:S.globals.stroke.colors[e]),S.config.series[r].data[s]&&S.config.series[r].data[s].strokeColor&&(a=S.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var P=s/S.config.chart.animations.animateGradually.delay*(S.config.chart.animations.speed/S.globals.dataPoints)/2.4,L=C.renderPaths({i:r,j:s,realIndex:e,pathFrom:n,pathTo:o,stroke:a,strokeWidth:l,strokeLineCap:S.config.stroke.lineCap,fill:i,animationDelay:P,initialSpeed:S.config.chart.animations.speed,dataChangeSpeed:S.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(A,"-area")});L.attr("clip-path","url(#gridRectMask".concat(S.globals.cuid,")"));var T=S.config.forecastDataPoints;T.count>0&&s>=S.globals.dataPoints-T.count&&(L.node.setAttribute("stroke-dasharray",T.dashArray),L.node.setAttribute("stroke-width",T.strokeWidth),L.node.setAttribute("fill-opacity",T.fillOpacity)),void 0!==g&&void 0!==p&&(L.attr("data-range-y1",g),L.attr("data-range-y2",p)),new c(this.ctx).setSelectionFilter(L,e,s),h.add(L);var O=new W(this).handleBarDataLabels({x:d,y:u,y1:g,y2:p,i:r,j:s,series:x,realIndex:e,barHeight:b,barWidth:v,barYPosition:m,renderedPath:L,visibleSeries:k});return null!==O&&y.add(O),h.add(y),w&&h.add(w),h}},{key:"drawBarPaths",value:function(t){var e=t.indexes,i=t.barHeight,a=t.strokeWidth,s=t.zeroW,r=t.x,n=t.y,o=t.yDivision,l=t.elSeries,c=this.w,h=e.i,d=e.j;c.globals.isXNumeric&&(n=(c.globals.seriesX[h][d]-c.globals.minX)/this.invertedXRatio-i);var u=n+i*this.visibleI;r=this.barHelpers.getXForValue(this.series[h][d],s);var g=this.barHelpers.getBarpaths({barYPosition:u,barHeight:i,x1:s,x2:r,strokeWidth:a,series:this.series,realIndex:e.realIndex,i:h,j:d,w:c});return c.globals.isXNumeric||(n+=o),this.barHelpers.barBackground({j:d,i:h,y1:u-i*this.visibleI,y2:i*this.seriesLen,elSeries:l}),{pathTo:g.pathTo,pathFrom:g.pathFrom,x:r,y:n,goalX:this.barHelpers.getGoalValues("x",s,null,h,d),barYPosition:u}}},{key:"drawColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,n=t.zeroH,o=t.strokeWidth,l=t.elSeries,c=this.w,h=e.realIndex,d=e.i,u=e.j,g=e.bc;if(c.globals.isXNumeric){var f=h;c.globals.seriesX[h].length||(f=c.globals.maxValsInArrayIndex),i=(c.globals.seriesX[f][u]-c.globals.minX)/this.xRatio-r*this.seriesLen/2}var p=i+r*this.visibleI;a=this.barHelpers.getYForValue(this.series[d][u],n);var x=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:r,y1:n,y2:a,strokeWidth:o,series:this.series,realIndex:e.realIndex,i:d,j:u,w:c});return c.globals.isXNumeric||(i+=s),this.barHelpers.barBackground({bc:g,j:u,i:d,x1:p-o/2-r*this.visibleI,x2:r*this.seriesLen+o/2,elSeries:l}),{pathTo:x.pathTo,pathFrom:x.pathFrom,x:i,y:a,goalY:this.barHelpers.getGoalValues("y",null,n,d,u),barXPosition:p}}},{key:"getPreviousPath",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}])&&$(e.prototype,i),t}();function Q(t){return function(t){if(Array.isArray(t))return K(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return K(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?K(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i12?u-12:0===u?12:u;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+l(u))).replace(/(^|[^\\])H/g,"$1"+u)).replace(/(^|[^\\])hh+/g,"$1"+l(g))).replace(/(^|[^\\])h/g,"$1"+g);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+l(f))).replace(/(^|[^\\])m/g,"$1"+f);var p=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+l(p))).replace(/(^|[^\\])s/g,"$1"+p);var x=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+l(x,3)),x=Math.round(x/10),e=e.replace(/(^|[^\\])ff/g,"$1"+l(x)),x=Math.round(x/10);var b=u<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+x)).replace(/(^|[^\\])TT+/g,"$1"+b)).replace(/(^|[^\\])T/g,"$1"+b.charAt(0));var v=b.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+v)).replace(/(^|[^\\])t/g,"$1"+v.charAt(0));var m=-t.getTimezoneOffset(),y=a||!m?"Z":m>0?"+":"-";if(!a){var w=(m=Math.abs(m))%60;y+=l(Math.floor(m/60))+":"+l(w)}e=e.replace(/(^|[^\\])K/g,"$1"+y);var k=(a?t.getUTCDay():t.getDay())+1;return(e=(e=(e=(e=e.replace(new RegExp(n[0],"g"),n[k])).replace(new RegExp(o[0],"g"),o[k])).replace(new RegExp(s[0],"g"),s[h])).replace(new RegExp(r[0],"g"),r[h])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),n=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),o=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(o[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(o[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(o[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(o[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(o[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(o[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(o[0],10)}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=r.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}])&&tt(e.prototype,i),t}();function it(t){return(it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function at(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function st(t){for(var e=1;e0&&(this.visibleI=this.visibleI+1);var x=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=g);var v=this.barHelpers.initialPositions();d=v.y,c=v.zeroW,h=v.x,b=v.barWidth,o=v.xDivision,l=v.zeroH;for(var m=a.group({class:"apexcharts-datalabels","data:realIndex":g}),y=a.group({class:"apexcharts-rangebar-goals-markers",style:"pointer-events: none"}),w=0;w0}));return a=l.config.plotOptions.bar.rangeBarGroupRows?s+n*u:s+r*this.visibleI+n*u,g>-1&&!l.config.plotOptions.bar.rangeBarOverlap&&(c=l.globals.seriesRangeBar[e][g].overlaps).indexOf(h)>-1&&(a=(r=o.barHeight/c.length)*this.visibleI+n*(100-parseInt(this.barOptions.barHeight,10))/100/2+r*(this.visibleI+c.indexOf(h))+n*u),{barYPosition:a,barHeight:r}}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=(t.strokeWidth,t.xDivision),s=t.barWidth,r=t.zeroH,n=this.w,o=e.i,l=e.j,c=this.yRatio[this.yaxisIndex],h=e.realIndex,d=this.getRangeValue(h,l),u=Math.min(d.start,d.end),g=Math.max(d.start,d.end);n.globals.isXNumeric&&(i=(n.globals.seriesX[o][l]-n.globals.minX)/this.xRatio-s/2);var f=i+s*this.visibleI;void 0===this.series[o][l]||null===this.series[o][l]?u=r:(u=r-u/c,g=r-g/c);var p=Math.abs(g-u),x=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:s,y1:u,y2:g,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:h,j:l,w:n});return n.globals.isXNumeric||(i+=a),{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:p,x:i,y:g,goalY:this.barHelpers.getGoalValues("y",null,r,o,l),barXPosition:f}}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,n=t.barHeight,o=t.barYPosition,l=t.zeroW,c=this.w,h=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,u=Math.abs(d-h),g=this.barHelpers.getBarpaths({barYPosition:o,barHeight:n,x1:h,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:c});return c.globals.isXNumeric||(i+=r),{pathTo:g.pathTo,pathFrom:g.pathFrom,barWidth:u,x:d,goalX:this.barHelpers.getGoalValues("x",l,null,e.realIndex,e.j),y:i}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}},{key:"getTooltipValues",value:function(t){var e=t.ctx,i=t.seriesIndex,a=t.dataPointIndex,s=t.y1,r=t.y2,n=t.w,o=n.globals.seriesRangeStart[i][a],l=n.globals.seriesRangeEnd[i][a],c=n.globals.labels[a],h=n.config.series[i].name?n.config.series[i].name:"",d=n.config.tooltip.y.formatter,u=n.config.tooltip.y.title.formatter,g={w:n,seriesIndex:i,dataPointIndex:a,start:o,end:l};"function"==typeof u&&(h=u(h,g)),Number.isFinite(s)&&Number.isFinite(r)&&(o=s,l=r,n.config.series[i].data[a].x&&(c=n.config.series[i].data[a].x+":"),"function"==typeof d&&(c=d(c,g)));var f="",p="",x=n.globals.colors[i];if(void 0===n.config.tooltip.x.formatter)if("datetime"===n.config.xaxis.type){var b=new et(e);f=b.formatDate(b.getDate(o),n.config.tooltip.x.format),p=b.formatDate(b.getDate(l),n.config.tooltip.x.format)}else f=o,p=l;else f=n.config.tooltip.x.formatter(o),p=n.config.tooltip.x.formatter(l);return{start:o,end:l,startVal:f,endVal:p,ylabel:c,color:x,seriesName:h}}},{key:"buildCustomTooltipHTML",value:function(t){return'
'+(t.seriesName||"")+'
'+t.ylabel+' '+t.start+' - '+t.end+"
"}}])&&ot(e.prototype,i),o}(J);function ut(t,e){for(var i=0;i\n '.concat(t.config.series[e].name?t.config.series[e].name:"series-"+(e+1),": ").concat(t.globals.series[e][i],"\n "):'
')+"
".concat(a[0],': ')+r+"
"+"
".concat(a[1],': ')+n+"
"+(o?"
".concat(a[2],': ')+o+"
":"")+"
".concat(a[3],': ')+l+"
"+"
".concat(a[4],': ')+c+"
"}}])&&ut(e.prototype,i),t}();function ft(t){return(ft="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function pt(t,e){for(var i=0;i1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both."),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new L;return t.annotations.yaxis=r.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new L;return t.annotations.xaxis=r.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new L;return t.annotations.points=r.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.chart.background||(t.chart.background="#424242"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&"barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width="tickWidth"),"candlestick"!==e.chart.type&&"boxPlot"!==e.chart.type||e.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(e.chart.type," chart is not supported.")),e.yaxis[0].reversed=!1),e}}])&&pt(e.prototype,i),t}();function bt(t,e){for(var i=0;i0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new j(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s="boxPlot"===i.chart.type||"boxPlot"===i.series[e].type,n=0;n=5?this.twoDSeries.push(r.parseNumber(t[e].data[n][4])):this.twoDSeries.push(r.parseNumber(t[e].data[n][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var o=new Date(t[e].data[n][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[n][0]);for(var l=0;l-1&&(n=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,n=new et(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar="rangeBar"===a.chart.type&&s.isBarHorizontal,s.hasGroups="category"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasGroups&&(s.groups=a.xaxis.group.groups);for(var l=function(){for(var t=0;t0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var h=t[c].data.map((function(t){return r.parseNumber(t)}));s.series.push(h)}s.seriesZ.push(this.threeDSeries),void 0!==t[c].name?s.seriesNames.push(t[c].name):s.seriesNames.push("series-"+parseInt(c+1,10)),void 0!==t[c].color?s.seriesColors.push(t[c].color):s.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0?i.labels=e.xaxis.categories:e.labels.length>0?i.labels=e.labels.slice():this.fallbackToCategory?(i.labels=i.labels[0],i.seriesRangeBar.length&&(i.seriesRangeBar.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric&&(new gt(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t))):this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),n=0;n0&&i<100?t.toFixed(1):t.toFixed(0)}return e.globals.isBarHorizontal&&e.globals.maxY-e.globals.minYArr<4?t.toFixed(1):t.toFixed(0)}return t},"function"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,"function"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}])&&At(e.prototype,i),t}();function Ct(t,e){for(var i=0;i4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",n=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],o=this.w,l=void 0===t[a]?"":t[a],c=l,h=o.globals.xLabelFormatter,d=o.config.xaxis.labels.formatter,u=!1,g=new St(this.ctx),p=l;n&&(c=g.xLabelFormat(h,l,p,{i:a,dateFormatter:new et(this.ctx).formatDate,w:o}),void 0!==d&&(c=d(l,t[a],{i:a,dateFormatter:new et(this.ctx).formatDate,w:o})));var x=function(t){var i=null;return e.forEach((function(t){"month"===t.unit?i="year":"day"===t.unit?i="month":"hour"===t.unit?i="day":"minute"===t.unit&&(i="hour")})),i===t};e.length>0?(u=x(e[a].unit),i=e[a].position,c=e[a].value):"datetime"===o.config.xaxis.type&&void 0===d&&(c=""),void 0===c&&(c=""),c=Array.isArray(c)?c:c.toString();var b=new f(this.ctx),v={};v=o.globals.rotateXLabels&&n?b.getTextRects(c,parseInt(r,10),null,"rotate(".concat(o.config.xaxis.labels.rotate," 0 0)"),!1):b.getTextRects(c,parseInt(r,10));var m=!o.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(c)&&(0===c.indexOf("NaN")||0===c.toLowerCase().indexOf("invalid")||c.toLowerCase().indexOf("infinity")>=0||s.indexOf(c)>=0&&m)&&(c=""),{x:i,text:c,textRect:v,isBold:u}}},{key:"checkLabelBasedOnTickamount",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return"dataPoints"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=""),e}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var n=s[s.length-1];e.x0){!0===o.config.yaxis[s].opposite&&(t+=a.width);for(var h=e;h>=0;h--){var d=c+e/10+o.config.yaxis[s].labels.offsetY-1;o.globals.isBarHorizontal&&(d=r*h),"heatmap"===o.config.chart.type&&(d+=r/2);var u=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);n.add(u),c+=r}}}}])&&Ct(e.prototype,i),t}();function Lt(t,e){for(var i=0;i=10?c.config.chart.toolbar.export.csv.dateFormatter(s):r.isNumber(s)?s:s.split(n).join("")));for(var o=0;o0&&!i.globals.isBarHorizontal&&(this.xaxisLabels=i.globals.timescaleLabels.slice()),i.config.xaxis.overwriteCategories&&(this.xaxisLabels=i.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===i.config.xaxis.position?this.offY=0:this.offY=i.globals.gridHeight+1,this.offY=this.offY+i.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===i.config.chart.type&&i.config.plotOptions.bar.horizontal,this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.xaxisBorderWidth=i.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=i.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=i.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=i.config.xaxis.axisBorder.height,this.yaxis=i.config.yaxis[0]}var e,i;return e=t,(i=[{key:"drawXaxis",value:function(){var t=this.w,e=new f(this.ctx),i=e.group({class:"apexcharts-xaxis",transform:"translate(".concat(t.config.xaxis.offsetX,", ").concat(t.config.xaxis.offsetY,")")}),a=e.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},c=[],h=[],d=this.w,u=l.xaxisFontSize||this.xaxisFontSize,g=l.xaxisFontFamily||this.xaxisFontFamily,f=l.xaxisForeColors||this.xaxisForeColors,p=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m="category"===d.config.xaxis.type?d.globals.dataPoints:v;if(s){var y=m>1?m-1:m;n=d.globals.gridWidth/y,b=b+r(0,n)/2+d.config.xaxis.labels.offsetX}else n=d.globals.gridWidth/m,b=b+r(0,n)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,n)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&n/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=o.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,c,u,t),w=28;if(d.globals.rotateXLabels&&t&&(w=22),t||(w=w+parseFloat(u)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&"dataPoints"!==d.config.xaxis.tickAmount&&"datetime"!==d.config.xaxis.type?o.axesUtils.checkLabelBasedOnTickamount(s,y,v):o.axesUtils.checkForOverflowingLabels(s,y,v,c,h),t&&y.text&&d.globals.xaxisLabelsCount++,d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:o.offY+d.config.xaxis.labels.offsetY+w-("top"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:"middle",fontWeight:y.isBold?600:p,fontSize:u,fontFamily:g,foreColor:Array.isArray(f)?t&&d.config.xaxis.convertedCatToNumeric?f[d.globals.minX+s-1]:f[s]:f,isPlainText:!1,cssClass:(t?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+x});if(i.add(k),t){var A=document.createElementNS(d.globals.SVGNS,"title");A.textContent=Array.isArray(y.text)?y.text.join(" "):y.text,k.node.appendChild(A),""!==y.text&&(c.push(y.text),h.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var n=new f(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var c=s[s.length-1].getBBox(),h=s[0].getBBox();c.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),h.x+h.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}var e,i;return e=t,(i=[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new f(this.ctx);null===t&&(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(s),t.add(a),t}},{key:"drawGrid",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new f(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elForecastMask.setAttribute("id","forecastMask".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(e.cuid));var r=t.config.chart.type,n=0,o=0;("bar"===r||"rangeBar"===r||"candlestick"===r||"boxPlot"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(n=t.config.grid.padding.left,o=t.config.grid.padding.right,e.barPadForNumericAxis>n&&(n=e.barPadForNumericAxis,o=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-n-2,-a/2,e.gridWidth+a+o+n+4,e.gridHeight+a,0,"#fff");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var c=e.dom.baseEl.querySelector("defs");c.appendChild(e.dom.elGridRectMask),c.appendChild(e.dom.elForecastMask),c.appendChild(e.dom.elNonForecastMask),c.appendChild(e.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,n=t.xCount,o=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===n-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||"radar"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({x1:i,y1:a,x2:s,y2:r,parent:o});var c=0;if(l.globals.hasGroups&&"between"===l.config.xaxis.tickPlacement){var h=l.globals.groups;if(h){for(var d=0,u=0;d2));s++);return!t.globals.isBarHorizontal||this.isRangeBar?(i=this.xaxisLabels.length,this.isRangeBar&&(a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount)),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,xAxisTickWidth:t.globals.gridWidth/i}}},{key:"drawGridBands",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,n=0,o=0;n=i.config.grid.row.colors.length&&(o=0),this._drawGridBandRect({c:o,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,c=i.globals.padHorizontal,h=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,u=0,g=0;u=i.config.grid.column.colors.length&&(g=0),this._drawGridBandRect({c:g,x1:c,y1:0,x2:h,y2:d,type:"column"}),c+=i.globals.gridWidth/l}}])&&Mt(e.prototype,i),t}();function zt(t,e){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,n=this.w,o=Math.abs(e-t);if("dataPoints"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=n.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!r.isNumber(t)&&!r.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE){t=0,e=i;var l=this.linearScale(t,e,i);return l}t>e?(console.warn("axis.min cannot be greater than axis.max"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var c=[];o<1&&s&&("candlestick"===n.config.chart.type||"candlestick"===n.config.series[a].type||"boxPlot"===n.config.chart.type||"boxPlot"===n.config.series[a].type||n.globals.isRangeData)&&(e*=1.01);var h=i+1;h<2?h=2:h>2&&(h-=2);var d=o/h,u=Math.floor(r.log10(d)),g=Math.pow(10,u),f=Math.round(d/g);f<1&&(f=1);var p=f*g,x=p*Math.floor(t/p),b=p*Math.ceil(e/p),v=x;if(s&&o>2){for(;c.push(v),!((v+=p)>b););return{result:c,niceMin:c[0],niceMax:c[c.length-1]}}var m=t;(c=[]).push(m);for(var y=Math.abs(e-t)/i,w=0;w<=i;w++)m+=y,c.push(m);return c[c.length-2]>=e&&c.pop(),{result:c,niceMin:c[0],niceMax:c[c.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,s=Math.abs(e-t);"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1);var r=s/i;i===Number.MAX_VALUE&&(i=10,r=1);for(var n=[],o=t;i>=0;)n.push(o),o+=r,i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"logarithmicScaleNice",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(e,i,n.logBase),a.yAxisScale[t]=n.forceNiceScale?this.logarithmicScaleNice(e,i,n.logBase):this.logarithmicScale(e,i,n.logBase);else if(i!==-Number.MAX_VALUE&&r.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===n.min&&void 0===n.max||n.forceNiceScale){var l=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,n.tickAmount?n.tickAmount:o<5&&o>1?o+1:5,t,l)}else a.yAxisScale[t]=this.linearScale(e,i,n.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,n=Math.abs(e-t);return e!==-Number.MAX_VALUE&&r.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:n<5&&n>1?n+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:"setMultipleYScales",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,n){var o=n;i.series.forEach((function(t,i){t.name===e.seriesName&&(o=i,n!==i?r.push({index:i,similarIndex:n,alreadyExists:!0}):r.push({index:i}))}));var l=a[o],c=s[o];t.setYScaleForIndex(n,l,c)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:"sameScaleInMultipleAxes",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,n=[];i.forEach((function(t){t.alreadyExists&&(void 0===n[t.index]&&(n[t.index]=[]),n[t.index].push(t.index),n[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=n,n.forEach((function(t,e){n.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(n[e]=n[e].concat(n[a]))}))}));var o=n.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));n=n.filter((function(t){return!!t}));var l=o.slice(),c=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return c.indexOf(JSON.stringify(t))===e}));var h=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===h[s]&&(h[s]=[],d[s]=[]),h[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);h.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.min(t.value,u[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.max(t.value,g[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var n=u[i],o=g[i];s.chart.stacked&&(o=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(o+=t.value),n!==Number.MIN_VALUE&&(n+=h[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(n="function"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(o="function"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,n,o))}))}))}))}},{key:"autoScaleY",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn("autoScaleYaxis is not supported in a multi-yaxis chart."),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,n){for(var o=0,l=0;l=i.xaxis.min){o=l;break}var c,h,d=a.globals.minYArr[n],u=a.globals.maxYArr[n],g=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(n,l){var f=n[o];r?(f=g[o],c=h=f,g.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>h&&null!==t&&(h=t),n[e]=i.xaxis.min){var r=t,n=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),n=Math.max(i[e],n))})),n>h&&null!==n&&(h=n),rd&&(c=d),e.length>1?(e[l].min=void 0===t.min?c:t.min,e[l].max=void 0===t.max?h:t.max):(e[0].min=void 0===t.min?c:t.min,e[0].max=void 0===t.max?h:t.max)}))})),e}}])&&zt(e.prototype,i),t}();function Yt(t,e){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,n=this.w.globals,o=-Number.MAX_VALUE,l=Number.MIN_VALUE;null===a&&(a=t+1);var c=n.series,h=c,d=c;"candlestick"===s.chart.type?(h=n.seriesCandleL,d=n.seriesCandleH):"boxPlot"===s.chart.type?(h=n.seriesCandleO,d=n.seriesCandleC):n.isRangeData&&(h=n.seriesRangeStart,d=n.seriesRangeEnd);for(var u=t;uh[u][g]&&h[u][g]<0&&(l=h[u][g])):n.hasNullValues=!0}}return"rangeBar"===s.chart.type&&n.seriesRangeStart.length&&n.isBarHorizontal&&(l=e),"bar"===s.chart.type&&(l<0&&o<0&&(o=0),l===Number.MIN_VALUE&&(l=0)),{minY:l,maxY:o,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(n=0),t.minY=i-5*n/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*n/100}return e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal&&["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])})),t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):"dataPoints"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],n=t.minX-1;n0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:"_setStackedMinMax",value:function(){var t=this.w.globals,e=[],i=[];if(t.series.length)for(var a=0;a0?s=s+parseFloat(t.series[o][a])+1e-4:n+=parseFloat(t.series[o][a])),o===t.series.length-1&&(e.push(s),i.push(n));for(var l=0;l=0;v--)b(v);if(void 0!==i.config.yaxis[t].title.text){var m=a.group({class:"apexcharts-yaxis-title"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:"end",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[t].title.style.cssClass});m.add(w),l.add(m)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,h,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new f(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,n=e.globals.gridWidth/r+.1,o=n+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,c=e.globals.yAxisScale[t].result.slice(),h=e.globals.timescaleLabels;h.length>0&&(this.xaxisLabels=h.slice(),r=(c=h.slice()).length),c=this.axesUtils.checkForReversedLabels(t,c);var d=h.length;if(e.config.xaxis.labels.show)for(var u=d?0:r;d?u=0;d?u++:u--){var g=c[u];g=l(g,u,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(o-n+e.config.xaxis.labels.offsetX);if(h.length){var x=this.axesUtils.getLabel(c,h,p,u,this.drawnLabels,this.xaxisFontSize);p=x.x,g=x.text,this.drawnLabels.push(x.text),0===u&&e.globals.skipFirstTimelinelabel&&(g=""),u===c.length-1&&e.globals.skipLastTimelinelabel&&(g="")}var b=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:g,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});s.add(b),b.tspan(g);var v=document.createElementNS(e.globals.SVGNS,"title");v.textContent=g,b.node.appendChild(v),o+=n}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new f(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);t.add(r)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new f(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new f(this.ctx),s={width:0,height:0},r={width:0,height:0},n=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g"));null!==n&&(s=n.getBoundingClientRect());var o=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text"));if(null!==o&&(r=o.getBoundingClientRect()),null!==o){var l=this.xPaddingForYAxisTitle(t,s,r,e);o.setAttribute("x",l.xPos-(e?10:0))}if(null!==o){var c=a.rotateAroundCenter(o);o.setAttribute("transform","rotate(".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate," ").concat(c.x," ").concat(c.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var s=this.w,r=0,n=0,o=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:n,padd:0}:(a?(n=e.width+s.config.yaxis[t].title.offsetX+i.width/2+o/2,0===(r+=1)&&(n-=o/2)):(n=-1*e.width+s.config.yaxis[t].title.offsetX+o/2+i.width/2,s.globals.isBarHorizontal&&(o=25,n=-1*e.width-s.config.yaxis[t].title.offsetX-o)),{xPos:n,padd:o})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,s=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(o,l){var c=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!o.show||o.floating||0===t[l].width,h=t[l].width+e[l].width;o.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-o.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+n,c||(n=n+h+20),i.globals.translateYAxisX[l]=s-o.labels.offsetX+20):(a=i.globals.translateX-r,c||(r=r+h+20),i.globals.translateYAxisX[l]=a+o.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(e=r.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),n=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"));n=r.listToArray(n);var o=s.getBoundingClientRect();"left"===a.labels.align?(n.forEach((function(t,e){t.setAttribute("text-anchor","start")})),a.opposite||s.setAttribute("transform","translate(-".concat(o.width,", 0)"))):"center"===a.labels.align?(n.forEach((function(t,e){t.setAttribute("text-anchor","middle")})),s.setAttribute("transform","translate(".concat(o.width/2*(a.opposite?1:-1),", 0)"))):"right"===a.labels.align&&(n.forEach((function(t,e){t.setAttribute("text-anchor","end")})),a.opposite&&s.setAttribute("transform","translate(".concat(o.width,", 0)")))}}))}}])&&Rt(e.prototype,i),t}();function Ht(t,e){for(var i=0;i0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=r.extend(C,i);this.w.globals.locale=a.options}}])&&Wt(e.prototype,i),t}();function jt(t,e){for(var i=0;ie.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var n=new xt({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var l=x.extendArrayProps(n,i.globals.initialConfig,i);t=r.extend(l,t),t=r.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var c=0;c0&&"function"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var s=e.config.colors[a];return s||(s=e.config.colors[0]),"function"==typeof s?(t.isColorFn=!0,s({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):s})))),e.globals.seriesColors.map((function(t,i){t&&(e.globals.colors[i]=t)})),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(s=e.globals.series[0].length*e.globals.series.length);for(var n=e.config.theme.monochrome.color,o=1/(s/e.config.theme.monochrome.shadeIntensity),l=e.config.theme.monochrome.shadeTo,c=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.length)&&(e=t.length);for(var i=0,a=new Array(e);it.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,function(t){return function(t){if(Array.isArray(t))return Kt(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Kt(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Kt(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(a));i=e[a.indexOf(s)]}return i}}])&&te(e.prototype,i),t}();function ie(t,e){for(var i=0;i0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,n=r.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(n,i);e.globals.isBarHorizontal&&(o=n=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var l=new St(this.dCtx.ctx),c=n;n=l.xLabelFormat(s,n,c,{i:void 0,dateFormatter:new et(this.dCtx.ctx).formatDate,w:e}),o=l.xLabelFormat(s,o,c,{i:void 0,dateFormatter:new et(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===n||""===String(n).trim())&&(o=n="1");var h=new f(this.dCtx.ctx),d=h.getTextRects(n,e.config.xaxis.labels.style.fontSize),u=d;if(n!==o&&(u=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:d.width>=u.width?d.width:u.width,height:d.height>=u.height?d.height:u.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};d=g(n),n!==o&&(u=g(o)),t.height=(d.height>u.height?d.height:u.height)/1.5,t.width=d.width>u.width?d.width:u.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var t,e=this.w;if(!e.globals.hasGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),n=r.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(n,s),l=new f(this.dCtx.ctx),c=l.getTextRects(n,a),h=c;return n!==o&&(h=l.getTextRects(o,a)),i={width:c.width>=h.width?c.width:h.width,height:c.height>=h.height?c.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new f(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new f(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,n=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var o=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal;s.yaxis.forEach((function(t,l){o?(e.dCtx.gridPad.left0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-h&&(a.skipLastTimelinelabel=!0),c<-(t.show&&!t.floating||"bar"!==s.chart.type&&"candlestick"!==s.chart.type&&"rangeBar"!==s.chart.type&&"boxPlot"!==s.chart.type?10:n/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===r?e.dCtx.gridPad.rightString(l.niceMax).length?d:l.niceMax,g=h(u,{seriesIndex:o,dataPointIndex:-1,w:e}),p=g;if(void 0!==g&&0!==g.length||(g=u),e.globals.isBarHorizontal){a=0;var x=e.globals.labels.slice();g=h(g=r.getLargestStringFromArr(x),{seriesIndex:o,dataPointIndex:-1,w:e}),p=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,x)}var b=new f(t.dCtx.ctx),v="rotate(".concat(n.labels.rotate," 0 0)"),m=b.getTextRects(g,n.labels.style.fontSize,n.labels.style.fontFamily,v,!1),y=m;g!==p&&(y=b.getTextRects(p,n.labels.style.fontSize,n.labels.style.fontFamily,v,!1)),i.push({width:(c>y.width||c>m.width?c:y.width>m.width?y.width:m.width)+a,height:y.height>m.height?y.height:m.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new f(t.dCtx.ctx),r="rotate(".concat(e.title.rotate," 0 0)"),n=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:n.width,height:n.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new Pt(this.dCtx.ctx),n=function(n,o){var l=t.config.yaxis[o].floating,c=0;n.width>0&&!l?(c=n.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(o)&&(c=c-n.width-s)):c=l||r.isYAxisHidden(o)?0:5,t.config.yaxis[o].opposite?a+=c:i+=c,e+=c};return t.globals.yLabelsCoords.map((function(t,e){n(t,e)})),t.globals.yTitleCoords.map((function(t,e){n(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}])&&se(e.prototype,i),t}();function ne(t,e){for(var i=0;i0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var n,o,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),n=l/t,e.globals.minXDiff&&e.globals.minXDiff/n>0&&(o=e.globals.minXDiff/n),o>t/2&&(o/=2),(s=o/r*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),s=s/(r>1?1:1.5)+5,e.globals.barPadForNumericAxis=s}return s}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;["title","subtitle"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||"bottom"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new Pt(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}])&&ne(e.prototype,i),t}();function le(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i,a,s=(a=2,function(t){if(Array.isArray(t))return t}(i=e)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var a,s,r=[],n=!0,o=!1;try{for(i=i.call(t);!(n=(a=i.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){o=!0,s=t}finally{try{n||null==i.return||i.return()}finally{if(o)throw s}}return r}}(i,a)||function(t,e){if(t){if("string"==typeof t)return le(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?le(t,e):void 0}}(i,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=s[0],n=s[1];t.gridPad[r]=Math.max(n,t.w.globals.markers.largestSize/1.5)})),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),o=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,o,n),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,c=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-o.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var h=10;("radar"===e.config.chart.type||this.isSparkline)&&(l=0,c=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===e.config.chart.type)&&(l=0,c=0,h=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-c-(t.isSparkline||"treemap"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch("top"===e.config.xaxis.position&&(h=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=h,d();break;case"top":i.translateY=this.lgRect.height+h,d();break;case"left":i.translateY=h,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-c-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case"right":i.translateY=h,i.translateX=l,i.gridHeight=i.svgHeight-c-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new Dt(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",r=i.plotOptions[s].offsetY,n=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=n+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(t,e,i){var a=this.w,s=a.globals.hasGroups?2:1,r=i.height+t.height+e.height,n=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,o=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0;this.xAxisHeight=r*n+s*o+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeighth&&(this.yAxisWidth=h)}}])&&ce(e.prototype,i),t}();function de(t,e){for(var i=0;i0){for(var n=0;n-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}])&&de(e.prototype,i),t}();function ge(t,e){for(var i=0;i1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),r.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"drawLegends",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if("heatmap"===e.config.chart.type){var n=e.config.plotOptions.heatmap.colorScale.ranges;a=n.map((function(t){return t.name?t.name:t.from+" - "+t.to})),s=n.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,l=e.config.legend.inverseOrder,c=l?a.length-1:0;l?c>=0:c<=a.length-1;l?c--:c++){var h=o(a[c],{seriesIndex:c,w:e}),d=!1,u=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var p=0;p0?l-10:0)+(c>0?c-10:0)}a.style.position="absolute",r=r+t+i.config.legend.offsetX,n=n+e+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=n+"px","bottom"===i.config.legend.position?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):"right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px"),["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.baseEl.querySelector(".apexcharts-legend").style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new he(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;"bottom"===t.config.legend.position?r=-e.clwh/1.8:"top"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new j(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new j(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(t.target.getAttribute("rel"),10)-1,a="true"===t.target.getAttribute("data:collapsed"),s=this.w.config.chart.events.legendClick;"function"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;"function"==typeof r&&t.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==e.config.chart.type&&"heatmap"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}])&&ge(e.prototype,i),t}();var pe=i(798),xe=i.n(pe),be=i(688),ve=i.n(be),me=i(149),ye=i.n(me),we=i(323),ke=i.n(we),Ae=i(686),Se=i.n(Ae),Ce=i(618),Pe=i.n(Ce),Le=i(355),Te=i.n(Le);function Oe(t,e){for(var i=0;i0&&e.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,n=void 0===r?0:r,o=t.translateY,l=void 0===o?0:o,c=this.w,h=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==c.globals.selection){var u={transform:"translate("+n+", "+l+")"};c.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),h.attr({x:e,y:i,width:a,height:s,fill:c.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":c.config.chart.zoom.zoomedArea.fill.opacity,stroke:c.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":c.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":c.config.chart.zoom.zoomedArea.stroke.opacity}),f.setAttrs(h.node,u)),c.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:c.config.chart.selection.fill.color,"fill-opacity":c.config.chart.selection.fill.opacity,stroke:c.config.chart.selection.stroke.color,"stroke-width":c.config.chart.selection.stroke.width,"stroke-dasharray":c.config.chart.selection.stroke.dashArray,"stroke-opacity":c.config.chart.selection.stroke.opacity}),f.setAttrs(d.node,u))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e,i=t.context,a=t.zoomtype,s=this.w,r=i,n=this.gridRect.getBoundingClientRect(),o=r.startX-1,l=r.startY,c=!1,h=!1,d=r.clientX-n.left-o,u=r.clientY-n.top-l;return Math.abs(d+o)>s.globals.gridWidth?d=s.globals.gridWidth-o:r.clientX-n.left<0&&(d=o),o>r.clientX-n.left&&(c=!0,d=Math.abs(d)),l>r.clientY-n.top&&(h=!0,u=Math.abs(u)),e="x"===a?{x:c?o-d:o,y:0,width:d,height:s.globals.gridHeight}:"y"===a?{x:0,y:h?l-u:l,width:s.globals.gridWidth,height:u}:{x:c?o-d:o,y:h?l-u:l,width:d,height:u},r.drawSelectionRect(e),r.selectionDragging("resizing"),e}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,n=0;"resizing"===t&&(n=30);var o=function(t){return parseFloat(r.node.getAttribute(t))},l={x:o("x"),y:o("y"),width:o("width"),height:o("height")};a.globals.selection=l,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=r.node.getBoundingClientRect(),n={xaxis:{min:a.globals.xAxisScale.niceMin+(e.left-t.left)*s.xRatio,max:a.globals.xAxisScale.niceMin+(e.right-t.left)*s.xRatio},yaxis:{min:a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*s.yRatio[0],max:a.globals.yAxisScale[0].niceMax-(e.top-t.top)*s.yRatio[0]}};a.config.chart.events.selection(i.ctx,n),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,n)}),n))}},{key:"selectionDrawn",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,n=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var l=s.startX;s.startX=s.endX,s.endX=l}if(s.startY>s.endY){var c=s.startY;s.startY=s.endY,s.endY=c}var h=void 0,d=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*n.invertedYRatio,d=a.globals.yAxisScale[0].niceMin+s.endX*n.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*n.xRatio,d=a.globals.xAxisScale.niceMin+s.endX*n.xRatio);var u=[],g=[];if(a.config.yaxis.forEach((function(t,e){u.push(a.globals.yAxisScale[e].niceMax-n.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-n.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==d)if(a.globals.zoomEnabled){var f=r.clone(a.globals.initialConfig.yaxis),p=r.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),d=Math.floor(d),h<1&&(h=1,d=a.globals.dataPoints),d-h<2&&(d=h+1)),"xy"!==i&&"x"!==i||(p={min:h,max:d}),"xy"!==i&&"y"!==i||f.forEach((function(t,e){f[e].min=g[e],f[e].max=u[e]})),a.config.chart.zoom.autoScaleYaxis){var x=new Xt(s.ctx);f=x.autoScaleY(s.ctx,f,{xaxis:p})}if(o){var b=o.getBeforeZoomRange(p,f);b&&(p=b.xaxis?b.xaxis:p,f=b.yaxis?b.yaxis:f)}var v={xaxis:p};a.config.chart.group||(v.yaxis=f),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,f)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:d},"xy"!==i&&"y"!==i||(y=r.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=u[e]})),a.globals.selection=s.selection,"function"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="left":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection="right":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="up":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var n=i.globals.isRangeBar?i.globals.minY:i.globals.minX,o=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(n,o)}},{key:"delayedPanScrolled",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;"left"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):"right"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=r.clone(i.globals.initialConfig.yaxis),n=a.xRatio,o=i.globals.minX,l=i.globals.maxX;i.globals.isRangeBar&&(n=a.invertedYRatio,o=i.globals.minY,l=i.globals.maxY),"left"===this.moveDirection?(t=o+i.globals.gridWidth/15*n,e=l+i.globals.gridWidth/15*n):"right"===this.moveDirection&&(t=o-i.globals.gridWidth/15*n,e=l-i.globals.gridWidth/15*n),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=l);var c={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new Xt(this.ctx).autoScaleY(this.ctx,s,{xaxis:c}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}])&&Ie(e.prototype,i),o}(Ee);function Re(t){return function(t){if(Array.isArray(t))return De(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return De(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?De(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function De(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);il||f>c?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):n.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):n.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var p=Math.round(g/h),x=Math.floor(f/d);u&&!n.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var b=null,v=null,m=[],y=[];if(n.globals.seriesXvalues.forEach((function(t){m.push([t[0]+1e-6].concat(t))})),n.globals.seriesYvalues.forEach((function(t){y.push([t[0]+1e-6].concat(t))})),m=m.map((function(t){return t.filter((function(t){return r.isNumber(t)}))})),y=y.map((function(t){return t.filter((function(t){return r.isNumber(t)}))})),n.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/l),A=f*(w.height/c);b=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==b&&(m=n.globals.seriesXvalues[b],p=(v=this.closestInArray(k,m)).index)}return n.globals.capturedSeriesIndex=null===b?-1:b,(!p||p<1)&&(p=0),n.globals.isBarHorizontal?n.globals.capturedDataPointIndex=x:n.globals.capturedDataPointIndex=p,{capturedSeries:b,j:n.globals.isBarHorizontal?x:p,hoverX:g,hoverY:f}}},{key:"closestInMultiArray",value:function(t,e,i,a){var s=this.w,r=0,n=null,o=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):n=0;var l=i[r][0],c=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a0?e:-1})),s=0;s0)for(var a=0;ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(".apexcharts-marker"))})),e}},{key:"hasMarkers",value:function(){return this.getElMarkers().length>0}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s ').concat(i.attrs.name,""),e+="
".concat(i.val,"
")})),v.innerHTML=t+"",m.innerHTML=e+""};n?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML="",m.innerHTML=""):y()}else v.innerHTML="",m.innerHTML="";null!==f&&(a[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=l.config.tooltip.z.title,a[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==f?f:""),n&&p[0]&&(null==h||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?p[0].parentNode.style.display="none":p[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("apexcharts-active"),i.style.display=e.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",n="",o=null,l=null,c={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},h=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=r;return r=a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?new St(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new et(this.ctx).formatDate,w:this.w}):a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,c):a.globals.xLabelFormatter(d,c),void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,c)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(o=h(a.globals.seriesZ[e][i],a)),n="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,c):r,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(n)?n.join(" "):n,zVal:o}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,n=this.ttCtx.getElTooltip(),o=r.config.tooltip.custom;Array.isArray(o)&&o[e]&&(o=o[e]),n.innerHTML=o({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}])&&Ve(e.prototype,i),t}();function _e(t,e){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,n=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/n*e),null===s||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var o=r;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(o=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&f.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&f.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var a,s=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;t-=i.xaxisTooltip.getBoundingClientRect().width/2,isNaN(t)||(t+=e.globals.translateX,a=new f(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=a.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=s+"px")}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,n=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(n-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=s+"px",i.yaxisTTEls[t].style.left=n+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),n=s.tooltipRect,o=null!==i?parseFloat(i):1,l=parseFloat(t)+o+5,c=parseFloat(e)+o/2;if(l>a.globals.gridWidth/2&&(l=l-n.ttWidth-o-10),l>a.globals.gridWidth-n.ttWidth-10&&(l=a.globals.gridWidth-n.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var h=s.getElGrid(),d=h.getBoundingClientRect();c=s.e.clientY+a.globals.translateY-d.top-n.ttHeight/2}else a.globals.isBarHorizontal||(n.ttHeight/2+c>a.globals.gridHeight&&(c=a.globals.gridHeight-n.ttHeight+a.globals.translateY),c<0&&(c=0));isNaN(l)||(l+=a.globals.translateX,r.style.left=l+"px",r.style.top=c+"px")}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),r=0;r0&&(c.setAttribute("r",o),c.setAttribute("cx",i),c.setAttribute("cy",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,o)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,n=a.globals.pointsArray;e=new j(this.ctx).getActiveConfigSeriesIndex(!0);var o=i.tooltipUtil.getHoverMarkerSize(e);n[e]&&(s=n[e][t][0],r=n[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var c=0;c0?(l[c]&&l[c].setAttribute("r",o),l[c]&&l[c].setAttribute("cy",d)):l[c]&&l[c].setAttribute("r",0)}}if(this.moveXCrosshairs(s),!i.fixedTooltip){var u=r||a.globals.gridHeight;this.moveTooltip(s,u,o)}}},{key:"moveStickyTooltipOverBars",value:function(t){var e=this.w,i=this.ttCtx,a=e.globals.columnSeries?e.globals.columnSeries.length:e.globals.series.length,s=a>=2&&a%2==0?Math.floor(a/2):Math.floor(a/2)+1;e.globals.isBarHorizontal&&(s=new j(this.ctx).getActiveConfigSeriesIndex(!1,"desc")+1);var r=e.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(s,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"']")),n=r?parseFloat(r.getAttribute("cx")):0,o=r?parseFloat(r.getAttribute("cy")):0,l=r?parseFloat(r.getAttribute("barWidth")):0,c=r?parseFloat(r.getAttribute("barHeight")):0,h=i.getElGrid().getBoundingClientRect(),d=r.classList.contains("apexcharts-candlestick-area")||r.classList.contains("apexcharts-boxPlot-area");if(e.globals.isXNumeric?(r&&!d&&(n-=a%2!=0?l/2:0),r&&d&&e.globals.comboCharts&&(n-=l/2)):e.globals.isBarHorizontal||(n=i.xAxisTicksPositions[t-1]+i.dataPointsDividedWidth/2,isNaN(n)&&(n=i.xAxisTicksPositions[t]-i.dataPointsDividedWidth/2)),e.globals.isBarHorizontal?(o>e.globals.gridHeight/2&&(o-=i.tooltipRect.ttHeight),(o=o+e.config.grid.padding.top+c/3)+c>e.globals.gridHeight&&(o=e.globals.gridHeight-c)):e.config.tooltip.followCursor?o=i.e.clientY-h.top-i.tooltipRect.ttHeight/2:o+i.tooltipRect.ttHeight+15>e.globals.gridHeight&&(o=e.globals.gridHeight),o<-10&&(o=-10),e.globals.isBarHorizontal||this.moveXCrosshairs(n),!i.fixedTooltip){var u=o||e.globals.gridHeight;this.moveTooltip(n,u)}}}])&&_e(e.prototype,i),t}();function qe(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;"bubble"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute("cx"),n=e.getAttribute("cy");if(null!==i&&null!==a&&(r=i,n=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if("radar"===s.config.chart.type){var o=this.ttCtx.getElGrid(),l=o.getBoundingClientRect();r=this.ttCtx.e.clientX-l.left}this.tooltipPosition.moveTooltip(r,n,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),n=e.config.markers.hover.size,o=0;o=0?t[e].setAttribute("r",i):t[e].setAttribute("r",0)}}}])&&Ze(e.prototype,i),t}();function Je(t,e){for(var i=0;io.globals.gridWidth/2&&(a=h-n.tooltipRect.ttWidth/2+u),n.w.config.tooltip.followCursor){var f=o.globals.dom.elWrap.getBoundingClientRect();a=o.globals.clientX-f.left-(a>o.globals.gridWidth/2?n.tooltipRect.ttWidth:0),s=o.globals.clientY-f.top-(s>o.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,n=t.x,o=t.y,l=this.w,c=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),d=parseInt(s.paths.getAttribute("cy"),10),u=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,c.intersect){var g=r.findAncestor(s.paths,"apexcharts-series");g&&(e=parseInt(g.getAttribute("data:realIndex"),10))}if(c.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!c.showOnIntersect&&l.config.tooltip.shared,e:a}),"mouseup"===a.type&&c.markerClick(a,e,i),l.globals.capturedSeriesIndex=e,l.globals.capturedDataPointIndex=i,n=h,o=d+l.globals.translateY-1.4*c.tooltipRect.ttHeight,c.w.config.tooltip.followCursor){var f=c.getElGrid().getBoundingClientRect();o=c.e.clientY+l.globals.translateY-f.top}u<0&&(o=d),c.marker.enlargeCurrentPoint(i,s.paths,n,o)}return{x:n,y:o}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=this.ttCtx,o=n.getElTooltip(),l=0,c=0,h=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var u=d.barHeight,g=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=g,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(c=d.x,h=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=c):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(h)?h=r.globals.svgHeight-n.tooltipRect.ttHeight:h<0&&(h=0);var f=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10),p=r.globals.isMultipleYAxis?r.config.yaxis[f]&&r.config.yaxis[f].reversed:r.config.yaxis[0].reversed;if(c+n.tooltipRect.ttWidth>r.globals.gridWidth&&!p?c-=n.tooltipRect.ttWidth:c<0&&(c=0),n.w.config.tooltip.followCursor){var x=n.getElGrid().getBoundingClientRect();h=n.e.clientY-x.top}null===n.tooltip&&(n.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(l+i/2):n.tooltipPosition.moveXCrosshairs(l)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(p&&(c-=n.tooltipRect.ttWidth)<0&&(c=0),!p||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||(h=h+u-2*(r.globals.series[e][g]<0?u:0)),n.tooltipRect.ttHeight+h>r.globals.gridHeight?h=r.globals.gridHeight-n.tooltipRect.ttHeight+r.globals.translateY:(h=h+r.globals.translateY-n.tooltipRect.ttHeight/2)<0&&(h=0),o.style.left=c+r.globals.translateX+"px",o.style.top=h+"px")}},{key:"getBarTooltipXY",value:function(t){var e=t.e,i=t.opt,a=this.w,s=null,r=this.ttCtx,n=0,o=0,l=0,c=0,h=0,d=e.target.classList;if(d.contains("apexcharts-bar-area")||d.contains("apexcharts-candlestick-area")||d.contains("apexcharts-boxPlot-area")||d.contains("apexcharts-rangebar-area")){var u=e.target,g=u.getBoundingClientRect(),f=i.elGrid.getBoundingClientRect(),p=g.height;h=g.height;var x=g.width,b=parseInt(u.getAttribute("cx"),10),v=parseInt(u.getAttribute("cy"),10);c=parseFloat(u.getAttribute("barWidth"));var m="touchmove"===e.type?e.touches[0].clientX:e.clientX;s=parseInt(u.getAttribute("j"),10),n=parseInt(u.parentNode.getAttribute("rel"),10)-1;var y=u.getAttribute("data-range-y1"),w=u.getAttribute("data-range-y2");a.globals.comboCharts&&(n=parseInt(u.parentNode.getAttribute("data:realIndex"),10)),r.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:n,j:s,y1:y?parseInt(y,10):null,y2:w?parseInt(w,10):null,shared:!r.showOnIntersect&&a.config.tooltip.shared,e}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(o=m-f.left+15,l=v-r.dataPointsDividedHeight+p/2-r.tooltipRect.ttHeight/2):(o=a.globals.isXNumeric?b-x/2:b-r.dataPointsDividedWidth+x/2,l=e.clientY-f.top-r.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((o=b)0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var n=a.getElGrid().getBoundingClientRect(),o=(e-n.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],c=s.globals.minYArr[t]+(l-o);a.tooltipPosition.moveYCrosshairs(e-n.top),a.yaxisTooltipText[t].innerHTML=r(c),a.tooltipPosition.moveYAxisTooltip(t)}}}])&&Ke(e.prototype,i),t}();function ei(t,e){for(var i=0;i0&&this.addPathsEventListeners(g,h),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(h)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,o=this.tConfig.fixed.position.toLowerCase();return o.indexOf("right")>-1&&(r=r+t.globals.svgWidth-a+10),o.indexOf("bottom")>-1&&(n=n+t.globals.svgHeight-s-10),e.style.left=r+"px",e.style.top=n+"px",{x:r,y:n,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:"seriesHover",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,n=this.getElTooltip();n&&(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=s,!i.tooltipUtil.hasBars()||r.globals.comboCharts||i.isBarShared||this.tConfig.onDatasetHover.highlightDataSeries&&new j(e).toggleSeriesOnHover(s,s.target.parentNode),i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}))}},{key:"axisChartsTooltips",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=s.elGrid.getBoundingClientRect(),o="touchmove"===a.type?a.touches[0].clientX:a.clientX,l="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=o,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,ln.top+n.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var c=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(c)<0)return void this.handleMouseOut(s)}var h=this.getElTooltip(),d=this.getElXCrosshairs(),u=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add("apexcharts-active");var g=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&g.length&&this.ycrosshairs.classList.add("apexcharts-active"),u&&!this.showOnIntersect)this.handleStickyTooltip(a,o,l,s);else if("heatmap"===r.config.chart.type||"treemap"===r.config.chart.type){var f=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=f.x,i=f.y,h.style.left=e+"px",h.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var p=0;pl.width?this.handleMouseOut(a):null!==o?this.handleStickyCapturedSeries(t,o,a,n):(this.tooltipUtil.isXoverlap(n)||s.globals.isBarHorizontal)&&this.create(t,this,0,n,a.ttItems)}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var s=this.w;this.tConfig.shared||null!==s.globals.series[e][a]?void 0!==s.globals.series[e][a]?this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1):this.tooltipUtil.isXoverlap(a)&&this.create(t,this,0,a,i.ttItems):this.handleMouseOut(i)}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new f(this.ctx),i=t.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,n=this.w,o=e;"mouseup"===t.type&&this.markerClick(t,i,a),null===r&&(r=this.tConfig.shared);var l=this.tooltipUtil.hasMarkers(),c=this.tooltipUtil.getElBars();if(n.config.legend.tooltipHoverFormatter){var h=n.config.legend.tooltipHoverFormatter,d=Array.from(this.legendLabels);d.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var u=0;u0?o.marker.enlargePoints(a):o.tooltipPosition.moveDynamicPointsOnHover(a)),this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(c),this.barSeriesHeight>0)){var v=new f(this.ctx),m=n.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a);for(var y=0;y0&&(this.totalItems+=t[n].length);for(var o=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),l=0,c=0,h=function(s,n){var h=void 0,d=void 0,u=void 0,g=void 0,f=[],p=[],x=a.globals.comboCharts?e[s]:s;i.yRatio.length>1&&(i.yaxisIndex=x),i.isReversed=a.config.yaxis[i.yaxisIndex]&&a.config.yaxis[i.yaxisIndex].reversed;var b=i.graphics.group({class:"apexcharts-series",seriesName:r.escapeString(a.globals.seriesNames[x]),rel:s+1,"data:realIndex":x});i.ctx.series.addCollapsedClassToSeries(b,x);var v=i.graphics.group({class:"apexcharts-datalabels","data:realIndex":x}),m=0,y=0,w=i.initialPositions(l,c,h,d,u,g);c=w.y,m=w.barHeight,d=w.yDivision,g=w.zeroW,l=w.x,y=w.barWidth,h=w.xDivision,u=w.zeroH,i.yArrj=[],i.yArrjF=[],i.yArrjVal=[],i.xArrj=[],i.xArrjF=[],i.xArrjVal=[],1===i.prevY.length&&i.prevY[0].every((function(t){return isNaN(t)}))&&(i.prevY[0]=i.prevY[0].map((function(t){return u})),i.prevYF[0]=i.prevYF[0].map((function(t){return 0})));for(var k=0;k1?(i=l.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:o*parseInt(l.config.plotOptions.bar.columnWidth,10)/100,s=this.baseLineY[this.yaxisIndex]+(this.isReversed?l.globals.gridHeight:0)-(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=l.globals.padHorizontal+(i-o)/2),{x:t,y:e,yDivision:a,xDivision:i,barHeight:n,barWidth:o,zeroH:s,zeroW:r}}},{key:"drawStackedBarPaths",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,n=t.x,o=t.y,l=t.yDivision,c=t.elSeries,h=this.w,d=o,u=i.i,g=i.j,f=0,p=0;p0){var x=r;this.prevXVal[u-1][g]<0?x=this.series[u][g]>=0?this.prevX[u-1][g]+f-2*(this.isReversed?f:0):this.prevX[u-1][g]:this.prevXVal[u-1][g]>=0&&(x=this.series[u][g]>=0?this.prevX[u-1][g]:this.prevX[u-1][g]-f+2*(this.isReversed?f:0)),e=x}else e=r;n=null===this.series[u][g]?e:e+this.series[u][g]/this.invertedYRatio-2*(this.isReversed?this.series[u][g]/this.invertedYRatio:0);var b=this.barHelpers.getBarpaths({barYPosition:d,barHeight:a,x1:e,x2:n,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:u,j:g,w:h});return this.barHelpers.barBackground({j:g,i:u,y1:d,y2:a,elSeries:c}),o+=l,{pathTo:b.pathTo,pathFrom:b.pathFrom,x:n,y:o}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,n=t.zeroH,o=(t.strokeWidth,t.elSeries),l=this.w,c=e.i,h=e.j,d=e.bc;if(l.globals.isXNumeric){var u=l.globals.seriesX[c][h];u||(u=0),i=(u-l.globals.minX)/this.xRatio-r/2}for(var g,f=i,p=0,x=0;x0&&!l.globals.isXNumeric||c>0&&l.globals.isXNumeric&&l.globals.seriesX[c-1][h]===l.globals.seriesX[c][h]){var b,v,m=Math.min(this.yRatio.length+1,c+1);if(void 0!==this.prevY[c-1])for(var y=1;y=0?v-p+2*(this.isReversed?p:0):v;break}if(this.prevYVal[c-w][h]>=0){b=this.series[c][h]>=0?v:v+p-2*(this.isReversed?p:0);break}}void 0===b&&(b=l.globals.gridHeight),g=this.prevYF[0].every((function(t){return 0===t}))&&this.prevYF.slice(1,c).every((function(t){return t.every((function(t){return isNaN(t)}))}))?l.globals.gridHeight-n:b}else g=l.globals.gridHeight-n;a=g-this.series[c][h]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[c][h]/this.yRatio[this.yaxisIndex]:0);var k=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:r,y1:g,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,realIndex:e.realIndex,i:c,j:h,w:l});return this.barHelpers.barBackground({bc:d,j:h,i:c,x1:f,x2:r,elSeries:o}),i+=s,{pathTo:k.pathTo,pathFrom:k.pathFrom,x:l.globals.isXNumeric?i-s:i,y:a}}}])&&li(e.prototype,i),o}(J);function gi(t){return(gi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function fi(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function pi(t){for(var e=1;e0&&(i.visibleI=i.visibleI+1),i.yRatio.length>1&&(i.yaxisIndex=m);var w=i.barHelpers.initialPositions();x=w.y,g=w.barHeight,h=w.yDivision,u=w.zeroW,p=w.x,f=w.barWidth,c=w.xDivision,d=w.zeroH,v.push(p+f/2);for(var k=s.group({class:"apexcharts-datalabels","data:realIndex":m}),A=function(e){var s=i.barHelpers.getStrokeWidth(o,e,m),r=null,l={indexes:{i:o,j:e,realIndex:m},x:p,y:x,strokeWidth:s,elSeries:y};r=i.isHorizontal?i.drawHorizontalBoxPaths(pi(pi({},l),{},{yDivision:h,barHeight:g,zeroW:u})):i.drawVerticalBoxPaths(pi(pi({},l),{},{xDivision:c,barWidth:f,zeroH:d})),x=r.y,p=r.x,e>0&&v.push(p+f/2),b.push(x),r.pathTo.forEach((function(l,c){var h=!i.isBoxPlot&&i.candlestickOptions.wick.useFillColor?r.color[c]:a.globals.stroke.colors[o],d=n.fillPath({seriesNumber:m,dataPointIndex:e,color:r.color[c],value:t[o][e]});i.renderSeries({realIndex:m,pathFill:d,lineFill:h,j:e,i:o,pathFrom:r.pathFrom,pathTo:l,strokeWidth:s,elSeries:y,x:p,y:x,series:t,barHeight:g,barWidth:f,elDataLabelsWrap:k,visibleSeries:i.visibleI,type:a.config.chart.type})}))},S=0;Sv.c&&(d=!1);var w=Math.min(v.o,v.c),k=Math.max(v.o,v.c),A=v.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[b][h]-o.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[c][h]||null===this.series[c][h]?(w=r,k=r):(w=r-w/x,k=r-k/x,m=r-v.h/x,y=r-v.l/x,A=r-v.m/x);var C=l.move(S,r),P=l.move(S+s/2,w);return o.globals.previousPaths.length>0&&(P=this.getPreviousPath(b,h,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,m)+l.line(S+s/4,m)+l.line(S+s-s/4,m)+l.line(S+s/2,m)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+n/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+"z"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,m)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-n/2)],P+=l.move(S,w),o.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:P,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[u]:[g]}}},{key:"drawHorizontalBoxPaths",value:function(t){var e=t.indexes,i=(t.x,t.y),a=t.yDivision,s=t.barHeight,r=t.zeroW,n=t.strokeWidth,o=this.w,l=new f(this.ctx),c=e.i,h=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var u=this.invertedYRatio,g=e.realIndex,p=this.getOHLCValue(g,h),x=r,b=r,v=Math.min(p.o,p.c),m=Math.max(p.o,p.c),y=p.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[g][h]-o.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[c][h]||null===this.series[c][h]?(v=r,m=r):(v=r+v/u,m=r+m/u,x=r+p.h/u,b=r+p.l/u,y=r+p.m/u);var k=l.move(r,w),A=l.move(v,w+s/2);return o.globals.previousPaths.length>0&&(A=this.getPreviousPath(g,h,!0)),k=[l.move(v,w)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s/2-s/4)+l.line(x,w+s/2+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(v+n/2,w),l.move(y,w)+l.line(y,w+s)+l.line(m,w+s)+l.line(m,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s-s/4)+l.line(b,w+s/4)+l.line(b,w+s/2)+l.line(m,w+s/2)+l.line(m,w)+l.line(y,w)+"z"],A+=l.move(v,w),o.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:m,y:i,barYPosition:w,color:d}}},{key:"getOHLCValue",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}])&&vi(e.prototype,i),o}(J);function Ai(t){return function(t){if(Array.isArray(t))return Si(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Si(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Si(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Si(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:"getShadeColor",value:function(t,e,i,a){var s=this.w,n=1,o=s.config.plotOptions[t].shadeIntensity,l=this.determineColor(t,e,i);s.globals.hasNegs||a?n=s.config.plotOptions[t].reverseNegativeShade?l.percent<0?l.percent/100*(1.25*o):(1-l.percent/100)*(1.25*o):l.percent<=0?1-(1+l.percent/100)*o:(1-l.percent/100)*o:(n=1-l.percent/100,"treemap"===t&&(n=(1-l.percent/100)*(1.25*o)));var c=l.color,h=new r;return s.config.plotOptions[t].enableShades&&(c="dark"===this.w.config.theme.mode?r.hexToRgba(h.shadeColor(-1*n,l.color),s.config.fill.opacity):r.hexToRgba(h.shadeColor(n,l.color),s.config.fill.opacity)),{color:c,colorProps:l}}},{key:"determineColor",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],n=r.colorScale.inverse?i:e;r.distributed&&"treemap"===a.config.chart.type&&(n=i);var o=a.globals.colors[n],l=null,c=Math.min.apply(Math,Ai(a.globals.series[e])),h=Math.max.apply(Math,Ai(a.globals.series[e]));r.distributed||"heatmap"!==t||(c=a.globals.minY,h=a.globals.maxY),void 0!==r.colorScale.min&&(c=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(h)+Math.abs(c),u=100*s/(0===d?d-1e-6:d);return r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){o=t.color,l=t.foreColor?t.foreColor:null,c=t.from,h=t.to;var i=Math.abs(h)+Math.abs(c);u=100*s/(0===i?i-1e-6:i)}})),{color:o,foreColor:l,percent:u}}},{key:"calculateDataLabels",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,n=t.colorProps,o=t.fontSize,l=this.w.config.dataLabels,c=new f(this.ctx),h=new R(this.ctx),d=null;if(l.enabled){d=c.group({class:"apexcharts-data-labels"});var u=l.offsetX,g=l.offsetY,p=i+u,x=a+parseFloat(l.style.fontSize)/3+g;h.plotDataLabelsText({x:p,y:x,text:e,i:s,j:r,color:n.foreColor,parent:d,fontSize:o,dataLabelsConfig:l})}return d}},{key:"addListeners",value:function(t){var e=new f(this.ctx);t.node.addEventListener("mouseenter",e.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",e.pathMouseLeave.bind(this,t)),t.node.addEventListener("mousedown",e.pathMouseDown.bind(this,t))}}])&&Ci(e.prototype,i),t}();function Li(t,e){for(var i=0;i=0;l?d++:d--){var u=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:r.escapeString(e.globals.seriesNames[d]),rel:d+1,"data:realIndex":d});if(this.ctx.series.addCollapsedClassToSeries(u,d),e.config.chart.dropShadow.enabled){var g=e.config.chart.dropShadow;new c(this.ctx).dropShadow(u,g,d)}for(var p=0,x=e.config.plotOptions.heatmap.shadeIntensity,b=0;b-1&&this.pieClicked(g),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*x/this.fullAngle+"%";if(0!==x&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+n):a+n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(l=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(l)>this.fullAngle&&(l-=this.fullAngle);var c=Math.PI*(l-90)/180,h=e.centerX+s*Math.cos(o),d=e.centerY+s*Math.sin(o),u=e.centerX+s*Math.cos(c),g=e.centerY+s*Math.sin(c),f=r.polarToCartesian(e.centerX,e.centerY,e.donutSize,l),p=r.polarToCartesian(e.centerX,e.centerY,e.donutSize,n),x=a>180?1:0,b=["M",h,d,"A",s,s,0,x,1,u,g];return"donut"===e.chartType?[].concat(b,["L",f.x,f.y,"A",e.donutSize,e.donutSize,0,x,0,p.x,p.y,"L",h,d,"z"]).join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[].concat(b,["L",e.centerX,e.centerY,"L",h,d]).join(" "):[].concat(b).join(" ")}},{key:"drawPolarElements",value:function(t){var e=this.w,i=new Xt(this.ctx),a=new f(this.ctx),s=new Ei(this.ctx),r=a.group(),n=a.group(),o=i.niceScale(0,Math.ceil(this.maxY),e.config.yaxis[0].tickAmount,0,!0),l=o.result.reverse(),c=o.result.length;this.maxY=o.niceMax;for(var h=e.globals.radialSize,d=h/(c-1),u=0;u1&&t.total.show&&(s=t.total.color);var n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,r),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==n&&(n.textContent=e),null!==o&&(o.textContent=i),null!==n&&(n.style.fill=s)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==r&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(t){var e=this,i=this.w,a=new f(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var n=[],o=360/i.globals.series.length,l=0;l1)n&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!n)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var c=s.globals.selectedDataPoints[0],h=s.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(c));this.printDataLabelsInner(h,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}])&&Mi(e.prototype,i),t}();function zi(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function Xi(t){for(var e=1;e0&&(x=e.getPreviousPath(o));for(var b=0;b=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var p=i.drawPath({d:"",stroke:d,strokeWidth:n*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var x=h.dropShadow;s.dropShadow(p,x)}l.add(p),p.attr("id","apexcharts-radialbarTrack-"+o),this.animatePaths(p,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:u,size:t.size,i:o,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new f(this.ctx),a=new M(this.ctx),s=new c(this.ctx),n=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var l=e.config.plotOptions.radialBar.hollow.background,h=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,d=h-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(l=this.drawHollowImage(t,n,h,l));var u=this.drawHollow({size:d,centerX:t.centerX,centerY:t.centerY,fill:l||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var g=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(u,g)}var p=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(p=0);var x=null;this.radialDataLabels.show&&(x=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:h,centerX:t.centerX,centerY:t.centerY,opacity:p})),"back"===e.config.plotOptions.radialBar.hollow.position&&(n.add(u),x&&n.add(x));var b=!1;e.config.plotOptions.radialBar.inverseOrder&&(b=!0);for(var v=b?t.series.length-1:0;b?v>=0:v100?100:t.series[v])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*r.negToZero(e.globals.previousPaths[v])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var P=S-w,L=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[v]:e.config.stroke.dashArray,T=i.drawPath({d:"",stroke:y,strokeWidth:o,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+v,strokeDashArray:L});if(f.setAttrs(T.node,{"data:angle":P,"data:value":t.series[v]}),e.config.chart.dropShadow.enabled){var O=e.config.chart.dropShadow;s.dropShadow(T,O,v)}s.setSelectionFilter(T,0,v),this.addListeners(T,this.radialDataLabels),m.add(T),T.attr({index:0,j:v});var E=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(E=e.config.chart.animations.speed),e.globals.dataChanged&&(E=e.config.chart.animations.dynamicAnimation.speed),this.animDur=E/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(T,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:v,totalItems:2,animBeginArr:this.animBeginArr,dur:E,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:n,elHollow:u,dataLabels:x}}},{key:"drawHollow",value:function(t){var e=new f(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,n=new M(this.ctx),o=r.randomId(),l=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)n.clippedImgArea({width:i,height:i,image:l,patternID:"pattern".concat(s.globals.cuid).concat(o)}),a="url(#pattern".concat(s.globals.cuid).concat(o,")");else{var c=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===c&&void 0===h){var d=s.globals.dom.Paper.image(l).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(d)}else{var u=s.globals.dom.Paper.image(l).loaded((function(e){this.move(t.centerX-c/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(c,h)}));e.add(u)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}}])&&Hi(e.prototype,i),o}(Ii);function Vi(t,e){for(var i=0;i0&&parseInt(n.realIndex,10)===parseInt(a,10)&&("line"===n.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):"area"===n.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e=t.i,i=t.series,a=t.prevY,s=t.lineYPosition,r=this.w;if(void 0!==i[e][0])a=(s=r.config.chart.stacked&&e>0?this.lineCtx.prevSeriesY[e-1][0]:this.lineCtx.zeroY)-i[e][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?i[e][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(r.config.chart.stacked&&e>0&&void 0===i[e][0])for(var n=e-1;n>=0;n--)if(null!==i[n][0]&&void 0!==i[n][0]){a=s=this.lineCtx.prevSeriesY[n][0];break}return{prevY:a,lineYPosition:s}}}])&&Vi(e.prototype,i),t}();function _i(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function Ui(t){for(var e=1;e0&&(g=(a.globals.seriesX[h][0]-a.globals.minX)/this.xRatio),u.push(g);var p,b=g,v=b,m=this.zeroY;m=this.lineHelpers.determineFirstPrevY({i:c,series:t,prevY:m,lineYPosition:0}).prevY,d.push(m),p=m;var y=this._calculatePathsFrom({series:t,i:c,realIndex:h,prevX:v,prevY:m}),w=this._iterateOverDataPoints({series:t,realIndex:h,i:c,x:g,y:1,pX:b,pY:p,pathsFrom:y,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:u,yArrj:d});this._handlePaths({type:r,realIndex:h,i:c,paths:w}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),l.push(this.elSeries)}if(a.config.chart.stacked)for(var k=l.length;k>0;k--)n.add(l[k-1]);else for(var A=0;A1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",seriesName:r.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var n=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":n,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,s,r=t.series,n=t.i,o=t.realIndex,l=t.prevX,c=t.prevY,h=this.w,d=new f(this.ctx);if(null===r[n][0]){for(var u=0;u0){var g=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:o});a=g.pathFromLine,s=g.pathFromArea}return{prevX:l,prevY:c,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(t){var e=t.type,i=t.realIndex,a=t.i,s=t.paths,r=this.w,n=new f(this.ctx),o=new M(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj;var l=r.config.forecastDataPoints;if(l.count>0){var c=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-l.count-1],h=n.drawRect(c,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(h.node);var d=n.drawRect(0,0,c,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(d.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var u={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(e)};if("area"===e)for(var g=o.fillPath({seriesNumber:i}),p=0;p0){var k=n.renderPaths(y);k.node.setAttribute("stroke-dasharray",l.dashArray),l.strokeWidth&&k.node.setAttribute("stroke-width",l.strokeWidth),this.elSeries.add(k),k.attr("clip-path","url(#forecastMask".concat(r.globals.cuid,")")),w.attr("clip-path","url(#nonForecastMask".concat(r.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(t){for(var e=t.series,i=t.realIndex,a=t.i,s=t.x,n=t.y,o=t.pX,l=t.pY,c=t.pathsFrom,h=t.linePaths,d=t.areaPaths,u=t.seriesIndex,g=t.lineYPosition,p=t.xArrj,x=t.yArrj,b=this.w,v=new f(this.ctx),m=this.yRatio,y=c.prevY,w=c.linePath,k=c.areaPath,A=c.pathFromLine,S=c.pathFromArea,C=r.isNumber(b.globals.minYArr[i])?b.globals.minYArr[i]:b.globals.minY,P=b.globals.dataPoints>1?b.globals.dataPoints-1:b.globals.dataPoints,L=0;L0&&b.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(a-1)][L+1]:this.zeroY,n=T?g-C/m[this.yaxisIndex]+2*(this.isReversed?C/m[this.yaxisIndex]:0):g-e[a][L+1]/m[this.yaxisIndex]+2*(this.isReversed?e[a][L+1]/m[this.yaxisIndex]:0),p.push(s),x.push(n);var E=this.lineHelpers.calculatePoints({series:e,x:s,y:n,realIndex:i,i:a,j:L,prevY:y}),M=this._createPaths({series:e,i:a,realIndex:i,j:L,x:s,y:n,pX:o,pY:l,linePath:w,areaPath:k,linePaths:h,areaPaths:d,seriesIndex:u});d=M.areaPaths,h=M.linePaths,o=M.pX,l=M.pY,k=M.areaPath,w=M.linePath,this.appendPathFrom&&(A+=v.line(s,this.zeroY),S+=v.line(s,this.zeroY)),this.handleNullDataPoints(e,E,a,L,i),this._handleMarkersAndLabels({pointsPos:E,series:e,x:s,y:n,prevY:y,i:a,j:L,realIndex:i})}return{yArrj:x,xArrj:p,pathFromArea:S,areaPaths:d,pathFromLine:A,linePaths:h}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.pointsPos,i=(t.series,t.x,t.y,t.prevY,t.i),a=t.j,s=t.realIndex,r=this.w,n=new R(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,a,{realIndex:s,pointsPos:e,zRatio:this.zRatio,elParent:this.elPointsMain});else{r.globals.series[i].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var o=this.markers.plotChartMarkers(e,s,a+1);null!==o&&this.elPointsMain.add(o)}var l=n.drawDataLabel(e,s,a+1,null);null!==l&&this.elDataLabelsWrap.add(l)}},{key:"_createPaths",value:function(t){var e=t.series,i=t.i,a=t.realIndex,s=t.j,r=t.x,n=t.y,o=t.pX,l=t.pY,c=t.linePath,h=t.areaPath,d=t.linePaths,u=t.areaPaths,g=t.seriesIndex,p=this.w,x=new f(this.ctx),b=p.config.stroke.curve,v=this.areaBottomY;if(Array.isArray(p.config.stroke.curve)&&(b=Array.isArray(g)?p.config.stroke.curve[g[i]]:p.config.stroke.curve[i]),"smooth"===b){var m=.35*(r-o);p.globals.hasNullValues?(null!==e[i][s]&&(null!==e[i][s+1]?(c=x.move(o,l)+x.curve(o+m,l,r-m,n,r+1,n),h=x.move(o+1,l)+x.curve(o+m,l,r-m,n,r+1,n)+x.line(r,v)+x.line(o,v)+"z"):(c=x.move(o,l),h=x.move(o,l)+"z")),d.push(c),u.push(h)):(c+=x.curve(o+m,l,r-m,n,r,n),h+=x.curve(o+m,l,r-m,n,r,n)),o=r,l=n,s===e[i].length-2&&(h=h+x.curve(o,l,r,n,r,v)+x.move(r,n)+"z",p.globals.hasNullValues||(d.push(c),u.push(h)))}else{if(null===e[i][s+1]){c+=x.move(r,n);var y=p.globals.isXNumeric?(p.globals.seriesX[a][s]-p.globals.minX)/this.xRatio:r-this.xDivision;h=h+x.line(y,v)+x.move(r,n)+"z"}null===e[i][s]&&(c+=x.move(r,n),h+=x.move(r,v)),"stepline"===b?(c=c+x.line(r,null,"H")+x.line(null,n,"V"),h=h+x.line(r,null,"H")+x.line(null,n,"V")):"straight"===b&&(c+=x.line(r,n),h+=x.line(r,n)),s===e[i].length-2&&(h=h+x.line(r,v)+x.move(r,n)+"z",d.push(c),u.push(h))}return{linePaths:d,areaPaths:u,pX:o,pY:l,linePath:c,areaPath:h}}},{key:"handleNullDataPoints",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var n=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==n&&this.elPointsMain.add(n)}}}])&&Zi(e.prototype,i),t}();function Ji(t,e){for(var i=0;ir-a&&l.width<=n-s){var c=o.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(-90 ".concat(c.x," ").concat(c.y,")"))}}},{key:"animateTreemap",value:function(t,e,i,a){var s=new o(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}])&&Ji(e.prototype,i),t}();function Ki(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function ta(t){for(var e=1;e5e4&&(a.globals.disableZoomOut=!0);var n=s.getTimeUnitsfromTimestamp(t,e,this.utc),o=a.globals.gridWidth/r,l=o/24,c=l/60,h=c/60,d=Math.floor(24*r),u=Math.floor(1440*r),g=Math.floor(86400*r),f=Math.floor(r),p=Math.floor(r/30),x=Math.floor(r/365),b={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},v={firstVal:b,currentMillisecond:b.minMillisecond,currentSecond:b.minSecond,currentMinute:b.minMinute,currentHour:b.minHour,currentMonthDate:b.minDate,currentDate:b.minDate,currentMonth:b.minMonth,currentYear:b.minYear,daysWidthOnXAxis:o,hoursWidthOnXAxis:l,minutesWidthOnXAxis:c,secondsWidthOnXAxis:h,numberOfSeconds:g,numberOfMinutes:u,numberOfHours:d,numberOfDays:f,numberOfMonths:p,numberOfYears:x};switch(this.tickInterval){case"years":this.generateYearScale(v);break;case"months":case"half_year":this.generateMonthScale(v);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(v);break;case"hours":this.generateHourScale(v);break;case"minutes_fives":case"minutes":this.generateMinuteScale(v);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(v)}var m=this.timeScaleArray.map((function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?ta(ta({},e),{},{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?ta(ta({},e),{},{value:t.value}):"minute"===t.unit?ta(ta({},e),{},{value:t.value,minute:t.value}):"second"===t.unit?ta(ta({},e),{},{value:t.value,minute:t.minute,second:t.second}):t}));return m.filter((function(t){var e=1,s=Math.ceil(a.globals.gridWidth/120),r=t.value;void 0!==a.config.xaxis.tickAmount&&(s=a.config.xaxis.tickAmount),m.length>s&&(e=Math.floor(m.length/s));var n=!1,o=!1;switch(i.tickInterval){case"years":"year"===t.unit&&(n=!0);break;case"half_year":e=7,"year"===t.unit&&(n=!0);break;case"months":e=1,"year"===t.unit&&(n=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(n=!0),30===r&&(o=!0);break;case"months_days":e=10,"month"===t.unit&&(n=!0),30===r&&(o=!0);break;case"week_days":e=8,"month"===t.unit&&(n=!0);break;case"days":e=1,"month"===t.unit&&(n=!0);break;case"hours":"day"===t.unit&&(n=!0);break;case"minutes_fives":r%5!=0&&(o=!0);break;case"seconds_tens":r%10!=0&&(o=!0);break;case"seconds_fives":r%5!=0&&(o=!0)}if("hours"===i.tickInterval||"minutes_fives"===i.tickInterval||"seconds_tens"===i.tickInterval||"seconds_fives"===i.tickInterval){if(!o)return!0}else if((r%e==0||n)&&!o)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new he(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval="years";break;case t>800:this.tickInterval="half_year";break;case t>180:this.tickInterval="months";break;case t>90:this.tickInterval="months_fortnight";break;case t>60:this.tickInterval="months_days";break;case t>30:this.tickInterval="week_days";break;case t>2:this.tickInterval="days";break;case e>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,n=t.numberOfYears,o=e.minYear,l=0,c=new et(this.ctx),h="year";if(e.minDate>1||e.minMonth>0){var d=c.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);l=(c.determineDaysOfYear(e.minYear)-d+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:l,value:o,unit:h,year:o,month:r.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:l,value:o,unit:h,year:a,month:r.monthMod(i+1)});for(var u=o,g=l,f=0;f1){c=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*n,l=r.monthMod(a+1);var g=s+u,f=r.monthMod(l),p=l;0===l&&(d="year",p=g,f=1,g+=u+=1),this.timeScaleArray.push({position:c,value:p,unit:d,year:g,month:f})}else this.timeScaleArray.push({position:c,value:l,unit:d,year:s,month:r.monthMod(a)});for(var x=l+1,b=c,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,l="month",g=e+=1,e):e},u=(24-e.minHour)*s,g=c,f=d(h,i,a);0===e.minHour&&1===e.minDate?(u=0,g=r.monthMod(e.minMonth),l="month",h=e.minDate,n++):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(u=0,c=e.minDate,g=c,f=d(h=c,i,a)),this.timeScaleArray.push({position:u,value:g,unit:l,year:this._getYear(a,f,0),month:r.monthMod(f),day:h});for(var p=u,x=0;xl.determineDaysOfMonths(e+1,s)&&(x=1,e+=1),{month:e,date:x}},d=function(t,e){return t>l.determineDaysOfMonths(e+1,s)?e+=1:e},u=60-(e.minMinute+e.minSecond/60),g=u*n,f=e.minHour+1,p=f+1;60===u&&(g=0,p=(f=e.minHour)+1);var x=i,b=d(x,a);this.timeScaleArray.push({position:g,value:f,unit:c,day:x,hour:p,year:s,month:r.monthMod(b)});for(var v=g,m=0;m=24&&(p=0,c="day",b=h(x+=1,b).month,b=d(x,b));var y=this._getYear(s,b,0);v=0===p&&0===m?u*n:60*n+v;var w=0===p?x:p;this.timeScaleArray.push({position:v,value:w,unit:c,hour:p,day:x,year:y,month:r.monthMod(b)}),p++}}},{key:"generateMinuteScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,n=t.currentDate,o=t.currentMonth,l=t.currentYear,c=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,d=t.numberOfMinutes,u=a+1,g=n,f=o,p=l,x=s,b=(60-i-e/1e3)*h,v=0;v=60&&(u=0,24===(x+=1)&&(x=0)),this.timeScaleArray.push({position:b,value:u,unit:"minute",hour:x,minute:u,day:g,year:this._getYear(p,f,0),month:r.monthMod(f)}),b+=c,u++}},{key:"generateSecondScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,n=t.currentDate,o=t.currentMonth,l=t.currentYear,c=t.secondsWidthOnXAxis,h=t.numberOfSeconds,d=i+1,u=a,g=n,f=o,p=l,x=s,b=(1e3-e)/1e3*c,v=0;v=60&&(d=0,++u>=60&&(u=0,24==++x&&(x=0))),this.timeScaleArray.push({position:b,value:d,unit:"second",hour:x,minute:u,second:d,day:g,year:this._getYear(p,f,0),month:r.monthMod(f)}),b+=c,d++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),"minute"===t.unit?i+=":"+("0"+e).slice(-2):i+=":"+(t.minute?("0"+t.minute).slice(-2):"00"),"second"===t.unit?i+=":"+("0"+e).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new et(e.ctx),r=e.createRawDateString(t,a),n=s.getDate(s.parseDate(r));if(e.utc||(n=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var o="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(o=l.year),"month"===t.unit&&(o=l.month),"day"===t.unit&&(o=l.day),"hour"===t.unit&&(o=l.hour),"minute"===t.unit&&(o=l.minute),"second"===t.unit&&(o=l.second),a=s.formatDate(n,o)}else a=s.formatDate(n,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new f(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,n=t.map((function(n,o){if(o>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,c=t[r].position;return n.position>c+l+10?(r=o,n):null}return n}));return n.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}])&&ia(e.prototype,i),t}();function sa(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function ra(t){for(var e=1;et.length)&&(e=t.length);for(var i=0,a=new Array(e);i-1,t.xyCharts=["line","area","bar","rangeBar","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,t.isBarHorizontal=("bar"===e.chart.type||"rangeBar"===e.chart.type||"boxPlot"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=".apexcharts"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),f.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas "+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(e.chart.offsetX,", ").concat(e.chart.offsetY,")")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elAnnotations=t.dom.Paper.group().attr({class:"apexcharts-annotations"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elWrap.appendChild(t.dom.elLegendWrap),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},n={series:[],i:[]},o={series:[],i:[]},l={series:[],i:[]},c={series:[],i:[]},h={series:[],i:[]},d={series:[],i:[]};s.series.map((function(e,u){var g=0;void 0!==t[u].type?("column"===t[u].type||"bar"===t[u].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"),c.series.push(e),c.i.push(u),g++,i.globals.columnSeries=c.series):"area"===t[u].type?(n.series.push(e),n.i.push(u),g++):"line"===t[u].type?(r.series.push(e),r.i.push(u),g++):"scatter"===t[u].type?(o.series.push(e),o.i.push(u)):"bubble"===t[u].type?(l.series.push(e),l.i.push(u),g++):"candlestick"===t[u].type?(h.series.push(e),h.i.push(u),g++):"boxPlot"===t[u].type?(d.series.push(e),d.i.push(u),g++):console.warn("You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble"),g>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(u))}));var u=new $i(this.ctx,e),g=new ki(this.ctx,e);this.ctx.pie=new Ii(this.ctx);var f=new ji(this.ctx);this.ctx.rangeBar=new dt(this.ctx,e);var p=new Ri(this.ctx),x=[];if(s.comboCharts){if(n.series.length>0&&x.push(u.draw(n.series,"area",n.i)),c.series.length>0)if(i.config.chart.stacked){var b=new ui(this.ctx,e);x.push(b.draw(c.series,c.i))}else this.ctx.bar=new J(this.ctx,e),x.push(this.ctx.bar.draw(c.series,c.i));if(r.series.length>0&&x.push(u.draw(r.series,"line",r.i)),h.series.length>0&&x.push(g.draw(h.series,h.i)),d.series.length>0&&x.push(g.draw(d.series,d.i)),o.series.length>0){var v=new $i(this.ctx,e,!0);x.push(v.draw(o.series,"scatter",o.i))}if(l.series.length>0){var m=new $i(this.ctx,e,!0);x.push(m.draw(l.series,"bubble",l.i))}}else switch(a.chart.type){case"line":x=u.draw(s.series,"line");break;case"area":x=u.draw(s.series,"area");break;case"bar":a.chart.stacked?x=new ui(this.ctx,e).draw(s.series):(this.ctx.bar=new J(this.ctx,e),x=this.ctx.bar.draw(s.series));break;case"candlestick":case"boxPlot":x=new ki(this.ctx,e).draw(s.series);break;case"rangeBar":x=this.ctx.rangeBar.draw(s.series);break;case"heatmap":x=new Ti(this.ctx,e).draw(s.series);break;case"treemap":x=new Qi(this.ctx,e).draw(s.series);break;case"pie":case"donut":case"polarArea":x=this.ctx.pie.draw(s.series);break;case"radialBar":x=f.draw(s.series);break;case"radar":x=p.draw(s.series);break;default:x=u.draw(s.series)}return x}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=r.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();"%"===a?r.isNumber(i[0])&&(0===i[0].width&&(i=r.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):"px"!==a&&""!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if("auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===s){var n=r.getDimensions(this.el.parentNode);t.svgHeight=n[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),f.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),"%"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+"px"}t.dom.elWrap.style.width=t.svgWidth+"px",t.dom.elWrap.style.height=t.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i={transform:"translate("+t.translateX+", "+e+")"};f.setAttrs(t.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new fe(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),n=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=r.getBoundingClientRect(s);n=o.bottom;var l=o.bottom-o.top;n=Math.max(2.05*t.globals.radialSize,l)}var c=n+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",c),t.config.chart.height&&String(t.config.chart.height).indexOf("%")>0||(e.dom.elWrap.style.height=c+"px",f.setAttrs(e.dom.Paper.node,{height:c}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=c+"px")}},{key:"coreCalculations",value:function(){new Ft(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new vt,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if("back"===e.config.xaxis.crosshairs.position&&new _t(this.ctx).drawXCrosshairs(),"back"===e.config.yaxis[0].crosshairs.position&&new _t(this.ctx).drawYCrosshairs(),"datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new aa(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new x(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&"function"!=typeof e.config.chart.events.selection){var i=e.config.chart.brush.targets||[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,"function"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),"function"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,a){i.forEach((function(t){var i=ApexCharts.getChartByID(t),s=r.clone(e.config.yaxis);if(e.config.chart.brush.autoScaleYaxis&&1===i.w.globals.series.length){var n=new Xt(i);s=n.autoScaleY(i,s,a)}var o=i.w.config.yaxis.reduce((function(t,e,a){return[].concat(function(t){if(Array.isArray(t))return oa(t)}(r=t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||function(t,e){if(t){if("string"==typeof t)return oa(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?oa(t,e):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[ra(ra({},i.w.config.yaxis[a]),{},{min:s[0].min,max:s[0].max})]);var r}),[]);i.ctx.updateHelpers._updateOptions({xaxis:{min:a.xaxis.min,max:a.xaxis.max},yaxis:o},!1,!1,!1,!1)}))}}}}])&&la(e.prototype,i),t}();function ha(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function da(t){for(var e=1;e1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(o){var l=[e.ctx];s&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(s,c){var h=s.w;if(h.globals.shouldAnimate=a,i||(h.globals.resized=!0,h.globals.dataChanged=!0,a&&s.series.getPreviousPaths()),t&&"object"===ga(t)&&(s.config=new xt(t),t=x.extendArrayProps(s.config,t,h),s.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,h.config=r.extend(h.config,t),n&&(h.globals.lastXAxis=t.xaxis?r.clone(t.xaxis):[],h.globals.lastYAxis=t.yaxis?r.clone(t.yaxis):[],h.globals.initialConfig=r.extend({},h.config),h.globals.initialSeries=r.clone(h.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var n,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(n=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(n=[{data:[]}]),o.config.series=n):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=r.clone(o.config.series),o.globals.initialSeries=r.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:"_extendSeries",value:function(t,e){var i=this.w,a=i.config.series[e];return da(da({},i.config.series[e]),{},{name:t.name?t.name:a&&a.name,color:t.color?t.color:a&&a.color,type:t.type?t.type:a&&a.type,data:t.data?t.data:a&&a.data})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(t,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"'], ").concat(s," circle[j='").concat(e,"'], ").concat(s," rect[j='").concat(e,"']")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"']")).members[0],"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new f(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new gt(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){return t.chart&&t.chart.stacked&&"100%"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)}(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}])&&fa(e.prototype,i),t}();function xa(t,e){for(var i=0;i2?s-2:0),n=2;n0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),"treemap"!==a.config.chart.type&&i.axes.drawAxis(a.config.chart.type,e.xyRatios),i.grid=new It(i);var n=i.grid.drawGrid();i.annotations=new O(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position&&n&&a.globals.dom.elGraphical.add(n.el);var o=new Et(t.ctx),l=new Dt(t.ctx);if(null!==n&&(o.xAxisLabelCorrections(n.xAxisTickWidth),l.setYAxisTextAlignments(),a.config.yaxis.map((function(t,e){-1===a.globals.ignoreYAxisIndexes.indexOf(e)&&l.yAxisTitleRotate(e,t.opposite)}))),"back"===a.config.annotations.position&&(a.globals.dom.Paper.add(a.globals.dom.elAnnotations),i.annotations.drawAxesAnnotations()),Array.isArray(e.elGraph))for(var c=0;c0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){var t,e;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=ya.get(t))&&(e.disconnect(),ya.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===r.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new ma(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=this.w;return n.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new Ft(this.ctx);return e.getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new Ft(this.ctx);return e.getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(t){return new Tt(this.ctx).dataURI(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=new Tt(this.ctx);return e.exportToCSV(t)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:"_windowResizeHandler",value:function(){var t=this.w.config.chart.redrawOnWindowResize;"function"==typeof t&&(t=t()),t&&this._windowResize()}}])&&Aa(e.prototype,i),a&&Aa(e,a),t}()},600:()=>{window.TreemapSquared={},function(){"use strict";window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,n=r(t)/this.height,o=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,n=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,n)}return i}}function e(e,a,s,n,o){return n=void 0===n?0:n,o=void 0===o?0:o,function(t){var e,i,a=[];for(e=0;e=a(s,i))}(e,l=t[0],o)?(e.push(l),i(t.slice(1),e,s,n)):(c=s.cutArea(r(e),n),n.push(s.getCoordinates(e)),i(t,[],c,n)),n;n.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;e=0;a--)if(t[a])for(var s in e)t[a].prototype[s]=e[s];i.Set&&i.Set.inherit&&i.Set.inherit()},i.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,i.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&i.extend(e,t.extend),t.construct&&i.extend(t.parent||i.Container,t.construct),e},i.adopt=function(e){return e?e.instance?e.instance:((a="svg"==e.nodeName?e.parentNode instanceof t.SVGElement?new i.Nested:new i.Doc:"linearGradient"==e.nodeName?new i.Gradient("linear"):"radialGradient"==e.nodeName?new i.Gradient("radial"):i[d(e.nodeName)]?new(i[d(e.nodeName)]):new i.Element(e)).type=e.nodeName,a.node=e,e.instance=a,a instanceof i.Doc&&a.namespace().defs(),a.setData(JSON.parse(e.getAttribute("svgjs:data"))||{}),a):null;var a},i.prepare=function(){var t=e.getElementsByTagName("body")[0],a=(t?new i.Doc(t):i.adopt(e.documentElement).nested()).size(2,0);i.parser={body:t||e.documentElement,draw:a.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:a.polyline().node,path:a.path().node,native:i.create("svg")}},i.parser={native:i.create("svg")},e.addEventListener("DOMContentLoaded",(function(){i.parser.draw||i.prepare()}),!1),i.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},i.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new i.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),i.Color.test=function(t){return t+="",i.regex.isHex.test(t)||i.regex.isRgb.test(t)},i.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},i.Color.isColor=function(t){return i.Color.isRgb(t)||i.Color.test(t)},i.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},i.extend(i.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),i.PointArray=function(t,e){i.Array.call(this,t,e||[[0,0]])},i.PointArray.prototype=new i.Array,i.PointArray.prototype.constructor=i.PointArray;for(var a={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]}},s="mlhvqtcsaz".split(""),n=0,o=s.length;nl);return r},bbox:function(){return i.parser.draw||i.prepare(),i.parser.path.setAttribute("d",this.toString()),i.parser.path.getBBox()}}),i.Number=i.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(i.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof i.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new i.Number(t),new i.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new i.Number(t),new i.Number(this-t,this.unit||t.unit)},times:function(t){return t=new i.Number(t),new i.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new i.Number(t),new i.Number(this/t,this.unit||t.unit)},to:function(t){var e=new i.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new i.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new i.Number(this.destination).minus(this).times(t).plus(this):this}}}),i.Element=i.invent({create:function(t){this._stroke=i.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var a=g(this,t,e);return this.width(new i.Number(a.width)).height(new i.Number(a.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(i.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!=t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return i.get(this.attr(t))},parent:function(e){var a=this;if(!a.node.parentNode)return null;if(a=i.adopt(a.node.parentNode),!e)return a;for(;a&&a.node instanceof t.SVGElement;){if("string"==typeof e?a.matches(e):a instanceof e)return a;if(!a.node.parentNode||"#document"==a.node.parentNode.nodeName)return null;a=i.adopt(a.node.parentNode)}},doc:function(){return this instanceof i.Doc?this:this.parent(i.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var a=e.createElement("svg");if(!(t&&this instanceof i.Parent))return a.appendChild(t=e.createElement("svg")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),a.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");a.innerHTML=""+t.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var s=0,r=a.firstChild.childNodes.length;s":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)}},i.morph=function(t){return function(e,a){return new i.MorphObj(e,a).at(t)}},i.Situation=i.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new i.Number(t.duration).valueOf(),this.delay=new i.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),i.FX=i.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,a){"object"===r(t)&&(e=t.ease,a=t.delay,t=t.duration);var s=new i.Situation({duration:t||1e3,delay:a||0,ease:i.easing[e||"-"]||e});return this.queue(s),this},target:function(t){return t&&t instanceof i.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof i.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof i.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var a in e.animations){t=this.target()[a](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[a])||(e.animations[a]=[e.animations[a]]);for(var s=t.length;s--;)e.animations[a][s]instanceof i.Number&&(t[s]=new i.Number(t[s])),e.animations[a][s]=t[s].morph(e.animations[a][s])}for(var a in e.attrs)e.attrs[a]=new i.MorphObj(this.target().attr(a),e.attrs[a]);for(var a in e.styles)e.styles[a]=new i.MorphObj(this.target().style(a),e.styles[a]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on("finished.fx",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off("finished.fx",i))})),this._callStart()},during:function(t){var e=this.last(),a=function(a){a.detail.situation==e&&t.call(this,a.detail.pos,i.morph(a.detail.pos),a.detail.eased,e)};return this.target().off("during.fx",a).on("during.fx",a),this.after((function(){this.off("during.fx",a)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off("allfinished.fx",e)};return this.target().off("allfinished.fx",e).on("allfinished.fx",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire("during",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,a=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),a[r].apply(a,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),a.attr.apply(a,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),a.style.apply(a,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var n=s.transforms.length;r=0;--a)this[m[a]]=null!=t[m[a]]?t[m[a]]:e[m[a]]},extend:{extract:function(){var t=f(this,0,1),e=(f(this,1,0),180/Math.PI*Math.atan2(t.y,t.x)-90);return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new i.Matrix(this)}},clone:function(){return new i.Matrix(this)},morph:function(t){return this.destination=new i.Matrix(t),this},multiply:function(t){return new i.Matrix(this.native().multiply(function(t){return t instanceof i.Matrix||(t=new i.Matrix(t)),t}(t).native()))},inverse:function(){return new i.Matrix(this.native().inverse())},translate:function(t,e){return new i.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=i.parser.native.createSVGMatrix(),e=m.length-1;e>=0;e--)t[m[e]]=this[m[e]];return t},toString:function(){return"matrix("+v(this.a)+","+v(this.b)+","+v(this.c)+","+v(this.d)+","+v(this.e)+","+v(this.f)+")"}},parent:i.Element,construct:{ctm:function(){return new i.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof i.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new i.Matrix(e)}return new i.Matrix(this.node.getScreenCTM())}}}),i.Point=i.invent({create:function(t,e){var i;i=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===r(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=i.x,this.y=i.y},extend:{clone:function(){return new i.Point(this)},morph:function(t,e){return this.destination=new i.Point(t,e),this}}}),i.extend(i.Element,{point:function(t,e){return new i.Point(t,e).transform(this.screenCTM().inverse())}}),i.extend(i.Element,{attr:function(t,e,a){if(null==t){for(t={},a=(e=this.node.attributes).length-1;a>=0;a--)t[e[a].nodeName]=i.regex.isNumber.test(e[a].nodeValue)?parseFloat(e[a].nodeValue):e[a].nodeValue;return t}if("object"===r(t))for(var s in t)this.attr(s,t[s]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?i.defaults.attrs[t]:i.regex.isNumber.test(e)?parseFloat(e):e;"stroke-width"==t?this.attr("stroke",parseFloat(e)>0?this._stroke:null):"stroke"==t&&(this._stroke=e),"fill"!=t&&"stroke"!=t||(i.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof i.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),"number"==typeof e?e=new i.Number(e):i.Color.isColor(e)?e=new i.Color(e):Array.isArray(e)&&(e=new i.Array(e)),"leading"==t?this.leading&&this.leading(e):"string"==typeof a?this.node.setAttributeNS(a,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!=t&&"x"!=t||this.rebuild(t,e)}return this}}),i.extend(i.Element,{transform:function(t,e){var a;return"object"!==r(t)?(a=new i.Matrix(this).extract(),"string"==typeof t?a[t]:a):(a=new i.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(a=e?a.multiply(new i.Matrix(t)):new i.Matrix(t)),this.attr("transform",a))}}),i.extend(i.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(i.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split("(");return[e[0],e[1].split(i.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return"matrix"==e[0]?t.multiply(p(e[1])):t[e[0]].apply(t,e[1])}),new i.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),i.Transformation=i.invent({create:function(t,e){if(arguments.length>1&&"boolean"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var i=0,a=this.arguments.length;i=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return i.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var a=this.children(),s=0,r=a.length;s=0;a--)e.childNodes[a]instanceof t.SVGElement&&x(e.childNodes[a]);return i.adopt(e).id(i.eid(e.nodeName))}function b(t){return null==t.x&&(t.x=0,t.y=0,t.width=0,t.height=0),t.w=t.width,t.h=t.height,t.x2=t.x+t.width,t.y2=t.y+t.height,t.cx=t.x+t.width/2,t.cy=t.y+t.height/2,t}function v(t){return Math.abs(t)>1e-37?t:0}["fill","stroke"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if("string"==typeof e||i.Color.isRgb(e)||e&&"function"==typeof e.fill)this.attr(t,e);else for(var a=l[t].length-1;a>=0;a--)null!=e[l[t][a]]&&this.attr(l.prefix(t,l[t][a]),e[l[t][a]]);return this},i.extend(i.Element,i.FX,e)})),i.extend(i.Element,i.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr("transform",new i.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new i.Number(t).plus(this instanceof i.FX?0:this.x()),!0)},dy:function(t){return this.y(new i.Number(t).plus(this instanceof i.FX?0:this.y()),!0)}}),i.extend(i.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),i.Set=i.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new i.Set(t)}}}),i.FX.Set=i.invent({create:function(t){this.set=t}}),i.Set.inherit=function(){var t=[];for(var e in i.Shape.prototype)"function"==typeof i.Shape.prototype[e]&&"function"!=typeof i.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){i.Set.prototype[t]=function(){for(var e=0,a=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),i.get=function(t){var a=e.getElementById(function(t){var e=(t||"").toString().match(i.regex.reference);if(e)return e[1]}(t)||t);return i.adopt(a)},i.select=function(t,a){return new i.Set(i.utils.map((a||e).querySelectorAll(t),(function(t){return i.adopt(t)})))},i.extend(i.Parent,{select:function(t){return i.select(t,this.node)}});var m="abcdef".split("");if("function"!=typeof t.CustomEvent){var y=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent("CustomEvent");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};y.prototype=t.Event.prototype,i.CustomEvent=y}else i.CustomEvent=t.CustomEvent;return i}(s,s.document)}.call(e,i,e,t))||(t.exports=a)},539:(t,e,i)=>{(e=i(922)(!1)).push([t.id,'.apexcharts-canvas {\n position: relative;\n user-select: none;\n /* cannot give overflow: hidden as it will crop tooltips which overflow outside chart area */\n}\n\n\n/* scrollbar is not visible by default for legend, hence forcing the visibility */\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px;\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0, 0, 0, .5);\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n}\n\n\n.apexcharts-inner {\n position: relative;\n}\n\n.apexcharts-text tspan {\n font-family: inherit;\n}\n\n.legend-mouseover-inactive {\n transition: 0.15s ease all;\n opacity: 0.20;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0;\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255, 255, 255, 0.96);\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30, 30, 30, 0.8);\n}\n\n.apexcharts-tooltip * {\n font-family: inherit;\n}\n\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #ECEFF1;\n border-bottom: 1px solid #ddd;\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0, 0, 0, 0.7);\n border-bottom: 1px solid #333;\n}\n\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-z-value {\n display: inline-block;\n font-weight: 600;\n margin-left: 5px;\n}\n\n.apexcharts-tooltip-title:empty,\n.apexcharts-tooltip-text-y-label:empty,\n.apexcharts-tooltip-text-y-value:empty,\n.apexcharts-tooltip-text-goals-label:empty,\n.apexcharts-tooltip-text-goals-value:empty,\n.apexcharts-tooltip-text-z-value:empty {\n display: none;\n}\n\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-z-value {\n font-weight: 600;\n}\n\n.apexcharts-tooltip-text-goals-label, \n.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px;\n}\n\n.apexcharts-tooltip-goals-group, \n.apexcharts-tooltip-text-goals-label, \n.apexcharts-tooltip-text-goals-value {\n display: flex;\n}\n.apexcharts-tooltip-text-goals-label:not(:empty),\n.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px;\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0px;\n margin-right: 10px;\n border-radius: 50%;\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center;\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1;\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,\n.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px;\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0 !important;\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px;\n}\n\n.apexcharts-tooltip-box, .apexcharts-custom-tooltip {\n padding: 4px 8px;\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse;\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0;\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: bold;\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px;\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777;\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: bold;\n display: block;\n margin-bottom: 5px;\n}\n\n.apexcharts-xaxistooltip {\n opacity: 0;\n padding: 9px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #ECEFF1;\n border: 1px solid #90A4AE;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-xaxistooltip:after,\n.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-left: -6px;\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\n border-width: 7px;\n margin-left: -7px;\n}\n\n.apexcharts-xaxistooltip-bottom:after,\n.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%;\n}\n\n.apexcharts-xaxistooltip-top:after,\n.apexcharts-xaxistooltip-top:before {\n top: 100%;\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #ECEFF1;\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #ECEFF1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-yaxistooltip {\n opacity: 0;\n padding: 4px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #ECEFF1;\n border: 1px solid #90A4AE;\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-yaxistooltip:after,\n.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-top: -6px;\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\n border-width: 7px;\n margin-top: -7px;\n}\n\n.apexcharts-yaxistooltip-left:after,\n.apexcharts-yaxistooltip-left:before {\n left: 100%;\n}\n\n.apexcharts-yaxistooltip-right:after,\n.apexcharts-yaxistooltip-right:before {\n right: 100%;\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #ECEFF1;\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #ECEFF1;\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1;\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none;\n}\n\n.apexcharts-xcrosshairs,\n.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,\n.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0;\n}\n\n.apexcharts-selection-rect {\n cursor: move;\n}\n\n.svg_select_boundingRect, .svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden;\n}\n.apexcharts-selection-rect + g .svg_select_boundingRect,\n.apexcharts-selection-rect + g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden;\n}\n\n.apexcharts-selection-rect + g .svg_select_points_l,\n.apexcharts-selection-rect + g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible;\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2;\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon,\n.apexcharts-reset-icon,\n.apexcharts-pan-icon,\n.apexcharts-selection-icon,\n.apexcharts-menu-icon,\n.apexcharts-toolbar-custom-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6E8192;\n text-align: center;\n}\n\n.apexcharts-zoom-icon svg,\n.apexcharts-zoomin-icon svg,\n.apexcharts-zoomout-icon svg,\n.apexcharts-reset-icon svg,\n.apexcharts-menu-icon svg {\n fill: #6E8192;\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(0.76)\n}\n\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg,\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg {\n fill: #f3f4f5;\n}\n\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg {\n fill: #008FFB;\n}\n\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg,\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg {\n fill: #333;\n}\n\n.apexcharts-selection-icon,\n.apexcharts-menu-icon {\n position: relative;\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px;\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-reset-icon,\n.apexcharts-menu-icon {\n transform: scale(0.85);\n}\n\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n transform: scale(0.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px;\n}\n\n.apexcharts-pan-icon {\n transform: scale(0.62);\n position: relative;\n left: 1px;\n top: 0px;\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6E8192;\n stroke-width: 2;\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008FFB;\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333;\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0px 6px 2px 6px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: 0.15s ease all;\n pointer-events: none;\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: 0.15s ease all;\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer;\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee;\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0, 0, 0, 0.7);\n color: #fff;\n}\n\n@media screen and (min-width: 768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1;\n }\n}\n\n.apexcharts-datalabel.apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-pie-label,\n.apexcharts-datalabels,\n.apexcharts-datalabel,\n.apexcharts-datalabel-label,\n.apexcharts-datalabel-value {\n cursor: default;\n pointer-events: none;\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: 0.3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease;\n}\n\n.apexcharts-canvas .apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-hide .apexcharts-series-points {\n opacity: 0;\n}\n\n.apexcharts-gridline,\n.apexcharts-annotation-rect,\n.apexcharts-xaxis-annotation-label,\n.apexcharts-yaxis-annotation-label,\n.apexcharts-point-annotation-label,\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-line,\n.apexcharts-zoom-rect,\n.apexcharts-toolbar svg,\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-radar-series path,\n.apexcharts-radar-series polygon {\n pointer-events: none;\n}\n\n\n/* markers */\n\n.apexcharts-marker {\n transition: 0.15s ease all;\n}\n\n@keyframes opaque {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n\n/* Resize generated styles */\n\n@keyframes resizeanim {\n from {\n opacity: 0;\n }\n to {\n opacity: 0;\n }\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n}\n\n.resize-triggers,\n.resize-triggers>div,\n.contract-trigger:before {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.resize-triggers>div {\n background: #eee;\n overflow: auto;\n}\n\n.contract-trigger:before {\n width: 200%;\n height: 200%;\n}',""]),t.exports=e},274:(t,e,i)=>{var a=i(379),s=i(539);"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[t.id,s,""]]);var r=(a(t.id,s,{insert:"head",singleton:!1}),s.locals?s.locals:{});t.exports=r},379:(t,e,i)=>{"use strict";var a,s=function(){var t={};return function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}t[e]=i}return t[e]}}(),r={};function n(t,e,i){for(var a=0;a{t.exports=''},355:t=>{t.exports=''},686:t=>{t.exports=''},798:t=>{t.exports=''},323:t=>{t.exports=''},618:t=>{t.exports=''},688:t=>{t.exports=''}},e={};function i(a){if(e[a])return e[a].exports;var s=e[a]={id:a,exports:{}};return t[a].call(s.exports,s,s.exports,i),s.exports}return i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var a in e)i.o(e,a)&&!i.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i(978)})()})); \ No newline at end of file diff --git a/demo/dist/libs/apexcharts/dist/apexcharts.common.js b/demo/dist/libs/apexcharts/dist/apexcharts.common.js deleted file mode 100644 index c92a1c630..000000000 --- a/demo/dist/libs/apexcharts/dist/apexcharts.common.js +++ /dev/null @@ -1,14 +0,0 @@ -/*! - * ApexCharts v3.35.5 - * (c) 2018-2022 ApexCharts - * Released under the MIT License. - */ -"use strict";function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function e(e){for(var i=1;it.length)&&(e=t.length);for(var i=0,a=new Array(e);i>16,o=i>>8&255,n=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(t){return t&&"object"===i(t)&&!Array.isArray(t)&&null!=t}},{key:"is",value:function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;ee.length?t:e}))),t.length>e.length?t:e}),0)}},{key:"hexToRgba",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var a=t.indexOf("Edge/");return a>0&&parseInt(t.substring(a+5,t.indexOf(".",a)),10)}}]),t}(),b=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return r(t,[{key:"setEasingFunctions",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case"linear":t="-";break;case"easein":t="<";break;case"easeout":t=">";break;case"easeinout":t="<>";break;case"swing":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case"bounce":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1};break;default:t="<>"}this.w.globals.easing=t}}},{key:"animateLine",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:"animateMarker",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:"animateCircle",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:"animateRect",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:"animatePathsGradually",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&"bar"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,"line"!==h.config.chart.type||h.globals.comboCharts?s:"stroke",r,o,n,l*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach((function(t){t.el.classList.remove("apexcharts-element-hidden")}))}},{key:"animationCompleted",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),"function"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:"morphSVG",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr("pathFrom")),r||(r=t.attr("pathTo"));var c=function(t){return"radar"===h.config.chart.type&&(o=1),"M 0 ".concat(h.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=c()),(!r||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){x.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):"none"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),v=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getDefaultFilter",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size("120%","180%","-5%","-40%"),"none"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addNormalFilter",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains("apexcharts-marker")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addLightenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"addDarkenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"applyFilter",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(t,e);break;case"lighten":this.addLightenFilter(t,e,{intensity:a});break;case"darken":this.addDarkenFilter(t,e,{intensity:a})}}},{key:"addShadow",value:function(t,e,i){var a=i.blur,s=i.top,r=i.left,o=i.color,n=i.opacity,l=t.flood(Array.isArray(o)?o[e]:o,n).composite(t.sourceAlpha,"in").offset(r,s).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:"dropShadow",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,r=e.blur,o=e.color,n=e.opacity,l=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),x.isIE()&&"radialBar"===h.config.chart.type||(o=Array.isArray(o)?o[i]:o,t.filter((function(t){var e=null;e=x.isSafari()||x.isFirefox()||x.isIE()?t.flood(o,n).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r):t.flood(o,n).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r).merge(t.source),t.blend(t.source,e)})),l||t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)),t}},{key:"setSelectionFilter",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute("selected",!0);var s=a.config.states.active.filter;"none"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:"_scaleFilterSize",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),t}(),m=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawLine",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"butt",l=this.w,h=l.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":o,"stroke-linecap":n});return h}},{key:"drawRect",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w,d=c.globals.dom.Paper.rect();return d.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,"stroke-width":null!==n?n:0,stroke:null!==l?l:"none","stroke-dasharray":h}),d.node.setAttribute("fill",r),d}},{key:"drawPolygon",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none",s=this.w,r=s.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,"stroke-width":i});return r}},{key:"drawCircle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;t<0&&(t=0);var a=i.globals.dom.Paper.circle(2*t);return null!==e&&a.attr(e),a}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,a=t.stroke,s=void 0===a?"#a8a8a8":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,p=void 0===u?null:u,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,"fill-opacity":h,stroke:s,"stroke-opacity":d,"stroke-linecap":p,"stroke-width":o,"stroke-dasharray":x,class:g})}},{key:"group",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=e.globals.dom.Paper.group();return null!==t&&i.attr(t),i}},{key:"move",value:function(t,e){var i=["M",t,e].join(" ");return i}},{key:"line",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=["L",t,e].join(" "):"H"===i?a=["H",t].join(" "):"V"===i&&(a=["V",e].join(" ")),a}},{key:"curve",value:function(t,e,i,a,s,r){var o=["C",t,e,i,a,s,r].join(" ");return o}},{key:"quadraticCurve",value:function(t,e,i,a){return["Q",t,e,i,a].join(" ")}},{key:"arc",value:function(t,e,i,a,s,r,o){var n=arguments.length>7&&void 0!==arguments[7]&&arguments[7],l="A";n&&(l="a");var h=[l,t,e,i,a,s,r,o].join(" ");return h}},{key:"renderPaths",value:function(t){var i,a=t.j,s=t.realIndex,r=t.pathFrom,o=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,p=t.className,f=t.shouldClipToGrid,x=void 0===f||f,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new v(this.ctx),C=new b(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,M=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);M?i=r:(i=o,A.globals.animationEnded=!0);var T=A.config.stroke.dashArray,I=0;I=Array.isArray(T)?T[s]:A.config.stroke.dashArray;var z=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:I});if(z.attr("index",s),x&&z.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")}),"none"!==A.config.states.normal.filter.type)S.getDefaultFilter(z,s);else if(A.config.chart.dropShadow.enabled&&k&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(s))){var X=A.config.chart.dropShadow;S.dropShadow(z,X,s)}y&&(z.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,z)),z.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,z)),z.node.addEventListener("mousedown",this.pathMouseDown.bind(this,z))),z.attr({pathTo:o,pathFrom:r});var E={el:z,j:a,realIndex:s,pathFrom:r,pathTo:o,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(e(e({},E),{},{speed:g})),A.globals.dataChanged&&P&&M&&C.animatePathsGradually(e(e({},E),{},{speed:u})),z}},{key:"drawPattern",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=this.w,o=r.globals.dom.Paper.pattern(e,i,(function(r){"horizontalLines"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):"verticalLines"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):"slantedLines"===t?r.line(0,0,e,i).stroke({color:a,width:s}):"squares"===t?r.rect(e,i).fill("none").stroke({color:a,width:s}):"circles"===t&&r.circle(e).fill("none").stroke({color:a,width:s})}));return o}},{key:"drawGradient",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf("#")&&(e=x.hexToRgba(e,a)),i.length<9&&0===i.indexOf("#")&&(i=x.hexToRgba(i,s));var d=0,g=1,u=1,p=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,p=void 0!==n[3]?n[3]/100:null);var f=!("donut"!==c.config.chart.type&&"pie"!==c.config.chart.type&&"polarArea"!==c.config.chart.type&&"bubble"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==p&&t.at(p,e,a)})):c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),f){var b=c.globals.gridWidth/2,v=c.globals.gridHeight/2;"bubble"!==c.config.chart.type?r.attr({gradientUnits:"userSpaceOnUse",cx:b,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?r.from(0,0).to(0,1):"diagonal"===t?r.from(0,0).to(1,1):"horizontal"===t?r.from(0,1).to(1,1):"diagonal2"===t&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(".apexcharts-series path").members,h=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute("selected","false"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute("selected","true"),o="true",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if("true"===o){var d=i.config.states.active.filter;if("none"!==d)a.applyFilter(t,s,d.type,d.value);else if("none"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if("none"!==i.config.states.active.filter.type)if("none"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e={};return t&&"function"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});a&&o.attr("transform",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if("function"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+"...");t.textContent="."}}}],[{key:"setAttrs",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),y=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getStackedSeriesTotals",value:function(){var t=this.w,e=[];if(0===t.globals.series.length)return e;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:"isSeriesNull",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:"getCategoryLabels",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:"extendArrayProps",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}]),t}(),w=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e}return r(t,[{key:"setOrientations",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4),"top"===t.label.position?s.setAttribute("y",parseFloat(s.getAttribute("y"))+r.width):s.setAttribute("y",parseFloat(s.getAttribute("y"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute("transform","rotate(-90 ".concat(n," ").concat(l,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;"vertical"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:"annotationsBackground",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(a,"']"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener("mouseenter",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener("mouseleave",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener("click",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,"xaxis")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,"yaxis")})),e.config.annotations.points.map((function(t,e){i(t,e,"point")}))}},{key:"getY1Y2",value:function(t,e){var i,a="y1"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var o=s.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(r+1)+")");o&&(i=parseFloat(o.getAttribute("y")))}else{var n;if(s.config.yaxis[e.yAxisIndex].logarithmic)n=(a=new y(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else n=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-n,!e.marker||void 0!==e.y&&null!==e.y||(i=0),s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=n)}return i}},{key:"getX1X2",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,s=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,r=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=(e.x-a)/(r/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(o=(s-e.x)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x));var n=(e.x2-a)/(r/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(n=(s-e.x2)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(o=i.globals.gridWidth),"x1"===t?o:n}},{key:"getStringX",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),t}(),k=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addXaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2("x1",t),o=t.label.text,n=t.strokeDashArray;if(x.isNumber(r)){if(null===t.x2||void 0===t.x2){var l=this.annoCtx.graphics.drawLine(r+t.offsetX,0+t.offsetY,r+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,n,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this.helpers.getX1X2("x2",t))o){var h=o;o=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add("apexcharts-annotation-rect"),c.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d="right"===t.label.position?s.globals.gridWidth:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});g.attr({rel:i}),e.appendChild(g.node)}},{key:"_getYAxisAnnotationWidth",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf("%")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:"drawYAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),S=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addPointAnnotation",value:function(t,e,i){this.w;var a=this.helpers.getX1X2("x1",t),s=this.helpers.getY1Y2("y1",t);if(x.isNumber(a)){var r={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:"apexcharts-point-annotation-marker ".concat(t.marker.cssClass," ").concat(t.id?t.id:"")},o=this.annoCtx.graphics.drawMarker(a+t.marker.offsetX,s+t.marker.offsetY,r);e.appendChild(o.node);var n=t.label.text?t.label.text:"",l=this.annoCtx.graphics.drawText({x:a+t.label.offsetX,y:s+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});if(l.attr({rel:i}),e.appendChild(l.node),t.customSVG.SVG){var h=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+t.customSVG.cssClass});h.attr({transform:"translate(".concat(a+t.customSVG.offsetX,", ").concat(s+t.customSVG.offsetY,")")}),h.node.innerHTML=t.customSVG.SVG,e.appendChild(h.node)}if(t.image.path){var c=t.image.width?t.image.width:20,d=t.image.height?t.image.height:20;o=this.annoCtx.addImage({x:a+t.image.offsetX-c/2,y:s+t.image.offsetY-d/2,width:c,height:d,path:t.image.path,appendTo:".apexcharts-point-annotations"})}t.mouseEnter&&o.node.addEventListener("mouseenter",t.mouseEnter.bind(this,t)),t.mouseLeave&&o.node.addEventListener("mouseleave",t.mouseLeave.bind(this,t)),t.click&&o.node.addEventListener("click",t.click.bind(this,t))}}},{key:"drawPointAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var C={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},L=function(){function t(){a(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,radius:2,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return r(t,[{key:"init",value:function(){return{annotations:{position:"front",yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"transparent",locales:[C],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0},stacked:!1,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",dateFormatter:function(t){return new Date(t).toDateString()}},png:{filename:void 0},svg:{filename:void 0}},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,rangeBarOverlap:!0,rangeBarGroupRows:!1,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal"}},bubble:{minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+"%"}}}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:"#fff",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.5}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"light",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),t}(),P=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.graphics=new m(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new w(this),this.xAxisAnnotations=new k(this),this.yAxisAnnotations=new A(this),this.pointsAnnotations=new S(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return r(t,[{key:"drawAxesAnnotations",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||"scatter"!==t.config.chart.type&&"bubble"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add("apexcharts-element-hidden"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:"drawTextAnnos",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:"addXaxisAnnotation",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:"addYaxisAnnotation",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:"addPointAnnotation",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:"addText",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?".apexcharts-annotations":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:n||"12px",fontWeight:h||"regular",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),M=L.globals.dom.baseEl.querySelector(b);M&&M.appendChild(P.node);var T=P.bbox();if(s){var I=this.graphics.drawRect(T.x-m,T.y-C,T.width+m+w,T.height+A+C,p,d||"transparent",1,g,f,u);M.insertBefore(I.node,P.node)}}},{key:"addImage",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?".apexcharts-annotations":g,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,n);var f=i.globals.dom.baseEl.querySelector(u);return f&&f.appendChild(p.node),p}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),h=l.childNodes.length+1,c=new L,d=Object.assign({},"xaxis"===s?c.xAxisAnnotation:"yaxis"===s?c.yAxisAnnotation:c.pointAnnotation),g=x.extend(d,e);switch(s){case"xaxis":this.addXaxisAnnotation(g,l,h);break;case"yaxis":this.addYaxisAnnotation(g,l,h);break;case"point":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(h,"']")),p=this.helpers.addBackgroundToAnno(u,g);return p&&l.insertBefore(p.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:x.randomId(),method:r,label:"addAnnotation",params:e}),a}},{key:"clearAnnotations",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations");e.globals.memory.methodsToExec.map((function(t,i){"addText"!==t.label&&"addAnnotation"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=x.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:"removeAnnotation",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),M=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return r(t,[{key:"clippedImgArea",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,"pattern");m.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:n+"px",height:l+"px"});var c=document.createElementNS(e.globals.SVGNS,"image");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",o),m.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:n+"px",height:l+"px"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:"getSeriesIndex",value:function(t){var e=this.w;return("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||"heatmap"===e.config.chart.type||"treemap"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),"function"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color);var h=o;if(-1===o.indexOf("rgb")?o.length<9&&(h=x.hexToRgba(o,l)):o.indexOf("rgba")>-1&&(l=x.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),"pattern"===n&&(a=this.handlePatternFill(a,o,l,h)),"gradient"===n&&(s=this.handleGradientFill(o,l,this.seriesIndex)),"image"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:"";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(c=x.getOpacityFromRGBA(h));var d=void 0===s.fill.gradient.opacityTo?e:Array.isArray(s.fill.gradient.opacityTo)?s.fill.gradient.opacityTo[i]:s.fill.gradient.opacityTo;if(void 0===s.fill.gradient.gradientToColors||0===s.fill.gradient.gradientToColors.length)a="dark"===s.fill.gradient.shade?n.shadeColor(-1*parseFloat(s.fill.gradient.shadeIntensity),t.indexOf("rgb")>-1?x.rgb2hex(t):t):n.shadeColor(parseFloat(s.fill.gradient.shadeIntensity),t.indexOf("rgb")>-1?x.rgb2hex(t):t);else if(s.fill.gradient.gradientToColors[r.seriesNumber]){var g=s.fill.gradient.gradientToColors[r.seriesNumber];a=g,g.indexOf("rgba")>-1&&(d=x.getOpacityFromRGBA(g))}else a=t;if(s.fill.gradient.inverseColors){var u=h;h=a,a=u}return h.indexOf("rgb")>-1&&(h=x.rgb2hex(h)),a.indexOf("rgb")>-1&&(a=x.rgb2hex(a)),o.drawGradient(l,h,a,c,d,r.size,s.fill.gradient.stops,s.fill.gradient.colorStops,i)}}]),t}(),T=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"setGlobalMarkerSize",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new m(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(o.globals.cuid,")")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0;if(f||r||d){x.isNumber(l.y[g])?p+=" w".concat(x.randomId()):p="apexcharts-nullpoint";var b=this.getMarkerConfig({cssClass:p,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(b.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(b.pointStrokeColor=o.config.series[n].data[u].strokeColor)),a&&(b.pSize=a),(s=c.drawMarker(l.x[g],l.y[g],b)).attr("rel",u),s.attr("j",u),s.attr("index",e),s.node.setAttribute("default-marker-size",b.pSize);var y=new v(this.ctx);y.setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:"getMarkerConfig",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(t){var e=this.w,i=new m(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),I=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return r(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(h.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(o.x))for(var c=0;cf.maxBubbleRadius&&(p=f.maxBubbleRadius)}a.config.chart.animations.enabled||(u=p);var x=o.x[c],b=o.y[c];if(u=u||0,null!==b&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(x,b,u,p,r,d,e);h.add(v)}l.add(h)}}},{key:"drawPoint",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new b(this.ctx),c=new v(this.ctx),d=new M(this.ctx),g=new T(this.ctx),u=new m(this.ctx),p=g.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:l,dataPointIndex:r,finishRadius:"bubble"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&"bubble"===n.config.series[s].type?a:null});a=p.pSize;var f,x=d.fillPath({seriesNumber:s,dataPointIndex:r,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[s][o]});if("circle"===p.shape?f=u.drawCircle(i):"square"!==p.shape&&"rect"!==p.shape||(f=u.drawRect(0,0,p.width-p.pointStrokeWidth/2,p.height-p.pointStrokeWidth/2,p.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(x=n.config.series[l].data[r].fillColor),f.attr({x:t-p.width/2-p.pointStrokeWidth/2,y:e-p.height/2-p.pointStrokeWidth/2,cx:t,cy:e,fill:x,"fill-opacity":p.pointFillOpacity,stroke:p.pointStrokeColor,r:a,"stroke-width":p.pointStrokeWidth,"stroke-dasharray":p.pointStrokeDashArray,"stroke-opacity":p.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var y=n.config.chart.dropShadow;c.dropShadow(f,y,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(f,0,"circle"===p.shape?a:{width:p.width,height:p.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(f)}),100)}))}if(n.globals.dataChanged&&"circle"===p.shape)if(this.dynamicAnim){var k,A,S,C,L=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var P=0;Pn.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var p=n.globals.dataLabelsRects[a][u];(t>p.x+p.width+2||e>p.y+p.height+2||t+c4&&void 0!==arguments[4]?arguments[4]:2,r=this.w,o=new m(this.ctx),n=r.config.dataLabels,l=0,h=0,c=i,d=null;if(!n.enabled||!Array.isArray(t.x))return d;d=o.group({class:"apexcharts-data-labels"});for(var g=0;ge.globals.gridWidth+f.textRects.width+10)&&(n="");var x=e.globals.dataLabels.style.colors[r];(("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(x=e.globals.dataLabels.style.colors[o]),"function"==typeof x&&(x=x({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(x=g);var b=d.offsetX,y=d.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(b=0,y=0),f.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+b,y:s+y,foreColor:x,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||"normal"});if(w.attr({class:"apexcharts-datalabel",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new v(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{key:"addBackgroundToDataLabel",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new m(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,"transparent"===i.config.chart.background?"#fff":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new v(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:"dataLabelsBackground",value:function(){var t=this.w;if("bubble"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;ii.globals.gridHeight&&(c=i.globals.gridHeight-g)),{bcx:o,bcy:r,dataLabelsX:e,dataLabelsY:c}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.bcy,o=t.barHeight,n=t.barWidth,l=t.textRects,h=t.dataLabelsX,c=t.strokeWidth,d=t.barDataLabelsConfig,g=t.offX,u=t.offY,p=e.globals.gridHeight/e.globals.dataPoints;n=Math.abs(n);var f=r-(this.barCtx.isRangeBar?0:p)+o/2+l.height/2+u-3,x=this.barCtx.series[a][s]<0,b=i;switch(this.barCtx.isReversed&&(b=i+n-(x?2*n:0),i=e.globals.gridWidth-n),d.position){case"center":h=x?b+n/2-g:Math.max(l.width/2,b-n/2)+g;break;case"bottom":h=x?b+n-c-Math.round(l.width/2)-g:b-n+c+Math.round(l.width/2)+g;break;case"top":h=x?b-c+Math.round(l.width/2)-g:b-c-Math.round(l.width/2)+g}return e.config.chart.stacked||(h<0?h=h+l.width+c:h+l.width/2>e.globals.gridWidth&&(h=e.globals.gridWidth-l.width-c)),{bcx:i,bcy:r,dataLabelsX:h,dataLabelsY:f}}},{key:"drawCalculatedDataLabels",value:function(t){var i=t.x,a=t.y,s=t.val,r=t.i,o=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g="rotate(0)";"vertical"===d.config.plotOptions.bar.dataLabels.orientation&&(g="rotate(-90, ".concat(i,", ").concat(a,")"));var u=new z(this.barCtx.ctx),p=new m(this.barCtx.ctx),f=c.formatter,x=null,b=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=p.group({class:"apexcharts-data-labels",transform:g});var v="";void 0!==s&&(v=f(s,{seriesIndex:r,dataPointIndex:o,w:d}));var y=d.globals.series[r][o]<0,w=d.config.plotOptions.bar.dataLabels.position;if("vertical"===d.config.plotOptions.bar.dataLabels.orientation&&("top"===w&&(c.textAnchor=y?"end":"start"),"center"===w&&(c.textAnchor="middle"),"bottom"===w&&(c.textAnchor=y?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)hMath.abs(h)&&(v=""):n.height/1.6>Math.abs(l)&&(v=""));var k=e({},c);this.barCtx.isHorizontal&&s<0&&("start"===c.textAnchor?k.textAnchor="end":"end"===c.textAnchor&&(k.textAnchor="start")),u.plotDataLabelsText({x:i,y:a,text:v,i:r,j:o,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}}]),t}(),E=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.legendInactiveClass="legend-mouseover-inactive"}return r(t,[{key:"getAllSeriesEls",value:function(){return this.w.globals.dom.baseEl.getElementsByClassName("apexcharts-series")}},{key:"getSeriesByName",value:function(t){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner .apexcharts-series[seriesName='".concat(x.escapeString(t),"']"))}},{key:"isSeriesHidden",value:function(t){var e=this.getSeriesByName(t),i=parseInt(e.getAttribute("data:realIndex"),10);return{isHidden:e.classList.contains("apexcharts-series-collapsed"),realIndex:i}}},{key:"addCollapsedClassToSeries",value:function(t,e){var i=this.w;function a(i){for(var a=0;a0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=x.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels");if("mousemove"===t.type){var s=parseInt(e.getAttribute("rel"),10)-1,r=null,o=null;i.globals.axisCharts||"radialBar"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),o=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"))):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']")):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var n=0;n=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else"mouseout"===t.type&&r("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"asc",i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(e,a){var s=!1;return t&&(s="bar"===i.config.series[a].type||"column"===i.config.series[a].type),e.data&&e.data.length>0&&!s?a:-1})),r="asc"===e?0:s.length-1;"asc"===e?r=0;"asc"===e?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:"getPreviousPaths",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute("data:realIndex")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(e,"'] rect")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e("x")),y:parseFloat(e("y")),width:parseFloat(e("width")),height:parseFloat(e("height"))};a.push({rect:s,color:i[t].getAttribute("color")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),Y=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e}return r(t,[{key:"initVariables",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/this.barCtx.seriesLen*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:"getPathFillColor",value:function(t,e,i,a){var s=this.w,r=new M(this.barCtx.ctx),o=null,n=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(o=a.color)}));return s.config.series[e].data[i]&&s.config.series[e].data[i].fillColor&&(o=s.config.series[e].data[i].fillColor),r.fillPath({seriesNumber:this.barCtx.barOptions.distributed?n:a,dataPointIndex:i,color:o,value:t[e][i]})}},{key:"getStrokeWidth",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"barBackground",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new m(this.barCtx.ctx),c=new E(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(t){var e=t.barWidth,i=t.barXPosition,a=t.yRatio,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.series,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u={barWidth:e,strokeWidth:o,yRatio:a,barXPosition:i,y1:s,y2:r},p=this.getRoundedBars(d,u,n,h,c),f=i,x=i+e,b=g.move(f,s),v=g.move(f,s),y=g.line(x-o,s);return d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1)),b=b+g.line(f,p.y2)+p.pathWithRadius+g.line(x-o,p.y2)+y+y+"z",v=v+g.line(f,s)+y+y+y+y+y+g.line(f,s),d.config.chart.stacked&&(this.barCtx.yArrj.push(p.y2WithRadius),this.barCtx.yArrjF.push(Math.abs(s-p.y2WithRadius)),this.barCtx.yArrjVal.push(this.barCtx.series[h][c])),{pathTo:b,pathFrom:v}}},{key:"getBarpaths",value:function(t){var e=t.barYPosition,i=t.barHeight,a=t.x1,s=t.x2,r=t.strokeWidth,o=t.series,n=t.realIndex,l=t.i,h=t.j,c=t.w,d=new m(this.barCtx.ctx);(r=Array.isArray(r)?r[n]:r)||(r=0);var g={barHeight:i,strokeWidth:r,barYPosition:e,x2:s,x1:a},u=this.getRoundedBars(c,g,o,l,h),p=d.move(a,e),f=d.move(a,e);c.globals.previousPaths.length>0&&(f=this.barCtx.getPreviousPath(n,h,!1));var x=e,b=e+i,v=d.line(a,b-r);return p=p+d.line(u.x2,x)+u.pathWithRadius+d.line(u.x2,b-r)+v+v+"z",f=f+d.line(a,x)+v+v+v+v+v+d.line(a,x),c.config.chart.stacked&&(this.barCtx.xArrj.push(u.x2WithRadius),this.barCtx.xArrjF.push(Math.abs(a-u.x2WithRadius)),this.barCtx.xArrjVal.push(this.barCtx.series[l][h])),{pathTo:p,pathFrom:f}}},{key:"getRoundedBars",value:function(t,e,i,a,s){var r=new m(this.barCtx.ctx),o=0,n=t.config.plotOptions.bar.borderRadius,l=Array.isArray(n);l?o=n[a>n.length-1?n.length-1:a]:o=n;if(t.config.chart.stacked&&i.length>1&&a!==this.barCtx.radiusOnSeriesNumber&&!l&&(o=0),this.barCtx.isHorizontal){var h="",c=e.x2;if(Math.abs(e.x1-e.x2)0:i[a][s]<0;d&&(o*=-1),c-=o,h=r.quadraticCurve(c+o,e.barYPosition,c+o,e.barYPosition+(d?-1*o:o))+r.line(c+o,e.barYPosition+e.barHeight-e.strokeWidth-(d?-1*o:o))+r.quadraticCurve(c+o,e.barYPosition+e.barHeight-e.strokeWidth,c,e.barYPosition+e.barHeight-e.strokeWidth)}return{pathWithRadius:h,x2WithRadius:c+o,x2:c}}var g="",u=e.y2;if(Math.abs(e.y1-e.y2)=0;o--)this.barCtx.zeroSerieses.indexOf(o)>-1&&o===this.radiusOnSeriesNumber&&(this.barCtx.radiusOnSeriesNumber-=1);for(var n=e.length-1;n>=0;n--)i.globals.collapsedSeriesIndices.indexOf(this.barCtx.radiusOnSeriesNumber)>-1&&(this.barCtx.radiusOnSeriesNumber-=1)}},{key:"getXForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),a}},{key:"getYForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),a}},{key:"getGoalValues",value:function(t,e,i,a,s){var r=this,n=this.w,l=[];return n.globals.seriesGoals[a]&&n.globals.seriesGoals[a][s]&&Array.isArray(n.globals.seriesGoals[a][s])&&n.globals.seriesGoals[a][s].forEach((function(a){var s;l.push((o(s={},t,"x"===t?r.getXForValue(a.value,e,!1):r.getYForValue(a.value,i,!1)),o(s,"attrs",a),s))})),l}},{key:"drawGoalLine",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new m(this.barCtx.ctx),l=n.group({className:"apexcharts-bar-goals-groups"}),h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)})):Array.isArray(s)&&s.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)})),l}}]),t}(),F=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRangeBar.length&&this.isHorizontal,this.xyRatios=i,null!==this.xyRatios&&(this.xRatio=i.xRatio,this.initialXRatio=i.initialXRatio,this.yRatio=i.yRatio,this.invertedXRatio=i.invertedXRatio,this.invertedYRatio=i.invertedYRatio,this.baseLineY=i.baseLineY,this.baseLineInvertedY=i.baseLineInvertedY),this.yaxisIndex=0,this.seriesLen=0,this.barHelpers=new Y(this)}return r(t,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx),r=new y(this.ctx,a);t=r.getLogSeries(t),this.series=t,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var o=s.group({class:"apexcharts-bar-series apexcharts-plot-series"});a.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=v),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();p=S.y,k=S.barHeight,c=S.yDivision,g=S.zeroW,u=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||b.push(u+A/2);for(var C=s.group({class:"apexcharts-datalabels","data:realIndex":v}),L=s.group({class:"apexcharts-bar-goals-markers",style:"pointer-events: none"}),P=0;P0&&b.push(u+A/2),f.push(p);var X=this.barHelpers.getPathFillColor(t,n,P,v);this.renderSeries({realIndex:v,pathFill:X,j:P,i:n,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:M,elSeries:w,x:u,y:p,series:t,barHeight:k,barWidth:A,elDataLabelsWrap:C,elGoalsMarkers:L,visibleSeries:this.visibleI,type:"bar"})}a.globals.seriesXvalues[v]=b,a.globals.seriesYvalues[v]=f,o.add(w)}return o}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.pathFrom,n=t.pathTo,l=t.strokeWidth,h=t.elSeries,c=t.x,d=t.y,g=t.y1,u=t.y2,p=t.series,f=t.barHeight,x=t.barWidth,b=t.barYPosition,y=t.elDataLabelsWrap,w=t.elGoalsMarkers,k=t.visibleSeries,A=t.type,S=this.w,C=new m(this.ctx);a||(a=this.barOptions.distributed?S.globals.stroke.colors[s]:S.globals.stroke.colors[e]),S.config.series[r].data[s]&&S.config.series[r].data[s].strokeColor&&(a=S.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var L=s/S.config.chart.animations.animateGradually.delay*(S.config.chart.animations.speed/S.globals.dataPoints)/2.4,P=C.renderPaths({i:r,j:s,realIndex:e,pathFrom:o,pathTo:n,stroke:a,strokeWidth:l,strokeLineCap:S.config.stroke.lineCap,fill:i,animationDelay:L,initialSpeed:S.config.chart.animations.speed,dataChangeSpeed:S.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(A,"-area")});P.attr("clip-path","url(#gridRectMask".concat(S.globals.cuid,")"));var M=S.config.forecastDataPoints;M.count>0&&s>=S.globals.dataPoints-M.count&&(P.node.setAttribute("stroke-dasharray",M.dashArray),P.node.setAttribute("stroke-width",M.strokeWidth),P.node.setAttribute("fill-opacity",M.fillOpacity)),void 0!==g&&void 0!==u&&(P.attr("data-range-y1",g),P.attr("data-range-y2",u)),new v(this.ctx).setSelectionFilter(P,e,s),h.add(P);var T=new X(this).handleBarDataLabels({x:c,y:d,y1:g,y2:u,i:r,j:s,series:p,realIndex:e,barHeight:f,barWidth:x,barYPosition:b,renderedPath:P,visibleSeries:k});return null!==T&&y.add(T),h.add(y),w&&h.add(w),h}},{key:"drawBarPaths",value:function(t){var e=t.indexes,i=t.barHeight,a=t.strokeWidth,s=t.zeroW,r=t.x,o=t.y,n=t.yDivision,l=t.elSeries,h=this.w,c=e.i,d=e.j;h.globals.isXNumeric&&(o=(h.globals.seriesX[c][d]-h.globals.minX)/this.invertedXRatio-i);var g=o+i*this.visibleI;r=this.barHelpers.getXForValue(this.series[c][d],s);var u=this.barHelpers.getBarpaths({barYPosition:g,barHeight:i,x1:s,x2:r,strokeWidth:a,series:this.series,realIndex:e.realIndex,i:c,j:d,w:h});return h.globals.isXNumeric||(o+=n),this.barHelpers.barBackground({j:d,i:c,y1:g-i*this.visibleI,y2:i*this.seriesLen,elSeries:l}),{pathTo:u.pathTo,pathFrom:u.pathFrom,x:r,y:o,goalX:this.barHelpers.getGoalValues("x",s,null,c,d),barYPosition:g}}},{key:"drawColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.strokeWidth,l=t.elSeries,h=this.w,c=e.realIndex,d=e.i,g=e.j,u=e.bc;if(h.globals.isXNumeric){var p=c;h.globals.seriesX[c].length||(p=h.globals.maxValsInArrayIndex),i=(h.globals.seriesX[p][g]-h.globals.minX)/this.xRatio-r*this.seriesLen/2}var f=i+r*this.visibleI;a=this.barHelpers.getYForValue(this.series[d][g],o);var x=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:r,y1:o,y2:a,strokeWidth:n,series:this.series,realIndex:e.realIndex,i:d,j:g,w:h});return h.globals.isXNumeric||(i+=s),this.barHelpers.barBackground({bc:u,j:g,i:d,x1:f-n/2-r*this.visibleI,x2:r*this.seriesLen+n/2,elSeries:l}),{pathTo:x.pathTo,pathFrom:x.pathFrom,x:i,y:a,goalY:this.barHelpers.getGoalValues("y",null,o,d,g),barXPosition:f}}},{key:"getPreviousPath",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),R=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return r(t,[{key:"isValidDate",value:function(t){return!isNaN(this.parseDate(t))}},{key:"getTimeStamp",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:"getDate",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:"parseDate",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "));return i=this.getTimeStamp(i)}},{key:"parseDateWithTimezone",value:function(t){return Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "))}},{key:"formatDate",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=["\0"].concat(u(i.months)),r=["\x01"].concat(u(i.shortMonths)),o=["\x02"].concat(u(i.days)),n=["\x03"].concat(u(i.shortDays));function l(t,e){var i=t+"";for(e=e||2;i.length12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+l(g))).replace(/(^|[^\\])H/g,"$1"+g)).replace(/(^|[^\\])hh+/g,"$1"+l(p))).replace(/(^|[^\\])h/g,"$1"+p);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+l(f))).replace(/(^|[^\\])m/g,"$1"+f);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+l(x))).replace(/(^|[^\\])s/g,"$1"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\])ff/g,"$1"+l(b)),b=Math.round(b/10);var v=g<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+b)).replace(/(^|[^\\])TT+/g,"$1"+v)).replace(/(^|[^\\])T/g,"$1"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+m)).replace(/(^|[^\\])t/g,"$1"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?"Z":y>0?"+":"-";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+":"+l(k)}e=e.replace(/(^|[^\\])K/g,"$1"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],"g"),o[A])).replace(new RegExp(n[0],"g"),n[A])).replace(new RegExp(s[0],"g"),s[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),n=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=x.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),H=function(t){n(s,F);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var r=s.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),o=0;o0&&(this.visibleI=this.visibleI+1);var f=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=u);var v=this.barHelpers.initialPositions();d=v.y,h=v.zeroW,c=v.x,b=v.barWidth,n=v.xDivision,l=v.zeroH;for(var y=s.group({class:"apexcharts-datalabels","data:realIndex":u}),w=s.group({class:"apexcharts-rangebar-goals-markers",style:"pointer-events: none"}),k=0;k0}));return a=l.config.plotOptions.bar.rangeBarGroupRows?s+o*g:s+r*this.visibleI+o*g,u>-1&&!l.config.plotOptions.bar.rangeBarOverlap&&(h=l.globals.seriesRangeBar[e][u].overlaps).indexOf(c)>-1&&(a=(r=n.barHeight/h.length)*this.visibleI+o*(100-parseInt(this.barOptions.barHeight,10))/100/2+r*(this.visibleI+h.indexOf(c))+o*g),{barYPosition:a,barHeight:r}}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x;t.strokeWidth;var a=t.xDivision,s=t.barWidth,r=t.zeroH,o=this.w,n=e.i,l=e.j,h=this.yRatio[this.yaxisIndex],c=e.realIndex,d=this.getRangeValue(c,l),g=Math.min(d.start,d.end),u=Math.max(d.start,d.end);o.globals.isXNumeric&&(i=(o.globals.seriesX[n][l]-o.globals.minX)/this.xRatio-s/2);var p=i+s*this.visibleI;void 0===this.series[n][l]||null===this.series[n][l]?g=r:(g=r-g/h,u=r-u/h);var f=Math.abs(u-g),x=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:s,y1:g,y2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:c,j:l,w:o});return o.globals.isXNumeric||(i+=a),{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:f,x:i,y:u,goalY:this.barHelpers.getGoalValues("y",null,r,n,l),barXPosition:p}}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,goalX:this.barHelpers.getGoalValues("x",l,null,e.realIndex,e.j),y:i}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}},{key:"getTooltipValues",value:function(t){var e=t.ctx,i=t.seriesIndex,a=t.dataPointIndex,s=t.y1,r=t.y2,o=t.w,n=o.globals.seriesRangeStart[i][a],l=o.globals.seriesRangeEnd[i][a],h=o.globals.labels[a],c=o.config.series[i].name?o.config.series[i].name:"",d=o.config.tooltip.y.formatter,g=o.config.tooltip.y.title.formatter,u={w:o,seriesIndex:i,dataPointIndex:a,start:n,end:l};"function"==typeof g&&(c=g(c,u)),Number.isFinite(s)&&Number.isFinite(r)&&(n=s,l=r,o.config.series[i].data[a].x&&(h=o.config.series[i].data[a].x+":"),"function"==typeof d&&(h=d(h,u)));var p="",f="",x=o.globals.colors[i];if(void 0===o.config.tooltip.x.formatter)if("datetime"===o.config.xaxis.type){var b=new R(e);p=b.formatDate(b.getDate(n),o.config.tooltip.x.format),f=b.formatDate(b.getDate(l),o.config.tooltip.x.format)}else p=n,f=l;else p=o.config.tooltip.x.formatter(n),f=o.config.tooltip.x.formatter(l);return{start:n,end:l,startVal:p,endVal:f,ylabel:h,color:x,seriesName:c}}},{key:"buildCustomTooltipHTML",value:function(t){var e=t.color,i=t.seriesName;return'
'+(i||"")+'
'+t.ylabel+' '+t.start+' - '+t.end+"
"}}]),s}(),D=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0;return x.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"candlestick",value:function(){var t=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:5,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-r},background:{enabled:!1},style:{colors:["#fff"]}},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=new H(t.ctx,null),i=e.getTooltipValues(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return e.buildCustomTooltipHTML({color:a,seriesName:s,ylabel:r,start:o,end:n})}(t):function(t){var e=new H(t.ctx,null),i=e.getTooltipValues(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return e.buildCustomTooltipHTML({color:a,seriesName:s,ylabel:r,start:o,end:n})}(t)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"brush",value:function(t){return x.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),"bar"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t}),t}},{key:"convertCatToNumeric",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:"convertCatToNumericXaxis",value:function(t,e,i){t.xaxis.type="numeric",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return x.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return x.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||"dataPoints",t}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:"_getBoxTooltip",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\n '.concat(t.config.series[e].name?t.config.series[e].name:"series-"+(e+1),": ").concat(t.globals.series[e][i],"\n
"):'
')+"
".concat(a[0],': ')+r+"
"+"
".concat(a[1],': ')+o+"
"+(n?"
".concat(a[2],': ')+n+"
":"")+"
".concat(a[3],': ')+l+"
"+"
".concat(a[4],': ')+h+"
"}}]),t}(),N=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new L,r=new D(a);this.chartType=a.chart.type,"histogram"===this.chartType&&(a.chart.type="bar",a=x.extend({plotOptions:{bar:{columnWidth:"99.99%"}}},a)),a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&"object"===i(a)){var l={};l=-1!==["line","area","bar","candlestick","boxPlot","rangeBar","histogram","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),a.chart.brush&&a.chart.brush.enabled&&(l=r.brush(l)),a.chart.stacked&&"100%"===a.chart.stackType&&(a=r.stacked100(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),((a=this.checkForCatToNumericXAxis(this.chartType,l,a)).chart.sparkline&&a.chart.sparkline.enabled||window.Apex.chart&&window.Apex.chart.sparkline&&window.Apex.chart.sparkline.enabled)&&(l=r.sparkline(l)),n=x.extend(o,l)}var h=x.extend(n,window.Apex);return o=x.extend(h,a),o=this.handleUserInputErrors(o)}},{key:"checkForCatToNumericXAxis",value:function(t,e,i){var a=new D(i),s=("bar"===t||"boxPlot"===t)&&i.plotOptions&&i.plotOptions.bar&&i.plotOptions.bar.horizontal,r="pie"===t||"polarArea"===t||"donut"===t||"radar"===t||"radialBar"===t||"heatmap"===t,o="datetime"!==i.xaxis.type&&"numeric"!==i.xaxis.type,n=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return s||r||!o||"between"===n||(i=a.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(t,e){var i=new L;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=x.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[x.extend(i.yAxis,t.yaxis)]:t.yaxis=x.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name="series-".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=x.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both."),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new L;return t.annotations.yaxis=x.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new L;return t.annotations.xaxis=x.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new L;return t.annotations.points=x.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.chart.background||(t.chart.background="#424242"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&"barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width="tickWidth"),"candlestick"!==e.chart.type&&"boxPlot"!==e.chart.type||e.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(e.chart.type," chart is not supported.")),e.yaxis[0].reversed=!1),e}}]),t}(),O=function(){function t(){a(this,t)}return r(t,[{key:"initGlobalVars",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRangeBar=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasGroups=!1,t.groups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.xaxisLabelsCount=0,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0}},{key:"globalVars",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:"zoom"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:"pan"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:"selection"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null}}},{key:"init",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=x.extend({},t),e.initialSeries=x.clone(t.series),e.lastXAxis=x.clone(e.initialConfig.xaxis),e.lastYAxis=x.clone(e.initialConfig.yaxis),e}}]),t}(),W=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(){var t=new N(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new O).init(t)}}}]),t}(),B=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return r(t,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var t=this.w.config.series.slice(),e=new E(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new E(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s="boxPlot"===i.chart.type||"boxPlot"===i.series[e].type,r=0;r=5?this.twoDSeries.push(x.parseNumber(t[e].data[r][4])):this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new R(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar="rangeBar"===a.chart.type&&s.isBarHorizontal,s.hasGroups="category"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasGroups&&(s.groups=a.xaxis.group.groups);for(var n=function(){for(var t=0;t0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var h=t[l].data.map((function(t){return x.parseNumber(t)}));s.series.push(h)}s.seriesZ.push(this.threeDSeries),void 0!==t[l].name?s.seriesNames.push(t[l].name):s.seriesNames.push("series-"+parseInt(l+1,10)),void 0!==t[l].color?s.seriesColors.push(t[l].color):s.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRangeBar.length&&(i.seriesRangeBar.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric)new D(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},"function"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,"function"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getLabel",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?"":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new V(this.ctx),p=l;o&&(h=u.xLabelFormat(c,l,p,{i:a,dateFormatter:new R(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new R(this.ctx).formatDate,w:n})));var f=function(t){var i=null;return e.forEach((function(t){"month"===t.unit?i="year":"day"===t.unit?i="month":"hour"===t.unit?i="day":"minute"===t.unit&&(i="hour")})),i===t};e.length>0?(g=f(e[a].unit),i=e[a].position,h=e[a].value):"datetime"===n.config.xaxis.type&&void 0===d&&(h=""),void 0===h&&(h=""),h=Array.isArray(h)?h:h.toString();var x=new m(this.ctx),b={};b=n.globals.rotateXLabels&&o?x.getTextRects(h,parseInt(r,10),null,"rotate(".concat(n.config.xaxis.labels.rotate," 0 0)"),!1):x.getTextRects(h,parseInt(r,10));var v=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(0===h.indexOf("NaN")||0===h.toLowerCase().indexOf("invalid")||h.toLowerCase().indexOf("infinity")>=0||s.indexOf(h)>=0&&v)&&(h=""),{x:i,text:h,textRect:b,isBold:g}}},{key:"checkLabelBasedOnTickamount",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return"dataPoints"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=""),e}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),"heatmap"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),t}(),j=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"scaleSvgNode",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,"width")),a=parseFloat(t.getAttributeNS(null,"height"));t.setAttributeNS(null,"width",i*e),t.setAttributeNS(null,"height",a*e),t.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"fixSvgStringForIe11",value:function(t){if(!x.isIE11())return t.replace(/ /g," ");var e=0,i=t.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g,(function(t){return 2===++e?'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"':t}));return i=(i=i.replace(/xmlns:NS\d+=""/g,"")).replace(/NS\d+:(\w+:\w+=")/g,"$1")}},{key:"getSvgString",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:"cleanup",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=t.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,(function(t){t.setAttribute("width",0)})),e&&e[0]&&(e[0].setAttribute("x",-500),e[0].setAttribute("x1",-500),e[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(e)}},{key:"dataURI",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o="transparent"===a.config.chart.background?"#fff":a.config.chart.background,n=r.getContext("2d");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&x.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d="data:image/svg+xml,"+encodeURIComponent(l),g=new Image;g.crossOrigin="anonymous",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL("image/png");i({imgURI:e})}},g.src=d}}))}},{key:"exportToSVG",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,".svg")}},{key:"exportToPng",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+".png"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,".png")}))}},{key:"exportToCSV",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?",":s,o=t.lineDelimiter,n=void 0===o?"\n":o,l=this.w;i||(i=l.config.series);var h=[],c=[],d="",g=new B(this.ctx),u=new G(this.ctx),p=function(t){var i="";if(l.globals.axisCharts){if("category"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new E(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=u.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;"datetime"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return Array.isArray(i)&&(i=i.join(" ")),x.isNumber(i)?i:i.split(r).join("")};h.push(l.config.chart.toolbar.export.csv.headerCategory),"boxPlot"===l.config.chart.type?(h.push("minimum"),h.push("q1"),h.push("median"),h.push("q3"),h.push("maximum")):"candlestick"===l.config.chart.type?(h.push("open"),h.push("high"),h.push("low"),h.push("close")):"rangeBar"===l.config.chart.type?(h.push("minimum"),h.push("maximum")):i.map((function(t,e){var i=t.name?t.name:"series-".concat(e);l.globals.axisCharts&&h.push(i.split(r).join("")?i.split(r).join(""):"series-".concat(e))})),l.globals.axisCharts||(h.push(l.config.chart.toolbar.export.csv.headerValue),c.push(h.join(r))),i.map((function(t,e){l.globals.axisCharts?function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data&&t.data.length)for(var a=0;a=10?l.config.chart.toolbar.export.csv.dateFormatter(s):x.isNumber(s)?s:s.split(r).join("")));for(var o=0;o0&&!i.globals.isBarHorizontal&&(this.xaxisLabels=i.globals.timescaleLabels.slice()),i.config.xaxis.overwriteCategories&&(this.xaxisLabels=i.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===i.config.xaxis.position?this.offY=0:this.offY=i.globals.gridHeight+1,this.offY=this.offY+i.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===i.config.chart.type&&i.config.plotOptions.bar.horizontal,this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.xaxisBorderWidth=i.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=i.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=i.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=i.config.xaxis.axisBorder.height,this.yaxis=i.config.yaxis[0]}return r(t,[{key:"drawXaxis",value:function(){var t=this.w,e=new m(this.ctx),i=e.group({class:"apexcharts-xaxis",transform:"translate(".concat(t.config.xaxis.offsetX,", ").concat(t.config.xaxis.offsetY,")")}),a=e.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m="category"===d.config.xaxis.type?d.globals.dataPoints:v;if(s){var y=m>1?m-1:m;o=d.globals.gridWidth/y,b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&"dataPoints"!==d.config.xaxis.tickAmount&&"datetime"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(t&&y.text&&d.globals.xaxisLabelsCount++,d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-("top"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:"middle",fontWeight:y.isBold?600:f,fontSize:g,fontFamily:u,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+x});if(i.add(k),t){var A=document.createElementNS(d.globals.SVGNS,"title");A.textContent=Array.isArray(y.text)?y.text.join(" "):y.text,k.node.appendChild(A),""!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new m(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new m(this.ctx);null===t&&(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(s),t.add(a),t}},{key:"drawGrid",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elForecastMask.setAttribute("id","forecastMask".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;("bar"===r||"rangeBar"===r||"candlestick"===r||"boxPlot"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2,e.gridWidth+a+n+o+4,e.gridHeight+a,0,"#fff");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector("defs");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||"radar"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({x1:i,y1:a,x2:s,y2:r,parent:n});var h=0;if(l.globals.hasGroups&&"between"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d2));s++);return!t.globals.isBarHorizontal||this.isRangeBar?(i=this.xaxisLabels.length,this.isRangeBar&&(a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount)),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,xAxisTickWidth:t.globals.gridWidth/i}}},{key:"drawGridBands",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:"column"}),h+=i.globals.gridWidth/l}}]),t}(),q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"niceScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,r=this.w,o=Math.abs(e-t);if("dataPoints"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=r.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE){t=0,e=i;var n=this.linearScale(t,e,i);return n}t>e?(console.warn("axis.min cannot be greater than axis.max"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var l=[];o<1&&s&&("candlestick"===r.config.chart.type||"candlestick"===r.config.series[a].type||"boxPlot"===r.config.chart.type||"boxPlot"===r.config.series[a].type||r.globals.isRangeData)&&(e*=1.01);var h=i+1;h<2?h=2:h>2&&(h-=2);var c=o/h,d=Math.floor(x.log10(c)),g=Math.pow(10,d),u=Math.round(c/g);u<1&&(u=1);var p=u*g,f=p*Math.floor(t/p),b=p*Math.ceil(e/p),v=f;if(s&&o>2){for(;l.push(v),!((v+=p)>b););return{result:l,niceMin:l[0],niceMax:l[l.length-1]}}var m=t;(l=[]).push(m);for(var y=Math.abs(e-t)/i,w=0;w<=i;w++)m+=y,l.push(m);return l[l.length-2]>=e&&l.pop(),{result:l,niceMin:l[0],niceMax:l[l.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,s=Math.abs(e-t);"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1);var r=s/i;i===Number.MAX_VALUE&&(i=10,r=1);for(var o=[],n=t;i>=0;)o.push(n),n+=r,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:"logarithmicScaleNice",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(e,i,r.logBase),a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase);else if(i!==-Number.MAX_VALUE&&x.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===r.min&&void 0===r.max||r.forceNiceScale){var n=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,r.tickAmount?r.tickAmount:o<5&&o>1?o+1:5,t,n)}else a.yAxisScale[t]=this.linearScale(e,i,r.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,r=Math.abs(e-t);return e!==-Number.MAX_VALUE&&x.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:r<5&&r>1?r+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:"setMultipleYScales",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,o){var n=o;i.series.forEach((function(t,i){t.name===e.seriesName&&(n=i,o!==i?r.push({index:i,similarIndex:o,alreadyExists:!0}):r.push({index:i}))}));var l=a[n],h=s[n];t.setYScaleForIndex(o,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:"sameScaleInMultipleAxes",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,o=[];i.forEach((function(t){t.alreadyExists&&(void 0===o[t.index]&&(o[t.index]=[]),o[t.index].push(t.index),o[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=o,o.forEach((function(t,e){o.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(o[e]=o[e].concat(o[a]))}))}));var n=o.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));o=o.filter((function(t){return!!t}));var l=n.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var o=g[i],n=u[i];s.chart.stacked&&(n=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(n+=t.value),o!==Number.MIN_VALUE&&(o+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(o="function"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(n="function"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,o,n))}))}))}))}},{key:"autoScaleY",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn("autoScaleYaxis is not supported in a multi-yaxis chart."),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,o){for(var n=0,l=0;l=i.xaxis.min){n=l;break}var h,c,d=a.globals.minYArr[o],g=a.globals.maxYArr[o],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(o,l){var p=o[n];r?(p=u[n],h=c=p,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),o[e]=i.xaxis.min){var r=t,o=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),o=Math.max(i[e],o))})),o>c&&null!==o&&(c=o),rd&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),Z=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.scales=new q(e)}return r(t,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;"candlestick"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):"boxPlot"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);for(var d=t;dh[d][g]&&h[d][g]<0&&(n=h[d][g])):r.hasNullValues=!0}}return"rangeBar"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),"bar"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(o=0),t.minY=i-5*o/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*o/100}if(e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):"dataPoints"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:"_setStackedMinMax",value:function(){var t=this.w.globals,e=[],i=[];if(t.series.length)for(var a=0;a0?s=s+parseFloat(t.series[o][a])+1e-4:r+=parseFloat(t.series[o][a])),o===t.series.length-1&&(e.push(s),i.push(r));for(var n=0;n=0;b--)x(b);if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:"apexcharts-yaxis-title"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:"end",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[t].title.style.cssClass});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,p,g,this.drawnLabels,this.xaxisFontSize);p=f.x,u=f.text,this.drawnLabels.push(f.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=""),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u="")}var x=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,"title");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new m(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);t.add(r)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new m(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new m(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute("x",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(e=x.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"));r=x.listToArray(r);var o=s.getBoundingClientRect();"left"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","start")})),a.opposite||s.setAttribute("transform","translate(-".concat(o.width,", 0)"))):"center"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","middle")})),s.setAttribute("transform","translate(".concat(o.width/2*(a.opposite?1:-1),", 0)"))):"right"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute("text-anchor","end")})),a.opposite&&s.setAttribute("transform","translate(".concat(o.width,", 0)")))}}))}}]),t}(),J=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=x.bind(this.documentEvent,this)}return r(t,[{key:"addEventListener",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:"removeEventListener",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:"fireEvent",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=x.extend(C,i);this.w.globals.locale=a.options}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawAxis",value:function(t,e){var i,a,s=this.w.globals,r=this.w.config,o=new _(this.ctx),n=new $(this.ctx);s.axisCharts&&"radar"!==t&&(s.isBarHorizontal?(a=n.drawYaxisInversed(0),i=o.drawXaxisInversed(0),s.dom.elGraphical.add(i),s.dom.elGraphical.add(a)):(i=o.drawXaxis(),s.dom.elGraphical.add(i),r.yaxis.map((function(t,e){-1===s.ignoreYAxisIndexes.indexOf(e)&&(a=n.drawYaxis(e),s.dom.Paper.add(a))}))))}}]),t}(),tt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawXCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=new v(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,p=s.blur,f=s.color,b=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){"gradient"===r&&(y=e.drawGradient("vertical",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!x.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!x.isNumber(A)||A<0)&&(A=0),w.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:"none","fill-opacity":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,"stroke-width":t.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:p,color:f,opacity:b})),t.globals.dom.elGraphical.add(w)}}},{key:"drawYCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),t.globals.dom.elGraphical.add(r)}}]),t}(),et=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkResponsiveConfig",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new N({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=y.extendArrayProps(r,i.globals.initialConfig,i);t=x.extend(n,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&"function"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var s=e.config.colors[a];return s||(s=e.config.colors[0]),"function"==typeof s?(t.isColorFn=!0,s({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):s})))),e.globals.seriesColors.map((function(t,i){t&&(e.globals.colors[i]=t)})),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(s=e.globals.series[0].length*e.globals.series.length);for(var r=e.config.theme.monochrome.color,o=1/(s/e.config.theme.monochrome.shadeIntensity),n=e.config.theme.monochrome.shadeTo,l=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),rt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"getxAxisLabelsCoords",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=x.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new V(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new R(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new R(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||""===String(r).trim())&&(o=r="1");var h=new m(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var t,e=this.w;if(!e.globals.hasGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=x.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new m(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new m(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new m(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){(function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)})(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c="right"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||"bar"!==s.chart.type&&"candlestick"!==s.chart.type&&"rangeBar"!==s.chart.type&&"boxPlot"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===r?e.dCtx.gridPad.rightString(n.niceMax).length?c:n.niceMax,g=h(d,{seriesIndex:o,dataPointIndex:-1,w:e}),u=g;if(void 0!==g&&0!==g.length||(g=d),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();g=h(g=x.getLargestStringFromArr(p),{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,p)}var f=new m(t.dCtx.ctx),b="rotate(".concat(r.labels.rotate," 0 0)"),v=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1),y=v;g!==u&&(y=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1)),i.push({width:(l>y.width||l>v.width?l:y.width>v.width?y.width:v.width)+a,height:y.height>v.height?y.height:v.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new m(t.dCtx.ctx),r="rotate(".concat(e.title.rotate," 0 0)"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new G(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),nt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"gridPadForColumnsInNumericAxis",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return"bar"===t||"rangeBar"===t||"candlestick"===t||"boxPlot"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n/r*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),s=s/(r>1?1:1.5)+5,e.globals.barPadForNumericAxis=s}return s}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;["title","subtitle"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||"bottom"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new G(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new st(this),this.dimYAxis=new ot(this),this.dimXAxis=new rt(this),this.dimGrid=new nt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:"plotCoords",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.isSparkline&&(e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;("radar"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||"treemap"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch("top"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=c,d();break;case"top":i.translateY=this.lgRect.height+c,d();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case"right":i.translateY=c,i.translateX=l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new $(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(t,e,i){var a=this.w,s=a.globals.hasGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),ht=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:"getLegendStyles",value:function(){var t=document.createElement("style");t.setAttribute("type","text/css");var e=document.createTextNode("\t\n \t\n .apexcharts-legend {\t\n display: flex;\t\n overflow: auto;\t\n padding: 0 10px;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\t\n flex-wrap: wrap\t\n }\t\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n flex-direction: column;\t\n bottom: 0;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n justify-content: flex-start;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\t\n justify-content: center; \t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\t\n justify-content: flex-end;\t\n }\t\n .apexcharts-legend-series {\t\n cursor: pointer;\t\n line-height: normal;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\t\n display: flex;\t\n align-items: center;\t\n }\t\n .apexcharts-legend-text {\t\n position: relative;\t\n font-size: 14px;\t\n }\t\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\t\n pointer-events: none;\t\n }\t\n .apexcharts-legend-marker {\t\n position: relative;\t\n display: inline-block;\t\n cursor: pointer;\t\n margin-right: 3px;\t\n border-style: solid;\n }\t\n \t\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\t\n display: inline-block;\t\n }\t\n .apexcharts-legend-series.apexcharts-no-click {\t\n cursor: auto;\t\n }\t\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\t\n display: none !important;\t\n }\t\n .apexcharts-inactive-legend {\t\n opacity: 0.45;\t\n }");return t.appendChild(e),t}},{key:"getLegendBBox",value:function(){var t=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:"appendToForeignObject",value:function(){var t=this.w.globals;t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject");var e=t.dom.elLegendForeign;e.setAttribute("x",0),e.setAttribute("y",0),e.setAttribute("width",t.svgWidth),e.setAttribute("height",t.svgHeight),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),e.appendChild(t.dom.elLegendWrap),e.appendChild(this.getLegendStyles()),t.dom.Paper.node.insertBefore(e,t.dom.elGraphical.node)}},{key:"toggleDataSeries",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||"radialBar"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(t+1,"'] path")),n=a.config.chart.type;if("pie"===n||"polarArea"===n||"donut"===n){var l=a.config.plotOptions.pie.donut.labels;new m(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire("click")}}},{key:"hideSeries",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=x.clone(a.config.series);if(a.globals.axisCharts){var r=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(r=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!r){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l0){for(var r=0;r-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),ct=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed="bar"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new ht(this)}return r(t,[{key:"init",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),x.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"drawLegends",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if("heatmap"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+" - "+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h=o(a[l],{seriesIndex:l,w:e}),c=!1,d=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var u=0;u0?l-10:0)+(h>0?h-10:0)}a.style.position="absolute",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=o+"px","bottom"===i.config.legend.position?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):"right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px");["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.baseEl.querySelector(".apexcharts-legend").style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new lt(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;"bottom"===t.config.legend.position?r=-e.clwh/1.8:"top"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new E(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new E(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(t.target.getAttribute("rel"),10)-1,a="true"===t.target.getAttribute("data:collapsed"),s=this.w.config.chart.events.legendClick;"function"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;"function"==typeof r&&t.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==e.config.chart.type&&"heatmap"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),dt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:"createToolbar",value:function(){var t=this,e=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=e.config.chart.toolbar.offsetY+"px",a.style.right=3-e.config.chart.toolbar.offsetX+"px",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\n \n \n\n'),o("zoomOut",this.elZoomOut,'\n \n \n\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:"zoom"===i?t.elZoom:t.elSelection,icon:"string"==typeof t.t[i]?t.t[i]:"zoom"===i?'\n \n \n \n':'\n \n \n',title:t.localeValues["zoom"===i?"selectionZoom":"selection"],class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(i,"-icon")})};n("zoom"),n("selection"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'\n \n \n \n \n \n \n \n',title:this.localeValues.pan,class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),o("reset",this.elZoomReset,'\n \n \n'),this.t.download&&r.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:"translate("+o+", "+l+")"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":h.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":h.config.chart.zoom.zoomedArea.stroke.opacity}),m.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,"fill-opacity":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,"stroke-width":h.config.chart.selection.stroke.width,"stroke-dasharray":h.config.chart.selection.stroke.dashArray,"stroke-opacity":h.config.chart.selection.stroke.opacity}),m.setAttrs(d.node,g))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g="x"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:"y"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging("resizing"),g}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;"resizing"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n("x"),y:n("y"),width:n("width"),height:n("height")};a.globals.selection=l,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=r.node.getBoundingClientRect(),o={xaxis:{min:a.globals.xAxisScale.niceMin+(e.left-t.left)*s.xRatio,max:a.globals.xAxisScale.niceMin+(e.right-t.left)*s.xRatio},yaxis:{min:a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*s.yRatio[0],max:a.globals.yAxisScale[0].niceMax-(e.top-t.top)*s.yRatio[0]}};a.config.chart.events.selection(i.ctx,o),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,o)}),o))}},{key:"selectionDrawn",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=x.clone(a.globals.initialConfig.yaxis),p=x.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),"xy"!==i&&"x"!==i||(p={min:h,max:c}),"xy"!==i&&"y"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),a.config.chart.zoom.autoScaleYaxis){var f=new q(s.ctx);u=f.autoScaleY(s.ctx,u,{xaxis:p})}if(o){var b=o.getBeforeZoomRange(p,u);b&&(p=b.xaxis?b.xaxis:p,u=b.yaxis?b.yaxis:u)}var v={xaxis:p};a.config.chart.group||(v.yaxis=u),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,u)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:c},"xy"!==i&&"y"!==i||(y=x.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=d[e]})),a.globals.selection=s.selection,"function"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="left":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection="right":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="up":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:"delayedPanScrolled",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;"left"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):"right"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=x.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),"left"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):"right"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new q(this.ctx).autoScaleY(this.ctx,s,{xaxis:l}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(),ut=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:"getNearestValues",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):r.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):r.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var p=Math.round(g/h),f=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var b=null,v=null,m=[],y=[];if(r.globals.seriesXvalues.forEach((function(t){m.push([t[0]+1e-6].concat(t))})),r.globals.seriesYvalues.forEach((function(t){y.push([t[0]+1e-6].concat(t))})),m=m.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),y=y.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);b=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==b&&(m=r.globals.seriesXvalues[b],p=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===b?-1:b,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:b,j:r.globals.isBarHorizontal?f:p,hoverX:g,hoverY:u}}},{key:"closestInMultiArray",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a0?e:-1})),s=0;s0)for(var a=0;ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(".apexcharts-marker"))})),e}},{key:"hasMarkers",value:function(){return this.getElMarkers().length>0}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s ').concat(i.attrs.name,""),e+="
".concat(i.val,"
")})),v.innerHTML=t+"",m.innerHTML=e+""};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML="",m.innerHTML=""):y()}else v.innerHTML="",m.innerHTML="";null!==p&&(a[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=l.config.tooltip.z.title,a[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==p?p:"");o&&f[0]&&(null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?f[0].parentNode.style.display="none":f[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("apexcharts-active"),i.style.display=e.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",o="",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=r;a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?r=new V(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new R(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(o)?o.join(" "):o,zVal:n}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ft=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:"moveXCrosshairs",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&m.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&m.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new m(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=s+"px",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid(),d=c.getBoundingClientRect();h=s.e.clientY+a.globals.translateY-d.top-o.ttHeight/2}else a.globals.isBarHorizontal||(o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY),h<0&&(h=0));isNaN(l)||(l+=a.globals.translateX,r.style.left=l+"px",r.style.top=h+"px")}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),r=0;r0&&(h.setAttribute("r",n),h.setAttribute("cx",i),h.setAttribute("cy",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new E(this.ctx).getActiveConfigSeriesIndex(!0);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h0?(l[h]&&l[h].setAttribute("r",n),l[h]&&l[h].setAttribute("cy",d)):l[h]&&l[h].setAttribute("r",0)}}if(this.moveXCrosshairs(s),!i.fixedTooltip){var g=r||a.globals.gridHeight;this.moveTooltip(s,g,n)}}},{key:"moveStickyTooltipOverBars",value:function(t){var e=this.w,i=this.ttCtx,a=e.globals.columnSeries?e.globals.columnSeries.length:e.globals.series.length,s=a>=2&&a%2==0?Math.floor(a/2):Math.floor(a/2)+1;e.globals.isBarHorizontal&&(s=new E(this.ctx).getActiveConfigSeriesIndex(!1,"desc")+1);var r=e.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(s,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"']")),o=r?parseFloat(r.getAttribute("cx")):0,n=r?parseFloat(r.getAttribute("cy")):0,l=r?parseFloat(r.getAttribute("barWidth")):0,h=r?parseFloat(r.getAttribute("barHeight")):0,c=i.getElGrid().getBoundingClientRect(),d=r.classList.contains("apexcharts-candlestick-area")||r.classList.contains("apexcharts-boxPlot-area");if(e.globals.isXNumeric?(r&&!d&&(o-=a%2!=0?l/2:0),r&&d&&e.globals.comboCharts&&(o-=l/2)):e.globals.isBarHorizontal||(o=i.xAxisTicksPositions[t-1]+i.dataPointsDividedWidth/2,isNaN(o)&&(o=i.xAxisTicksPositions[t]-i.dataPointsDividedWidth/2)),e.globals.isBarHorizontal?(n>e.globals.gridHeight/2&&(n-=i.tooltipRect.ttHeight),(n=n+e.config.grid.padding.top+h/3)+h>e.globals.gridHeight&&(n=e.globals.gridHeight-h)):e.config.tooltip.followCursor?n=i.e.clientY-c.top-i.tooltipRect.ttHeight/2:n+i.tooltipRect.ttHeight+15>e.globals.gridHeight&&(n=e.globals.gridHeight),n<-10&&(n=-10),e.globals.isBarHorizontal||this.moveXCrosshairs(o),!i.fixedTooltip){var g=n||e.globals.gridHeight;this.moveTooltip(o,g)}}}]),t}(),xt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ft(e)}return r(t,[{key:"drawDynamicPoints",value:function(){var t=this.w,e=new m(this.ctx),i=new T(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute("data:realIndex"))-parseFloat(e.getAttribute("data:realIndex"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;"bubble"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute("cx"),o=e.getAttribute("cy");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if("radar"===s.config.chart.type){var n=this.ttCtx.getElGrid(),l=n.getBoundingClientRect();r=this.ttCtx.e.clientX-l.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),o=e.config.markers.hover.size,n=0;n=0?t[e].setAttribute("r",i):t[e].setAttribute("r",0)}}}]),t}(),bt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e}return r(t,[{key:"getAttr",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:"handleHeatTreeTooltip",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains("apexcharts-".concat(r,"-rect"))){var l=this.getAttr(e,"i"),h=this.getAttr(e,"j"),c=this.getAttr(e,"cx"),d=this.getAttr(e,"cy"),g=this.getAttr(e,"width"),u=this.getAttr(e,"height");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var p=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-p.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-p.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),c=parseInt(s.paths.getAttribute("cy"),10),d=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,l.intersect){var g=x.findAncestor(s.paths,"apexcharts-series");g&&(e=parseInt(g.getAttribute("data:realIndex"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),"mouseup"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)?c=r.globals.svgHeight-o.tooltipRect.ttHeight:c<0&&(c=0);var p=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10),f=r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!f?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(f&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!f||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),o.tooltipRect.ttHeight+c>r.globals.gridHeight?c=r.globals.gridHeight-o.tooltipRect.ttHeight+r.globals.translateY:(c=c+r.globals.translateY-o.tooltipRect.ttHeight/2)<0&&(c=0),n.style.left=h+r.globals.translateX+"px",n.style.top=c+"px")}},{key:"getBarTooltipXY",value:function(t){var e=t.e,i=t.opt,a=this.w,s=null,r=this.ttCtx,o=0,n=0,l=0,h=0,c=0,d=e.target.classList;if(d.contains("apexcharts-bar-area")||d.contains("apexcharts-candlestick-area")||d.contains("apexcharts-boxPlot-area")||d.contains("apexcharts-rangebar-area")){var g=e.target,u=g.getBoundingClientRect(),p=i.elGrid.getBoundingClientRect(),f=u.height;c=u.height;var x=u.width,b=parseInt(g.getAttribute("cx"),10),v=parseInt(g.getAttribute("cy"),10);h=parseFloat(g.getAttribute("barWidth"));var m="touchmove"===e.type?e.touches[0].clientX:e.clientX;s=parseInt(g.getAttribute("j"),10),o=parseInt(g.parentNode.getAttribute("rel"),10)-1;var y=g.getAttribute("data-range-y1"),w=g.getAttribute("data-range-y2");a.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute("data:realIndex"),10)),r.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:o,j:s,y1:y?parseInt(y,10):null,y2:w?parseInt(w,10):null,shared:!r.showOnIntersect&&a.config.tooltip.shared,e:e}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(n=m-p.left+15,l=v-r.dataPointsDividedHeight+f/2-r.tooltipRect.ttHeight/2):(n=a.globals.isXNumeric?b-x/2:b-r.dataPointsDividedWidth+x/2,l=e.clientY-p.top-r.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((n=b)0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var o=a.getElGrid().getBoundingClientRect(),n=(e-o.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-n);a.tooltipPosition.moveYCrosshairs(e-o.top),a.yaxisTooltipText[t].innerHTML=r(h),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),mt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new ut(this),this.tooltipLabels=new pt(this),this.tooltipPosition=new ft(this),this.marker=new xt(this),this.intersect=new bt(this),this.axesTooltip=new vt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:"getElTooltip",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new _(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&"rangeBar"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement("div");o.classList.add("apexcharts-tooltip-series-group"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add("apexcharts-tooltip-series-group-hidden");var n=document.createElement("span");n.classList.add("apexcharts-tooltip-marker"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement("div");l.classList.add("apexcharts-tooltip-text"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,["y","goals","z"].forEach((function(t){var e=document.createElement("div");e.classList.add("apexcharts-tooltip-".concat(t,"-group"));var i=document.createElement("span");i.classList.add("apexcharts-tooltip-text-".concat(t,"-label")),e.appendChild(i);var a=document.createElement("span");a.classList.add("apexcharts-tooltip-text-".concat(t,"-value")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf("right")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf("bottom")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+"px",e.style.top=o+"px",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:"seriesHover",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new E(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:"axisChartsTooltips",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n="touchmove"===a.type?a.touches[0].clientX:a.clientX,l="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add("apexcharts-active");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add("apexcharts-active"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if("heatmap"===r.config.chart.type||"treemap"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var f=0;fl.width?this.handleMouseOut(a):null!==n?this.handleStickyCapturedSeries(t,n,a,o):(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal)&&this.create(t,this,0,o,a.ttItems)}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);void 0!==s.globals.series[e][a]?this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1):this.tooltipUtil.isXoverlap(a)&&this.create(t,this,0,a,i.ttItems)}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new m(this.ctx),i=t.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,o=this.w,n=e;"mouseup"===t.type&&this.markerClick(t,i,a),null===r&&(r=this.tConfig.shared);var l=this.tooltipUtil.hasMarkers(),h=this.tooltipUtil.getElBars();if(o.config.legend.tooltipHoverFormatter){var c=o.config.legend.tooltipHoverFormatter,d=Array.from(this.legendLabels);d.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var g=0;g0?n.marker.enlargePoints(a):n.tooltipPosition.moveDynamicPointsOnHover(a)),this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(h),this.barSeriesHeight>0)){var b=new m(this.ctx),v=o.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a);for(var y=0;y0&&(this.totalItems+=t[o].length);for(var n=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),l=0,h=0,c=function(r,o){var c=void 0,d=void 0,g=void 0,u=void 0,p=[],f=[],b=s.globals.comboCharts?i[r]:r;a.yRatio.length>1&&(a.yaxisIndex=b),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var v=a.graphics.group({class:"apexcharts-series",seriesName:x.escapeString(s.globals.seriesNames[b]),rel:r+1,"data:realIndex":b});a.ctx.series.addCollapsedClassToSeries(v,b);var m=a.graphics.group({class:"apexcharts-datalabels","data:realIndex":b}),y=0,w=0,k=a.initialPositions(l,h,c,d,g,u);h=k.y,y=k.barHeight,d=k.yDivision,u=k.zeroW,l=k.x,w=k.barWidth,c=k.xDivision,g=k.zeroH,a.yArrj=[],a.yArrjF=[],a.yArrjVal=[],a.xArrj=[],a.xArrjF=[],a.xArrjVal=[],1===a.prevY.length&&a.prevY[0].every((function(t){return isNaN(t)}))&&(a.prevY[0]=a.prevY[0].map((function(t){return g})),a.prevYF[0]=a.prevYF[0].map((function(t){return 0})));for(var A=0;A1?(i=l.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:n*parseInt(l.config.plotOptions.bar.columnWidth,10)/100,s=this.baseLineY[this.yaxisIndex]+(this.isReversed?l.globals.gridHeight:0)-(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=l.globals.padHorizontal+(i-n)/2),{x:t,y:e,yDivision:a,xDivision:i,barHeight:o,barWidth:n,zeroH:s,zeroW:r}}},{key:"drawStackedBarPaths",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=n,g=i.i,u=i.j,p=0,f=0;f0){var x=r;this.prevXVal[g-1][u]<0?x=this.series[g][u]>=0?this.prevX[g-1][u]+p-2*(this.isReversed?p:0):this.prevX[g-1][u]:this.prevXVal[g-1][u]>=0&&(x=this.series[g][u]>=0?this.prevX[g-1][u]:this.prevX[g-1][u]-p+2*(this.isReversed?p:0)),e=x}else e=r;o=null===this.series[g][u]?e:e+this.series[g][u]/this.invertedYRatio-2*(this.isReversed?this.series[g][u]/this.invertedYRatio:0);var b=this.barHelpers.getBarpaths({barYPosition:d,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return this.barHelpers.barBackground({j:u,i:g,y1:d,y2:a,elSeries:h}),n+=l,{pathTo:b.pathTo,pathFrom:b.pathFrom,x:o,y:n}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH;t.strokeWidth;var n=t.elSeries,l=this.w,h=e.i,c=e.j,d=e.bc;if(l.globals.isXNumeric){var g=l.globals.seriesX[h][c];g||(g=0),i=(g-l.globals.minX)/this.xRatio-r/2}for(var u,p=i,f=0,x=0;x0&&!l.globals.isXNumeric||h>0&&l.globals.isXNumeric&&l.globals.seriesX[h-1][c]===l.globals.seriesX[h][c]){var b,v,m=Math.min(this.yRatio.length+1,h+1);if(void 0!==this.prevY[h-1])for(var y=1;y=0?v-f+2*(this.isReversed?f:0):v;break}if(this.prevYVal[h-w][c]>=0){b=this.series[h][c]>=0?v:v+f-2*(this.isReversed?f:0);break}}void 0===b&&(b=l.globals.gridHeight),u=this.prevYF[0].every((function(t){return 0===t}))&&this.prevYF.slice(1,h).every((function(t){return t.every((function(t){return isNaN(t)}))}))?l.globals.gridHeight-o:b}else u=l.globals.gridHeight-o;a=u-this.series[h][c]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[h][c]/this.yRatio[this.yaxisIndex]:0);var k=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:r,y1:u,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,realIndex:e.realIndex,i:h,j:c,w:l});return this.barHelpers.barBackground({bc:d,j:c,i:h,x1:p,x2:r,elSeries:n}),i+=s,{pathTo:k.pathTo,pathFrom:k.pathFrom,x:l.globals.isXNumeric?i-s:i,y:a}}}]),s}(),wt=function(t){n(s,F);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this,s=this.w,r=new m(this.ctx),o=new M(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal;var n=new y(this.ctx,s);t=n.getLogSeries(t),this.series=t,this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var l=r.group({class:"apexcharts-".concat(s.config.chart.type,"-series apexcharts-plot-series")}),h=function(n){a.isBoxPlot="boxPlot"===s.config.chart.type||"boxPlot"===s.config.series[n].type;var h,c,d,g,u=void 0,p=void 0,f=[],b=[],v=s.globals.comboCharts?i[n]:n,m=r.group({class:"apexcharts-series",seriesName:x.escapeString(s.globals.seriesNames[v]),rel:n+1,"data:realIndex":v});a.ctx.series.addCollapsedClassToSeries(m,v),t[n].length>0&&(a.visibleI=a.visibleI+1);var y,w;a.yRatio.length>1&&(a.yaxisIndex=v);var k=a.barHelpers.initialPositions();p=k.y,y=k.barHeight,c=k.yDivision,g=k.zeroW,u=k.x,w=k.barWidth,h=k.xDivision,d=k.zeroH,b.push(u+w/2);for(var A=r.group({class:"apexcharts-datalabels","data:realIndex":v}),S=function(i){var r=a.barHelpers.getStrokeWidth(n,i,v),l=null,x={indexes:{i:n,j:i,realIndex:v},x:u,y:p,strokeWidth:r,elSeries:m};l=a.isHorizontal?a.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:c,barHeight:y,zeroW:g})):a.drawVerticalBoxPaths(e(e({},x),{},{xDivision:h,barWidth:w,zeroH:d})),p=l.y,u=l.x,i>0&&b.push(u+w/2),f.push(p),l.pathTo.forEach((function(e,h){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?l.color[h]:s.globals.stroke.colors[n],d=o.fillPath({seriesNumber:v,dataPointIndex:i,color:l.color[h],value:t[n][i]});a.renderSeries({realIndex:v,pathFill:d,lineFill:c,j:i,i:n,pathFrom:l.pathFrom,pathTo:e,strokeWidth:r,elSeries:m,x:u,y:p,series:t,barHeight:y,barWidth:w,elDataLabelsWrap:A,visibleSeries:a.visibleI,type:s.config.chart.type})}))},C=0;Cb.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/f,k=r-k/f,v=r-b.h/f,y=r-b.l/f,A=r-b.m/f);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+"z"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[g]:[u]}}},{key:"drawHorizontalBoxPaths",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,p=this.getOHLCValue(u,c),f=r,x=r,b=Math.min(p.o,p.c),v=Math.max(p.o,p.c),y=p.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,f=r+p.h/g,x=r+p.l/g,y=r+p.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(f,w+s/2)+l.line(f,w+s/2-s/4)+l.line(f,w+s/2+s/4)+l.line(f,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(b+o/2,w),l.move(y,w)+l.line(y,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(y,w)+"z"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:"getOHLCValue",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(),kt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkColorRange",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:"getShadeColor",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,"treemap"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new x;return s.config.plotOptions[t].enableShades&&(l="dark"===this.w.config.theme.mode?x.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):x.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:"determineColor",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&"treemap"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||"heatmap"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:"calculateDataLabels",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new m(this.ctx),c=new z(this.ctx),d=null;if(l.enabled){d=h.group({class:"apexcharts-data-labels"});var g=l.offsetX,u=l.offsetY,p=i+g,f=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:"addListeners",value:function(t){var e=new m(this.ctx);t.node.addEventListener("mouseenter",e.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",e.pathMouseLeave.bind(this,t)),t.node.addEventListener("mousedown",e.pathMouseDown.bind(this,t))}}]),t}(),At=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new kt(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:"draw",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(e.globals.cuid,")"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:x.escapeString(e.globals.seriesNames[h]),rel:h+1,"data:realIndex":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new v(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,p=0;p-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+"%";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(n)>this.fullAngle&&(n-=this.fullAngle);var l=Math.PI*(n-90)/180,h=e.centerX+s*Math.cos(o),c=e.centerY+s*Math.sin(o),d=e.centerX+s*Math.cos(l),g=e.centerY+s*Math.sin(l),u=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,n),p=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),f=a>180?1:0,b=["M",h,c,"A",s,s,0,f,1,d,g];return"donut"===e.chartType?[].concat(b,["L",u.x,u.y,"A",e.donutSize,e.donutSize,0,f,0,p.x,p.y,"L",h,c,"z"]).join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[].concat(b,["L",e.centerX,e.centerY,"L",h,c]).join(" "):[].concat(b).join(" ")}},{key:"drawPolarElements",value:function(t){var e=this.w,i=new q(this.ctx),a=new m(this.ctx),s=new St(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),e.config.yaxis[0].tickAmount,0,!0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,r),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==r&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var i=this.w;this.graphics=new m(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight0&&(f=i.getPreviousPath(n));for(var b=0;b=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:"",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(u,p)}l.add(u),u.attr("id","apexcharts-radialbarTrack-"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new m(this.ctx),a=new M(this.ctx),s=new v(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})),"back"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var f=p?t.series.length-1:0;p?f>=0:f100?100:t.series[f])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[f])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[f]:e.config.stroke.dashArray,T=i.drawPath({d:"",stroke:y,strokeWidth:o,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+f,strokeDashArray:P});if(m.setAttrs(T.node,{"data:angle":L,"data:value":t.series[f]}),e.config.chart.dropShadow.enabled){var I=e.config.chart.dropShadow;s.dropShadow(T,I,f)}s.setSelectionFilter(T,0,f),this.addListeners(T,this.radialDataLabels),b.add(T),T.attr({index:0,j:f});var z=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(z=e.config.chart.animations.speed),e.globals.dataChanged&&(z=e.config.chart.animations.dynamicAnimation.speed),this.animDur=z/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(T,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:f,totalItems:2,animBeginArr:this.animBeginArr,dur:z,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:"drawHollow",value:function(t){var e=new m(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,r=new M(this.ctx),o=x.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:"pattern".concat(s.globals.cuid).concat(o)}),a="url(#pattern".concat(s.globals.cuid).concat(o,")");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}}]),i}(),Mt=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:"sameValueSeriesFix",value:function(t,e){var i=this.w;if("line"===i.config.chart.type&&("gradient"===i.config.fill.type||"gradient"===i.config.fill.type[t])&&new y(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:"calculatePoints",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(x.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:"checkPreviousPaths",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&("line"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):"area"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e=t.i,i=t.series,a=t.prevY,s=t.lineYPosition,r=this.w;if(void 0!==i[e][0])a=(s=r.config.chart.stacked&&e>0?this.lineCtx.prevSeriesY[e-1][0]:this.lineCtx.zeroY)-i[e][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?i[e][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(r.config.chart.stacked&&e>0&&void 0===i[e][0])for(var o=e-1;o>=0;o--)if(null!==i[o][0]&&void 0!==i[o][0]){a=s=this.lineCtx.prevSeriesY[o][0];break}return{prevY:a,lineYPosition:s}}}]),t}(),Tt=function(){function t(e,i,s){a(this,t),this.ctx=e,this.w=e.w,this.xyRatios=i,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||s,this.scatter=new I(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Mt(this),this.markers=new T(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return r(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=a.globals.comboCharts?e:a.config.chart.type,o=s.group({class:"apexcharts-".concat(r,"-series apexcharts-plot-series")}),n=new y(this.ctx,a);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=n.getLogSeries(t),this.yRatio=n.getLogYRatios(this.yRatio);for(var l=[],h=0;h0&&(u=(a.globals.seriesX[c][0]-a.globals.minX)/this.xRatio),g.push(u);var p,f=u,x=f,b=this.zeroY;b=this.lineHelpers.determineFirstPrevY({i:h,series:t,prevY:b,lineYPosition:0}).prevY,d.push(b),p=b;var v=this._calculatePathsFrom({series:t,i:h,realIndex:c,prevX:x,prevY:b}),w=this._iterateOverDataPoints({series:t,realIndex:c,i:h,x:u,y:1,pX:f,pY:p,pathsFrom:v,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:g,yArrj:d});this._handlePaths({type:r,realIndex:c,i:h,paths:w}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),l.push(this.elSeries)}if(a.config.chart.stacked)for(var k=l.length;k>0;k--)o.add(l[k-1]);else for(var A=0;A1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",seriesName:x.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var r=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":r,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,s,r=t.series,o=t.i,n=t.realIndex,l=t.prevX,h=t.prevY,c=this.w,d=new m(this.ctx);if(null===r[o][0]){for(var g=0;g0){var u=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:n});a=u.pathFromLine,s=u.pathFromArea}return{prevX:l,prevY:h,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new m(this.ctx),l=new M(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(i)};if("area"===i)for(var p=l.fillPath({seriesNumber:a}),f=0;f0){var A=n.renderPaths(w);A.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&A.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(A),A.attr("clip-path","url(#forecastMask".concat(o.globals.cuid,")")),k.attr("clip-path","url(#nonForecastMask".concat(o.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(t){for(var e=t.series,i=t.realIndex,a=t.i,s=t.x,r=t.y,o=t.pX,n=t.pY,l=t.pathsFrom,h=t.linePaths,c=t.areaPaths,d=t.seriesIndex,g=t.lineYPosition,u=t.xArrj,p=t.yArrj,f=this.w,b=new m(this.ctx),v=this.yRatio,y=l.prevY,w=l.linePath,k=l.areaPath,A=l.pathFromLine,S=l.pathFromArea,C=x.isNumber(f.globals.minYArr[i])?f.globals.minYArr[i]:f.globals.minY,L=f.globals.dataPoints>1?f.globals.dataPoints-1:f.globals.dataPoints,P=0;P0&&f.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(a-1)][P+1]}else g=this.zeroY;else g=this.zeroY;r=M?g-C/v[this.yaxisIndex]+2*(this.isReversed?C/v[this.yaxisIndex]:0):g-e[a][P+1]/v[this.yaxisIndex]+2*(this.isReversed?e[a][P+1]/v[this.yaxisIndex]:0),u.push(s),p.push(r);var I=this.lineHelpers.calculatePoints({series:e,x:s,y:r,realIndex:i,i:a,j:P,prevY:y}),z=this._createPaths({series:e,i:a,realIndex:i,j:P,x:s,y:r,pX:o,pY:n,linePath:w,areaPath:k,linePaths:h,areaPaths:c,seriesIndex:d});c=z.areaPaths,h=z.linePaths,o=z.pX,n=z.pY,k=z.areaPath,w=z.linePath,this.appendPathFrom&&(A+=b.line(s,this.zeroY),S+=b.line(s,this.zeroY)),this.handleNullDataPoints(e,I,a,P,i),this._handleMarkersAndLabels({pointsPos:I,series:e,x:s,y:r,prevY:y,i:a,j:P,realIndex:i})}return{yArrj:p,xArrj:u,pathFromArea:S,areaPaths:c,pathFromLine:A,linePaths:h}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.pointsPos;t.series,t.x,t.y,t.prevY;var i=t.i,a=t.j,s=t.realIndex,r=this.w,o=new z(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,a,{realIndex:s,pointsPos:e,zRatio:this.zRatio,elParent:this.elPointsMain});else{r.globals.series[i].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var n=this.markers.plotChartMarkers(e,s,a+1);null!==n&&this.elPointsMain.add(n)}var l=o.drawDataLabel(e,s,a+1,null);null!==l&&this.elDataLabelsWrap.add(l)}},{key:"_createPaths",value:function(t){var e=t.series,i=t.i,a=t.realIndex,s=t.j,r=t.x,o=t.y,n=t.pX,l=t.pY,h=t.linePath,c=t.areaPath,d=t.linePaths,g=t.areaPaths,u=t.seriesIndex,p=this.w,f=new m(this.ctx),x=p.config.stroke.curve,b=this.areaBottomY;if(Array.isArray(p.config.stroke.curve)&&(x=Array.isArray(u)?p.config.stroke.curve[u[i]]:p.config.stroke.curve[i]),"smooth"===x){var v=.35*(r-n);p.globals.hasNullValues?(null!==e[i][s]&&(null!==e[i][s+1]?(h=f.move(n,l)+f.curve(n+v,l,r-v,o,r+1,o),c=f.move(n+1,l)+f.curve(n+v,l,r-v,o,r+1,o)+f.line(r,b)+f.line(n,b)+"z"):(h=f.move(n,l),c=f.move(n,l)+"z")),d.push(h),g.push(c)):(h+=f.curve(n+v,l,r-v,o,r,o),c+=f.curve(n+v,l,r-v,o,r,o)),n=r,l=o,s===e[i].length-2&&(c=c+f.curve(n,l,r,o,r,b)+f.move(r,o)+"z",p.globals.hasNullValues||(d.push(h),g.push(c)))}else{if(null===e[i][s+1]){h+=f.move(r,o);var y=p.globals.isXNumeric?(p.globals.seriesX[a][s]-p.globals.minX)/this.xRatio:r-this.xDivision;c=c+f.line(y,b)+f.move(r,o)+"z"}null===e[i][s]&&(h+=f.move(r,o),c+=f.move(r,b)),"stepline"===x?(h=h+f.line(r,null,"H")+f.line(null,o,"V"),c=c+f.line(r,null,"H")+f.line(null,o,"V")):"straight"===x&&(h+=f.line(r,o),c+=f.line(r,o)),s===e[i].length-2&&(c=c+f.line(r,b)+f.move(r,o)+"z",d.push(h),g.push(c))}return{linePaths:d,areaPaths:g,pX:n,pY:l,linePath:h,areaPath:c}}},{key:"handleNullDataPoints",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){return o=void 0===o?0:o,n=void 0===n?0:n,function(t){var e,i,a=[];for(e=0;e=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(-90 ".concat(h.x," ").concat(h.y,")"))}}},{key:"animateTreemap",value:function(t,e,i,a){var s=new b(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Et=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:"calculateTimeScaleTicks",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new R(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),p=Math.floor(86400*o),f=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:u,numberOfHours:g,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case"years":this.generateYearScale(m);break;case"months":case"half_year":this.generateMonthScale(m);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(m);break;case"hours":this.generateHourScale(m);break;case"minutes_fives":case"minutes":this.generateMinuteScale(m);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?e(e({},i),{},{value:t.value}):"minute"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):"second"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case"years":"year"===t.unit&&(o=!0);break;case"half_year":e=7,"year"===t.unit&&(o=!0);break;case"months":e=1,"year"===t.unit&&(o=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(o=!0),30===r&&(n=!0);break;case"months_days":e=10,"month"===t.unit&&(o=!0),30===r&&(n=!0);break;case"week_days":e=8,"month"===t.unit&&(o=!0);break;case"days":e=1,"month"===t.unit&&(o=!0);break;case"hours":"day"===t.unit&&(o=!0);break;case"minutes_fives":r%5!=0&&(n=!0);break;case"seconds_tens":r%10!=0&&(n=!0);break;case"seconds_fives":r%5!=0&&(n=!0)}if("hours"===a.tickInterval||"minutes_fives"===a.tickInterval||"seconds_tens"===a.tickInterval||"seconds_fives"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new lt(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval="years";break;case t>800:this.tickInterval="half_year";break;case t>180:this.tickInterval="months";break;case t>90:this.tickInterval="months_fortnight";break;case t>60:this.tickInterval="months_days";break;case t>30:this.tickInterval="week_days";break;case t>2:this.tickInterval="days";break;case e>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new R(this.ctx),h="year";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:x.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:x.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=x.monthMod(a+1);var g=s+d,u=x.monthMod(n),p=n;0===n&&(c="year",p=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:x.monthMod(a)});for(var f=n+1,b=l,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,n="month",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=x.monthMod(e.minMonth),n="month",h=e.minDate,r++):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:x.monthMod(u),day:h});for(var p=d,f=0;fn.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,p=u+1;60===d&&(g=0,p=(u=e.minHour)+1);var f=i,b=c(f,a);this.timeScaleArray.push({position:g,value:u,unit:l,day:f,hour:p,year:s,month:x.monthMod(b)});for(var v=g,m=0;m=24)p=0,l="day",b=h(f+=1,b).month,b=c(f,b);var y=this._getYear(s,b,0);v=0===p&&0===m?d*r:60*r+v;var w=0===p?f:p;this.timeScaleArray.push({position:v,value:w,unit:l,hour:p,day:f,year:y,month:x.monthMod(b)}),p++}}},{key:"generateMinuteScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,p=n,f=s,b=(60-i-e/1e3)*h,v=0;v=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:b,value:d,unit:"minute",hour:f,minute:d,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,d++}},{key:"generateSecondScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,p=n,f=s,b=(1e3-e)/1e3*l,v=0;v=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:b,value:c,unit:"second",hour:f,minute:d,second:c,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,c++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),"minute"===t.unit?i+=":"+("0"+e).slice(-2):i+=":"+(t.minute?("0"+t.minute).slice(-2):"00"),"second"===t.unit?i+=":"+("0"+e).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new R(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(n=l.year),"month"===t.unit&&(n=l.month),"day"===t.unit&&(n=l.day),"hour"===t.unit&&(n=l.hour),"minute"===t.unit&&(n=l.minute),"second"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new m(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Yt=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:"setupElements",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=["line","area","bar","rangeBar","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].indexOf(i)>-1,t.xyCharts=["line","area","bar","rangeBar","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,t.isBarHorizontal=("bar"===e.chart.type||"rangeBar"===e.chart.type||"boxPlot"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=".apexcharts"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),m.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas "+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(e.chart.offsetX,", ").concat(e.chart.offsetY,")")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elAnnotations=t.dom.Paper.group().attr({class:"apexcharts-annotations"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elWrap.appendChild(t.dom.elLegendWrap),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]};s.series.map((function(e,g){var u=0;void 0!==t[g].type?("column"===t[g].type||"bar"===t[g].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"),h.series.push(e),h.i.push(g),u++,i.globals.columnSeries=h.series):"area"===t[g].type?(o.series.push(e),o.i.push(g),u++):"line"===t[g].type?(r.series.push(e),r.i.push(g),u++):"scatter"===t[g].type?(n.series.push(e),n.i.push(g)):"bubble"===t[g].type?(l.series.push(e),l.i.push(g),u++):"candlestick"===t[g].type?(c.series.push(e),c.i.push(g),u++):"boxPlot"===t[g].type?(d.series.push(e),d.i.push(g),u++):console.warn("You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble"),u>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(g))}));var g=new Tt(this.ctx,e),u=new wt(this.ctx,e);this.ctx.pie=new Ct(this.ctx);var p=new Pt(this.ctx);this.ctx.rangeBar=new H(this.ctx,e);var f=new Lt(this.ctx),x=[];if(s.comboCharts){if(o.series.length>0&&x.push(g.draw(o.series,"area",o.i)),h.series.length>0)if(i.config.chart.stacked){var b=new yt(this.ctx,e);x.push(b.draw(h.series,h.i))}else this.ctx.bar=new F(this.ctx,e),x.push(this.ctx.bar.draw(h.series,h.i));if(r.series.length>0&&x.push(g.draw(r.series,"line",r.i)),c.series.length>0&&x.push(u.draw(c.series,c.i)),d.series.length>0&&x.push(u.draw(d.series,d.i)),n.series.length>0){var v=new Tt(this.ctx,e,!0);x.push(v.draw(n.series,"scatter",n.i))}if(l.series.length>0){var m=new Tt(this.ctx,e,!0);x.push(m.draw(l.series,"bubble",l.i))}}else switch(a.chart.type){case"line":x=g.draw(s.series,"line");break;case"area":x=g.draw(s.series,"area");break;case"bar":if(a.chart.stacked)x=new yt(this.ctx,e).draw(s.series);else this.ctx.bar=new F(this.ctx,e),x=this.ctx.bar.draw(s.series);break;case"candlestick":x=new wt(this.ctx,e).draw(s.series);break;case"boxPlot":x=new wt(this.ctx,e).draw(s.series);break;case"rangeBar":x=this.ctx.rangeBar.draw(s.series);break;case"heatmap":x=new At(this.ctx,e).draw(s.series);break;case"treemap":x=new Xt(this.ctx,e).draw(s.series);break;case"pie":case"donut":case"polarArea":x=this.ctx.pie.draw(s.series);break;case"radialBar":x=p.draw(s.series);break;case"radar":x=f.draw(s.series);break;default:x=g.draw(s.series)}return x}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=x.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();"%"===a?x.isNumber(i[0])&&(0===i[0].width&&(i=x.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):"px"!==a&&""!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if("auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===s){var r=x.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),m.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),"%"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+"px"}t.dom.elWrap.style.width=t.svgWidth+"px",t.dom.elWrap.style.height=t.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i={transform:"translate("+t.translateX+", "+e+")"};m.setAttrs(t.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new ct(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=x.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",l),t.config.chart.height&&String(t.config.chart.height).indexOf("%")>0||(e.dom.elWrap.style.height=l+"px",m.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+"px")}},{key:"coreCalculations",value:function(){new Z(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new O,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if("back"===e.config.xaxis.crosshairs.position)new tt(this.ctx).drawXCrosshairs();if("back"===e.config.yaxis[0].crosshairs.position)new tt(this.ctx).drawYCrosshairs();if("datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Et(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new y(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,i=this.w;if(i.config.chart.brush.enabled&&"function"!=typeof i.config.chart.events.selection){var a=i.config.chart.brush.targets||[i.config.chart.brush.target];a.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,"function"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),"function"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),i.config.chart.events.selection=function(t,s){a.forEach((function(t){var a=ApexCharts.getChartByID(t),r=x.clone(i.config.yaxis);if(i.config.chart.brush.autoScaleYaxis&&1===a.w.globals.series.length){var o=new q(a);r=o.autoScaleY(a,r,s)}var n=a.w.config.yaxis.reduce((function(t,i,s){return[].concat(u(t),[e(e({},a.w.config.yaxis[s]),{},{min:r[0].min,max:r[0].max})])}),[]);a.ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max},yaxis:n},!1,!1,!1,!1)}))}}}}]),t}(),Ft=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"_updateOptions",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&"object"===i(t)&&(r.config=new N(t),t=y.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=x.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?x.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?x.clone(t.yaxis):[],c.globals.initialConfig=x.extend({},c.config),c.globals.initialSeries=x.clone(c.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=x.clone(o.config.series),o.globals.initialSeries=x.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:"_extendSeries",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:s&&s.name,color:t.color?t.color:s&&s.color,type:t.type?t.type:s&&s.type,data:t.data?t.data:s&&s.data})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(t,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"'], ").concat(s," circle[j='").concat(e,"'], ").concat(s," rect[j='").concat(e,"']")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"']")).members[0],"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new m(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new D(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){return t.chart&&t.chart.stacked&&"100%"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();It="undefined"!=typeof window?window:void 0,zt=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns="http://www.w3.org/2000/svg",a.xmlns="http://www.w3.org/2000/xmlns/",a.xlink="http://www.w3.org/1999/xlink",a.svgjs="http://svgjs.dev",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return"Svgjs"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute("id",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i="svg"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:"linearGradient"==e.nodeName?new a.Gradient("linear"):"radialGradient"==e.nodeName?new a.Gradient("radial"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute("svgjs:data"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName("body")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:i.polyline().node,path:i.path().node,native:a.create("svg")}},a.parser={native:a.create("svg")},e.addEventListener("DOMContentLoaded",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+="",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]}},r="mlhvqtcsaz".split(""),o=0,n=r.length;ol);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute("d",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!=t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if("string"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||"#document"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElement("svg");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElement("svg")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");i.innerHTML=""+t.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var s=0,r=i.firstChild.childNodes.length;s":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){"object"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||"-"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on("finished.fx",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off("finished.fx",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off("during.fx",i).on("during.fx",i),this.after((function(){this.off("during.fx",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off("allfinished.fx",e)};return this.target().off("allfinished.fx",e).on("allfinished.fx",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire("during",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--s)this[m[s]]=null!=t[m[s]]?t[m[s]]:e[m[s]]},extend:{extract:function(){var t=p(this,0,1);p(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=m.length-1;e>=0;e--)t[m[e]]=this[m[e]];return t},toString:function(){return"matrix("+v(this.a)+","+v(this.b)+","+v(this.c)+","+v(this.d)+","+v(this.e)+","+v(this.f)+")"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if("object"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;"stroke-width"==t?this.attr("stroke",parseFloat(e)>0?this._stroke:null):"stroke"==t&&(this._stroke=e),"fill"!=t&&"stroke"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),"number"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),"leading"==t?this.leading&&this.leading(e):"string"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!=t&&"x"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return"object"!==i(t)?(s=new a.Matrix(this).extract(),"string"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr("transform",s))}}),a.extend(a.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split("(");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return"matrix"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&"boolean"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return null==t.x&&(t.x=0,t.y=0,t.width=0,t.height=0),t.w=t.width,t.h=t.height,t.x2=t.x+t.width,t.y2=t.y+t.height,t.cx=t.x+t.width/2,t.cy=t.y+t.height/2,t}function v(t){return Math.abs(t)>1e-37?t:0}["fill","stroke"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if("string"==typeof e||a.Color.isRgb(e)||e&&"function"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr("transform",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)"function"==typeof a.Shape.prototype[e]&&"function"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||"").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var m="abcdef".split("");if("function"!=typeof t.CustomEvent){var y=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent("CustomEvent");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};y.prototype=t.Event.prototype,a.CustomEvent=y}else a.CustomEvent=t.CustomEvent;return a},"function"==typeof define&&define.amd?define((function(){return zt(It,It.document)})):"object"===("undefined"==typeof exports?"undefined":i(exports))&&"undefined"!=typeof module?module.exports=It.document?zt(It,It.document):function(t){return zt(t,t.document)}:It.SVG=zt(It,It.document), -/*! svg.filter.js - v2.0.2 - 2016-02-24 -* https://github.com/wout/svg.filter.js -* Copyright (c) 2016 Wout Fierens; Licensed MIT */ -function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr("in")&&this.autoSetIn&&t.attr("in",this.source),t.attr("result")||t.attr("result",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return"function"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr("in",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||"normal"})},colorMatrix:function(t,e){"matrix"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr("flood-color",t),null!=e&&this.attr("flood-opacity",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr("href",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr("stdDeviation",r(Array.prototype.slice.call(arguments))):this.attr("stdDeviation","0 0")},morphology:function(t,e){this.attr({operator:t,radius:e})},tile:function(){},turbulence:function(t,e,i,a,s){this.attr({numOctaves:e,seed:i,stitchTiles:a,baseFrequency:t,type:s})}},i={merge:function(){var t;if(arguments[0]instanceof SVG.Set){var e=this;arguments[0].each((function(t){this instanceof SVG.MergeNode?e.put(this):(this instanceof SVG.Effect||this instanceof SVG.ParentEffect)&&e.put(new SVG.MergeNode(this))}))}else{t=Array.isArray(arguments[0])?arguments[0]:arguments;for(var i=0;i1&&(M*=a=Math.sqrt(a),T*=a);s=(new SVG.Matrix).rotate(I).scale(1/M,1/T).rotate(-I),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire("dragend",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,i){"function"!=typeof e&&"object"!=typeof e||(i=e,e=!0);var a=this.remember("_draggable")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,e,i){var a="string"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,"t"===t||"b"===t),y:this.pointCoord(i[1],e,"r"===t||"l"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=["points","pointsExclude"];for(var s in r){var o=this.options[r[s]];"string"==typeof o?o=o.length>0?o.split(/\s*,\s*/i):[]:"boolean"==typeof o&&"points"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case"rt":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case"rb":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case"lb":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case"t":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case"r":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case"b":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case"l":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case"rot":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,"touchmove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"touchend.resize",(function(){e.done()})),SVG.on(window,"mousemove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"mouseup.resize",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Rt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new b(this.ctx),this.ctx.axes=new K(this.ctx),this.ctx.core=new Yt(this.ctx.el,this.ctx),this.ctx.config=new N({}),this.ctx.data=new B(this.ctx),this.ctx.grid=new U(this.ctx),this.ctx.graphics=new m(this.ctx),this.ctx.coreUtils=new y(this.ctx),this.ctx.crosshairs=new tt(this.ctx),this.ctx.events=new J(this.ctx),this.ctx.exports=new j(this.ctx),this.ctx.localization=new Q(this.ctx),this.ctx.options=new L,this.ctx.responsive=new et(this.ctx),this.ctx.series=new E(this.ctx),this.ctx.theme=new it(this.ctx),this.ctx.formatters=new V(this.ctx),this.ctx.titleSubtitle=new at(this.ctx),this.ctx.legend=new ct(this.ctx),this.ctx.toolbar=new dt(this.ctx),this.ctx.dimensions=new lt(this.ctx),this.ctx.updateHelpers=new Ft(this.ctx),this.ctx.zoomPanSelection=new gt(this.ctx),this.ctx.w.globals.tooltip=new mt(this.ctx)}}]),t}(),Ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"clear",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:"killSVG",value:function(t){t.each((function(t,e){this.removeClass("*"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:"clearDomElements",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elAnnotations=null,r.elLegendWrap=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),Dt=new WeakMap;var Nt=function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new W(i).init(),this.el=e,this.w.globals.cuid=x.randomId(),this.w.globals.chartID=this.w.config.chart.id?x.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Rt(this).initModules(),this.create=x.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;if("function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();"none"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),Dt.set(e,s)}(t.el.parentNode,t.parentResizeHandler),!t.css){var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is("ShadowRoot",s),o=t.el.ownerDocument,n=o.getElementById("apexcharts-css");!r&&n||(t.css=document.createElement("style"),t.css.id="apexcharts-css",t.css.textContent='.apexcharts-canvas {\n position: relative;\n user-select: none;\n /* cannot give overflow: hidden as it will crop tooltips which overflow outside chart area */\n}\n\n\n/* scrollbar is not visible by default for legend, hence forcing the visibility */\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px;\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0, 0, 0, .5);\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n}\n\n\n.apexcharts-inner {\n position: relative;\n}\n\n.apexcharts-text tspan {\n font-family: inherit;\n}\n\n.legend-mouseover-inactive {\n transition: 0.15s ease all;\n opacity: 0.20;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0;\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255, 255, 255, 0.96);\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30, 30, 30, 0.8);\n}\n\n.apexcharts-tooltip * {\n font-family: inherit;\n}\n\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #ECEFF1;\n border-bottom: 1px solid #ddd;\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0, 0, 0, 0.7);\n border-bottom: 1px solid #333;\n}\n\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-z-value {\n display: inline-block;\n font-weight: 600;\n margin-left: 5px;\n}\n\n.apexcharts-tooltip-title:empty,\n.apexcharts-tooltip-text-y-label:empty,\n.apexcharts-tooltip-text-y-value:empty,\n.apexcharts-tooltip-text-goals-label:empty,\n.apexcharts-tooltip-text-goals-value:empty,\n.apexcharts-tooltip-text-z-value:empty {\n display: none;\n}\n\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-z-value {\n font-weight: 600;\n}\n\n.apexcharts-tooltip-text-goals-label, \n.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px;\n}\n\n.apexcharts-tooltip-goals-group, \n.apexcharts-tooltip-text-goals-label, \n.apexcharts-tooltip-text-goals-value {\n display: flex;\n}\n.apexcharts-tooltip-text-goals-label:not(:empty),\n.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px;\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0px;\n margin-right: 10px;\n border-radius: 50%;\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center;\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1;\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,\n.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px;\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0 !important;\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px;\n}\n\n.apexcharts-tooltip-box, .apexcharts-custom-tooltip {\n padding: 4px 8px;\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse;\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0;\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: bold;\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px;\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777;\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: bold;\n display: block;\n margin-bottom: 5px;\n}\n\n.apexcharts-xaxistooltip {\n opacity: 0;\n padding: 9px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #ECEFF1;\n border: 1px solid #90A4AE;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-xaxistooltip:after,\n.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-left: -6px;\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\n border-width: 7px;\n margin-left: -7px;\n}\n\n.apexcharts-xaxistooltip-bottom:after,\n.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%;\n}\n\n.apexcharts-xaxistooltip-top:after,\n.apexcharts-xaxistooltip-top:before {\n top: 100%;\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #ECEFF1;\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #ECEFF1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-yaxistooltip {\n opacity: 0;\n padding: 4px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #ECEFF1;\n border: 1px solid #90A4AE;\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-yaxistooltip:after,\n.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-top: -6px;\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\n border-width: 7px;\n margin-top: -7px;\n}\n\n.apexcharts-yaxistooltip-left:after,\n.apexcharts-yaxistooltip-left:before {\n left: 100%;\n}\n\n.apexcharts-yaxistooltip-right:after,\n.apexcharts-yaxistooltip-right:before {\n right: 100%;\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #ECEFF1;\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #ECEFF1;\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1;\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none;\n}\n\n.apexcharts-xcrosshairs,\n.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,\n.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0;\n}\n\n.apexcharts-selection-rect {\n cursor: move;\n}\n\n.svg_select_boundingRect, .svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden;\n}\n.apexcharts-selection-rect + g .svg_select_boundingRect,\n.apexcharts-selection-rect + g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden;\n}\n\n.apexcharts-selection-rect + g .svg_select_points_l,\n.apexcharts-selection-rect + g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible;\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2;\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon,\n.apexcharts-reset-icon,\n.apexcharts-pan-icon,\n.apexcharts-selection-icon,\n.apexcharts-menu-icon,\n.apexcharts-toolbar-custom-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6E8192;\n text-align: center;\n}\n\n.apexcharts-zoom-icon svg,\n.apexcharts-zoomin-icon svg,\n.apexcharts-zoomout-icon svg,\n.apexcharts-reset-icon svg,\n.apexcharts-menu-icon svg {\n fill: #6E8192;\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(0.76)\n}\n\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg,\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg {\n fill: #f3f4f5;\n}\n\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg {\n fill: #008FFB;\n}\n\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg,\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg {\n fill: #333;\n}\n\n.apexcharts-selection-icon,\n.apexcharts-menu-icon {\n position: relative;\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px;\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-reset-icon,\n.apexcharts-menu-icon {\n transform: scale(0.85);\n}\n\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n transform: scale(0.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px;\n}\n\n.apexcharts-pan-icon {\n transform: scale(0.62);\n position: relative;\n left: 1px;\n top: 0px;\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6E8192;\n stroke-width: 2;\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008FFB;\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333;\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0px 6px 2px 6px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: 0.15s ease all;\n pointer-events: none;\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: 0.15s ease all;\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer;\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee;\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0, 0, 0, 0.7);\n color: #fff;\n}\n\n@media screen and (min-width: 768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1;\n }\n}\n\n.apexcharts-datalabel.apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-pie-label,\n.apexcharts-datalabels,\n.apexcharts-datalabel,\n.apexcharts-datalabel-label,\n.apexcharts-datalabel-value {\n cursor: default;\n pointer-events: none;\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: 0.3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease;\n}\n\n.apexcharts-canvas .apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-hide .apexcharts-series-points {\n opacity: 0;\n}\n\n.apexcharts-gridline,\n.apexcharts-annotation-rect,\n.apexcharts-xaxis-annotation-label,\n.apexcharts-yaxis-annotation-label,\n.apexcharts-point-annotation-label,\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-line,\n.apexcharts-zoom-rect,\n.apexcharts-toolbar svg,\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-radar-series path,\n.apexcharts-radar-series polygon {\n pointer-events: none;\n}\n\n\n/* markers */\n\n.apexcharts-marker {\n transition: 0.15s ease all;\n}\n\n@keyframes opaque {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n\n/* Resize generated styles */\n\n@keyframes resizeanim {\n from {\n opacity: 0;\n }\n to {\n opacity: 0;\n }\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n}\n\n.resize-triggers,\n.resize-triggers>div,\n.contract-trigger:before {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.resize-triggers>div {\n background: #eee;\n overflow: auto;\n}\n\n.contract-trigger:before {\n width: 200%;\n height: 200%;\n}',r?s.prepend(t.css):o.head.appendChild(t.css))}var l=t.create(t.w.config.series,{});if(!l)return e(t);t.mount(l).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(l)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this.w;new Rt(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new D(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),"treemap"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=y.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new T(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),"category"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new y(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new z(this);l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition();var h={plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}};return{elGraph:n,xyRatios:o,elInner:i.globals.dom.elGraphical,dimensions:h}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),"treemap"!==a.config.chart.type&&i.axes.drawAxis(a.config.chart.type,e.xyRatios),i.grid=new U(i);var o=i.grid.drawGrid();i.annotations=new P(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position&&o&&a.globals.dom.elGraphical.add(o.el);var n=new _(t.ctx),l=new $(t.ctx);if(null!==o&&(n.xAxisLabelCorrections(o.xAxisTickWidth),l.setYAxisTextAlignments(),a.config.yaxis.map((function(t,e){-1===a.globals.ignoreYAxisIndexes.indexOf(e)&&l.yAxisTitleRotate(e,t.opposite)}))),"back"===a.config.annotations.position&&(a.globals.dom.Paper.add(a.globals.dom.elAnnotations),i.annotations.drawAxesAnnotations()),Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){var t,e;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=Dt.get(t))&&(e.disconnect(),Dt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===x.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Ht(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new Z(this.ctx);return e.getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new Z(this.ctx);return e.getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(t){return new j(this.ctx).dataURI(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=new j(this.ctx);return e.exportToCSV(t)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:"_windowResizeHandler",value:function(){var t=this.w.config.chart.redrawOnWindowResize;"function"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:"getChartByID",value:function(t){var e=x.escapeString(t),i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i2?s-2:0),o=2;o
'+(i||"")+'
'+t.ylabel+' '+t.start+' - '+t.end+"
"}}]),s}(),D=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0;return x.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"candlestick",value:function(){var t=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:5,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-r},background:{enabled:!1},style:{colors:["#fff"]}},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=new H(t.ctx,null),i=e.getTooltipValues(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return e.buildCustomTooltipHTML({color:a,seriesName:s,ylabel:r,start:o,end:n})}(t):function(t){var e=new H(t.ctx,null),i=e.getTooltipValues(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return e.buildCustomTooltipHTML({color:a,seriesName:s,ylabel:r,start:o,end:n})}(t)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"brush",value:function(t){return x.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),"bar"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t}),t}},{key:"convertCatToNumeric",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:"convertCatToNumericXaxis",value:function(t,e,i){t.xaxis.type="numeric",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return x.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return x.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||"dataPoints",t}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:"_getBoxTooltip",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\n '.concat(t.config.series[e].name?t.config.series[e].name:"series-"+(e+1),": ").concat(t.globals.series[e][i],"\n
"):'
')+"
".concat(a[0],': ')+r+"
"+"
".concat(a[1],': ')+o+"
"+(n?"
".concat(a[2],': ')+n+"
":"")+"
".concat(a[3],': ')+l+"
"+"
".concat(a[4],': ')+h+"
"}}]),t}(),N=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new L,r=new D(a);this.chartType=a.chart.type,"histogram"===this.chartType&&(a.chart.type="bar",a=x.extend({plotOptions:{bar:{columnWidth:"99.99%"}}},a)),a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&"object"===i(a)){var l={};l=-1!==["line","area","bar","candlestick","boxPlot","rangeBar","histogram","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),a.chart.brush&&a.chart.brush.enabled&&(l=r.brush(l)),a.chart.stacked&&"100%"===a.chart.stackType&&(a=r.stacked100(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),((a=this.checkForCatToNumericXAxis(this.chartType,l,a)).chart.sparkline&&a.chart.sparkline.enabled||window.Apex.chart&&window.Apex.chart.sparkline&&window.Apex.chart.sparkline.enabled)&&(l=r.sparkline(l)),n=x.extend(o,l)}var h=x.extend(n,window.Apex);return o=x.extend(h,a),o=this.handleUserInputErrors(o)}},{key:"checkForCatToNumericXAxis",value:function(t,e,i){var a=new D(i),s=("bar"===t||"boxPlot"===t)&&i.plotOptions&&i.plotOptions.bar&&i.plotOptions.bar.horizontal,r="pie"===t||"polarArea"===t||"donut"===t||"radar"===t||"radialBar"===t||"heatmap"===t,o="datetime"!==i.xaxis.type&&"numeric"!==i.xaxis.type,n=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return s||r||!o||"between"===n||(i=a.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(t,e){var i=new L;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=x.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[x.extend(i.yAxis,t.yaxis)]:t.yaxis=x.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name="series-".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=x.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both."),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new L;return t.annotations.yaxis=x.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new L;return t.annotations.xaxis=x.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new L;return t.annotations.points=x.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.chart.background||(t.chart.background="#424242"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&"barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width="tickWidth"),"candlestick"!==e.chart.type&&"boxPlot"!==e.chart.type||e.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(e.chart.type," chart is not supported.")),e.yaxis[0].reversed=!1),e}}]),t}(),O=function(){function t(){a(this,t)}return r(t,[{key:"initGlobalVars",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRangeBar=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasGroups=!1,t.groups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.xaxisLabelsCount=0,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0}},{key:"globalVars",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:"zoom"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:"pan"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:"selection"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null}}},{key:"init",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=x.extend({},t),e.initialSeries=x.clone(t.series),e.lastXAxis=x.clone(e.initialConfig.xaxis),e.lastYAxis=x.clone(e.initialConfig.yaxis),e}}]),t}(),W=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(){var t=new N(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new O).init(t)}}}]),t}(),B=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return r(t,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var t=this.w.config.series.slice(),e=new E(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new E(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s="boxPlot"===i.chart.type||"boxPlot"===i.series[e].type,r=0;r=5?this.twoDSeries.push(x.parseNumber(t[e].data[r][4])):this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new R(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar="rangeBar"===a.chart.type&&s.isBarHorizontal,s.hasGroups="category"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasGroups&&(s.groups=a.xaxis.group.groups);for(var n=function(){for(var t=0;t0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var h=t[l].data.map((function(t){return x.parseNumber(t)}));s.series.push(h)}s.seriesZ.push(this.threeDSeries),void 0!==t[l].name?s.seriesNames.push(t[l].name):s.seriesNames.push("series-"+parseInt(l+1,10)),void 0!==t[l].color?s.seriesColors.push(t[l].color):s.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRangeBar.length&&(i.seriesRangeBar.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric)new D(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},"function"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,"function"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getLabel",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?"":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new V(this.ctx),p=l;o&&(h=u.xLabelFormat(c,l,p,{i:a,dateFormatter:new R(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new R(this.ctx).formatDate,w:n})));var f=function(t){var i=null;return e.forEach((function(t){"month"===t.unit?i="year":"day"===t.unit?i="month":"hour"===t.unit?i="day":"minute"===t.unit&&(i="hour")})),i===t};e.length>0?(g=f(e[a].unit),i=e[a].position,h=e[a].value):"datetime"===n.config.xaxis.type&&void 0===d&&(h=""),void 0===h&&(h=""),h=Array.isArray(h)?h:h.toString();var x=new m(this.ctx),b={};b=n.globals.rotateXLabels&&o?x.getTextRects(h,parseInt(r,10),null,"rotate(".concat(n.config.xaxis.labels.rotate," 0 0)"),!1):x.getTextRects(h,parseInt(r,10));var v=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(0===h.indexOf("NaN")||0===h.toLowerCase().indexOf("invalid")||h.toLowerCase().indexOf("infinity")>=0||s.indexOf(h)>=0&&v)&&(h=""),{x:i,text:h,textRect:b,isBold:g}}},{key:"checkLabelBasedOnTickamount",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return"dataPoints"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=""),e}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),"heatmap"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),t}(),j=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"scaleSvgNode",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,"width")),a=parseFloat(t.getAttributeNS(null,"height"));t.setAttributeNS(null,"width",i*e),t.setAttributeNS(null,"height",a*e),t.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"fixSvgStringForIe11",value:function(t){if(!x.isIE11())return t.replace(/ /g," ");var e=0,i=t.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g,(function(t){return 2===++e?'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"':t}));return i=(i=i.replace(/xmlns:NS\d+=""/g,"")).replace(/NS\d+:(\w+:\w+=")/g,"$1")}},{key:"getSvgString",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:"cleanup",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=t.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,(function(t){t.setAttribute("width",0)})),e&&e[0]&&(e[0].setAttribute("x",-500),e[0].setAttribute("x1",-500),e[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(e)}},{key:"dataURI",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o="transparent"===a.config.chart.background?"#fff":a.config.chart.background,n=r.getContext("2d");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&x.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d="data:image/svg+xml,"+encodeURIComponent(l),g=new Image;g.crossOrigin="anonymous",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL("image/png");i({imgURI:e})}},g.src=d}}))}},{key:"exportToSVG",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,".svg")}},{key:"exportToPng",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+".png"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,".png")}))}},{key:"exportToCSV",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?",":s,o=t.lineDelimiter,n=void 0===o?"\n":o,l=this.w;i||(i=l.config.series);var h=[],c=[],d="",g=new B(this.ctx),u=new G(this.ctx),p=function(t){var i="";if(l.globals.axisCharts){if("category"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new E(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=u.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;"datetime"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return Array.isArray(i)&&(i=i.join(" ")),x.isNumber(i)?i:i.split(r).join("")};h.push(l.config.chart.toolbar.export.csv.headerCategory),"boxPlot"===l.config.chart.type?(h.push("minimum"),h.push("q1"),h.push("median"),h.push("q3"),h.push("maximum")):"candlestick"===l.config.chart.type?(h.push("open"),h.push("high"),h.push("low"),h.push("close")):"rangeBar"===l.config.chart.type?(h.push("minimum"),h.push("maximum")):i.map((function(t,e){var i=t.name?t.name:"series-".concat(e);l.globals.axisCharts&&h.push(i.split(r).join("")?i.split(r).join(""):"series-".concat(e))})),l.globals.axisCharts||(h.push(l.config.chart.toolbar.export.csv.headerValue),c.push(h.join(r))),i.map((function(t,e){l.globals.axisCharts?function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data&&t.data.length)for(var a=0;a=10?l.config.chart.toolbar.export.csv.dateFormatter(s):x.isNumber(s)?s:s.split(r).join("")));for(var o=0;o0&&!i.globals.isBarHorizontal&&(this.xaxisLabels=i.globals.timescaleLabels.slice()),i.config.xaxis.overwriteCategories&&(this.xaxisLabels=i.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===i.config.xaxis.position?this.offY=0:this.offY=i.globals.gridHeight+1,this.offY=this.offY+i.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===i.config.chart.type&&i.config.plotOptions.bar.horizontal,this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.xaxisBorderWidth=i.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=i.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=i.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=i.config.xaxis.axisBorder.height,this.yaxis=i.config.yaxis[0]}return r(t,[{key:"drawXaxis",value:function(){var t=this.w,e=new m(this.ctx),i=e.group({class:"apexcharts-xaxis",transform:"translate(".concat(t.config.xaxis.offsetX,", ").concat(t.config.xaxis.offsetY,")")}),a=e.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m="category"===d.config.xaxis.type?d.globals.dataPoints:v;if(s){var y=m>1?m-1:m;o=d.globals.gridWidth/y,b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&"dataPoints"!==d.config.xaxis.tickAmount&&"datetime"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(t&&y.text&&d.globals.xaxisLabelsCount++,d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-("top"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:"middle",fontWeight:y.isBold?600:f,fontSize:g,fontFamily:u,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+x});if(i.add(k),t){var A=document.createElementNS(d.globals.SVGNS,"title");A.textContent=Array.isArray(y.text)?y.text.join(" "):y.text,k.node.appendChild(A),""!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new m(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new m(this.ctx);null===t&&(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(s),t.add(a),t}},{key:"drawGrid",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elForecastMask.setAttribute("id","forecastMask".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;("bar"===r||"rangeBar"===r||"candlestick"===r||"boxPlot"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2,e.gridWidth+a+n+o+4,e.gridHeight+a,0,"#fff");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector("defs");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||"radar"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({x1:i,y1:a,x2:s,y2:r,parent:n});var h=0;if(l.globals.hasGroups&&"between"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d2));s++);return!t.globals.isBarHorizontal||this.isRangeBar?(i=this.xaxisLabels.length,this.isRangeBar&&(a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount)),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,xAxisTickWidth:t.globals.gridWidth/i}}},{key:"drawGridBands",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:"column"}),h+=i.globals.gridWidth/l}}]),t}(),q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"niceScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,r=this.w,o=Math.abs(e-t);if("dataPoints"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=r.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE){t=0,e=i;var n=this.linearScale(t,e,i);return n}t>e?(console.warn("axis.min cannot be greater than axis.max"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var l=[];o<1&&s&&("candlestick"===r.config.chart.type||"candlestick"===r.config.series[a].type||"boxPlot"===r.config.chart.type||"boxPlot"===r.config.series[a].type||r.globals.isRangeData)&&(e*=1.01);var h=i+1;h<2?h=2:h>2&&(h-=2);var c=o/h,d=Math.floor(x.log10(c)),g=Math.pow(10,d),u=Math.round(c/g);u<1&&(u=1);var p=u*g,f=p*Math.floor(t/p),b=p*Math.ceil(e/p),v=f;if(s&&o>2){for(;l.push(v),!((v+=p)>b););return{result:l,niceMin:l[0],niceMax:l[l.length-1]}}var m=t;(l=[]).push(m);for(var y=Math.abs(e-t)/i,w=0;w<=i;w++)m+=y,l.push(m);return l[l.length-2]>=e&&l.pop(),{result:l,niceMin:l[0],niceMax:l[l.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,s=Math.abs(e-t);"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1);var r=s/i;i===Number.MAX_VALUE&&(i=10,r=1);for(var o=[],n=t;i>=0;)o.push(n),n+=r,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:"logarithmicScaleNice",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(e,i,r.logBase),a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase);else if(i!==-Number.MAX_VALUE&&x.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===r.min&&void 0===r.max||r.forceNiceScale){var n=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,r.tickAmount?r.tickAmount:o<5&&o>1?o+1:5,t,n)}else a.yAxisScale[t]=this.linearScale(e,i,r.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,r=Math.abs(e-t);return e!==-Number.MAX_VALUE&&x.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:r<5&&r>1?r+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:"setMultipleYScales",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,o){var n=o;i.series.forEach((function(t,i){t.name===e.seriesName&&(n=i,o!==i?r.push({index:i,similarIndex:o,alreadyExists:!0}):r.push({index:i}))}));var l=a[n],h=s[n];t.setYScaleForIndex(o,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:"sameScaleInMultipleAxes",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,o=[];i.forEach((function(t){t.alreadyExists&&(void 0===o[t.index]&&(o[t.index]=[]),o[t.index].push(t.index),o[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=o,o.forEach((function(t,e){o.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(o[e]=o[e].concat(o[a]))}))}));var n=o.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));o=o.filter((function(t){return!!t}));var l=n.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var o=g[i],n=u[i];s.chart.stacked&&(n=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(n+=t.value),o!==Number.MIN_VALUE&&(o+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(o="function"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(n="function"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,o,n))}))}))}))}},{key:"autoScaleY",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn("autoScaleYaxis is not supported in a multi-yaxis chart."),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,o){for(var n=0,l=0;l=i.xaxis.min){n=l;break}var h,c,d=a.globals.minYArr[o],g=a.globals.maxYArr[o],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(o,l){var p=o[n];r?(p=u[n],h=c=p,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),o[e]=i.xaxis.min){var r=t,o=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),o=Math.max(i[e],o))})),o>c&&null!==o&&(c=o),rd&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),Z=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.scales=new q(e)}return r(t,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;"candlestick"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):"boxPlot"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);for(var d=t;dh[d][g]&&h[d][g]<0&&(n=h[d][g])):r.hasNullValues=!0}}return"rangeBar"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),"bar"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(o=0),t.minY=i-5*o/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*o/100}if(e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):"dataPoints"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:"_setStackedMinMax",value:function(){var t=this.w.globals,e=[],i=[];if(t.series.length)for(var a=0;a0?s=s+parseFloat(t.series[o][a])+1e-4:r+=parseFloat(t.series[o][a])),o===t.series.length-1&&(e.push(s),i.push(r));for(var n=0;n=0;b--)x(b);if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:"apexcharts-yaxis-title"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:"end",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[t].title.style.cssClass});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,p,g,this.drawnLabels,this.xaxisFontSize);p=f.x,u=f.text,this.drawnLabels.push(f.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=""),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u="")}var x=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,"title");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new m(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);t.add(r)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new m(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new m(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute("x",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(e=x.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"));r=x.listToArray(r);var o=s.getBoundingClientRect();"left"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","start")})),a.opposite||s.setAttribute("transform","translate(-".concat(o.width,", 0)"))):"center"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","middle")})),s.setAttribute("transform","translate(".concat(o.width/2*(a.opposite?1:-1),", 0)"))):"right"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute("text-anchor","end")})),a.opposite&&s.setAttribute("transform","translate(".concat(o.width,", 0)")))}}))}}]),t}(),J=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=x.bind(this.documentEvent,this)}return r(t,[{key:"addEventListener",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:"removeEventListener",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:"fireEvent",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=x.extend(C,i);this.w.globals.locale=a.options}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawAxis",value:function(t,e){var i,a,s=this.w.globals,r=this.w.config,o=new _(this.ctx),n=new $(this.ctx);s.axisCharts&&"radar"!==t&&(s.isBarHorizontal?(a=n.drawYaxisInversed(0),i=o.drawXaxisInversed(0),s.dom.elGraphical.add(i),s.dom.elGraphical.add(a)):(i=o.drawXaxis(),s.dom.elGraphical.add(i),r.yaxis.map((function(t,e){-1===s.ignoreYAxisIndexes.indexOf(e)&&(a=n.drawYaxis(e),s.dom.Paper.add(a))}))))}}]),t}(),tt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawXCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=new v(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,p=s.blur,f=s.color,b=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){"gradient"===r&&(y=e.drawGradient("vertical",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!x.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!x.isNumber(A)||A<0)&&(A=0),w.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:"none","fill-opacity":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,"stroke-width":t.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:p,color:f,opacity:b})),t.globals.dom.elGraphical.add(w)}}},{key:"drawYCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),t.globals.dom.elGraphical.add(r)}}]),t}(),et=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkResponsiveConfig",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new N({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=y.extendArrayProps(r,i.globals.initialConfig,i);t=x.extend(n,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&"function"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var s=e.config.colors[a];return s||(s=e.config.colors[0]),"function"==typeof s?(t.isColorFn=!0,s({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):s})))),e.globals.seriesColors.map((function(t,i){t&&(e.globals.colors[i]=t)})),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(s=e.globals.series[0].length*e.globals.series.length);for(var r=e.config.theme.monochrome.color,o=1/(s/e.config.theme.monochrome.shadeIntensity),n=e.config.theme.monochrome.shadeTo,l=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),rt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"getxAxisLabelsCoords",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=x.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new V(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new R(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new R(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||""===String(r).trim())&&(o=r="1");var h=new m(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var t,e=this.w;if(!e.globals.hasGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=x.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new m(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new m(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new m(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){(function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)})(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c="right"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||"bar"!==s.chart.type&&"candlestick"!==s.chart.type&&"rangeBar"!==s.chart.type&&"boxPlot"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===r?e.dCtx.gridPad.rightString(n.niceMax).length?c:n.niceMax,g=h(d,{seriesIndex:o,dataPointIndex:-1,w:e}),u=g;if(void 0!==g&&0!==g.length||(g=d),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();g=h(g=x.getLargestStringFromArr(p),{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,p)}var f=new m(t.dCtx.ctx),b="rotate(".concat(r.labels.rotate," 0 0)"),v=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1),y=v;g!==u&&(y=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1)),i.push({width:(l>y.width||l>v.width?l:y.width>v.width?y.width:v.width)+a,height:y.height>v.height?y.height:v.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new m(t.dCtx.ctx),r="rotate(".concat(e.title.rotate," 0 0)"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new G(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),nt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"gridPadForColumnsInNumericAxis",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return"bar"===t||"rangeBar"===t||"candlestick"===t||"boxPlot"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n/r*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),s=s/(r>1?1:1.5)+5,e.globals.barPadForNumericAxis=s}return s}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;["title","subtitle"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||"bottom"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new G(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new st(this),this.dimYAxis=new ot(this),this.dimXAxis=new rt(this),this.dimGrid=new nt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:"plotCoords",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.isSparkline&&(e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;("radar"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||"treemap"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch("top"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=c,d();break;case"top":i.translateY=this.lgRect.height+c,d();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case"right":i.translateY=c,i.translateX=l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new $(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(t,e,i){var a=this.w,s=a.globals.hasGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),ht=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:"getLegendStyles",value:function(){var t=document.createElement("style");t.setAttribute("type","text/css");var e=document.createTextNode("\t\n \t\n .apexcharts-legend {\t\n display: flex;\t\n overflow: auto;\t\n padding: 0 10px;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\t\n flex-wrap: wrap\t\n }\t\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n flex-direction: column;\t\n bottom: 0;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n justify-content: flex-start;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\t\n justify-content: center; \t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\t\n justify-content: flex-end;\t\n }\t\n .apexcharts-legend-series {\t\n cursor: pointer;\t\n line-height: normal;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\t\n display: flex;\t\n align-items: center;\t\n }\t\n .apexcharts-legend-text {\t\n position: relative;\t\n font-size: 14px;\t\n }\t\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\t\n pointer-events: none;\t\n }\t\n .apexcharts-legend-marker {\t\n position: relative;\t\n display: inline-block;\t\n cursor: pointer;\t\n margin-right: 3px;\t\n border-style: solid;\n }\t\n \t\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\t\n display: inline-block;\t\n }\t\n .apexcharts-legend-series.apexcharts-no-click {\t\n cursor: auto;\t\n }\t\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\t\n display: none !important;\t\n }\t\n .apexcharts-inactive-legend {\t\n opacity: 0.45;\t\n }");return t.appendChild(e),t}},{key:"getLegendBBox",value:function(){var t=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:"appendToForeignObject",value:function(){var t=this.w.globals;t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject");var e=t.dom.elLegendForeign;e.setAttribute("x",0),e.setAttribute("y",0),e.setAttribute("width",t.svgWidth),e.setAttribute("height",t.svgHeight),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),e.appendChild(t.dom.elLegendWrap),e.appendChild(this.getLegendStyles()),t.dom.Paper.node.insertBefore(e,t.dom.elGraphical.node)}},{key:"toggleDataSeries",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||"radialBar"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(t+1,"'] path")),n=a.config.chart.type;if("pie"===n||"polarArea"===n||"donut"===n){var l=a.config.plotOptions.pie.donut.labels;new m(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire("click")}}},{key:"hideSeries",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=x.clone(a.config.series);if(a.globals.axisCharts){var r=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(r=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!r){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l0){for(var r=0;r-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),ct=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed="bar"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new ht(this)}return r(t,[{key:"init",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),x.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"drawLegends",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if("heatmap"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+" - "+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h=o(a[l],{seriesIndex:l,w:e}),c=!1,d=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var u=0;u0?l-10:0)+(h>0?h-10:0)}a.style.position="absolute",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=o+"px","bottom"===i.config.legend.position?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):"right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px");["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.baseEl.querySelector(".apexcharts-legend").style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new lt(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;"bottom"===t.config.legend.position?r=-e.clwh/1.8:"top"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new E(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new E(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(t.target.getAttribute("rel"),10)-1,a="true"===t.target.getAttribute("data:collapsed"),s=this.w.config.chart.events.legendClick;"function"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;"function"==typeof r&&t.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==e.config.chart.type&&"heatmap"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),dt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:"createToolbar",value:function(){var t=this,e=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=e.config.chart.toolbar.offsetY+"px",a.style.right=3-e.config.chart.toolbar.offsetX+"px",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\n \n \n\n'),o("zoomOut",this.elZoomOut,'\n \n \n\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:"zoom"===i?t.elZoom:t.elSelection,icon:"string"==typeof t.t[i]?t.t[i]:"zoom"===i?'\n \n \n \n':'\n \n \n',title:t.localeValues["zoom"===i?"selectionZoom":"selection"],class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(i,"-icon")})};n("zoom"),n("selection"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'\n \n \n \n \n \n \n \n',title:this.localeValues.pan,class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),o("reset",this.elZoomReset,'\n \n \n'),this.t.download&&r.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:"translate("+o+", "+l+")"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":h.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":h.config.chart.zoom.zoomedArea.stroke.opacity}),m.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,"fill-opacity":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,"stroke-width":h.config.chart.selection.stroke.width,"stroke-dasharray":h.config.chart.selection.stroke.dashArray,"stroke-opacity":h.config.chart.selection.stroke.opacity}),m.setAttrs(d.node,g))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g="x"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:"y"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging("resizing"),g}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;"resizing"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n("x"),y:n("y"),width:n("width"),height:n("height")};a.globals.selection=l,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=r.node.getBoundingClientRect(),o={xaxis:{min:a.globals.xAxisScale.niceMin+(e.left-t.left)*s.xRatio,max:a.globals.xAxisScale.niceMin+(e.right-t.left)*s.xRatio},yaxis:{min:a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*s.yRatio[0],max:a.globals.yAxisScale[0].niceMax-(e.top-t.top)*s.yRatio[0]}};a.config.chart.events.selection(i.ctx,o),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,o)}),o))}},{key:"selectionDrawn",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=x.clone(a.globals.initialConfig.yaxis),p=x.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),"xy"!==i&&"x"!==i||(p={min:h,max:c}),"xy"!==i&&"y"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),a.config.chart.zoom.autoScaleYaxis){var f=new q(s.ctx);u=f.autoScaleY(s.ctx,u,{xaxis:p})}if(o){var b=o.getBeforeZoomRange(p,u);b&&(p=b.xaxis?b.xaxis:p,u=b.yaxis?b.yaxis:u)}var v={xaxis:p};a.config.chart.group||(v.yaxis=u),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,u)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:c},"xy"!==i&&"y"!==i||(y=x.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=d[e]})),a.globals.selection=s.selection,"function"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="left":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection="right":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="up":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:"delayedPanScrolled",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;"left"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):"right"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=x.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),"left"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):"right"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new q(this.ctx).autoScaleY(this.ctx,s,{xaxis:l}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(),ut=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:"getNearestValues",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):r.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):r.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var p=Math.round(g/h),f=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var b=null,v=null,m=[],y=[];if(r.globals.seriesXvalues.forEach((function(t){m.push([t[0]+1e-6].concat(t))})),r.globals.seriesYvalues.forEach((function(t){y.push([t[0]+1e-6].concat(t))})),m=m.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),y=y.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);b=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==b&&(m=r.globals.seriesXvalues[b],p=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===b?-1:b,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:b,j:r.globals.isBarHorizontal?f:p,hoverX:g,hoverY:u}}},{key:"closestInMultiArray",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a0?e:-1})),s=0;s0)for(var a=0;ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(".apexcharts-marker"))})),e}},{key:"hasMarkers",value:function(){return this.getElMarkers().length>0}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s ').concat(i.attrs.name,""),e+="
".concat(i.val,"
")})),v.innerHTML=t+"",m.innerHTML=e+""};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML="",m.innerHTML=""):y()}else v.innerHTML="",m.innerHTML="";null!==p&&(a[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=l.config.tooltip.z.title,a[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==p?p:"");o&&f[0]&&(null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?f[0].parentNode.style.display="none":f[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("apexcharts-active"),i.style.display=e.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",o="",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=r;a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?r=new V(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new R(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(o)?o.join(" "):o,zVal:n}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ft=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:"moveXCrosshairs",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&m.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&m.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new m(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=s+"px",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid(),d=c.getBoundingClientRect();h=s.e.clientY+a.globals.translateY-d.top-o.ttHeight/2}else a.globals.isBarHorizontal||(o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY),h<0&&(h=0));isNaN(l)||(l+=a.globals.translateX,r.style.left=l+"px",r.style.top=h+"px")}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),r=0;r0&&(h.setAttribute("r",n),h.setAttribute("cx",i),h.setAttribute("cy",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new E(this.ctx).getActiveConfigSeriesIndex(!0);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h0?(l[h]&&l[h].setAttribute("r",n),l[h]&&l[h].setAttribute("cy",d)):l[h]&&l[h].setAttribute("r",0)}}if(this.moveXCrosshairs(s),!i.fixedTooltip){var g=r||a.globals.gridHeight;this.moveTooltip(s,g,n)}}},{key:"moveStickyTooltipOverBars",value:function(t){var e=this.w,i=this.ttCtx,a=e.globals.columnSeries?e.globals.columnSeries.length:e.globals.series.length,s=a>=2&&a%2==0?Math.floor(a/2):Math.floor(a/2)+1;e.globals.isBarHorizontal&&(s=new E(this.ctx).getActiveConfigSeriesIndex(!1,"desc")+1);var r=e.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(s,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"']")),o=r?parseFloat(r.getAttribute("cx")):0,n=r?parseFloat(r.getAttribute("cy")):0,l=r?parseFloat(r.getAttribute("barWidth")):0,h=r?parseFloat(r.getAttribute("barHeight")):0,c=i.getElGrid().getBoundingClientRect(),d=r.classList.contains("apexcharts-candlestick-area")||r.classList.contains("apexcharts-boxPlot-area");if(e.globals.isXNumeric?(r&&!d&&(o-=a%2!=0?l/2:0),r&&d&&e.globals.comboCharts&&(o-=l/2)):e.globals.isBarHorizontal||(o=i.xAxisTicksPositions[t-1]+i.dataPointsDividedWidth/2,isNaN(o)&&(o=i.xAxisTicksPositions[t]-i.dataPointsDividedWidth/2)),e.globals.isBarHorizontal?(n>e.globals.gridHeight/2&&(n-=i.tooltipRect.ttHeight),(n=n+e.config.grid.padding.top+h/3)+h>e.globals.gridHeight&&(n=e.globals.gridHeight-h)):e.config.tooltip.followCursor?n=i.e.clientY-c.top-i.tooltipRect.ttHeight/2:n+i.tooltipRect.ttHeight+15>e.globals.gridHeight&&(n=e.globals.gridHeight),n<-10&&(n=-10),e.globals.isBarHorizontal||this.moveXCrosshairs(o),!i.fixedTooltip){var g=n||e.globals.gridHeight;this.moveTooltip(o,g)}}}]),t}(),xt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ft(e)}return r(t,[{key:"drawDynamicPoints",value:function(){var t=this.w,e=new m(this.ctx),i=new T(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute("data:realIndex"))-parseFloat(e.getAttribute("data:realIndex"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;"bubble"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute("cx"),o=e.getAttribute("cy");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if("radar"===s.config.chart.type){var n=this.ttCtx.getElGrid(),l=n.getBoundingClientRect();r=this.ttCtx.e.clientX-l.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),o=e.config.markers.hover.size,n=0;n=0?t[e].setAttribute("r",i):t[e].setAttribute("r",0)}}}]),t}(),bt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e}return r(t,[{key:"getAttr",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:"handleHeatTreeTooltip",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains("apexcharts-".concat(r,"-rect"))){var l=this.getAttr(e,"i"),h=this.getAttr(e,"j"),c=this.getAttr(e,"cx"),d=this.getAttr(e,"cy"),g=this.getAttr(e,"width"),u=this.getAttr(e,"height");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var p=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-p.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-p.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),c=parseInt(s.paths.getAttribute("cy"),10),d=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,l.intersect){var g=x.findAncestor(s.paths,"apexcharts-series");g&&(e=parseInt(g.getAttribute("data:realIndex"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),"mouseup"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)?c=r.globals.svgHeight-o.tooltipRect.ttHeight:c<0&&(c=0);var p=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10),f=r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!f?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(f&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!f||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),o.tooltipRect.ttHeight+c>r.globals.gridHeight?c=r.globals.gridHeight-o.tooltipRect.ttHeight+r.globals.translateY:(c=c+r.globals.translateY-o.tooltipRect.ttHeight/2)<0&&(c=0),n.style.left=h+r.globals.translateX+"px",n.style.top=c+"px")}},{key:"getBarTooltipXY",value:function(t){var e=t.e,i=t.opt,a=this.w,s=null,r=this.ttCtx,o=0,n=0,l=0,h=0,c=0,d=e.target.classList;if(d.contains("apexcharts-bar-area")||d.contains("apexcharts-candlestick-area")||d.contains("apexcharts-boxPlot-area")||d.contains("apexcharts-rangebar-area")){var g=e.target,u=g.getBoundingClientRect(),p=i.elGrid.getBoundingClientRect(),f=u.height;c=u.height;var x=u.width,b=parseInt(g.getAttribute("cx"),10),v=parseInt(g.getAttribute("cy"),10);h=parseFloat(g.getAttribute("barWidth"));var m="touchmove"===e.type?e.touches[0].clientX:e.clientX;s=parseInt(g.getAttribute("j"),10),o=parseInt(g.parentNode.getAttribute("rel"),10)-1;var y=g.getAttribute("data-range-y1"),w=g.getAttribute("data-range-y2");a.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute("data:realIndex"),10)),r.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:o,j:s,y1:y?parseInt(y,10):null,y2:w?parseInt(w,10):null,shared:!r.showOnIntersect&&a.config.tooltip.shared,e:e}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(n=m-p.left+15,l=v-r.dataPointsDividedHeight+f/2-r.tooltipRect.ttHeight/2):(n=a.globals.isXNumeric?b-x/2:b-r.dataPointsDividedWidth+x/2,l=e.clientY-p.top-r.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((n=b)0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var o=a.getElGrid().getBoundingClientRect(),n=(e-o.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-n);a.tooltipPosition.moveYCrosshairs(e-o.top),a.yaxisTooltipText[t].innerHTML=r(h),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),mt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new ut(this),this.tooltipLabels=new pt(this),this.tooltipPosition=new ft(this),this.marker=new xt(this),this.intersect=new bt(this),this.axesTooltip=new vt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:"getElTooltip",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new _(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&"rangeBar"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement("div");o.classList.add("apexcharts-tooltip-series-group"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add("apexcharts-tooltip-series-group-hidden");var n=document.createElement("span");n.classList.add("apexcharts-tooltip-marker"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement("div");l.classList.add("apexcharts-tooltip-text"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,["y","goals","z"].forEach((function(t){var e=document.createElement("div");e.classList.add("apexcharts-tooltip-".concat(t,"-group"));var i=document.createElement("span");i.classList.add("apexcharts-tooltip-text-".concat(t,"-label")),e.appendChild(i);var a=document.createElement("span");a.classList.add("apexcharts-tooltip-text-".concat(t,"-value")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf("right")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf("bottom")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+"px",e.style.top=o+"px",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:"seriesHover",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new E(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:"axisChartsTooltips",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n="touchmove"===a.type?a.touches[0].clientX:a.clientX,l="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add("apexcharts-active");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add("apexcharts-active"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if("heatmap"===r.config.chart.type||"treemap"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var f=0;fl.width?this.handleMouseOut(a):null!==n?this.handleStickyCapturedSeries(t,n,a,o):(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal)&&this.create(t,this,0,o,a.ttItems)}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);void 0!==s.globals.series[e][a]?this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1):this.tooltipUtil.isXoverlap(a)&&this.create(t,this,0,a,i.ttItems)}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new m(this.ctx),i=t.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,o=this.w,n=e;"mouseup"===t.type&&this.markerClick(t,i,a),null===r&&(r=this.tConfig.shared);var l=this.tooltipUtil.hasMarkers(),h=this.tooltipUtil.getElBars();if(o.config.legend.tooltipHoverFormatter){var c=o.config.legend.tooltipHoverFormatter,d=Array.from(this.legendLabels);d.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var g=0;g0?n.marker.enlargePoints(a):n.tooltipPosition.moveDynamicPointsOnHover(a)),this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(h),this.barSeriesHeight>0)){var b=new m(this.ctx),v=o.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a);for(var y=0;y0&&(this.totalItems+=t[o].length);for(var n=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),l=0,h=0,c=function(r,o){var c=void 0,d=void 0,g=void 0,u=void 0,p=[],f=[],b=s.globals.comboCharts?i[r]:r;a.yRatio.length>1&&(a.yaxisIndex=b),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var v=a.graphics.group({class:"apexcharts-series",seriesName:x.escapeString(s.globals.seriesNames[b]),rel:r+1,"data:realIndex":b});a.ctx.series.addCollapsedClassToSeries(v,b);var m=a.graphics.group({class:"apexcharts-datalabels","data:realIndex":b}),y=0,w=0,k=a.initialPositions(l,h,c,d,g,u);h=k.y,y=k.barHeight,d=k.yDivision,u=k.zeroW,l=k.x,w=k.barWidth,c=k.xDivision,g=k.zeroH,a.yArrj=[],a.yArrjF=[],a.yArrjVal=[],a.xArrj=[],a.xArrjF=[],a.xArrjVal=[],1===a.prevY.length&&a.prevY[0].every((function(t){return isNaN(t)}))&&(a.prevY[0]=a.prevY[0].map((function(t){return g})),a.prevYF[0]=a.prevYF[0].map((function(t){return 0})));for(var A=0;A1?(i=l.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:n*parseInt(l.config.plotOptions.bar.columnWidth,10)/100,s=this.baseLineY[this.yaxisIndex]+(this.isReversed?l.globals.gridHeight:0)-(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=l.globals.padHorizontal+(i-n)/2),{x:t,y:e,yDivision:a,xDivision:i,barHeight:o,barWidth:n,zeroH:s,zeroW:r}}},{key:"drawStackedBarPaths",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=n,g=i.i,u=i.j,p=0,f=0;f0){var x=r;this.prevXVal[g-1][u]<0?x=this.series[g][u]>=0?this.prevX[g-1][u]+p-2*(this.isReversed?p:0):this.prevX[g-1][u]:this.prevXVal[g-1][u]>=0&&(x=this.series[g][u]>=0?this.prevX[g-1][u]:this.prevX[g-1][u]-p+2*(this.isReversed?p:0)),e=x}else e=r;o=null===this.series[g][u]?e:e+this.series[g][u]/this.invertedYRatio-2*(this.isReversed?this.series[g][u]/this.invertedYRatio:0);var b=this.barHelpers.getBarpaths({barYPosition:d,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return this.barHelpers.barBackground({j:u,i:g,y1:d,y2:a,elSeries:h}),n+=l,{pathTo:b.pathTo,pathFrom:b.pathFrom,x:o,y:n}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH;t.strokeWidth;var n=t.elSeries,l=this.w,h=e.i,c=e.j,d=e.bc;if(l.globals.isXNumeric){var g=l.globals.seriesX[h][c];g||(g=0),i=(g-l.globals.minX)/this.xRatio-r/2}for(var u,p=i,f=0,x=0;x0&&!l.globals.isXNumeric||h>0&&l.globals.isXNumeric&&l.globals.seriesX[h-1][c]===l.globals.seriesX[h][c]){var b,v,m=Math.min(this.yRatio.length+1,h+1);if(void 0!==this.prevY[h-1])for(var y=1;y=0?v-f+2*(this.isReversed?f:0):v;break}if(this.prevYVal[h-w][c]>=0){b=this.series[h][c]>=0?v:v+f-2*(this.isReversed?f:0);break}}void 0===b&&(b=l.globals.gridHeight),u=this.prevYF[0].every((function(t){return 0===t}))&&this.prevYF.slice(1,h).every((function(t){return t.every((function(t){return isNaN(t)}))}))?l.globals.gridHeight-o:b}else u=l.globals.gridHeight-o;a=u-this.series[h][c]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[h][c]/this.yRatio[this.yaxisIndex]:0);var k=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:r,y1:u,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,realIndex:e.realIndex,i:h,j:c,w:l});return this.barHelpers.barBackground({bc:d,j:c,i:h,x1:p,x2:r,elSeries:n}),i+=s,{pathTo:k.pathTo,pathFrom:k.pathFrom,x:l.globals.isXNumeric?i-s:i,y:a}}}]),s}(),wt=function(t){n(s,F);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this,s=this.w,r=new m(this.ctx),o=new M(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal;var n=new y(this.ctx,s);t=n.getLogSeries(t),this.series=t,this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var l=r.group({class:"apexcharts-".concat(s.config.chart.type,"-series apexcharts-plot-series")}),h=function(n){a.isBoxPlot="boxPlot"===s.config.chart.type||"boxPlot"===s.config.series[n].type;var h,c,d,g,u=void 0,p=void 0,f=[],b=[],v=s.globals.comboCharts?i[n]:n,m=r.group({class:"apexcharts-series",seriesName:x.escapeString(s.globals.seriesNames[v]),rel:n+1,"data:realIndex":v});a.ctx.series.addCollapsedClassToSeries(m,v),t[n].length>0&&(a.visibleI=a.visibleI+1);var y,w;a.yRatio.length>1&&(a.yaxisIndex=v);var k=a.barHelpers.initialPositions();p=k.y,y=k.barHeight,c=k.yDivision,g=k.zeroW,u=k.x,w=k.barWidth,h=k.xDivision,d=k.zeroH,b.push(u+w/2);for(var A=r.group({class:"apexcharts-datalabels","data:realIndex":v}),S=function(i){var r=a.barHelpers.getStrokeWidth(n,i,v),l=null,x={indexes:{i:n,j:i,realIndex:v},x:u,y:p,strokeWidth:r,elSeries:m};l=a.isHorizontal?a.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:c,barHeight:y,zeroW:g})):a.drawVerticalBoxPaths(e(e({},x),{},{xDivision:h,barWidth:w,zeroH:d})),p=l.y,u=l.x,i>0&&b.push(u+w/2),f.push(p),l.pathTo.forEach((function(e,h){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?l.color[h]:s.globals.stroke.colors[n],d=o.fillPath({seriesNumber:v,dataPointIndex:i,color:l.color[h],value:t[n][i]});a.renderSeries({realIndex:v,pathFill:d,lineFill:c,j:i,i:n,pathFrom:l.pathFrom,pathTo:e,strokeWidth:r,elSeries:m,x:u,y:p,series:t,barHeight:y,barWidth:w,elDataLabelsWrap:A,visibleSeries:a.visibleI,type:s.config.chart.type})}))},C=0;Cb.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/f,k=r-k/f,v=r-b.h/f,y=r-b.l/f,A=r-b.m/f);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+"z"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[g]:[u]}}},{key:"drawHorizontalBoxPaths",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,p=this.getOHLCValue(u,c),f=r,x=r,b=Math.min(p.o,p.c),v=Math.max(p.o,p.c),y=p.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,f=r+p.h/g,x=r+p.l/g,y=r+p.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(f,w+s/2)+l.line(f,w+s/2-s/4)+l.line(f,w+s/2+s/4)+l.line(f,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(b+o/2,w),l.move(y,w)+l.line(y,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(y,w)+"z"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:"getOHLCValue",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(),kt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkColorRange",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:"getShadeColor",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,"treemap"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new x;return s.config.plotOptions[t].enableShades&&(l="dark"===this.w.config.theme.mode?x.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):x.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:"determineColor",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&"treemap"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||"heatmap"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:"calculateDataLabels",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new m(this.ctx),c=new z(this.ctx),d=null;if(l.enabled){d=h.group({class:"apexcharts-data-labels"});var g=l.offsetX,u=l.offsetY,p=i+g,f=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:"addListeners",value:function(t){var e=new m(this.ctx);t.node.addEventListener("mouseenter",e.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",e.pathMouseLeave.bind(this,t)),t.node.addEventListener("mousedown",e.pathMouseDown.bind(this,t))}}]),t}(),At=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new kt(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:"draw",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(e.globals.cuid,")"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:x.escapeString(e.globals.seriesNames[h]),rel:h+1,"data:realIndex":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new v(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,p=0;p-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+"%";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(n)>this.fullAngle&&(n-=this.fullAngle);var l=Math.PI*(n-90)/180,h=e.centerX+s*Math.cos(o),c=e.centerY+s*Math.sin(o),d=e.centerX+s*Math.cos(l),g=e.centerY+s*Math.sin(l),u=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,n),p=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),f=a>180?1:0,b=["M",h,c,"A",s,s,0,f,1,d,g];return"donut"===e.chartType?[].concat(b,["L",u.x,u.y,"A",e.donutSize,e.donutSize,0,f,0,p.x,p.y,"L",h,c,"z"]).join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[].concat(b,["L",e.centerX,e.centerY,"L",h,c]).join(" "):[].concat(b).join(" ")}},{key:"drawPolarElements",value:function(t){var e=this.w,i=new q(this.ctx),a=new m(this.ctx),s=new St(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),e.config.yaxis[0].tickAmount,0,!0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,r),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==r&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var i=this.w;this.graphics=new m(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight0&&(f=i.getPreviousPath(n));for(var b=0;b=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:"",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(u,p)}l.add(u),u.attr("id","apexcharts-radialbarTrack-"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new m(this.ctx),a=new M(this.ctx),s=new v(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})),"back"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var f=p?t.series.length-1:0;p?f>=0:f100?100:t.series[f])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[f])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[f]:e.config.stroke.dashArray,T=i.drawPath({d:"",stroke:y,strokeWidth:o,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+f,strokeDashArray:P});if(m.setAttrs(T.node,{"data:angle":L,"data:value":t.series[f]}),e.config.chart.dropShadow.enabled){var I=e.config.chart.dropShadow;s.dropShadow(T,I,f)}s.setSelectionFilter(T,0,f),this.addListeners(T,this.radialDataLabels),b.add(T),T.attr({index:0,j:f});var z=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(z=e.config.chart.animations.speed),e.globals.dataChanged&&(z=e.config.chart.animations.dynamicAnimation.speed),this.animDur=z/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(T,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:f,totalItems:2,animBeginArr:this.animBeginArr,dur:z,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:"drawHollow",value:function(t){var e=new m(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,r=new M(this.ctx),o=x.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:"pattern".concat(s.globals.cuid).concat(o)}),a="url(#pattern".concat(s.globals.cuid).concat(o,")");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}}]),i}(),Mt=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:"sameValueSeriesFix",value:function(t,e){var i=this.w;if("line"===i.config.chart.type&&("gradient"===i.config.fill.type||"gradient"===i.config.fill.type[t])&&new y(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:"calculatePoints",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(x.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:"checkPreviousPaths",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&("line"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):"area"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e=t.i,i=t.series,a=t.prevY,s=t.lineYPosition,r=this.w;if(void 0!==i[e][0])a=(s=r.config.chart.stacked&&e>0?this.lineCtx.prevSeriesY[e-1][0]:this.lineCtx.zeroY)-i[e][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?i[e][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(r.config.chart.stacked&&e>0&&void 0===i[e][0])for(var o=e-1;o>=0;o--)if(null!==i[o][0]&&void 0!==i[o][0]){a=s=this.lineCtx.prevSeriesY[o][0];break}return{prevY:a,lineYPosition:s}}}]),t}(),Tt=function(){function t(e,i,s){a(this,t),this.ctx=e,this.w=e.w,this.xyRatios=i,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||s,this.scatter=new I(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Mt(this),this.markers=new T(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return r(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=a.globals.comboCharts?e:a.config.chart.type,o=s.group({class:"apexcharts-".concat(r,"-series apexcharts-plot-series")}),n=new y(this.ctx,a);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=n.getLogSeries(t),this.yRatio=n.getLogYRatios(this.yRatio);for(var l=[],h=0;h0&&(u=(a.globals.seriesX[c][0]-a.globals.minX)/this.xRatio),g.push(u);var p,f=u,x=f,b=this.zeroY;b=this.lineHelpers.determineFirstPrevY({i:h,series:t,prevY:b,lineYPosition:0}).prevY,d.push(b),p=b;var v=this._calculatePathsFrom({series:t,i:h,realIndex:c,prevX:x,prevY:b}),w=this._iterateOverDataPoints({series:t,realIndex:c,i:h,x:u,y:1,pX:f,pY:p,pathsFrom:v,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:g,yArrj:d});this._handlePaths({type:r,realIndex:c,i:h,paths:w}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),l.push(this.elSeries)}if(a.config.chart.stacked)for(var k=l.length;k>0;k--)o.add(l[k-1]);else for(var A=0;A1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",seriesName:x.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var r=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":r,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,s,r=t.series,o=t.i,n=t.realIndex,l=t.prevX,h=t.prevY,c=this.w,d=new m(this.ctx);if(null===r[o][0]){for(var g=0;g0){var u=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:n});a=u.pathFromLine,s=u.pathFromArea}return{prevX:l,prevY:h,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new m(this.ctx),l=new M(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(i)};if("area"===i)for(var p=l.fillPath({seriesNumber:a}),f=0;f0){var A=n.renderPaths(w);A.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&A.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(A),A.attr("clip-path","url(#forecastMask".concat(o.globals.cuid,")")),k.attr("clip-path","url(#nonForecastMask".concat(o.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(t){for(var e=t.series,i=t.realIndex,a=t.i,s=t.x,r=t.y,o=t.pX,n=t.pY,l=t.pathsFrom,h=t.linePaths,c=t.areaPaths,d=t.seriesIndex,g=t.lineYPosition,u=t.xArrj,p=t.yArrj,f=this.w,b=new m(this.ctx),v=this.yRatio,y=l.prevY,w=l.linePath,k=l.areaPath,A=l.pathFromLine,S=l.pathFromArea,C=x.isNumber(f.globals.minYArr[i])?f.globals.minYArr[i]:f.globals.minY,L=f.globals.dataPoints>1?f.globals.dataPoints-1:f.globals.dataPoints,P=0;P0&&f.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(a-1)][P+1]}else g=this.zeroY;else g=this.zeroY;r=M?g-C/v[this.yaxisIndex]+2*(this.isReversed?C/v[this.yaxisIndex]:0):g-e[a][P+1]/v[this.yaxisIndex]+2*(this.isReversed?e[a][P+1]/v[this.yaxisIndex]:0),u.push(s),p.push(r);var I=this.lineHelpers.calculatePoints({series:e,x:s,y:r,realIndex:i,i:a,j:P,prevY:y}),z=this._createPaths({series:e,i:a,realIndex:i,j:P,x:s,y:r,pX:o,pY:n,linePath:w,areaPath:k,linePaths:h,areaPaths:c,seriesIndex:d});c=z.areaPaths,h=z.linePaths,o=z.pX,n=z.pY,k=z.areaPath,w=z.linePath,this.appendPathFrom&&(A+=b.line(s,this.zeroY),S+=b.line(s,this.zeroY)),this.handleNullDataPoints(e,I,a,P,i),this._handleMarkersAndLabels({pointsPos:I,series:e,x:s,y:r,prevY:y,i:a,j:P,realIndex:i})}return{yArrj:p,xArrj:u,pathFromArea:S,areaPaths:c,pathFromLine:A,linePaths:h}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.pointsPos;t.series,t.x,t.y,t.prevY;var i=t.i,a=t.j,s=t.realIndex,r=this.w,o=new z(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,a,{realIndex:s,pointsPos:e,zRatio:this.zRatio,elParent:this.elPointsMain});else{r.globals.series[i].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var n=this.markers.plotChartMarkers(e,s,a+1);null!==n&&this.elPointsMain.add(n)}var l=o.drawDataLabel(e,s,a+1,null);null!==l&&this.elDataLabelsWrap.add(l)}},{key:"_createPaths",value:function(t){var e=t.series,i=t.i,a=t.realIndex,s=t.j,r=t.x,o=t.y,n=t.pX,l=t.pY,h=t.linePath,c=t.areaPath,d=t.linePaths,g=t.areaPaths,u=t.seriesIndex,p=this.w,f=new m(this.ctx),x=p.config.stroke.curve,b=this.areaBottomY;if(Array.isArray(p.config.stroke.curve)&&(x=Array.isArray(u)?p.config.stroke.curve[u[i]]:p.config.stroke.curve[i]),"smooth"===x){var v=.35*(r-n);p.globals.hasNullValues?(null!==e[i][s]&&(null!==e[i][s+1]?(h=f.move(n,l)+f.curve(n+v,l,r-v,o,r+1,o),c=f.move(n+1,l)+f.curve(n+v,l,r-v,o,r+1,o)+f.line(r,b)+f.line(n,b)+"z"):(h=f.move(n,l),c=f.move(n,l)+"z")),d.push(h),g.push(c)):(h+=f.curve(n+v,l,r-v,o,r,o),c+=f.curve(n+v,l,r-v,o,r,o)),n=r,l=o,s===e[i].length-2&&(c=c+f.curve(n,l,r,o,r,b)+f.move(r,o)+"z",p.globals.hasNullValues||(d.push(h),g.push(c)))}else{if(null===e[i][s+1]){h+=f.move(r,o);var y=p.globals.isXNumeric?(p.globals.seriesX[a][s]-p.globals.minX)/this.xRatio:r-this.xDivision;c=c+f.line(y,b)+f.move(r,o)+"z"}null===e[i][s]&&(h+=f.move(r,o),c+=f.move(r,b)),"stepline"===x?(h=h+f.line(r,null,"H")+f.line(null,o,"V"),c=c+f.line(r,null,"H")+f.line(null,o,"V")):"straight"===x&&(h+=f.line(r,o),c+=f.line(r,o)),s===e[i].length-2&&(c=c+f.line(r,b)+f.move(r,o)+"z",d.push(h),g.push(c))}return{linePaths:d,areaPaths:g,pX:n,pY:l,linePath:h,areaPath:c}}},{key:"handleNullDataPoints",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){return o=void 0===o?0:o,n=void 0===n?0:n,function(t){var e,i,a=[];for(e=0;e=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(-90 ".concat(h.x," ").concat(h.y,")"))}}},{key:"animateTreemap",value:function(t,e,i,a){var s=new b(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Et=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:"calculateTimeScaleTicks",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new R(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),p=Math.floor(86400*o),f=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:u,numberOfHours:g,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case"years":this.generateYearScale(m);break;case"months":case"half_year":this.generateMonthScale(m);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(m);break;case"hours":this.generateHourScale(m);break;case"minutes_fives":case"minutes":this.generateMinuteScale(m);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?e(e({},i),{},{value:t.value}):"minute"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):"second"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case"years":"year"===t.unit&&(o=!0);break;case"half_year":e=7,"year"===t.unit&&(o=!0);break;case"months":e=1,"year"===t.unit&&(o=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(o=!0),30===r&&(n=!0);break;case"months_days":e=10,"month"===t.unit&&(o=!0),30===r&&(n=!0);break;case"week_days":e=8,"month"===t.unit&&(o=!0);break;case"days":e=1,"month"===t.unit&&(o=!0);break;case"hours":"day"===t.unit&&(o=!0);break;case"minutes_fives":r%5!=0&&(n=!0);break;case"seconds_tens":r%10!=0&&(n=!0);break;case"seconds_fives":r%5!=0&&(n=!0)}if("hours"===a.tickInterval||"minutes_fives"===a.tickInterval||"seconds_tens"===a.tickInterval||"seconds_fives"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new lt(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval="years";break;case t>800:this.tickInterval="half_year";break;case t>180:this.tickInterval="months";break;case t>90:this.tickInterval="months_fortnight";break;case t>60:this.tickInterval="months_days";break;case t>30:this.tickInterval="week_days";break;case t>2:this.tickInterval="days";break;case e>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new R(this.ctx),h="year";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:x.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:x.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=x.monthMod(a+1);var g=s+d,u=x.monthMod(n),p=n;0===n&&(c="year",p=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:x.monthMod(a)});for(var f=n+1,b=l,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,n="month",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=x.monthMod(e.minMonth),n="month",h=e.minDate,r++):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:x.monthMod(u),day:h});for(var p=d,f=0;fn.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,p=u+1;60===d&&(g=0,p=(u=e.minHour)+1);var f=i,b=c(f,a);this.timeScaleArray.push({position:g,value:u,unit:l,day:f,hour:p,year:s,month:x.monthMod(b)});for(var v=g,m=0;m=24)p=0,l="day",b=h(f+=1,b).month,b=c(f,b);var y=this._getYear(s,b,0);v=0===p&&0===m?d*r:60*r+v;var w=0===p?f:p;this.timeScaleArray.push({position:v,value:w,unit:l,hour:p,day:f,year:y,month:x.monthMod(b)}),p++}}},{key:"generateMinuteScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,p=n,f=s,b=(60-i-e/1e3)*h,v=0;v=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:b,value:d,unit:"minute",hour:f,minute:d,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,d++}},{key:"generateSecondScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,p=n,f=s,b=(1e3-e)/1e3*l,v=0;v=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:b,value:c,unit:"second",hour:f,minute:d,second:c,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,c++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),"minute"===t.unit?i+=":"+("0"+e).slice(-2):i+=":"+(t.minute?("0"+t.minute).slice(-2):"00"),"second"===t.unit?i+=":"+("0"+e).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new R(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(n=l.year),"month"===t.unit&&(n=l.month),"day"===t.unit&&(n=l.day),"hour"===t.unit&&(n=l.hour),"minute"===t.unit&&(n=l.minute),"second"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new m(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Yt=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:"setupElements",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=["line","area","bar","rangeBar","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].indexOf(i)>-1,t.xyCharts=["line","area","bar","rangeBar","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,t.isBarHorizontal=("bar"===e.chart.type||"rangeBar"===e.chart.type||"boxPlot"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=".apexcharts"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),m.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas "+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(e.chart.offsetX,", ").concat(e.chart.offsetY,")")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elAnnotations=t.dom.Paper.group().attr({class:"apexcharts-annotations"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elWrap.appendChild(t.dom.elLegendWrap),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]};s.series.map((function(e,g){var u=0;void 0!==t[g].type?("column"===t[g].type||"bar"===t[g].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"),h.series.push(e),h.i.push(g),u++,i.globals.columnSeries=h.series):"area"===t[g].type?(o.series.push(e),o.i.push(g),u++):"line"===t[g].type?(r.series.push(e),r.i.push(g),u++):"scatter"===t[g].type?(n.series.push(e),n.i.push(g)):"bubble"===t[g].type?(l.series.push(e),l.i.push(g),u++):"candlestick"===t[g].type?(c.series.push(e),c.i.push(g),u++):"boxPlot"===t[g].type?(d.series.push(e),d.i.push(g),u++):console.warn("You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble"),u>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(g))}));var g=new Tt(this.ctx,e),u=new wt(this.ctx,e);this.ctx.pie=new Ct(this.ctx);var p=new Pt(this.ctx);this.ctx.rangeBar=new H(this.ctx,e);var f=new Lt(this.ctx),x=[];if(s.comboCharts){if(o.series.length>0&&x.push(g.draw(o.series,"area",o.i)),h.series.length>0)if(i.config.chart.stacked){var b=new yt(this.ctx,e);x.push(b.draw(h.series,h.i))}else this.ctx.bar=new F(this.ctx,e),x.push(this.ctx.bar.draw(h.series,h.i));if(r.series.length>0&&x.push(g.draw(r.series,"line",r.i)),c.series.length>0&&x.push(u.draw(c.series,c.i)),d.series.length>0&&x.push(u.draw(d.series,d.i)),n.series.length>0){var v=new Tt(this.ctx,e,!0);x.push(v.draw(n.series,"scatter",n.i))}if(l.series.length>0){var m=new Tt(this.ctx,e,!0);x.push(m.draw(l.series,"bubble",l.i))}}else switch(a.chart.type){case"line":x=g.draw(s.series,"line");break;case"area":x=g.draw(s.series,"area");break;case"bar":if(a.chart.stacked)x=new yt(this.ctx,e).draw(s.series);else this.ctx.bar=new F(this.ctx,e),x=this.ctx.bar.draw(s.series);break;case"candlestick":x=new wt(this.ctx,e).draw(s.series);break;case"boxPlot":x=new wt(this.ctx,e).draw(s.series);break;case"rangeBar":x=this.ctx.rangeBar.draw(s.series);break;case"heatmap":x=new At(this.ctx,e).draw(s.series);break;case"treemap":x=new Xt(this.ctx,e).draw(s.series);break;case"pie":case"donut":case"polarArea":x=this.ctx.pie.draw(s.series);break;case"radialBar":x=p.draw(s.series);break;case"radar":x=f.draw(s.series);break;default:x=g.draw(s.series)}return x}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=x.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();"%"===a?x.isNumber(i[0])&&(0===i[0].width&&(i=x.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):"px"!==a&&""!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if("auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===s){var r=x.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),m.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),"%"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+"px"}t.dom.elWrap.style.width=t.svgWidth+"px",t.dom.elWrap.style.height=t.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i={transform:"translate("+t.translateX+", "+e+")"};m.setAttrs(t.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new ct(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=x.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",l),t.config.chart.height&&String(t.config.chart.height).indexOf("%")>0||(e.dom.elWrap.style.height=l+"px",m.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+"px")}},{key:"coreCalculations",value:function(){new Z(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new O,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if("back"===e.config.xaxis.crosshairs.position)new tt(this.ctx).drawXCrosshairs();if("back"===e.config.yaxis[0].crosshairs.position)new tt(this.ctx).drawYCrosshairs();if("datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Et(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new y(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,i=this.w;if(i.config.chart.brush.enabled&&"function"!=typeof i.config.chart.events.selection){var a=i.config.chart.brush.targets||[i.config.chart.brush.target];a.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,"function"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),"function"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),i.config.chart.events.selection=function(t,s){a.forEach((function(t){var a=ApexCharts.getChartByID(t),r=x.clone(i.config.yaxis);if(i.config.chart.brush.autoScaleYaxis&&1===a.w.globals.series.length){var o=new q(a);r=o.autoScaleY(a,r,s)}var n=a.w.config.yaxis.reduce((function(t,i,s){return[].concat(u(t),[e(e({},a.w.config.yaxis[s]),{},{min:r[0].min,max:r[0].max})])}),[]);a.ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max},yaxis:n},!1,!1,!1,!1)}))}}}}]),t}(),Ft=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"_updateOptions",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&"object"===i(t)&&(r.config=new N(t),t=y.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=x.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?x.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?x.clone(t.yaxis):[],c.globals.initialConfig=x.extend({},c.config),c.globals.initialSeries=x.clone(c.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=x.clone(o.config.series),o.globals.initialSeries=x.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:"_extendSeries",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:s&&s.name,color:t.color?t.color:s&&s.color,type:t.type?t.type:s&&s.type,data:t.data?t.data:s&&s.data})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(t,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"'], ").concat(s," circle[j='").concat(e,"'], ").concat(s," rect[j='").concat(e,"']")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"']")).members[0],"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new m(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new D(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){return t.chart&&t.chart.stacked&&"100%"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();It="undefined"!=typeof window?window:void 0,zt=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns="http://www.w3.org/2000/svg",a.xmlns="http://www.w3.org/2000/xmlns/",a.xlink="http://www.w3.org/1999/xlink",a.svgjs="http://svgjs.dev",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return"Svgjs"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute("id",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i="svg"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:"linearGradient"==e.nodeName?new a.Gradient("linear"):"radialGradient"==e.nodeName?new a.Gradient("radial"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute("svgjs:data"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName("body")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:i.polyline().node,path:i.path().node,native:a.create("svg")}},a.parser={native:a.create("svg")},e.addEventListener("DOMContentLoaded",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+="",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]}},r="mlhvqtcsaz".split(""),o=0,n=r.length;ol);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute("d",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!=t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if("string"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||"#document"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElement("svg");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElement("svg")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");i.innerHTML=""+t.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var s=0,r=i.firstChild.childNodes.length;s":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){"object"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||"-"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on("finished.fx",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off("finished.fx",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off("during.fx",i).on("during.fx",i),this.after((function(){this.off("during.fx",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off("allfinished.fx",e)};return this.target().off("allfinished.fx",e).on("allfinished.fx",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire("during",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--s)this[m[s]]=null!=t[m[s]]?t[m[s]]:e[m[s]]},extend:{extract:function(){var t=p(this,0,1);p(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=m.length-1;e>=0;e--)t[m[e]]=this[m[e]];return t},toString:function(){return"matrix("+v(this.a)+","+v(this.b)+","+v(this.c)+","+v(this.d)+","+v(this.e)+","+v(this.f)+")"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if("object"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;"stroke-width"==t?this.attr("stroke",parseFloat(e)>0?this._stroke:null):"stroke"==t&&(this._stroke=e),"fill"!=t&&"stroke"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),"number"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),"leading"==t?this.leading&&this.leading(e):"string"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!=t&&"x"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return"object"!==i(t)?(s=new a.Matrix(this).extract(),"string"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr("transform",s))}}),a.extend(a.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split("(");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return"matrix"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&"boolean"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return null==t.x&&(t.x=0,t.y=0,t.width=0,t.height=0),t.w=t.width,t.h=t.height,t.x2=t.x+t.width,t.y2=t.y+t.height,t.cx=t.x+t.width/2,t.cy=t.y+t.height/2,t}function v(t){return Math.abs(t)>1e-37?t:0}["fill","stroke"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if("string"==typeof e||a.Color.isRgb(e)||e&&"function"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr("transform",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)"function"==typeof a.Shape.prototype[e]&&"function"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||"").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var m="abcdef".split("");if("function"!=typeof t.CustomEvent){var y=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent("CustomEvent");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};y.prototype=t.Event.prototype,a.CustomEvent=y}else a.CustomEvent=t.CustomEvent;return a},"function"==typeof define&&define.amd?define((function(){return zt(It,It.document)})):"object"===("undefined"==typeof exports?"undefined":i(exports))&&"undefined"!=typeof module?module.exports=It.document?zt(It,It.document):function(t){return zt(t,t.document)}:It.SVG=zt(It,It.document), -/*! svg.filter.js - v2.0.2 - 2016-02-24 -* https://github.com/wout/svg.filter.js -* Copyright (c) 2016 Wout Fierens; Licensed MIT */ -function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr("in")&&this.autoSetIn&&t.attr("in",this.source),t.attr("result")||t.attr("result",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return"function"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr("in",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||"normal"})},colorMatrix:function(t,e){"matrix"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr("flood-color",t),null!=e&&this.attr("flood-opacity",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr("href",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr("stdDeviation",r(Array.prototype.slice.call(arguments))):this.attr("stdDeviation","0 0")},morphology:function(t,e){this.attr({operator:t,radius:e})},tile:function(){},turbulence:function(t,e,i,a,s){this.attr({numOctaves:e,seed:i,stitchTiles:a,baseFrequency:t,type:s})}},i={merge:function(){var t;if(arguments[0]instanceof SVG.Set){var e=this;arguments[0].each((function(t){this instanceof SVG.MergeNode?e.put(this):(this instanceof SVG.Effect||this instanceof SVG.ParentEffect)&&e.put(new SVG.MergeNode(this))}))}else{t=Array.isArray(arguments[0])?arguments[0]:arguments;for(var i=0;i1&&(M*=a=Math.sqrt(a),T*=a);s=(new SVG.Matrix).rotate(I).scale(1/M,1/T).rotate(-I),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire("dragend",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,i){"function"!=typeof e&&"object"!=typeof e||(i=e,e=!0);var a=this.remember("_draggable")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,e,i){var a="string"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,"t"===t||"b"===t),y:this.pointCoord(i[1],e,"r"===t||"l"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=["points","pointsExclude"];for(var s in r){var o=this.options[r[s]];"string"==typeof o?o=o.length>0?o.split(/\s*,\s*/i):[]:"boolean"==typeof o&&"points"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case"rt":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case"rb":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case"lb":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case"t":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case"r":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case"b":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case"l":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case"rot":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,"touchmove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"touchend.resize",(function(){e.done()})),SVG.on(window,"mousemove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"mouseup.resize",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Rt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new b(this.ctx),this.ctx.axes=new K(this.ctx),this.ctx.core=new Yt(this.ctx.el,this.ctx),this.ctx.config=new N({}),this.ctx.data=new B(this.ctx),this.ctx.grid=new U(this.ctx),this.ctx.graphics=new m(this.ctx),this.ctx.coreUtils=new y(this.ctx),this.ctx.crosshairs=new tt(this.ctx),this.ctx.events=new J(this.ctx),this.ctx.exports=new j(this.ctx),this.ctx.localization=new Q(this.ctx),this.ctx.options=new L,this.ctx.responsive=new et(this.ctx),this.ctx.series=new E(this.ctx),this.ctx.theme=new it(this.ctx),this.ctx.formatters=new V(this.ctx),this.ctx.titleSubtitle=new at(this.ctx),this.ctx.legend=new ct(this.ctx),this.ctx.toolbar=new dt(this.ctx),this.ctx.dimensions=new lt(this.ctx),this.ctx.updateHelpers=new Ft(this.ctx),this.ctx.zoomPanSelection=new gt(this.ctx),this.ctx.w.globals.tooltip=new mt(this.ctx)}}]),t}(),Ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"clear",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:"killSVG",value:function(t){t.each((function(t,e){this.removeClass("*"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:"clearDomElements",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elAnnotations=null,r.elLegendWrap=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),Dt=new WeakMap;var Nt=function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new W(i).init(),this.el=e,this.w.globals.cuid=x.randomId(),this.w.globals.chartID=this.w.config.chart.id?x.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Rt(this).initModules(),this.create=x.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;if("function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();"none"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),Dt.set(e,s)}(t.el.parentNode,t.parentResizeHandler),!t.css){var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is("ShadowRoot",s),o=t.el.ownerDocument,n=o.getElementById("apexcharts-css");!r&&n||(t.css=document.createElement("style"),t.css.id="apexcharts-css",t.css.textContent='.apexcharts-canvas {\n position: relative;\n user-select: none;\n /* cannot give overflow: hidden as it will crop tooltips which overflow outside chart area */\n}\n\n\n/* scrollbar is not visible by default for legend, hence forcing the visibility */\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px;\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0, 0, 0, .5);\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n}\n\n\n.apexcharts-inner {\n position: relative;\n}\n\n.apexcharts-text tspan {\n font-family: inherit;\n}\n\n.legend-mouseover-inactive {\n transition: 0.15s ease all;\n opacity: 0.20;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0;\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255, 255, 255, 0.96);\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30, 30, 30, 0.8);\n}\n\n.apexcharts-tooltip * {\n font-family: inherit;\n}\n\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #ECEFF1;\n border-bottom: 1px solid #ddd;\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0, 0, 0, 0.7);\n border-bottom: 1px solid #333;\n}\n\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-z-value {\n display: inline-block;\n font-weight: 600;\n margin-left: 5px;\n}\n\n.apexcharts-tooltip-title:empty,\n.apexcharts-tooltip-text-y-label:empty,\n.apexcharts-tooltip-text-y-value:empty,\n.apexcharts-tooltip-text-goals-label:empty,\n.apexcharts-tooltip-text-goals-value:empty,\n.apexcharts-tooltip-text-z-value:empty {\n display: none;\n}\n\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-z-value {\n font-weight: 600;\n}\n\n.apexcharts-tooltip-text-goals-label, \n.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px;\n}\n\n.apexcharts-tooltip-goals-group, \n.apexcharts-tooltip-text-goals-label, \n.apexcharts-tooltip-text-goals-value {\n display: flex;\n}\n.apexcharts-tooltip-text-goals-label:not(:empty),\n.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px;\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0px;\n margin-right: 10px;\n border-radius: 50%;\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center;\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1;\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,\n.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px;\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0 !important;\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px;\n}\n\n.apexcharts-tooltip-box, .apexcharts-custom-tooltip {\n padding: 4px 8px;\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse;\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0;\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: bold;\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px;\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777;\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: bold;\n display: block;\n margin-bottom: 5px;\n}\n\n.apexcharts-xaxistooltip {\n opacity: 0;\n padding: 9px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #ECEFF1;\n border: 1px solid #90A4AE;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-xaxistooltip:after,\n.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-left: -6px;\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\n border-width: 7px;\n margin-left: -7px;\n}\n\n.apexcharts-xaxistooltip-bottom:after,\n.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%;\n}\n\n.apexcharts-xaxistooltip-top:after,\n.apexcharts-xaxistooltip-top:before {\n top: 100%;\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #ECEFF1;\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #ECEFF1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-yaxistooltip {\n opacity: 0;\n padding: 4px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #ECEFF1;\n border: 1px solid #90A4AE;\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-yaxistooltip:after,\n.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-top: -6px;\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\n border-width: 7px;\n margin-top: -7px;\n}\n\n.apexcharts-yaxistooltip-left:after,\n.apexcharts-yaxistooltip-left:before {\n left: 100%;\n}\n\n.apexcharts-yaxistooltip-right:after,\n.apexcharts-yaxistooltip-right:before {\n right: 100%;\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #ECEFF1;\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #ECEFF1;\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1;\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none;\n}\n\n.apexcharts-xcrosshairs,\n.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,\n.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0;\n}\n\n.apexcharts-selection-rect {\n cursor: move;\n}\n\n.svg_select_boundingRect, .svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden;\n}\n.apexcharts-selection-rect + g .svg_select_boundingRect,\n.apexcharts-selection-rect + g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden;\n}\n\n.apexcharts-selection-rect + g .svg_select_points_l,\n.apexcharts-selection-rect + g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible;\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2;\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon,\n.apexcharts-reset-icon,\n.apexcharts-pan-icon,\n.apexcharts-selection-icon,\n.apexcharts-menu-icon,\n.apexcharts-toolbar-custom-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6E8192;\n text-align: center;\n}\n\n.apexcharts-zoom-icon svg,\n.apexcharts-zoomin-icon svg,\n.apexcharts-zoomout-icon svg,\n.apexcharts-reset-icon svg,\n.apexcharts-menu-icon svg {\n fill: #6E8192;\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(0.76)\n}\n\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg,\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg {\n fill: #f3f4f5;\n}\n\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg {\n fill: #008FFB;\n}\n\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg,\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg {\n fill: #333;\n}\n\n.apexcharts-selection-icon,\n.apexcharts-menu-icon {\n position: relative;\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px;\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-reset-icon,\n.apexcharts-menu-icon {\n transform: scale(0.85);\n}\n\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n transform: scale(0.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px;\n}\n\n.apexcharts-pan-icon {\n transform: scale(0.62);\n position: relative;\n left: 1px;\n top: 0px;\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6E8192;\n stroke-width: 2;\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008FFB;\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333;\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0px 6px 2px 6px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: 0.15s ease all;\n pointer-events: none;\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: 0.15s ease all;\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer;\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee;\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0, 0, 0, 0.7);\n color: #fff;\n}\n\n@media screen and (min-width: 768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1;\n }\n}\n\n.apexcharts-datalabel.apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-pie-label,\n.apexcharts-datalabels,\n.apexcharts-datalabel,\n.apexcharts-datalabel-label,\n.apexcharts-datalabel-value {\n cursor: default;\n pointer-events: none;\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: 0.3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease;\n}\n\n.apexcharts-canvas .apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-hide .apexcharts-series-points {\n opacity: 0;\n}\n\n.apexcharts-gridline,\n.apexcharts-annotation-rect,\n.apexcharts-xaxis-annotation-label,\n.apexcharts-yaxis-annotation-label,\n.apexcharts-point-annotation-label,\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-line,\n.apexcharts-zoom-rect,\n.apexcharts-toolbar svg,\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-radar-series path,\n.apexcharts-radar-series polygon {\n pointer-events: none;\n}\n\n\n/* markers */\n\n.apexcharts-marker {\n transition: 0.15s ease all;\n}\n\n@keyframes opaque {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n\n/* Resize generated styles */\n\n@keyframes resizeanim {\n from {\n opacity: 0;\n }\n to {\n opacity: 0;\n }\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n}\n\n.resize-triggers,\n.resize-triggers>div,\n.contract-trigger:before {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.resize-triggers>div {\n background: #eee;\n overflow: auto;\n}\n\n.contract-trigger:before {\n width: 200%;\n height: 200%;\n}',r?s.prepend(t.css):o.head.appendChild(t.css))}var l=t.create(t.w.config.series,{});if(!l)return e(t);t.mount(l).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(l)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this.w;new Rt(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new D(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),"treemap"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=y.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new T(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),"category"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new y(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new z(this);l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition();var h={plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}};return{elGraph:n,xyRatios:o,elInner:i.globals.dom.elGraphical,dimensions:h}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),"treemap"!==a.config.chart.type&&i.axes.drawAxis(a.config.chart.type,e.xyRatios),i.grid=new U(i);var o=i.grid.drawGrid();i.annotations=new P(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position&&o&&a.globals.dom.elGraphical.add(o.el);var n=new _(t.ctx),l=new $(t.ctx);if(null!==o&&(n.xAxisLabelCorrections(o.xAxisTickWidth),l.setYAxisTextAlignments(),a.config.yaxis.map((function(t,e){-1===a.globals.ignoreYAxisIndexes.indexOf(e)&&l.yAxisTitleRotate(e,t.opposite)}))),"back"===a.config.annotations.position&&(a.globals.dom.Paper.add(a.globals.dom.elAnnotations),i.annotations.drawAxesAnnotations()),Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){var t,e;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=Dt.get(t))&&(e.disconnect(),Dt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===x.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Ht(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new Z(this.ctx);return e.getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new Z(this.ctx);return e.getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(t){return new j(this.ctx).dataURI(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=new j(this.ctx);return e.exportToCSV(t)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:"_windowResizeHandler",value:function(){var t=this.w.config.chart.redrawOnWindowResize;"function"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:"getChartByID",value:function(t){var e=x.escapeString(t),i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i2?s-2:0),o=2;o arr.length) len = arr.length; - - for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; - - return arr2; - } - - function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - - function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - - /* - ** Generic functions which are not dependent on ApexCharts - */ - var Utils$1 = /*#__PURE__*/function () { - function Utils() { - _classCallCheck(this, Utils); - } - - _createClass(Utils, [{ - key: "shadeRGBColor", - value: function shadeRGBColor(percent, color) { - var f = color.split(','), - t = percent < 0 ? 0 : 255, - p = percent < 0 ? percent * -1 : percent, - R = parseInt(f[0].slice(4), 10), - G = parseInt(f[1], 10), - B = parseInt(f[2], 10); - return 'rgb(' + (Math.round((t - R) * p) + R) + ',' + (Math.round((t - G) * p) + G) + ',' + (Math.round((t - B) * p) + B) + ')'; - } - }, { - key: "shadeHexColor", - value: function shadeHexColor(percent, color) { - var f = parseInt(color.slice(1), 16), - t = percent < 0 ? 0 : 255, - p = percent < 0 ? percent * -1 : percent, - R = f >> 16, - G = f >> 8 & 0x00ff, - B = f & 0x0000ff; - return '#' + (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B)).toString(16).slice(1); - } // beautiful color shading blending code - // http://stackoverflow.com/questions/5560248/programmatically-lighten-or-darken-a-hex-color-or-rgb-and-blend-colors - - }, { - key: "shadeColor", - value: function shadeColor(p, color) { - if (Utils.isColorHex(color)) { - return this.shadeHexColor(p, color); - } else { - return this.shadeRGBColor(p, color); - } - } - }], [{ - key: "bind", - value: function bind(fn, me) { - return function () { - return fn.apply(me, arguments); - }; - } - }, { - key: "isObject", - value: function isObject(item) { - return item && _typeof(item) === 'object' && !Array.isArray(item) && item != null; - } // Type checking that works across different window objects - - }, { - key: "is", - value: function is(type, val) { - return Object.prototype.toString.call(val) === '[object ' + type + ']'; - } - }, { - key: "listToArray", - value: function listToArray(list) { - var i, - array = []; - - for (i = 0; i < list.length; i++) { - array[i] = list[i]; - } - - return array; - } // to extend defaults with user options - // credit: http://stackoverflow.com/questions/27936772/deep-object-merging-in-es6-es7#answer-34749873 - - }, { - key: "extend", - value: function extend(target, source) { - var _this = this; - - if (typeof Object.assign !== 'function') { - - (function () { - Object.assign = function (target) { - - if (target === undefined || target === null) { - throw new TypeError('Cannot convert undefined or null to object'); - } - - var output = Object(target); - - for (var index = 1; index < arguments.length; index++) { - var _source = arguments[index]; - - if (_source !== undefined && _source !== null) { - for (var nextKey in _source) { - if (_source.hasOwnProperty(nextKey)) { - output[nextKey] = _source[nextKey]; - } - } - } - } - - return output; - }; - })(); - } - - var output = Object.assign({}, target); - - if (this.isObject(target) && this.isObject(source)) { - Object.keys(source).forEach(function (key) { - if (_this.isObject(source[key])) { - if (!(key in target)) { - Object.assign(output, _defineProperty({}, key, source[key])); - } else { - output[key] = _this.extend(target[key], source[key]); - } - } else { - Object.assign(output, _defineProperty({}, key, source[key])); - } - }); - } - - return output; - } - }, { - key: "extendArray", - value: function extendArray(arrToExtend, resultArr) { - var extendedArr = []; - arrToExtend.map(function (item) { - extendedArr.push(Utils.extend(resultArr, item)); - }); - arrToExtend = extendedArr; - return arrToExtend; - } // If month counter exceeds 12, it starts again from 1 - - }, { - key: "monthMod", - value: function monthMod(month) { - return month % 12; - } - }, { - key: "clone", - value: function clone(source) { - if (Utils.is('Array', source)) { - var cloneResult = []; - - for (var i = 0; i < source.length; i++) { - cloneResult[i] = this.clone(source[i]); - } - - return cloneResult; - } else if (Utils.is('Null', source)) { - // fixes an issue where null values were converted to {} - return null; - } else if (Utils.is('Date', source)) { - return source; - } else if (_typeof(source) === 'object') { - var _cloneResult = {}; - - for (var prop in source) { - if (source.hasOwnProperty(prop)) { - _cloneResult[prop] = this.clone(source[prop]); - } - } - - return _cloneResult; - } else { - return source; - } - } - }, { - key: "log10", - value: function log10(x) { - return Math.log(x) / Math.LN10; - } - }, { - key: "roundToBase10", - value: function roundToBase10(x) { - return Math.pow(10, Math.floor(Math.log10(x))); - } - }, { - key: "roundToBase", - value: function roundToBase(x, base) { - return Math.pow(base, Math.floor(Math.log(x) / Math.log(base))); - } - }, { - key: "parseNumber", - value: function parseNumber(val) { - if (val === null) return val; - return parseFloat(val); - } - }, { - key: "randomId", - value: function randomId() { - return (Math.random() + 1).toString(36).substring(4); - } - }, { - key: "noExponents", - value: function noExponents(val) { - var data = String(val).split(/[eE]/); - if (data.length === 1) return data[0]; - var z = '', - sign = val < 0 ? '-' : '', - str = data[0].replace('.', ''), - mag = Number(data[1]) + 1; - - if (mag < 0) { - z = sign + '0.'; - - while (mag++) { - z += '0'; - } - - return z + str.replace(/^-/, ''); - } - - mag -= str.length; - - while (mag--) { - z += '0'; - } - - return str + z; - } - }, { - key: "getDimensions", - value: function getDimensions(el) { - var computedStyle = getComputedStyle(el, null); - var elementHeight = el.clientHeight; - var elementWidth = el.clientWidth; - elementHeight -= parseFloat(computedStyle.paddingTop) + parseFloat(computedStyle.paddingBottom); - elementWidth -= parseFloat(computedStyle.paddingLeft) + parseFloat(computedStyle.paddingRight); - return [elementWidth, elementHeight]; - } - }, { - key: "getBoundingClientRect", - value: function getBoundingClientRect(element) { - var rect = element.getBoundingClientRect(); - return { - top: rect.top, - right: rect.right, - bottom: rect.bottom, - left: rect.left, - width: element.clientWidth, - height: element.clientHeight, - x: rect.left, - y: rect.top - }; - } - }, { - key: "getLargestStringFromArr", - value: function getLargestStringFromArr(arr) { - return arr.reduce(function (a, b) { - if (Array.isArray(b)) { - b = b.reduce(function (aa, bb) { - return aa.length > bb.length ? aa : bb; - }); - } - - return a.length > b.length ? a : b; - }, 0); - } // http://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb#answer-12342275 - - }, { - key: "hexToRgba", - value: function hexToRgba() { - var hex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '#999999'; - var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.6; - - if (hex.substring(0, 1) !== '#') { - hex = '#999999'; - } - - var h = hex.replace('#', ''); - h = h.match(new RegExp('(.{' + h.length / 3 + '})', 'g')); - - for (var i = 0; i < h.length; i++) { - h[i] = parseInt(h[i].length === 1 ? h[i] + h[i] : h[i], 16); - } - - if (typeof opacity !== 'undefined') h.push(opacity); - return 'rgba(' + h.join(',') + ')'; - } - }, { - key: "getOpacityFromRGBA", - value: function getOpacityFromRGBA(rgba) { - return parseFloat(rgba.replace(/^.*,(.+)\)/, '$1')); - } - }, { - key: "rgb2hex", - value: function rgb2hex(rgb) { - rgb = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i); - return rgb && rgb.length === 4 ? '#' + ('0' + parseInt(rgb[1], 10).toString(16)).slice(-2) + ('0' + parseInt(rgb[2], 10).toString(16)).slice(-2) + ('0' + parseInt(rgb[3], 10).toString(16)).slice(-2) : ''; - } - }, { - key: "isColorHex", - value: function isColorHex(color) { - return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(color); - } - }, { - key: "getPolygonPos", - value: function getPolygonPos(size, dataPointsLen) { - var dotsArray = []; - var angle = Math.PI * 2 / dataPointsLen; - - for (var i = 0; i < dataPointsLen; i++) { - var curPos = {}; - curPos.x = size * Math.sin(i * angle); - curPos.y = -size * Math.cos(i * angle); - dotsArray.push(curPos); - } - - return dotsArray; - } - }, { - key: "polarToCartesian", - value: function polarToCartesian(centerX, centerY, radius, angleInDegrees) { - var angleInRadians = (angleInDegrees - 90) * Math.PI / 180.0; - return { - x: centerX + radius * Math.cos(angleInRadians), - y: centerY + radius * Math.sin(angleInRadians) - }; - } - }, { - key: "escapeString", - value: function escapeString(str) { - var escapeWith = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'x'; - var newStr = str.toString().slice(); - newStr = newStr.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi, escapeWith); - return newStr; - } - }, { - key: "negToZero", - value: function negToZero(val) { - return val < 0 ? 0 : val; - } - }, { - key: "moveIndexInArray", - value: function moveIndexInArray(arr, old_index, new_index) { - if (new_index >= arr.length) { - var k = new_index - arr.length + 1; - - while (k--) { - arr.push(undefined); - } - } - - arr.splice(new_index, 0, arr.splice(old_index, 1)[0]); - return arr; - } - }, { - key: "extractNumber", - value: function extractNumber(s) { - return parseFloat(s.replace(/[^\d.]*/g, '')); - } - }, { - key: "findAncestor", - value: function findAncestor(el, cls) { - while ((el = el.parentElement) && !el.classList.contains(cls)) { - } - - return el; - } - }, { - key: "setELstyles", - value: function setELstyles(el, styles) { - for (var key in styles) { - if (styles.hasOwnProperty(key)) { - el.style.key = styles[key]; - } - } - } - }, { - key: "isNumber", - value: function isNumber(value) { - return !isNaN(value) && parseFloat(Number(value)) === value && !isNaN(parseInt(value, 10)); - } - }, { - key: "isFloat", - value: function isFloat(n) { - return Number(n) === n && n % 1 !== 0; - } - }, { - key: "isSafari", - value: function isSafari() { - return /^((?!chrome|android).)*safari/i.test(navigator.userAgent); - } - }, { - key: "isFirefox", - value: function isFirefox() { - return navigator.userAgent.toLowerCase().indexOf('firefox') > -1; - } - }, { - key: "isIE11", - value: function isIE11() { - if (window.navigator.userAgent.indexOf('MSIE') !== -1 || window.navigator.appVersion.indexOf('Trident/') > -1) { - return true; - } - } - }, { - key: "isIE", - value: function isIE() { - var ua = window.navigator.userAgent; - var msie = ua.indexOf('MSIE '); - - if (msie > 0) { - // IE 10 or older => return version number - return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10); - } - - var trident = ua.indexOf('Trident/'); - - if (trident > 0) { - // IE 11 => return version number - var rv = ua.indexOf('rv:'); - return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10); - } - - var edge = ua.indexOf('Edge/'); - - if (edge > 0) { - // Edge (IE 12+) => return version number - return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10); - } // other browser - - - return false; - } - }]); - - return Utils; - }(); - - /** - * ApexCharts Animation Class. - * - * @module Animations - **/ - - var Animations = /*#__PURE__*/function () { - function Animations(ctx) { - _classCallCheck(this, Animations); - - this.ctx = ctx; - this.w = ctx.w; - this.setEasingFunctions(); - } - - _createClass(Animations, [{ - key: "setEasingFunctions", - value: function setEasingFunctions() { - var easing; - if (this.w.globals.easing) return; - var userDefinedEasing = this.w.config.chart.animations.easing; - - switch (userDefinedEasing) { - case 'linear': - { - easing = '-'; - break; - } - - case 'easein': - { - easing = '<'; - break; - } - - case 'easeout': - { - easing = '>'; - break; - } - - case 'easeinout': - { - easing = '<>'; - break; - } - - case 'swing': - { - easing = function easing(pos) { - var s = 1.70158; - var ret = (pos -= 1) * pos * ((s + 1) * pos + s) + 1; - return ret; - }; - - break; - } - - case 'bounce': - { - easing = function easing(pos) { - var ret = ''; - - if (pos < 1 / 2.75) { - ret = 7.5625 * pos * pos; - } else if (pos < 2 / 2.75) { - ret = 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75; - } else if (pos < 2.5 / 2.75) { - ret = 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375; - } else { - ret = 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375; - } - - return ret; - }; - - break; - } - - case 'elastic': - { - easing = function easing(pos) { - if (pos === !!pos) return pos; - return Math.pow(2, -10 * pos) * Math.sin((pos - 0.075) * (2 * Math.PI) / 0.3) + 1; - }; - - break; - } - - default: - { - easing = '<>'; - } - } - - this.w.globals.easing = easing; - } - }, { - key: "animateLine", - value: function animateLine(el, from, to, speed) { - el.attr(from).animate(speed).attr(to); - } - /* - ** Animate radius of a circle element - */ - - }, { - key: "animateMarker", - value: function animateMarker(el, from, to, speed, easing, cb) { - if (!from) from = 0; - el.attr({ - r: from, - width: from, - height: from - }).animate(speed, easing).attr({ - r: to, - width: to.width, - height: to.height - }).afterAll(function () { - cb(); - }); - } - /* - ** Animate radius and position of a circle element - */ - - }, { - key: "animateCircle", - value: function animateCircle(el, from, to, speed, easing) { - el.attr({ - r: from.r, - cx: from.cx, - cy: from.cy - }).animate(speed, easing).attr({ - r: to.r, - cx: to.cx, - cy: to.cy - }); - } - /* - ** Animate rect properties - */ - - }, { - key: "animateRect", - value: function animateRect(el, from, to, speed, fn) { - el.attr(from).animate(speed).attr(to).afterAll(function () { - return fn(); - }); - } - }, { - key: "animatePathsGradually", - value: function animatePathsGradually(params) { - var el = params.el, - realIndex = params.realIndex, - j = params.j, - fill = params.fill, - pathFrom = params.pathFrom, - pathTo = params.pathTo, - speed = params.speed, - delay = params.delay; - var me = this; - var w = this.w; - var delayFactor = 0; - - if (w.config.chart.animations.animateGradually.enabled) { - delayFactor = w.config.chart.animations.animateGradually.delay; - } - - if (w.config.chart.animations.dynamicAnimation.enabled && w.globals.dataChanged && w.config.chart.type !== 'bar') { - // disabled due to this bug - https://github.com/apexcharts/vue-apexcharts/issues/75 - delayFactor = 0; - } - - me.morphSVG(el, realIndex, j, w.config.chart.type === 'line' && !w.globals.comboCharts ? 'stroke' : fill, pathFrom, pathTo, speed, delay * delayFactor); - } - }, { - key: "showDelayedElements", - value: function showDelayedElements() { - this.w.globals.delayedElements.forEach(function (d) { - var ele = d.el; - ele.classList.remove('apexcharts-element-hidden'); - }); - } - }, { - key: "animationCompleted", - value: function animationCompleted(el) { - var w = this.w; - if (w.globals.animationEnded) return; - w.globals.animationEnded = true; - this.showDelayedElements(); - - if (typeof w.config.chart.events.animationEnd === 'function') { - w.config.chart.events.animationEnd(this.ctx, { - el: el, - w: w - }); - } - } // SVG.js animation for morphing one path to another - - }, { - key: "morphSVG", - value: function morphSVG(el, realIndex, j, fill, pathFrom, pathTo, speed, delay) { - var _this = this; - - var w = this.w; - - if (!pathFrom) { - pathFrom = el.attr('pathFrom'); - } - - if (!pathTo) { - pathTo = el.attr('pathTo'); - } - - var disableAnimationForCorrupPath = function disableAnimationForCorrupPath(path) { - if (w.config.chart.type === 'radar') { - // radar chart drops the path to bottom and hence a corrup path looks ugly - // therefore, disable animation for such a case - speed = 1; - } - - return "M 0 ".concat(w.globals.gridHeight); - }; - - if (!pathFrom || pathFrom.indexOf('undefined') > -1 || pathFrom.indexOf('NaN') > -1) { - pathFrom = disableAnimationForCorrupPath(); - } - - if (!pathTo || pathTo.indexOf('undefined') > -1 || pathTo.indexOf('NaN') > -1) { - pathTo = disableAnimationForCorrupPath(); - } - - if (!w.globals.shouldAnimate) { - speed = 1; - } - - el.plot(pathFrom).animate(1, w.globals.easing, delay).plot(pathFrom).animate(speed, w.globals.easing, delay).plot(pathTo).afterAll(function () { - // a flag to indicate that the original mount function can return true now as animation finished here - if (Utils$1.isNumber(j)) { - if (j === w.globals.series[w.globals.maxValsInArrayIndex].length - 2 && w.globals.shouldAnimate) { - _this.animationCompleted(el); - } - } else if (fill !== 'none' && w.globals.shouldAnimate) { - if (!w.globals.comboCharts && realIndex === w.globals.series.length - 1 || w.globals.comboCharts) { - _this.animationCompleted(el); - } - } - - _this.showDelayedElements(); - }); - } - }]); - - return Animations; - }(); - - /** - * ApexCharts Filters Class for setting hover/active states on the paths. - * - * @module Formatters - **/ - - var Filters = /*#__PURE__*/function () { - function Filters(ctx) { - _classCallCheck(this, Filters); - - this.ctx = ctx; - this.w = ctx.w; - } // create a re-usable filter which can be appended other filter effects and applied to multiple elements - - - _createClass(Filters, [{ - key: "getDefaultFilter", - value: function getDefaultFilter(el, i) { - var w = this.w; - el.unfilter(true); - var filter = new window.SVG.Filter(); - filter.size('120%', '180%', '-5%', '-40%'); - - if (w.config.states.normal.filter !== 'none') { - this.applyFilter(el, i, w.config.states.normal.filter.type, w.config.states.normal.filter.value); - } else { - if (w.config.chart.dropShadow.enabled) { - this.dropShadow(el, w.config.chart.dropShadow, i); - } - } - } - }, { - key: "addNormalFilter", - value: function addNormalFilter(el, i) { - var w = this.w; // revert shadow if it was there - // but, ignore marker as marker don't have dropshadow yet - - if (w.config.chart.dropShadow.enabled && !el.node.classList.contains('apexcharts-marker')) { - this.dropShadow(el, w.config.chart.dropShadow, i); - } - } // appends dropShadow to the filter object which can be chained with other filter effects - - }, { - key: "addLightenFilter", - value: function addLightenFilter(el, i, attrs) { - var _this = this; - - var w = this.w; - var intensity = attrs.intensity; - el.unfilter(true); - var filter = new window.SVG.Filter(); - el.filter(function (add) { - var shadowAttr = w.config.chart.dropShadow; - - if (shadowAttr.enabled) { - filter = _this.addShadow(add, i, shadowAttr); - } else { - filter = add; - } - - filter.componentTransfer({ - rgb: { - type: 'linear', - slope: 1.5, - intercept: intensity - } - }); - }); - el.filterer.node.setAttribute('filterUnits', 'userSpaceOnUse'); - - this._scaleFilterSize(el.filterer.node); - } // appends dropShadow to the filter object which can be chained with other filter effects - - }, { - key: "addDarkenFilter", - value: function addDarkenFilter(el, i, attrs) { - var _this2 = this; - - var w = this.w; - var intensity = attrs.intensity; - el.unfilter(true); - var filter = new window.SVG.Filter(); - el.filter(function (add) { - var shadowAttr = w.config.chart.dropShadow; - - if (shadowAttr.enabled) { - filter = _this2.addShadow(add, i, shadowAttr); - } else { - filter = add; - } - - filter.componentTransfer({ - rgb: { - type: 'linear', - slope: intensity - } - }); - }); - el.filterer.node.setAttribute('filterUnits', 'userSpaceOnUse'); - - this._scaleFilterSize(el.filterer.node); - } - }, { - key: "applyFilter", - value: function applyFilter(el, i, filter) { - var intensity = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0.5; - - switch (filter) { - case 'none': - { - this.addNormalFilter(el, i); - break; - } - - case 'lighten': - { - this.addLightenFilter(el, i, { - intensity: intensity - }); - break; - } - - case 'darken': - { - this.addDarkenFilter(el, i, { - intensity: intensity - }); - break; - } - } - } // appends dropShadow to the filter object which can be chained with other filter effects - - }, { - key: "addShadow", - value: function addShadow(add, i, attrs) { - var blur = attrs.blur, - top = attrs.top, - left = attrs.left, - color = attrs.color, - opacity = attrs.opacity; - var shadowBlur = add.flood(Array.isArray(color) ? color[i] : color, opacity).composite(add.sourceAlpha, 'in').offset(left, top).gaussianBlur(blur).merge(add.source); - return add.blend(add.source, shadowBlur); - } // directly adds dropShadow to the element and returns the same element. - // the only way it is different from the addShadow() function is that addShadow is chainable to other filters, while this function discards all filters and add dropShadow - - }, { - key: "dropShadow", - value: function dropShadow(el, attrs) { - var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - var top = attrs.top, - left = attrs.left, - blur = attrs.blur, - color = attrs.color, - opacity = attrs.opacity, - noUserSpaceOnUse = attrs.noUserSpaceOnUse; - var w = this.w; - el.unfilter(true); - - if (Utils$1.isIE() && w.config.chart.type === 'radialBar') { - // in radialbar charts, dropshadow is clipping actual drawing in IE - return el; - } - - color = Array.isArray(color) ? color[i] : color; - el.filter(function (add) { - var shadowBlur = null; - - if (Utils$1.isSafari() || Utils$1.isFirefox() || Utils$1.isIE()) { - // safari/firefox/IE have some alternative way to use this filter - shadowBlur = add.flood(color, opacity).composite(add.sourceAlpha, 'in').offset(left, top).gaussianBlur(blur); - } else { - shadowBlur = add.flood(color, opacity).composite(add.sourceAlpha, 'in').offset(left, top).gaussianBlur(blur).merge(add.source); - } - - add.blend(add.source, shadowBlur); - }); - - if (!noUserSpaceOnUse) { - el.filterer.node.setAttribute('filterUnits', 'userSpaceOnUse'); - } - - this._scaleFilterSize(el.filterer.node); - - return el; - } - }, { - key: "setSelectionFilter", - value: function setSelectionFilter(el, realIndex, dataPointIndex) { - var w = this.w; - - if (typeof w.globals.selectedDataPoints[realIndex] !== 'undefined') { - if (w.globals.selectedDataPoints[realIndex].indexOf(dataPointIndex) > -1) { - el.node.setAttribute('selected', true); - var activeFilter = w.config.states.active.filter; - - if (activeFilter !== 'none') { - this.applyFilter(el, realIndex, activeFilter.type, activeFilter.value); - } - } - } - } - }, { - key: "_scaleFilterSize", - value: function _scaleFilterSize(el) { - var setAttributes = function setAttributes(attrs) { - for (var key in attrs) { - if (attrs.hasOwnProperty(key)) { - el.setAttribute(key, attrs[key]); - } - } - }; - - setAttributes({ - width: '200%', - height: '200%', - x: '-50%', - y: '-50%' - }); - } - }]); - - return Filters; - }(); - - /** - * ApexCharts Graphics Class for all drawing operations. - * - * @module Graphics - **/ - - var Graphics = /*#__PURE__*/function () { - function Graphics(ctx) { - _classCallCheck(this, Graphics); - - this.ctx = ctx; - this.w = ctx.w; - } - - _createClass(Graphics, [{ - key: "drawLine", - value: function drawLine(x1, y1, x2, y2) { - var lineColor = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '#a8a8a8'; - var dashArray = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; - var strokeWidth = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null; - var strokeLineCap = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 'butt'; - var w = this.w; - var line = w.globals.dom.Paper.line().attr({ - x1: x1, - y1: y1, - x2: x2, - y2: y2, - stroke: lineColor, - 'stroke-dasharray': dashArray, - 'stroke-width': strokeWidth, - 'stroke-linecap': strokeLineCap - }); - return line; - } - }, { - key: "drawRect", - value: function drawRect() { - var x1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var y1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; - var x2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - var y2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; - var radius = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; - var color = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '#fefefe'; - var opacity = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 1; - var strokeWidth = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null; - var strokeColor = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null; - var strokeDashArray = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 0; - var w = this.w; - var rect = w.globals.dom.Paper.rect(); - rect.attr({ - x: x1, - y: y1, - width: x2 > 0 ? x2 : 0, - height: y2 > 0 ? y2 : 0, - rx: radius, - ry: radius, - opacity: opacity, - 'stroke-width': strokeWidth !== null ? strokeWidth : 0, - stroke: strokeColor !== null ? strokeColor : 'none', - 'stroke-dasharray': strokeDashArray - }); // fix apexcharts.js#1410 - - rect.node.setAttribute('fill', color); - return rect; - } - }, { - key: "drawPolygon", - value: function drawPolygon(polygonString) { - var stroke = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '#e1e1e1'; - var strokeWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; - var fill = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'none'; - var w = this.w; - var polygon = w.globals.dom.Paper.polygon(polygonString).attr({ - fill: fill, - stroke: stroke, - 'stroke-width': strokeWidth - }); - return polygon; - } - }, { - key: "drawCircle", - value: function drawCircle(radius) { - var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - var w = this.w; - if (radius < 0) radius = 0; - var c = w.globals.dom.Paper.circle(radius * 2); - - if (attrs !== null) { - c.attr(attrs); - } - - return c; - } - }, { - key: "drawPath", - value: function drawPath(_ref) { - var _ref$d = _ref.d, - d = _ref$d === void 0 ? '' : _ref$d, - _ref$stroke = _ref.stroke, - stroke = _ref$stroke === void 0 ? '#a8a8a8' : _ref$stroke, - _ref$strokeWidth = _ref.strokeWidth, - strokeWidth = _ref$strokeWidth === void 0 ? 1 : _ref$strokeWidth, - fill = _ref.fill, - _ref$fillOpacity = _ref.fillOpacity, - fillOpacity = _ref$fillOpacity === void 0 ? 1 : _ref$fillOpacity, - _ref$strokeOpacity = _ref.strokeOpacity, - strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity, - classes = _ref.classes, - _ref$strokeLinecap = _ref.strokeLinecap, - strokeLinecap = _ref$strokeLinecap === void 0 ? null : _ref$strokeLinecap, - _ref$strokeDashArray = _ref.strokeDashArray, - strokeDashArray = _ref$strokeDashArray === void 0 ? 0 : _ref$strokeDashArray; - var w = this.w; - - if (strokeLinecap === null) { - strokeLinecap = w.config.stroke.lineCap; - } - - if (d.indexOf('undefined') > -1 || d.indexOf('NaN') > -1) { - d = "M 0 ".concat(w.globals.gridHeight); - } - - var p = w.globals.dom.Paper.path(d).attr({ - fill: fill, - 'fill-opacity': fillOpacity, - stroke: stroke, - 'stroke-opacity': strokeOpacity, - 'stroke-linecap': strokeLinecap, - 'stroke-width': strokeWidth, - 'stroke-dasharray': strokeDashArray, - class: classes - }); - return p; - } - }, { - key: "group", - value: function group() { - var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - var w = this.w; - var g = w.globals.dom.Paper.group(); - - if (attrs !== null) { - g.attr(attrs); - } - - return g; - } - }, { - key: "move", - value: function move(x, y) { - var move = ['M', x, y].join(' '); - return move; - } - }, { - key: "line", - value: function line(x, y) { - var hORv = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - var line = null; - - if (hORv === null) { - line = ['L', x, y].join(' '); - } else if (hORv === 'H') { - line = ['H', x].join(' '); - } else if (hORv === 'V') { - line = ['V', y].join(' '); - } - - return line; - } - }, { - key: "curve", - value: function curve(x1, y1, x2, y2, x, y) { - var curve = ['C', x1, y1, x2, y2, x, y].join(' '); - return curve; - } - }, { - key: "quadraticCurve", - value: function quadraticCurve(x1, y1, x, y) { - var curve = ['Q', x1, y1, x, y].join(' '); - return curve; - } - }, { - key: "arc", - value: function arc(rx, ry, axisRotation, largeArcFlag, sweepFlag, x, y) { - var relative = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false; - var coord = 'A'; - if (relative) coord = 'a'; - var arc = [coord, rx, ry, axisRotation, largeArcFlag, sweepFlag, x, y].join(' '); - return arc; - } - /** - * @memberof Graphics - * @param {object} - * i = series's index - * realIndex = realIndex is series's actual index when it was drawn time. After several redraws, the iterating "i" may change in loops, but realIndex doesn't - * pathFrom = existing pathFrom to animateTo - * pathTo = new Path to which d attr will be animated from pathFrom to pathTo - * stroke = line Color - * strokeWidth = width of path Line - * fill = it can be gradient, single color, pattern or image - * animationDelay = how much to delay when starting animation (in milliseconds) - * dataChangeSpeed = for dynamic animations, when data changes - * className = class attribute to add - * @return {object} svg.js path object - **/ - - }, { - key: "renderPaths", - value: function renderPaths(_ref2) { - var j = _ref2.j, - realIndex = _ref2.realIndex, - pathFrom = _ref2.pathFrom, - pathTo = _ref2.pathTo, - stroke = _ref2.stroke, - strokeWidth = _ref2.strokeWidth, - strokeLinecap = _ref2.strokeLinecap, - fill = _ref2.fill, - animationDelay = _ref2.animationDelay, - initialSpeed = _ref2.initialSpeed, - dataChangeSpeed = _ref2.dataChangeSpeed, - className = _ref2.className, - _ref2$shouldClipToGri = _ref2.shouldClipToGrid, - shouldClipToGrid = _ref2$shouldClipToGri === void 0 ? true : _ref2$shouldClipToGri, - _ref2$bindEventsOnPat = _ref2.bindEventsOnPaths, - bindEventsOnPaths = _ref2$bindEventsOnPat === void 0 ? true : _ref2$bindEventsOnPat, - _ref2$drawShadow = _ref2.drawShadow, - drawShadow = _ref2$drawShadow === void 0 ? true : _ref2$drawShadow; - var w = this.w; - var filters = new Filters(this.ctx); - var anim = new Animations(this.ctx); - var initialAnim = this.w.config.chart.animations.enabled; - var dynamicAnim = initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled; - var d; - var shouldAnimate = !!(initialAnim && !w.globals.resized || dynamicAnim && w.globals.dataChanged && w.globals.shouldAnimate); - - if (shouldAnimate) { - d = pathFrom; - } else { - d = pathTo; - w.globals.animationEnded = true; - } - - var strokeDashArrayOpt = w.config.stroke.dashArray; - var strokeDashArray = 0; - - if (Array.isArray(strokeDashArrayOpt)) { - strokeDashArray = strokeDashArrayOpt[realIndex]; - } else { - strokeDashArray = w.config.stroke.dashArray; - } - - var el = this.drawPath({ - d: d, - stroke: stroke, - strokeWidth: strokeWidth, - fill: fill, - fillOpacity: 1, - classes: className, - strokeLinecap: strokeLinecap, - strokeDashArray: strokeDashArray - }); - el.attr('index', realIndex); - - if (shouldClipToGrid) { - el.attr({ - 'clip-path': "url(#gridRectMask".concat(w.globals.cuid, ")") - }); - } // const defaultFilter = el.filterer - - - if (w.config.states.normal.filter.type !== 'none') { - filters.getDefaultFilter(el, realIndex); - } else { - if (w.config.chart.dropShadow.enabled && drawShadow) { - if (!w.config.chart.dropShadow.enabledOnSeries || w.config.chart.dropShadow.enabledOnSeries && w.config.chart.dropShadow.enabledOnSeries.indexOf(realIndex) !== -1) { - var shadow = w.config.chart.dropShadow; - filters.dropShadow(el, shadow, realIndex); - } - } - } - - if (bindEventsOnPaths) { - el.node.addEventListener('mouseenter', this.pathMouseEnter.bind(this, el)); - el.node.addEventListener('mouseleave', this.pathMouseLeave.bind(this, el)); - el.node.addEventListener('mousedown', this.pathMouseDown.bind(this, el)); - } - - el.attr({ - pathTo: pathTo, - pathFrom: pathFrom - }); - var defaultAnimateOpts = { - el: el, - j: j, - realIndex: realIndex, - pathFrom: pathFrom, - pathTo: pathTo, - fill: fill, - strokeWidth: strokeWidth, - delay: animationDelay - }; - - if (initialAnim && !w.globals.resized && !w.globals.dataChanged) { - anim.animatePathsGradually(_objectSpread2(_objectSpread2({}, defaultAnimateOpts), {}, { - speed: initialSpeed - })); - } else { - if (w.globals.resized || !w.globals.dataChanged) { - anim.showDelayedElements(); - } - } - - if (w.globals.dataChanged && dynamicAnim && shouldAnimate) { - anim.animatePathsGradually(_objectSpread2(_objectSpread2({}, defaultAnimateOpts), {}, { - speed: dataChangeSpeed - })); - } - - return el; - } - }, { - key: "drawPattern", - value: function drawPattern(style, width, height) { - var stroke = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '#a8a8a8'; - var strokeWidth = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; - var w = this.w; - var p = w.globals.dom.Paper.pattern(width, height, function (add) { - if (style === 'horizontalLines') { - add.line(0, 0, height, 0).stroke({ - color: stroke, - width: strokeWidth + 1 - }); - } else if (style === 'verticalLines') { - add.line(0, 0, 0, width).stroke({ - color: stroke, - width: strokeWidth + 1 - }); - } else if (style === 'slantedLines') { - add.line(0, 0, width, height).stroke({ - color: stroke, - width: strokeWidth - }); - } else if (style === 'squares') { - add.rect(width, height).fill('none').stroke({ - color: stroke, - width: strokeWidth - }); - } else if (style === 'circles') { - add.circle(width).fill('none').stroke({ - color: stroke, - width: strokeWidth - }); - } - }); - return p; - } - }, { - key: "drawGradient", - value: function drawGradient(style, gfrom, gto, opacityFrom, opacityTo) { - var size = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null; - var stops = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null; - var colorStops = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null; - var i = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 0; - var w = this.w; - var g; - - if (gfrom.length < 9 && gfrom.indexOf('#') === 0) { - // if the hex contains alpha and is of 9 digit, skip the opacity - gfrom = Utils$1.hexToRgba(gfrom, opacityFrom); - } - - if (gto.length < 9 && gto.indexOf('#') === 0) { - gto = Utils$1.hexToRgba(gto, opacityTo); - } - - var stop1 = 0; - var stop2 = 1; - var stop3 = 1; - var stop4 = null; - - if (stops !== null) { - stop1 = typeof stops[0] !== 'undefined' ? stops[0] / 100 : 0; - stop2 = typeof stops[1] !== 'undefined' ? stops[1] / 100 : 1; - stop3 = typeof stops[2] !== 'undefined' ? stops[2] / 100 : 1; - stop4 = typeof stops[3] !== 'undefined' ? stops[3] / 100 : null; - } - - var radial = !!(w.config.chart.type === 'donut' || w.config.chart.type === 'pie' || w.config.chart.type === 'polarArea' || w.config.chart.type === 'bubble'); - - if (colorStops === null || colorStops.length === 0) { - g = w.globals.dom.Paper.gradient(radial ? 'radial' : 'linear', function (stop) { - stop.at(stop1, gfrom, opacityFrom); - stop.at(stop2, gto, opacityTo); - stop.at(stop3, gto, opacityTo); - - if (stop4 !== null) { - stop.at(stop4, gfrom, opacityFrom); - } - }); - } else { - g = w.globals.dom.Paper.gradient(radial ? 'radial' : 'linear', function (stop) { - var gradientStops = Array.isArray(colorStops[i]) ? colorStops[i] : colorStops; - gradientStops.forEach(function (s) { - stop.at(s.offset / 100, s.color, s.opacity); - }); - }); - } - - if (!radial) { - if (style === 'vertical') { - g.from(0, 0).to(0, 1); - } else if (style === 'diagonal') { - g.from(0, 0).to(1, 1); - } else if (style === 'horizontal') { - g.from(0, 1).to(1, 1); - } else if (style === 'diagonal2') { - g.from(1, 0).to(0, 1); - } - } else { - var offx = w.globals.gridWidth / 2; - var offy = w.globals.gridHeight / 2; - - if (w.config.chart.type !== 'bubble') { - g.attr({ - gradientUnits: 'userSpaceOnUse', - cx: offx, - cy: offy, - r: size - }); - } else { - g.attr({ - cx: 0.5, - cy: 0.5, - r: 0.8, - fx: 0.2, - fy: 0.2 - }); - } - } - - return g; - } - }, { - key: "getTextBasedOnMaxWidth", - value: function getTextBasedOnMaxWidth(_ref3) { - var text = _ref3.text, - maxWidth = _ref3.maxWidth, - fontSize = _ref3.fontSize, - fontFamily = _ref3.fontFamily; - var tRects = this.getTextRects(text, fontSize, fontFamily); - var wordWidth = tRects.width / text.length; - var wordsBasedOnWidth = Math.floor(maxWidth / wordWidth); - - if (maxWidth < tRects.width) { - return text.slice(0, wordsBasedOnWidth - 3) + '...'; - } - - return text; - } - }, { - key: "drawText", - value: function drawText(_ref4) { - var _this = this; - - var x = _ref4.x, - y = _ref4.y, - text = _ref4.text, - textAnchor = _ref4.textAnchor, - fontSize = _ref4.fontSize, - fontFamily = _ref4.fontFamily, - fontWeight = _ref4.fontWeight, - foreColor = _ref4.foreColor, - opacity = _ref4.opacity, - maxWidth = _ref4.maxWidth, - _ref4$cssClass = _ref4.cssClass, - cssClass = _ref4$cssClass === void 0 ? '' : _ref4$cssClass, - _ref4$isPlainText = _ref4.isPlainText, - isPlainText = _ref4$isPlainText === void 0 ? true : _ref4$isPlainText; - var w = this.w; - if (typeof text === 'undefined') text = ''; - var truncatedText = text; - - if (!textAnchor) { - textAnchor = 'start'; - } - - if (!foreColor || !foreColor.length) { - foreColor = w.config.chart.foreColor; - } - - fontFamily = fontFamily || w.config.chart.fontFamily; - fontSize = fontSize || '11px'; - fontWeight = fontWeight || 'regular'; - var commonProps = { - maxWidth: maxWidth, - fontSize: fontSize, - fontFamily: fontFamily - }; - var elText; - - if (Array.isArray(text)) { - elText = w.globals.dom.Paper.text(function (add) { - for (var i = 0; i < text.length; i++) { - truncatedText = text[i]; - - if (maxWidth) { - truncatedText = _this.getTextBasedOnMaxWidth(_objectSpread2({ - text: text[i] - }, commonProps)); - } - - i === 0 ? add.tspan(truncatedText) : add.tspan(truncatedText).newLine(); - } - }); - } else { - if (maxWidth) { - truncatedText = this.getTextBasedOnMaxWidth(_objectSpread2({ - text: text - }, commonProps)); - } - - elText = isPlainText ? w.globals.dom.Paper.plain(text) : w.globals.dom.Paper.text(function (add) { - return add.tspan(truncatedText); - }); - } - - elText.attr({ - x: x, - y: y, - 'text-anchor': textAnchor, - 'dominant-baseline': 'auto', - 'font-size': fontSize, - 'font-family': fontFamily, - 'font-weight': fontWeight, - fill: foreColor, - class: 'apexcharts-text ' + cssClass - }); - elText.node.style.fontFamily = fontFamily; - elText.node.style.opacity = opacity; - return elText; - } - }, { - key: "drawMarker", - value: function drawMarker(x, y, opts) { - x = x || 0; - var size = opts.pSize || 0; - var elPoint = null; - - if (opts.shape === 'square' || opts.shape === 'rect') { - var radius = opts.pRadius === undefined ? size / 2 : opts.pRadius; - - if (y === null || !size) { - size = 0; - radius = 0; - } - - var nSize = size * 1.2 + radius; - var p = this.drawRect(nSize, nSize, nSize, nSize, radius); - p.attr({ - x: x - nSize / 2, - y: y - nSize / 2, - cx: x, - cy: y, - class: opts.class ? opts.class : '', - fill: opts.pointFillColor, - 'fill-opacity': opts.pointFillOpacity ? opts.pointFillOpacity : 1, - stroke: opts.pointStrokeColor, - 'stroke-width': opts.pointStrokeWidth ? opts.pointStrokeWidth : 0, - 'stroke-opacity': opts.pointStrokeOpacity ? opts.pointStrokeOpacity : 1 - }); - elPoint = p; - } else if (opts.shape === 'circle' || !opts.shape) { - if (!Utils$1.isNumber(y)) { - size = 0; - y = 0; - } // let nSize = size - opts.pRadius / 2 < 0 ? 0 : size - opts.pRadius / 2 - - - elPoint = this.drawCircle(size, { - cx: x, - cy: y, - class: opts.class ? opts.class : '', - stroke: opts.pointStrokeColor, - fill: opts.pointFillColor, - 'fill-opacity': opts.pointFillOpacity ? opts.pointFillOpacity : 1, - 'stroke-width': opts.pointStrokeWidth ? opts.pointStrokeWidth : 0, - 'stroke-opacity': opts.pointStrokeOpacity ? opts.pointStrokeOpacity : 1 - }); - } - - return elPoint; - } - }, { - key: "pathMouseEnter", - value: function pathMouseEnter(path, e) { - var w = this.w; - var filters = new Filters(this.ctx); - var i = parseInt(path.node.getAttribute('index'), 10); - var j = parseInt(path.node.getAttribute('j'), 10); - - if (typeof w.config.chart.events.dataPointMouseEnter === 'function') { - w.config.chart.events.dataPointMouseEnter(e, this.ctx, { - seriesIndex: i, - dataPointIndex: j, - w: w - }); - } - - this.ctx.events.fireEvent('dataPointMouseEnter', [e, this.ctx, { - seriesIndex: i, - dataPointIndex: j, - w: w - }]); - - if (w.config.states.active.filter.type !== 'none') { - if (path.node.getAttribute('selected') === 'true') { - return; - } - } - - if (w.config.states.hover.filter.type !== 'none') { - if (!w.globals.isTouchDevice) { - var hoverFilter = w.config.states.hover.filter; - filters.applyFilter(path, i, hoverFilter.type, hoverFilter.value); - } - } - } - }, { - key: "pathMouseLeave", - value: function pathMouseLeave(path, e) { - var w = this.w; - var filters = new Filters(this.ctx); - var i = parseInt(path.node.getAttribute('index'), 10); - var j = parseInt(path.node.getAttribute('j'), 10); - - if (typeof w.config.chart.events.dataPointMouseLeave === 'function') { - w.config.chart.events.dataPointMouseLeave(e, this.ctx, { - seriesIndex: i, - dataPointIndex: j, - w: w - }); - } - - this.ctx.events.fireEvent('dataPointMouseLeave', [e, this.ctx, { - seriesIndex: i, - dataPointIndex: j, - w: w - }]); - - if (w.config.states.active.filter.type !== 'none') { - if (path.node.getAttribute('selected') === 'true') { - return; - } - } - - if (w.config.states.hover.filter.type !== 'none') { - filters.getDefaultFilter(path, i); - } - } - }, { - key: "pathMouseDown", - value: function pathMouseDown(path, e) { - var w = this.w; - var filters = new Filters(this.ctx); - var i = parseInt(path.node.getAttribute('index'), 10); - var j = parseInt(path.node.getAttribute('j'), 10); - var selected = 'false'; - - if (path.node.getAttribute('selected') === 'true') { - path.node.setAttribute('selected', 'false'); - - if (w.globals.selectedDataPoints[i].indexOf(j) > -1) { - var index = w.globals.selectedDataPoints[i].indexOf(j); - w.globals.selectedDataPoints[i].splice(index, 1); - } - } else { - if (!w.config.states.active.allowMultipleDataPointsSelection && w.globals.selectedDataPoints.length > 0) { - w.globals.selectedDataPoints = []; - var elPaths = w.globals.dom.Paper.select('.apexcharts-series path').members; - var elCircles = w.globals.dom.Paper.select('.apexcharts-series circle, .apexcharts-series rect').members; - - var deSelect = function deSelect(els) { - Array.prototype.forEach.call(els, function (el) { - el.node.setAttribute('selected', 'false'); - filters.getDefaultFilter(el, i); - }); - }; - - deSelect(elPaths); - deSelect(elCircles); - } - - path.node.setAttribute('selected', 'true'); - selected = 'true'; - - if (typeof w.globals.selectedDataPoints[i] === 'undefined') { - w.globals.selectedDataPoints[i] = []; - } - - w.globals.selectedDataPoints[i].push(j); - } - - if (selected === 'true') { - var activeFilter = w.config.states.active.filter; - - if (activeFilter !== 'none') { - filters.applyFilter(path, i, activeFilter.type, activeFilter.value); - } else { - // Reapply the hover filter in case it was removed by `deselect`when there is no active filter and it is not a touch device - if (w.config.states.hover.filter !== 'none') { - if (!w.globals.isTouchDevice) { - var hoverFilter = w.config.states.hover.filter; - filters.applyFilter(path, i, hoverFilter.type, hoverFilter.value); - } - } - } - } else { - // If the item was deselected, apply hover state filter if it is not a touch device - if (w.config.states.active.filter.type !== 'none') { - if (w.config.states.hover.filter.type !== 'none' && !w.globals.isTouchDevice) { - var hoverFilter = w.config.states.hover.filter; - filters.applyFilter(path, i, hoverFilter.type, hoverFilter.value); - } else { - filters.getDefaultFilter(path, i); - } - } - } - - if (typeof w.config.chart.events.dataPointSelection === 'function') { - w.config.chart.events.dataPointSelection(e, this.ctx, { - selectedDataPoints: w.globals.selectedDataPoints, - seriesIndex: i, - dataPointIndex: j, - w: w - }); - } - - if (e) { - this.ctx.events.fireEvent('dataPointSelection', [e, this.ctx, { - selectedDataPoints: w.globals.selectedDataPoints, - seriesIndex: i, - dataPointIndex: j, - w: w - }]); - } - } - }, { - key: "rotateAroundCenter", - value: function rotateAroundCenter(el) { - var coord = {}; - - if (el && typeof el.getBBox === 'function') { - coord = el.getBBox(); - } - - var x = coord.x + coord.width / 2; - var y = coord.y + coord.height / 2; - return { - x: x, - y: y - }; - } - }, { - key: "getTextRects", - value: function getTextRects(text, fontSize, fontFamily, transform) { - var useBBox = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; - var w = this.w; - var virtualText = this.drawText({ - x: -200, - y: -200, - text: text, - textAnchor: 'start', - fontSize: fontSize, - fontFamily: fontFamily, - foreColor: '#fff', - opacity: 0 - }); - - if (transform) { - virtualText.attr('transform', transform); - } - - w.globals.dom.Paper.add(virtualText); - var rect = virtualText.bbox(); - - if (!useBBox) { - rect = virtualText.node.getBoundingClientRect(); - } - - virtualText.remove(); - return { - width: rect.width, - height: rect.height - }; - } - /** - * append ... to long text - * http://stackoverflow.com/questions/9241315/trimming-text-to-a-given-pixel-width-in-svg - * @memberof Graphics - **/ - - }, { - key: "placeTextWithEllipsis", - value: function placeTextWithEllipsis(textObj, textString, width) { - if (typeof textObj.getComputedTextLength !== 'function') return; - textObj.textContent = textString; - - if (textString.length > 0) { - // ellipsis is needed - if (textObj.getComputedTextLength() >= width / 1.1) { - for (var x = textString.length - 3; x > 0; x -= 3) { - if (textObj.getSubStringLength(0, x) <= width / 1.1) { - textObj.textContent = textString.substring(0, x) + '...'; - return; - } - } - - textObj.textContent = '.'; // can't place at all - } - } - } - }], [{ - key: "setAttrs", - value: function setAttrs(el, attrs) { - for (var key in attrs) { - if (attrs.hasOwnProperty(key)) { - el.setAttribute(key, attrs[key]); - } - } - } - }]); - - return Graphics; - }(); - - /* - ** Util functions which are dependent on ApexCharts instance - */ - var CoreUtils = /*#__PURE__*/function () { - function CoreUtils(ctx) { - _classCallCheck(this, CoreUtils); - - this.ctx = ctx; - this.w = ctx.w; - } - - _createClass(CoreUtils, [{ - key: "getStackedSeriesTotals", - value: - /** - * @memberof CoreUtils - * returns the sum of all individual values in a multiple stacked series - * Eg. w.globals.series = [[32,33,43,12], [2,3,5,1]] - * @return [34,36,48,13] - **/ - function getStackedSeriesTotals() { - var w = this.w; - var total = []; - if (w.globals.series.length === 0) return total; - - for (var i = 0; i < w.globals.series[w.globals.maxValsInArrayIndex].length; i++) { - var t = 0; - - for (var j = 0; j < w.globals.series.length; j++) { - if (typeof w.globals.series[j][i] !== 'undefined') { - t += w.globals.series[j][i]; - } - } - - total.push(t); - } - - w.globals.stackedSeriesTotals = total; - return total; - } // get total of the all values inside all series - - }, { - key: "getSeriesTotalByIndex", - value: function getSeriesTotalByIndex() { - var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - - if (index === null) { - // non-plot chart types - pie / donut / circle - return this.w.config.series.reduce(function (acc, cur) { - return acc + cur; - }, 0); - } else { - // axis charts - supporting multiple series - return this.w.globals.series[index].reduce(function (acc, cur) { - return acc + cur; - }, 0); - } - } - }, { - key: "isSeriesNull", - value: function isSeriesNull() { - var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - var r = []; - - if (index === null) { - // non-plot chart types - pie / donut / circle - r = this.w.config.series.filter(function (d) { - return d !== null; - }); - } else { - // axis charts - supporting multiple series - r = this.w.config.series[index].data.filter(function (d) { - return d !== null; - }); - } - - return r.length === 0; - } - }, { - key: "seriesHaveSameValues", - value: function seriesHaveSameValues(index) { - return this.w.globals.series[index].every(function (val, i, arr) { - return val === arr[0]; - }); - } - }, { - key: "getCategoryLabels", - value: function getCategoryLabels(labels) { - var w = this.w; - var catLabels = labels.slice(); - - if (w.config.xaxis.convertedCatToNumeric) { - catLabels = labels.map(function (i, li) { - return w.config.xaxis.labels.formatter(i - w.globals.minX + 1); - }); - } - - return catLabels; - } // maxValsInArrayIndex is the index of series[] which has the largest number of items - - }, { - key: "getLargestSeries", - value: function getLargestSeries() { - var w = this.w; - w.globals.maxValsInArrayIndex = w.globals.series.map(function (a) { - return a.length; - }).indexOf(Math.max.apply(Math, w.globals.series.map(function (a) { - return a.length; - }))); - } - }, { - key: "getLargestMarkerSize", - value: function getLargestMarkerSize() { - var w = this.w; - var size = 0; - w.globals.markers.size.forEach(function (m) { - size = Math.max(size, m); - }); - - if (w.config.markers.discrete && w.config.markers.discrete.length) { - w.config.markers.discrete.forEach(function (m) { - size = Math.max(size, m.size); - }); - } - - if (size > 0) { - size += w.config.markers.hover.sizeOffset + 1; - } - - w.globals.markers.largestSize = size; - return size; - } - /** - * @memberof Core - * returns the sum of all values in a series - * Eg. w.globals.series = [[32,33,43,12], [2,3,5,1]] - * @return [120, 11] - **/ - - }, { - key: "getSeriesTotals", - value: function getSeriesTotals() { - var w = this.w; - w.globals.seriesTotals = w.globals.series.map(function (ser, index) { - var total = 0; - - if (Array.isArray(ser)) { - for (var j = 0; j < ser.length; j++) { - total += ser[j]; - } - } else { - // for pie/donuts/gauges - total += ser; - } - - return total; - }); - } - }, { - key: "getSeriesTotalsXRange", - value: function getSeriesTotalsXRange(minX, maxX) { - var w = this.w; - var seriesTotalsXRange = w.globals.series.map(function (ser, index) { - var total = 0; - - for (var j = 0; j < ser.length; j++) { - if (w.globals.seriesX[index][j] > minX && w.globals.seriesX[index][j] < maxX) { - total += ser[j]; - } - } - - return total; - }); - return seriesTotalsXRange; - } - /** - * @memberof CoreUtils - * returns the percentage value of all individual values which can be used in a 100% stacked series - * Eg. w.globals.series = [[32, 33, 43, 12], [2, 3, 5, 1]] - * @return [[94.11, 91.66, 89.58, 92.30], [5.88, 8.33, 10.41, 7.7]] - **/ - - }, { - key: "getPercentSeries", - value: function getPercentSeries() { - var w = this.w; - w.globals.seriesPercent = w.globals.series.map(function (ser, index) { - var seriesPercent = []; - - if (Array.isArray(ser)) { - for (var j = 0; j < ser.length; j++) { - var total = w.globals.stackedSeriesTotals[j]; - var percent = 0; - - if (total) { - percent = 100 * ser[j] / total; - } - - seriesPercent.push(percent); - } - } else { - var _total = w.globals.seriesTotals.reduce(function (acc, val) { - return acc + val; - }, 0); - - var _percent = 100 * ser / _total; - - seriesPercent.push(_percent); - } - - return seriesPercent; - }); - } - }, { - key: "getCalculatedRatios", - value: function getCalculatedRatios() { - var gl = this.w.globals; - var yRatio = []; - var invertedYRatio = 0; - var xRatio = 0; - var initialXRatio = 0; - var invertedXRatio = 0; - var zRatio = 0; - var baseLineY = []; - var baseLineInvertedY = 0.1; - var baseLineX = 0; - gl.yRange = []; - - if (gl.isMultipleYAxis) { - for (var i = 0; i < gl.minYArr.length; i++) { - gl.yRange.push(Math.abs(gl.minYArr[i] - gl.maxYArr[i])); - baseLineY.push(0); - } - } else { - gl.yRange.push(Math.abs(gl.minY - gl.maxY)); - } - - gl.xRange = Math.abs(gl.maxX - gl.minX); - gl.zRange = Math.abs(gl.maxZ - gl.minZ); // multiple y axis - - for (var _i = 0; _i < gl.yRange.length; _i++) { - yRatio.push(gl.yRange[_i] / gl.gridHeight); - } - - xRatio = gl.xRange / gl.gridWidth; - initialXRatio = Math.abs(gl.initialMaxX - gl.initialMinX) / gl.gridWidth; - invertedYRatio = gl.yRange / gl.gridWidth; - invertedXRatio = gl.xRange / gl.gridHeight; - zRatio = gl.zRange / gl.gridHeight * 16; - - if (!zRatio) { - zRatio = 1; - } - - if (gl.minY !== Number.MIN_VALUE && Math.abs(gl.minY) !== 0) { - // Negative numbers present in series - gl.hasNegs = true; - } - - if (gl.isMultipleYAxis) { - baseLineY = []; // baseline variables is the 0 of the yaxis which will be needed when there are negatives - - for (var _i2 = 0; _i2 < yRatio.length; _i2++) { - baseLineY.push(-gl.minYArr[_i2] / yRatio[_i2]); - } - } else { - baseLineY.push(-gl.minY / yRatio[0]); - - if (gl.minY !== Number.MIN_VALUE && Math.abs(gl.minY) !== 0) { - baseLineInvertedY = -gl.minY / invertedYRatio; // this is for bar chart - - baseLineX = gl.minX / xRatio; - } - } - - return { - yRatio: yRatio, - invertedYRatio: invertedYRatio, - zRatio: zRatio, - xRatio: xRatio, - initialXRatio: initialXRatio, - invertedXRatio: invertedXRatio, - baseLineInvertedY: baseLineInvertedY, - baseLineY: baseLineY, - baseLineX: baseLineX - }; - } - }, { - key: "getLogSeries", - value: function getLogSeries(series) { - var _this = this; - - var w = this.w; - w.globals.seriesLog = series.map(function (s, i) { - if (w.config.yaxis[i] && w.config.yaxis[i].logarithmic) { - return s.map(function (d) { - if (d === null) return null; - return _this.getLogVal(w.config.yaxis[i].logBase, d, i); - }); - } else { - return s; - } - }); - return w.globals.invalidLogScale ? series : w.globals.seriesLog; - } - }, { - key: "getBaseLog", - value: function getBaseLog(base, value) { - return Math.log(value) / Math.log(base); - } - }, { - key: "getLogVal", - value: function getLogVal(b, d, yIndex) { - if (d === 0) { - return 0; - } - - var w = this.w; - var min_log_val = w.globals.minYArr[yIndex] === 0 ? -1 // make sure we dont calculate log of 0 - : this.getBaseLog(b, w.globals.minYArr[yIndex]); - var max_log_val = w.globals.maxYArr[yIndex] === 0 ? 0 // make sure we dont calculate log of 0 - : this.getBaseLog(b, w.globals.maxYArr[yIndex]); - var number_of_height_levels = max_log_val - min_log_val; - if (d < 1) return d / number_of_height_levels; - var log_height_value = this.getBaseLog(b, d) - min_log_val; - return log_height_value / number_of_height_levels; - } - }, { - key: "getLogYRatios", - value: function getLogYRatios(yRatio) { - var _this2 = this; - - var w = this.w; - var gl = this.w.globals; - gl.yLogRatio = yRatio.slice(); - gl.logYRange = gl.yRange.map(function (yRange, i) { - if (w.config.yaxis[i] && _this2.w.config.yaxis[i].logarithmic) { - var maxY = -Number.MAX_VALUE; - var minY = Number.MIN_VALUE; - var range = 1; - gl.seriesLog.forEach(function (s, si) { - s.forEach(function (v) { - if (w.config.yaxis[si] && w.config.yaxis[si].logarithmic) { - maxY = Math.max(v, maxY); - minY = Math.min(v, minY); - } - }); - }); - range = Math.pow(gl.yRange[i], Math.abs(minY - maxY) / gl.yRange[i]); - gl.yLogRatio[i] = range / gl.gridHeight; - return range; - } - }); - return gl.invalidLogScale ? yRatio.slice() : gl.yLogRatio; - } // Some config objects can be array - and we need to extend them correctly - - }], [{ - key: "checkComboSeries", - value: function checkComboSeries(series) { - var comboCharts = false; - var comboBarCount = 0; - var comboCount = 0; // if user specified a type in series too, turn on comboCharts flag - - if (series.length && typeof series[0].type !== 'undefined') { - series.forEach(function (s) { - if (s.type === 'bar' || s.type === 'column' || s.type === 'candlestick' || s.type === 'boxPlot') { - comboBarCount++; - } - - if (typeof s.type !== 'undefined') { - comboCount++; - } - }); - } - - if (comboCount > 0) { - comboCharts = true; - } - - return { - comboBarCount: comboBarCount, - comboCharts: comboCharts - }; - } - }, { - key: "extendArrayProps", - value: function extendArrayProps(configInstance, options, w) { - if (options.yaxis) { - options = configInstance.extendYAxis(options, w); - } - - if (options.annotations) { - if (options.annotations.yaxis) { - options = configInstance.extendYAxisAnnotations(options); - } - - if (options.annotations.xaxis) { - options = configInstance.extendXAxisAnnotations(options); - } - - if (options.annotations.points) { - options = configInstance.extendPointAnnotations(options); - } - } - - return options; - } - }]); - - return CoreUtils; - }(); - - var Helpers$4 = /*#__PURE__*/function () { - function Helpers(annoCtx) { - _classCallCheck(this, Helpers); - - this.w = annoCtx.w; - this.annoCtx = annoCtx; - } - - _createClass(Helpers, [{ - key: "setOrientations", - value: function setOrientations(anno) { - var annoIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - var w = this.w; - - if (anno.label.orientation === 'vertical') { - var i = annoIndex !== null ? annoIndex : 0; - var xAnno = w.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(i, "']")); - - if (xAnno !== null) { - var xAnnoCoord = xAnno.getBoundingClientRect(); - xAnno.setAttribute('x', parseFloat(xAnno.getAttribute('x')) - xAnnoCoord.height + 4); - - if (anno.label.position === 'top') { - xAnno.setAttribute('y', parseFloat(xAnno.getAttribute('y')) + xAnnoCoord.width); - } else { - xAnno.setAttribute('y', parseFloat(xAnno.getAttribute('y')) - xAnnoCoord.width); - } - - var annoRotatingCenter = this.annoCtx.graphics.rotateAroundCenter(xAnno); - var x = annoRotatingCenter.x; - var y = annoRotatingCenter.y; - xAnno.setAttribute('transform', "rotate(-90 ".concat(x, " ").concat(y, ")")); - } - } - } - }, { - key: "addBackgroundToAnno", - value: function addBackgroundToAnno(annoEl, anno) { - var w = this.w; - if (!annoEl || typeof anno.label.text === 'undefined' || typeof anno.label.text !== 'undefined' && !String(anno.label.text).trim()) return null; - var elGridRect = w.globals.dom.baseEl.querySelector('.apexcharts-grid').getBoundingClientRect(); - var coords = annoEl.getBoundingClientRect(); - var pleft = anno.label.style.padding.left; - var pright = anno.label.style.padding.right; - var ptop = anno.label.style.padding.top; - var pbottom = anno.label.style.padding.bottom; - - if (anno.label.orientation === 'vertical') { - ptop = anno.label.style.padding.left; - pbottom = anno.label.style.padding.right; - pleft = anno.label.style.padding.top; - pright = anno.label.style.padding.bottom; - } - - var x1 = coords.left - elGridRect.left - pleft; - var y1 = coords.top - elGridRect.top - ptop; - var elRect = this.annoCtx.graphics.drawRect(x1 - w.globals.barPadForNumericAxis, y1, coords.width + pleft + pright, coords.height + ptop + pbottom, anno.label.borderRadius, anno.label.style.background, 1, anno.label.borderWidth, anno.label.borderColor, 0); - - if (anno.id) { - // don't escapeString for this ID as it causes duplicate rects - elRect.node.classList.add(anno.id); - } - - return elRect; - } - }, { - key: "annotationsBackground", - value: function annotationsBackground() { - var _this = this; - - var w = this.w; - - var add = function add(anno, i, type) { - var annoLabel = w.globals.dom.baseEl.querySelector(".apexcharts-".concat(type, "-annotations .apexcharts-").concat(type, "-annotation-label[rel='").concat(i, "']")); - - if (annoLabel) { - var parent = annoLabel.parentNode; - - var elRect = _this.addBackgroundToAnno(annoLabel, anno); - - if (elRect) { - parent.insertBefore(elRect.node, annoLabel); - - if (anno.label.mouseEnter) { - elRect.node.addEventListener('mouseenter', anno.label.mouseEnter.bind(_this, anno)); - } - - if (anno.label.mouseLeave) { - elRect.node.addEventListener('mouseleave', anno.label.mouseLeave.bind(_this, anno)); - } - - if (anno.label.click) { - elRect.node.addEventListener('click', anno.label.click.bind(_this, anno)); - } - } - } - }; - - w.config.annotations.xaxis.map(function (anno, i) { - add(anno, i, 'xaxis'); - }); - w.config.annotations.yaxis.map(function (anno, i) { - add(anno, i, 'yaxis'); - }); - w.config.annotations.points.map(function (anno, i) { - add(anno, i, 'point'); - }); - } - }, { - key: "getY1Y2", - value: function getY1Y2(type, anno) { - var y = type === 'y1' ? anno.y : anno.y2; - var yP; - var w = this.w; - - if (this.annoCtx.invertAxis) { - var catIndex = w.globals.labels.indexOf(y); - - if (w.config.xaxis.convertedCatToNumeric) { - catIndex = w.globals.categoryLabels.indexOf(y); - } - - var xLabel = w.globals.dom.baseEl.querySelector('.apexcharts-yaxis-texts-g text:nth-child(' + (catIndex + 1) + ')'); - - if (xLabel) { - yP = parseFloat(xLabel.getAttribute('y')); - } - } else { - var yPos; - - if (w.config.yaxis[anno.yAxisIndex].logarithmic) { - var coreUtils = new CoreUtils(this.annoCtx.ctx); - y = coreUtils.getLogVal(y, anno.yAxisIndex); - yPos = y / w.globals.yLogRatio[anno.yAxisIndex]; - } else { - yPos = (y - w.globals.minYArr[anno.yAxisIndex]) / (w.globals.yRange[anno.yAxisIndex] / w.globals.gridHeight); - } - - yP = w.globals.gridHeight - yPos; - - if (anno.marker && (anno.y === undefined || anno.y === null)) { - // point annotation - yP = 0; - } - - if (w.config.yaxis[anno.yAxisIndex] && w.config.yaxis[anno.yAxisIndex].reversed) { - yP = yPos; - } - } - - return yP; - } - }, { - key: "getX1X2", - value: function getX1X2(type, anno) { - var w = this.w; - var min = this.annoCtx.invertAxis ? w.globals.minY : w.globals.minX; - var max = this.annoCtx.invertAxis ? w.globals.maxY : w.globals.maxX; - var range = this.annoCtx.invertAxis ? w.globals.yRange[0] : w.globals.xRange; - var x1 = (anno.x - min) / (range / w.globals.gridWidth); - - if (this.annoCtx.inversedReversedAxis) { - x1 = (max - anno.x) / (range / w.globals.gridWidth); - } - - if ((w.config.xaxis.type === 'category' || w.config.xaxis.convertedCatToNumeric) && !this.annoCtx.invertAxis && !w.globals.dataFormatXNumeric) { - x1 = this.getStringX(anno.x); - } - - var x2 = (anno.x2 - min) / (range / w.globals.gridWidth); - - if (this.annoCtx.inversedReversedAxis) { - x2 = (max - anno.x2) / (range / w.globals.gridWidth); - } - - if ((w.config.xaxis.type === 'category' || w.config.xaxis.convertedCatToNumeric) && !this.annoCtx.invertAxis && !w.globals.dataFormatXNumeric) { - x2 = this.getStringX(anno.x2); - } - - if ((anno.x === undefined || anno.x === null) && anno.marker) { - // point annotation in a horizontal chart - x1 = w.globals.gridWidth; - } - - return type === 'x1' ? x1 : x2; - } - }, { - key: "getStringX", - value: function getStringX(x) { - var w = this.w; - var rX = x; - - if (w.config.xaxis.convertedCatToNumeric && w.globals.categoryLabels.length) { - x = w.globals.categoryLabels.indexOf(x) + 1; - } - - var catIndex = w.globals.labels.indexOf(x); - var xLabel = w.globals.dom.baseEl.querySelector('.apexcharts-xaxis-texts-g text:nth-child(' + (catIndex + 1) + ')'); - - if (xLabel) { - rX = parseFloat(xLabel.getAttribute('x')); - } - - return rX; - } - }]); - - return Helpers; - }(); - - var XAnnotations = /*#__PURE__*/function () { - function XAnnotations(annoCtx) { - _classCallCheck(this, XAnnotations); - - this.w = annoCtx.w; - this.annoCtx = annoCtx; - this.invertAxis = this.annoCtx.invertAxis; - this.helpers = new Helpers$4(this.annoCtx); - } - - _createClass(XAnnotations, [{ - key: "addXaxisAnnotation", - value: function addXaxisAnnotation(anno, parent, index) { - var w = this.w; - var x1 = this.helpers.getX1X2('x1', anno); - var x2; - var text = anno.label.text; - var strokeDashArray = anno.strokeDashArray; - if (!Utils$1.isNumber(x1)) return; - - if (anno.x2 === null || typeof anno.x2 === 'undefined') { - var line = this.annoCtx.graphics.drawLine(x1 + anno.offsetX, // x1 - 0 + anno.offsetY, // y1 - x1 + anno.offsetX, // x2 - w.globals.gridHeight + anno.offsetY, // y2 - anno.borderColor, // lineColor - strokeDashArray, //dashArray - anno.borderWidth); - parent.appendChild(line.node); - - if (anno.id) { - line.node.classList.add(anno.id); - } - } else { - x2 = this.helpers.getX1X2('x2', anno); - - if (x2 < x1) { - var temp = x1; - x1 = x2; - x2 = temp; - } - - var rect = this.annoCtx.graphics.drawRect(x1 + anno.offsetX, // x1 - 0 + anno.offsetY, // y1 - x2 - x1, // x2 - w.globals.gridHeight + anno.offsetY, // y2 - 0, // radius - anno.fillColor, // color - anno.opacity, // opacity, - 1, // strokeWidth - anno.borderColor, // strokeColor - strokeDashArray // stokeDashArray - ); - rect.node.classList.add('apexcharts-annotation-rect'); - rect.attr('clip-path', "url(#gridRectMask".concat(w.globals.cuid, ")")); - parent.appendChild(rect.node); - - if (anno.id) { - rect.node.classList.add(anno.id); - } - } - - var textY = anno.label.position === 'top' ? 4 : w.globals.gridHeight; - var textRects = this.annoCtx.graphics.getTextRects(text, parseFloat(anno.label.style.fontSize)); - var elText = this.annoCtx.graphics.drawText({ - x: x1 + anno.label.offsetX, - y: textY + anno.label.offsetY - (anno.label.orientation === 'vertical' ? anno.label.position === 'top' ? textRects.width / 2 - 12 : -textRects.width / 2 : 0), - text: text, - textAnchor: anno.label.textAnchor, - fontSize: anno.label.style.fontSize, - fontFamily: anno.label.style.fontFamily, - fontWeight: anno.label.style.fontWeight, - foreColor: anno.label.style.color, - cssClass: "apexcharts-xaxis-annotation-label ".concat(anno.label.style.cssClass, " ").concat(anno.id ? anno.id : '') - }); - elText.attr({ - rel: index - }); - parent.appendChild(elText.node); // after placing the annotations on svg, set any vertically placed annotations - - this.annoCtx.helpers.setOrientations(anno, index); - } - }, { - key: "drawXAxisAnnotations", - value: function drawXAxisAnnotations() { - var _this = this; - - var w = this.w; - var elg = this.annoCtx.graphics.group({ - class: 'apexcharts-xaxis-annotations' - }); - w.config.annotations.xaxis.map(function (anno, index) { - _this.addXaxisAnnotation(anno, elg.node, index); - }); - return elg; - } - }]); - - return XAnnotations; - }(); - - var YAnnotations = /*#__PURE__*/function () { - function YAnnotations(annoCtx) { - _classCallCheck(this, YAnnotations); - - this.w = annoCtx.w; - this.annoCtx = annoCtx; - this.helpers = new Helpers$4(this.annoCtx); - } - - _createClass(YAnnotations, [{ - key: "addYaxisAnnotation", - value: function addYaxisAnnotation(anno, parent, index) { - var w = this.w; - var strokeDashArray = anno.strokeDashArray; - var y1 = this.helpers.getY1Y2('y1', anno); - var y2; - var text = anno.label.text; - - if (anno.y2 === null || typeof anno.y2 === 'undefined') { - var line = this.annoCtx.graphics.drawLine(0 + anno.offsetX, // x1 - y1 + anno.offsetY, // y1 - this._getYAxisAnnotationWidth(anno), // x2 - y1 + anno.offsetY, // y2 - anno.borderColor, // lineColor - strokeDashArray, // dashArray - anno.borderWidth); - parent.appendChild(line.node); - - if (anno.id) { - line.node.classList.add(anno.id); - } - } else { - y2 = this.helpers.getY1Y2('y2', anno); - - if (y2 > y1) { - var temp = y1; - y1 = y2; - y2 = temp; - } - - var rect = this.annoCtx.graphics.drawRect(0 + anno.offsetX, // x1 - y2 + anno.offsetY, // y1 - this._getYAxisAnnotationWidth(anno), // x2 - y1 - y2, // y2 - 0, // radius - anno.fillColor, // color - anno.opacity, // opacity, - 1, // strokeWidth - anno.borderColor, // strokeColor - strokeDashArray // stokeDashArray - ); - rect.node.classList.add('apexcharts-annotation-rect'); - rect.attr('clip-path', "url(#gridRectMask".concat(w.globals.cuid, ")")); - parent.appendChild(rect.node); - - if (anno.id) { - rect.node.classList.add(anno.id); - } - } - - var textX = anno.label.position === 'right' ? w.globals.gridWidth : 0; - var elText = this.annoCtx.graphics.drawText({ - x: textX + anno.label.offsetX, - y: (y2 != null ? y2 : y1) + anno.label.offsetY - 3, - text: text, - textAnchor: anno.label.textAnchor, - fontSize: anno.label.style.fontSize, - fontFamily: anno.label.style.fontFamily, - fontWeight: anno.label.style.fontWeight, - foreColor: anno.label.style.color, - cssClass: "apexcharts-yaxis-annotation-label ".concat(anno.label.style.cssClass, " ").concat(anno.id ? anno.id : '') - }); - elText.attr({ - rel: index - }); - parent.appendChild(elText.node); - } - }, { - key: "_getYAxisAnnotationWidth", - value: function _getYAxisAnnotationWidth(anno) { - // issue apexcharts.js#2009 - var w = this.w; - var width = w.globals.gridWidth; - - if (anno.width.indexOf('%') > -1) { - width = w.globals.gridWidth * parseInt(anno.width, 10) / 100; - } else { - width = parseInt(anno.width, 10); - } - - return width + anno.offsetX; - } - }, { - key: "drawYAxisAnnotations", - value: function drawYAxisAnnotations() { - var _this = this; - - var w = this.w; - var elg = this.annoCtx.graphics.group({ - class: 'apexcharts-yaxis-annotations' - }); - w.config.annotations.yaxis.map(function (anno, index) { - _this.addYaxisAnnotation(anno, elg.node, index); - }); - return elg; - } - }]); - - return YAnnotations; - }(); - - var PointAnnotations = /*#__PURE__*/function () { - function PointAnnotations(annoCtx) { - _classCallCheck(this, PointAnnotations); - - this.w = annoCtx.w; - this.annoCtx = annoCtx; - this.helpers = new Helpers$4(this.annoCtx); - } - - _createClass(PointAnnotations, [{ - key: "addPointAnnotation", - value: function addPointAnnotation(anno, parent, index) { - this.w; - var x = this.helpers.getX1X2('x1', anno); - var y = this.helpers.getY1Y2('y1', anno); - if (!Utils$1.isNumber(x)) return; - var optsPoints = { - pSize: anno.marker.size, - pointStrokeWidth: anno.marker.strokeWidth, - pointFillColor: anno.marker.fillColor, - pointStrokeColor: anno.marker.strokeColor, - shape: anno.marker.shape, - pRadius: anno.marker.radius, - class: "apexcharts-point-annotation-marker ".concat(anno.marker.cssClass, " ").concat(anno.id ? anno.id : '') - }; - var point = this.annoCtx.graphics.drawMarker(x + anno.marker.offsetX, y + anno.marker.offsetY, optsPoints); - parent.appendChild(point.node); - var text = anno.label.text ? anno.label.text : ''; - var elText = this.annoCtx.graphics.drawText({ - x: x + anno.label.offsetX, - y: y + anno.label.offsetY - anno.marker.size - parseFloat(anno.label.style.fontSize) / 1.6, - text: text, - textAnchor: anno.label.textAnchor, - fontSize: anno.label.style.fontSize, - fontFamily: anno.label.style.fontFamily, - fontWeight: anno.label.style.fontWeight, - foreColor: anno.label.style.color, - cssClass: "apexcharts-point-annotation-label ".concat(anno.label.style.cssClass, " ").concat(anno.id ? anno.id : '') - }); - elText.attr({ - rel: index - }); - parent.appendChild(elText.node); // TODO: deprecate this as we will use custom - - if (anno.customSVG.SVG) { - var g = this.annoCtx.graphics.group({ - class: 'apexcharts-point-annotations-custom-svg ' + anno.customSVG.cssClass - }); - g.attr({ - transform: "translate(".concat(x + anno.customSVG.offsetX, ", ").concat(y + anno.customSVG.offsetY, ")") - }); - g.node.innerHTML = anno.customSVG.SVG; - parent.appendChild(g.node); - } - - if (anno.image.path) { - var imgWidth = anno.image.width ? anno.image.width : 20; - var imgHeight = anno.image.height ? anno.image.height : 20; - point = this.annoCtx.addImage({ - x: x + anno.image.offsetX - imgWidth / 2, - y: y + anno.image.offsetY - imgHeight / 2, - width: imgWidth, - height: imgHeight, - path: anno.image.path, - appendTo: '.apexcharts-point-annotations' - }); - } - - if (anno.mouseEnter) { - point.node.addEventListener('mouseenter', anno.mouseEnter.bind(this, anno)); - } - - if (anno.mouseLeave) { - point.node.addEventListener('mouseleave', anno.mouseLeave.bind(this, anno)); - } - - if (anno.click) { - point.node.addEventListener('click', anno.click.bind(this, anno)); - } - } - }, { - key: "drawPointAnnotations", - value: function drawPointAnnotations() { - var _this = this; - - var w = this.w; - var elg = this.annoCtx.graphics.group({ - class: 'apexcharts-point-annotations' - }); - w.config.annotations.points.map(function (anno, index) { - _this.addPointAnnotation(anno, elg.node, index); - }); - return elg; - } - }]); - - return PointAnnotations; - }(); - - const name = "en"; - const options = { - months: [ - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" - ], - shortMonths: [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec" - ], - days: [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - shortDays: [ - "Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat" - ], - toolbar: { - exportToSVG: "Download SVG", - exportToPNG: "Download PNG", - exportToCSV: "Download CSV", - menu: "Menu", - selection: "Selection", - selectionZoom: "Selection Zoom", - zoomIn: "Zoom In", - zoomOut: "Zoom Out", - pan: "Panning", - reset: "Reset Zoom" - } - }; - var en = { - name: name, - options: options - }; - - var Options = /*#__PURE__*/function () { - function Options() { - _classCallCheck(this, Options); - - this.yAxis = { - show: true, - showAlways: false, - showForNullSeries: true, - seriesName: undefined, - opposite: false, - reversed: false, - logarithmic: false, - logBase: 10, - tickAmount: undefined, - forceNiceScale: false, - max: undefined, - min: undefined, - floating: false, - decimalsInFloat: undefined, - labels: { - show: true, - minWidth: 0, - maxWidth: 160, - offsetX: 0, - offsetY: 0, - align: undefined, - rotate: 0, - padding: 20, - style: { - colors: [], - fontSize: '11px', - fontWeight: 400, - fontFamily: undefined, - cssClass: '' - }, - formatter: undefined - }, - axisBorder: { - show: false, - color: '#e0e0e0', - width: 1, - offsetX: 0, - offsetY: 0 - }, - axisTicks: { - show: false, - color: '#e0e0e0', - width: 6, - offsetX: 0, - offsetY: 0 - }, - title: { - text: undefined, - rotate: -90, - offsetY: 0, - offsetX: 0, - style: { - color: undefined, - fontSize: '11px', - fontWeight: 900, - fontFamily: undefined, - cssClass: '' - } - }, - tooltip: { - enabled: false, - offsetX: 0 - }, - crosshairs: { - show: true, - position: 'front', - stroke: { - color: '#b6b6b6', - width: 1, - dashArray: 0 - } - } - }; - this.pointAnnotation = { - id: undefined, - x: 0, - y: null, - yAxisIndex: 0, - seriesIndex: 0, - mouseEnter: undefined, - mouseLeave: undefined, - click: undefined, - marker: { - size: 4, - fillColor: '#fff', - strokeWidth: 2, - strokeColor: '#333', - shape: 'circle', - offsetX: 0, - offsetY: 0, - radius: 2, - cssClass: '' - }, - label: { - borderColor: '#c2c2c2', - borderWidth: 1, - borderRadius: 2, - text: undefined, - textAnchor: 'middle', - offsetX: 0, - offsetY: 0, - mouseEnter: undefined, - mouseLeave: undefined, - click: undefined, - style: { - background: '#fff', - color: undefined, - fontSize: '11px', - fontFamily: undefined, - fontWeight: 400, - cssClass: '', - padding: { - left: 5, - right: 5, - top: 2, - bottom: 2 - } - } - }, - customSVG: { - // this will be deprecated in the next major version as it is going to be replaced with a better alternative below - SVG: undefined, - cssClass: undefined, - offsetX: 0, - offsetY: 0 - }, - image: { - path: undefined, - width: 20, - height: 20, - offsetX: 0, - offsetY: 0 - } - }; - this.yAxisAnnotation = { - id: undefined, - y: 0, - y2: null, - strokeDashArray: 1, - fillColor: '#c2c2c2', - borderColor: '#c2c2c2', - borderWidth: 1, - opacity: 0.3, - offsetX: 0, - offsetY: 0, - width: '100%', - yAxisIndex: 0, - label: { - borderColor: '#c2c2c2', - borderWidth: 1, - borderRadius: 2, - text: undefined, - textAnchor: 'end', - position: 'right', - offsetX: 0, - offsetY: -3, - mouseEnter: undefined, - mouseLeave: undefined, - click: undefined, - style: { - background: '#fff', - color: undefined, - fontSize: '11px', - fontFamily: undefined, - fontWeight: 400, - cssClass: '', - padding: { - left: 5, - right: 5, - top: 2, - bottom: 2 - } - } - } - }; - this.xAxisAnnotation = { - id: undefined, - x: 0, - x2: null, - strokeDashArray: 1, - fillColor: '#c2c2c2', - borderColor: '#c2c2c2', - borderWidth: 1, - opacity: 0.3, - offsetX: 0, - offsetY: 0, - label: { - borderColor: '#c2c2c2', - borderWidth: 1, - borderRadius: 2, - text: undefined, - textAnchor: 'middle', - orientation: 'vertical', - position: 'top', - offsetX: 0, - offsetY: 0, - mouseEnter: undefined, - mouseLeave: undefined, - click: undefined, - style: { - background: '#fff', - color: undefined, - fontSize: '11px', - fontFamily: undefined, - fontWeight: 400, - cssClass: '', - padding: { - left: 5, - right: 5, - top: 2, - bottom: 2 - } - } - } - }; - this.text = { - x: 0, - y: 0, - text: '', - textAnchor: 'start', - foreColor: undefined, - fontSize: '13px', - fontFamily: undefined, - fontWeight: 400, - appendTo: '.apexcharts-annotations', - backgroundColor: 'transparent', - borderColor: '#c2c2c2', - borderRadius: 0, - borderWidth: 0, - paddingLeft: 4, - paddingRight: 4, - paddingTop: 2, - paddingBottom: 2 - }; - } - - _createClass(Options, [{ - key: "init", - value: function init() { - return { - annotations: { - position: 'front', - yaxis: [this.yAxisAnnotation], - xaxis: [this.xAxisAnnotation], - points: [this.pointAnnotation], - texts: [], - images: [], - shapes: [] - }, - chart: { - animations: { - enabled: true, - easing: 'easeinout', - // linear, easeout, easein, easeinout, swing, bounce, elastic - speed: 800, - animateGradually: { - delay: 150, - enabled: true - }, - dynamicAnimation: { - enabled: true, - speed: 350 - } - }, - background: 'transparent', - locales: [en], - defaultLocale: 'en', - dropShadow: { - enabled: false, - enabledOnSeries: undefined, - top: 2, - left: 2, - blur: 4, - color: '#000', - opacity: 0.35 - }, - events: { - animationEnd: undefined, - beforeMount: undefined, - mounted: undefined, - updated: undefined, - click: undefined, - mouseMove: undefined, - mouseLeave: undefined, - legendClick: undefined, - markerClick: undefined, - selection: undefined, - dataPointSelection: undefined, - dataPointMouseEnter: undefined, - dataPointMouseLeave: undefined, - beforeZoom: undefined, - beforeResetZoom: undefined, - zoomed: undefined, - scrolled: undefined, - brushScrolled: undefined - }, - foreColor: '#373d3f', - fontFamily: 'Helvetica, Arial, sans-serif', - height: 'auto', - parentHeightOffset: 15, - redrawOnParentResize: true, - redrawOnWindowResize: true, - id: undefined, - group: undefined, - offsetX: 0, - offsetY: 0, - selection: { - enabled: false, - type: 'x', - // selectedPoints: undefined, // default datapoints that should be selected automatically - fill: { - color: '#24292e', - opacity: 0.1 - }, - stroke: { - width: 1, - color: '#24292e', - opacity: 0.4, - dashArray: 3 - }, - xaxis: { - min: undefined, - max: undefined - }, - yaxis: { - min: undefined, - max: undefined - } - }, - sparkline: { - enabled: false - }, - brush: { - enabled: false, - autoScaleYaxis: true, - target: undefined - }, - stacked: false, - stackType: 'normal', - toolbar: { - show: true, - offsetX: 0, - offsetY: 0, - tools: { - download: true, - selection: true, - zoom: true, - zoomin: true, - zoomout: true, - pan: true, - reset: true, - customIcons: [] - }, - export: { - csv: { - filename: undefined, - columnDelimiter: ',', - headerCategory: 'category', - headerValue: 'value', - dateFormatter: function dateFormatter(timestamp) { - return new Date(timestamp).toDateString(); - } - }, - png: { - filename: undefined - }, - svg: { - filename: undefined - } - }, - autoSelected: 'zoom' // accepts -> zoom, pan, selection - - }, - type: 'line', - width: '100%', - zoom: { - enabled: true, - type: 'x', - autoScaleYaxis: false, - zoomedArea: { - fill: { - color: '#90CAF9', - opacity: 0.4 - }, - stroke: { - color: '#0D47A1', - opacity: 0.4, - width: 1 - } - } - } - }, - plotOptions: { - area: { - fillTo: 'origin' - }, - bar: { - horizontal: false, - columnWidth: '70%', - // should be in percent 0 - 100 - barHeight: '70%', - // should be in percent 0 - 100 - distributed: false, - borderRadius: 0, - rangeBarOverlap: true, - rangeBarGroupRows: false, - colors: { - ranges: [], - backgroundBarColors: [], - backgroundBarOpacity: 1, - backgroundBarRadius: 0 - }, - dataLabels: { - position: 'top', - // top, center, bottom - maxItems: 100, - hideOverflowingLabels: true, - orientation: 'horizontal' // TODO: provide stackedLabels for stacked charts which gives additions of values - - } - }, - bubble: { - minBubbleRadius: undefined, - maxBubbleRadius: undefined - }, - candlestick: { - colors: { - upward: '#00B746', - downward: '#EF403C' - }, - wick: { - useFillColor: true - } - }, - boxPlot: { - colors: { - upper: '#00E396', - lower: '#008FFB' - } - }, - heatmap: { - radius: 2, - enableShades: true, - shadeIntensity: 0.5, - reverseNegativeShade: false, - distributed: false, - useFillColorAsStroke: false, - colorScale: { - inverse: false, - ranges: [], - min: undefined, - max: undefined - } - }, - treemap: { - enableShades: true, - shadeIntensity: 0.5, - distributed: false, - reverseNegativeShade: false, - useFillColorAsStroke: false, - colorScale: { - inverse: false, - ranges: [], - min: undefined, - max: undefined - } - }, - radialBar: { - inverseOrder: false, - startAngle: 0, - endAngle: 360, - offsetX: 0, - offsetY: 0, - hollow: { - margin: 5, - size: '50%', - background: 'transparent', - image: undefined, - imageWidth: 150, - imageHeight: 150, - imageOffsetX: 0, - imageOffsetY: 0, - imageClipped: true, - position: 'front', - dropShadow: { - enabled: false, - top: 0, - left: 0, - blur: 3, - color: '#000', - opacity: 0.5 - } - }, - track: { - show: true, - startAngle: undefined, - endAngle: undefined, - background: '#f2f2f2', - strokeWidth: '97%', - opacity: 1, - margin: 5, - // margin is in pixels - dropShadow: { - enabled: false, - top: 0, - left: 0, - blur: 3, - color: '#000', - opacity: 0.5 - } - }, - dataLabels: { - show: true, - name: { - show: true, - fontSize: '16px', - fontFamily: undefined, - fontWeight: 600, - color: undefined, - offsetY: 0, - formatter: function formatter(val) { - return val; - } - }, - value: { - show: true, - fontSize: '14px', - fontFamily: undefined, - fontWeight: 400, - color: undefined, - offsetY: 16, - formatter: function formatter(val) { - return val + '%'; - } - }, - total: { - show: false, - label: 'Total', - fontSize: '16px', - fontWeight: 600, - fontFamily: undefined, - color: undefined, - formatter: function formatter(w) { - return w.globals.seriesTotals.reduce(function (a, b) { - return a + b; - }, 0) / w.globals.series.length + '%'; - } - } - } - }, - pie: { - customScale: 1, - offsetX: 0, - offsetY: 0, - startAngle: 0, - endAngle: 360, - expandOnClick: true, - dataLabels: { - // These are the percentage values which are displayed on slice - offset: 0, - // offset by which labels will move outside - minAngleToShowLabel: 10 - }, - donut: { - size: '65%', - background: 'transparent', - labels: { - // These are the inner labels appearing inside donut - show: false, - name: { - show: true, - fontSize: '16px', - fontFamily: undefined, - fontWeight: 600, - color: undefined, - offsetY: -10, - formatter: function formatter(val) { - return val; - } - }, - value: { - show: true, - fontSize: '20px', - fontFamily: undefined, - fontWeight: 400, - color: undefined, - offsetY: 10, - formatter: function formatter(val) { - return val; - } - }, - total: { - show: false, - showAlways: false, - label: 'Total', - fontSize: '16px', - fontWeight: 400, - fontFamily: undefined, - color: undefined, - formatter: function formatter(w) { - return w.globals.seriesTotals.reduce(function (a, b) { - return a + b; - }, 0); - } - } - } - } - }, - polarArea: { - rings: { - strokeWidth: 1, - strokeColor: '#e8e8e8' - }, - spokes: { - strokeWidth: 1, - connectorColors: '#e8e8e8' - } - }, - radar: { - size: undefined, - offsetX: 0, - offsetY: 0, - polygons: { - // strokeColor: '#e8e8e8', // should be deprecated in the minor version i.e 3.2 - strokeWidth: 1, - strokeColors: '#e8e8e8', - connectorColors: '#e8e8e8', - fill: { - colors: undefined - } - } - } - }, - colors: undefined, - dataLabels: { - enabled: true, - enabledOnSeries: undefined, - formatter: function formatter(val) { - return val !== null ? val : ''; - }, - textAnchor: 'middle', - distributed: false, - offsetX: 0, - offsetY: 0, - style: { - fontSize: '12px', - fontFamily: undefined, - fontWeight: 600, - colors: undefined - }, - background: { - enabled: true, - foreColor: '#fff', - borderRadius: 2, - padding: 4, - opacity: 0.9, - borderWidth: 1, - borderColor: '#fff', - dropShadow: { - enabled: false, - top: 1, - left: 1, - blur: 1, - color: '#000', - opacity: 0.45 - } - }, - dropShadow: { - enabled: false, - top: 1, - left: 1, - blur: 1, - color: '#000', - opacity: 0.45 - } - }, - fill: { - type: 'solid', - colors: undefined, - // array of colors - opacity: 0.85, - gradient: { - shade: 'dark', - type: 'horizontal', - shadeIntensity: 0.5, - gradientToColors: undefined, - inverseColors: true, - opacityFrom: 1, - opacityTo: 1, - stops: [0, 50, 100], - colorStops: [] - }, - image: { - src: [], - width: undefined, - // optional - height: undefined // optional - - }, - pattern: { - style: 'squares', - // String | Array of Strings - width: 6, - height: 6, - strokeWidth: 2 - } - }, - forecastDataPoints: { - count: 0, - fillOpacity: 0.5, - strokeWidth: undefined, - dashArray: 4 - }, - grid: { - show: true, - borderColor: '#e0e0e0', - strokeDashArray: 0, - position: 'back', - xaxis: { - lines: { - show: false - } - }, - yaxis: { - lines: { - show: true - } - }, - row: { - colors: undefined, - // takes as array which will be repeated on rows - opacity: 0.5 - }, - column: { - colors: undefined, - // takes an array which will be repeated on columns - opacity: 0.5 - }, - padding: { - top: 0, - right: 10, - bottom: 0, - left: 12 - } - }, - labels: [], - legend: { - show: true, - showForSingleSeries: false, - showForNullSeries: true, - showForZeroSeries: true, - floating: false, - position: 'bottom', - // whether to position legends in 1 of 4 - // direction - top, bottom, left, right - horizontalAlign: 'center', - // when position top/bottom, you can specify whether to align legends left, right or center - inverseOrder: false, - fontSize: '12px', - fontFamily: undefined, - fontWeight: 400, - width: undefined, - height: undefined, - formatter: undefined, - tooltipHoverFormatter: undefined, - offsetX: -20, - offsetY: 4, - customLegendItems: [], - labels: { - colors: undefined, - useSeriesColors: false - }, - markers: { - width: 12, - height: 12, - strokeWidth: 0, - fillColors: undefined, - strokeColor: '#fff', - radius: 12, - customHTML: undefined, - offsetX: 0, - offsetY: 0, - onClick: undefined - }, - itemMargin: { - horizontal: 5, - vertical: 2 - }, - onItemClick: { - toggleDataSeries: true - }, - onItemHover: { - highlightDataSeries: true - } - }, - markers: { - discrete: [], - size: 0, - colors: undefined, - //strokeColor: '#fff', // TODO: deprecate in major version 4.0 - strokeColors: '#fff', - strokeWidth: 2, - strokeOpacity: 0.9, - strokeDashArray: 0, - fillOpacity: 1, - shape: 'circle', - width: 8, - // only applicable when shape is rect/square - height: 8, - // only applicable when shape is rect/square - radius: 2, - offsetX: 0, - offsetY: 0, - onClick: undefined, - onDblClick: undefined, - showNullDataPoints: true, - hover: { - size: undefined, - sizeOffset: 3 - } - }, - noData: { - text: undefined, - align: 'center', - verticalAlign: 'middle', - offsetX: 0, - offsetY: 0, - style: { - color: undefined, - fontSize: '14px', - fontFamily: undefined - } - }, - responsive: [], - // breakpoints should follow ascending order 400, then 700, then 1000 - series: undefined, - states: { - normal: { - filter: { - type: 'none', - value: 0 - } - }, - hover: { - filter: { - type: 'lighten', - value: 0.1 - } - }, - active: { - allowMultipleDataPointsSelection: false, - filter: { - type: 'darken', - value: 0.5 - } - } - }, - title: { - text: undefined, - align: 'left', - margin: 5, - offsetX: 0, - offsetY: 0, - floating: false, - style: { - fontSize: '14px', - fontWeight: 900, - fontFamily: undefined, - color: undefined - } - }, - subtitle: { - text: undefined, - align: 'left', - margin: 5, - offsetX: 0, - offsetY: 30, - floating: false, - style: { - fontSize: '12px', - fontWeight: 400, - fontFamily: undefined, - color: undefined - } - }, - stroke: { - show: true, - curve: 'smooth', - // "smooth" / "straight" / "stepline" - lineCap: 'butt', - // round, butt , square - width: 2, - colors: undefined, - // array of colors - dashArray: 0, - // single value or array of values - fill: { - type: 'solid', - colors: undefined, - // array of colors - opacity: 0.85, - gradient: { - shade: 'dark', - type: 'horizontal', - shadeIntensity: 0.5, - gradientToColors: undefined, - inverseColors: true, - opacityFrom: 1, - opacityTo: 1, - stops: [0, 50, 100], - colorStops: [] - } - } - }, - tooltip: { - enabled: true, - enabledOnSeries: undefined, - shared: true, - followCursor: false, - // when disabled, the tooltip will show on top of the series instead of mouse position - intersect: false, - // when enabled, tooltip will only show when user directly hovers over point - inverseOrder: false, - custom: undefined, - fillSeriesColor: false, - theme: 'light', - cssClass: '', - style: { - fontSize: '12px', - fontFamily: undefined - }, - onDatasetHover: { - highlightDataSeries: false - }, - x: { - // x value - show: true, - format: 'dd MMM', - // dd/MM, dd MMM yy, dd MMM yyyy - formatter: undefined // a custom user supplied formatter function - - }, - y: { - formatter: undefined, - title: { - formatter: function formatter(seriesName) { - return seriesName ? seriesName + ': ' : ''; - } - } - }, - z: { - formatter: undefined, - title: 'Size: ' - }, - marker: { - show: true, - fillColors: undefined - }, - items: { - display: 'flex' - }, - fixed: { - enabled: false, - position: 'topRight', - // topRight, topLeft, bottomRight, bottomLeft - offsetX: 0, - offsetY: 0 - } - }, - xaxis: { - type: 'category', - categories: [], - convertedCatToNumeric: false, - // internal property which should not be altered outside - offsetX: 0, - offsetY: 0, - overwriteCategories: undefined, - labels: { - show: true, - rotate: -45, - rotateAlways: false, - hideOverlappingLabels: true, - trim: false, - minHeight: undefined, - maxHeight: 120, - showDuplicates: true, - style: { - colors: [], - fontSize: '12px', - fontWeight: 400, - fontFamily: undefined, - cssClass: '' - }, - offsetX: 0, - offsetY: 0, - format: undefined, - formatter: undefined, - // custom formatter function which will override format - datetimeUTC: true, - datetimeFormatter: { - year: 'yyyy', - month: "MMM 'yy", - day: 'dd MMM', - hour: 'HH:mm', - minute: 'HH:mm:ss', - second: 'HH:mm:ss' - } - }, - group: { - groups: [], - style: { - colors: [], - fontSize: '12px', - fontWeight: 400, - fontFamily: undefined, - cssClass: '' - } - }, - axisBorder: { - show: true, - color: '#e0e0e0', - width: '100%', - height: 1, - offsetX: 0, - offsetY: 0 - }, - axisTicks: { - show: true, - color: '#e0e0e0', - height: 6, - offsetX: 0, - offsetY: 0 - }, - tickAmount: undefined, - tickPlacement: 'on', - min: undefined, - max: undefined, - range: undefined, - floating: false, - decimalsInFloat: undefined, - position: 'bottom', - title: { - text: undefined, - offsetX: 0, - offsetY: 0, - style: { - color: undefined, - fontSize: '12px', - fontWeight: 900, - fontFamily: undefined, - cssClass: '' - } - }, - crosshairs: { - show: true, - width: 1, - // tickWidth/barWidth or an integer - position: 'back', - opacity: 0.9, - stroke: { - color: '#b6b6b6', - width: 1, - dashArray: 3 - }, - fill: { - type: 'solid', - // solid, gradient - color: '#B1B9C4', - gradient: { - colorFrom: '#D8E3F0', - colorTo: '#BED1E6', - stops: [0, 100], - opacityFrom: 0.4, - opacityTo: 0.5 - } - }, - dropShadow: { - enabled: false, - left: 0, - top: 0, - blur: 1, - opacity: 0.4 - } - }, - tooltip: { - enabled: true, - offsetY: 0, - formatter: undefined, - style: { - fontSize: '12px', - fontFamily: undefined - } - } - }, - yaxis: this.yAxis, - theme: { - mode: 'light', - palette: 'palette1', - // If defined, it will overwrite globals.colors variable - monochrome: { - // monochrome allows you to select just 1 color and fill out the rest with light/dark shade (intensity can be selected) - enabled: false, - color: '#008FFB', - shadeTo: 'light', - shadeIntensity: 0.65 - } - } - }; - } - }]); - - return Options; - }(); - - /** - * ApexCharts Annotations Class for drawing lines/rects on both xaxis and yaxis. - * - * @module Annotations - **/ - - var Annotations = /*#__PURE__*/function () { - function Annotations(ctx) { - _classCallCheck(this, Annotations); - - this.ctx = ctx; - this.w = ctx.w; - this.graphics = new Graphics(this.ctx); - - if (this.w.globals.isBarHorizontal) { - this.invertAxis = true; - } - - this.helpers = new Helpers$4(this); - this.xAxisAnnotations = new XAnnotations(this); - this.yAxisAnnotations = new YAnnotations(this); - this.pointsAnnotations = new PointAnnotations(this); - - if (this.w.globals.isBarHorizontal && this.w.config.yaxis[0].reversed) { - this.inversedReversedAxis = true; - } - - this.xDivision = this.w.globals.gridWidth / this.w.globals.dataPoints; - } - - _createClass(Annotations, [{ - key: "drawAxesAnnotations", - value: function drawAxesAnnotations() { - var w = this.w; - - if (w.globals.axisCharts) { - var yAnnotations = this.yAxisAnnotations.drawYAxisAnnotations(); - var xAnnotations = this.xAxisAnnotations.drawXAxisAnnotations(); - var pointAnnotations = this.pointsAnnotations.drawPointAnnotations(); - var initialAnim = w.config.chart.animations.enabled; - var annoArray = [yAnnotations, xAnnotations, pointAnnotations]; - var annoElArray = [xAnnotations.node, yAnnotations.node, pointAnnotations.node]; - - for (var i = 0; i < 3; i++) { - w.globals.dom.elGraphical.add(annoArray[i]); - - if (initialAnim && !w.globals.resized && !w.globals.dataChanged) { - // fixes apexcharts/apexcharts.js#685 - if (w.config.chart.type !== 'scatter' && w.config.chart.type !== 'bubble' && w.globals.dataPoints > 1) { - annoElArray[i].classList.add('apexcharts-element-hidden'); - } - } - - w.globals.delayedElements.push({ - el: annoElArray[i], - index: 0 - }); - } // background sizes needs to be calculated after text is drawn, so calling them last - - - this.helpers.annotationsBackground(); - } - } - }, { - key: "drawImageAnnos", - value: function drawImageAnnos() { - var _this = this; - - var w = this.w; - w.config.annotations.images.map(function (s, index) { - _this.addImage(s, index); - }); - } - }, { - key: "drawTextAnnos", - value: function drawTextAnnos() { - var _this2 = this; - - var w = this.w; - w.config.annotations.texts.map(function (t, index) { - _this2.addText(t, index); - }); - } - }, { - key: "addXaxisAnnotation", - value: function addXaxisAnnotation(anno, parent, index) { - this.xAxisAnnotations.addXaxisAnnotation(anno, parent, index); - } - }, { - key: "addYaxisAnnotation", - value: function addYaxisAnnotation(anno, parent, index) { - this.yAxisAnnotations.addYaxisAnnotation(anno, parent, index); - } - }, { - key: "addPointAnnotation", - value: function addPointAnnotation(anno, parent, index) { - this.pointsAnnotations.addPointAnnotation(anno, parent, index); - } - }, { - key: "addText", - value: function addText(params, index) { - var x = params.x, - y = params.y, - text = params.text, - textAnchor = params.textAnchor, - foreColor = params.foreColor, - fontSize = params.fontSize, - fontFamily = params.fontFamily, - fontWeight = params.fontWeight, - cssClass = params.cssClass, - backgroundColor = params.backgroundColor, - borderWidth = params.borderWidth, - strokeDashArray = params.strokeDashArray, - borderRadius = params.borderRadius, - borderColor = params.borderColor, - _params$appendTo = params.appendTo, - appendTo = _params$appendTo === void 0 ? '.apexcharts-annotations' : _params$appendTo, - _params$paddingLeft = params.paddingLeft, - paddingLeft = _params$paddingLeft === void 0 ? 4 : _params$paddingLeft, - _params$paddingRight = params.paddingRight, - paddingRight = _params$paddingRight === void 0 ? 4 : _params$paddingRight, - _params$paddingBottom = params.paddingBottom, - paddingBottom = _params$paddingBottom === void 0 ? 2 : _params$paddingBottom, - _params$paddingTop = params.paddingTop, - paddingTop = _params$paddingTop === void 0 ? 2 : _params$paddingTop; - var w = this.w; - var elText = this.graphics.drawText({ - x: x, - y: y, - text: text, - textAnchor: textAnchor || 'start', - fontSize: fontSize || '12px', - fontWeight: fontWeight || 'regular', - fontFamily: fontFamily || w.config.chart.fontFamily, - foreColor: foreColor || w.config.chart.foreColor, - cssClass: 'apexcharts-text ' + cssClass ? cssClass : '' - }); - var parent = w.globals.dom.baseEl.querySelector(appendTo); - - if (parent) { - parent.appendChild(elText.node); - } - - var textRect = elText.bbox(); - - if (text) { - var elRect = this.graphics.drawRect(textRect.x - paddingLeft, textRect.y - paddingTop, textRect.width + paddingLeft + paddingRight, textRect.height + paddingBottom + paddingTop, borderRadius, backgroundColor ? backgroundColor : 'transparent', 1, borderWidth, borderColor, strokeDashArray); - parent.insertBefore(elRect.node, elText.node); - } - } - }, { - key: "addImage", - value: function addImage(params, index) { - var w = this.w; - var path = params.path, - _params$x = params.x, - x = _params$x === void 0 ? 0 : _params$x, - _params$y = params.y, - y = _params$y === void 0 ? 0 : _params$y, - _params$width = params.width, - width = _params$width === void 0 ? 20 : _params$width, - _params$height = params.height, - height = _params$height === void 0 ? 20 : _params$height, - _params$appendTo2 = params.appendTo, - appendTo = _params$appendTo2 === void 0 ? '.apexcharts-annotations' : _params$appendTo2; - var img = w.globals.dom.Paper.image(path); - img.size(width, height).move(x, y); - var parent = w.globals.dom.baseEl.querySelector(appendTo); - - if (parent) { - parent.appendChild(img.node); - } - - return img; - } // The addXaxisAnnotation method requires a parent class, and user calling this method externally on the chart instance may not specify parent, hence a different method - - }, { - key: "addXaxisAnnotationExternal", - value: function addXaxisAnnotationExternal(params, pushToMemory, context) { - this.addAnnotationExternal({ - params: params, - pushToMemory: pushToMemory, - context: context, - type: 'xaxis', - contextMethod: context.addXaxisAnnotation - }); - return context; - } - }, { - key: "addYaxisAnnotationExternal", - value: function addYaxisAnnotationExternal(params, pushToMemory, context) { - this.addAnnotationExternal({ - params: params, - pushToMemory: pushToMemory, - context: context, - type: 'yaxis', - contextMethod: context.addYaxisAnnotation - }); - return context; - } - }, { - key: "addPointAnnotationExternal", - value: function addPointAnnotationExternal(params, pushToMemory, context) { - if (typeof this.invertAxis === 'undefined') { - this.invertAxis = context.w.globals.isBarHorizontal; - } - - this.addAnnotationExternal({ - params: params, - pushToMemory: pushToMemory, - context: context, - type: 'point', - contextMethod: context.addPointAnnotation - }); - return context; - } - }, { - key: "addAnnotationExternal", - value: function addAnnotationExternal(_ref) { - var params = _ref.params, - pushToMemory = _ref.pushToMemory, - context = _ref.context, - type = _ref.type, - contextMethod = _ref.contextMethod; - var me = context; - var w = me.w; - var parent = w.globals.dom.baseEl.querySelector(".apexcharts-".concat(type, "-annotations")); - var index = parent.childNodes.length + 1; - var options = new Options(); - var axesAnno = Object.assign({}, type === 'xaxis' ? options.xAxisAnnotation : type === 'yaxis' ? options.yAxisAnnotation : options.pointAnnotation); - var anno = Utils$1.extend(axesAnno, params); - - switch (type) { - case 'xaxis': - this.addXaxisAnnotation(anno, parent, index); - break; - - case 'yaxis': - this.addYaxisAnnotation(anno, parent, index); - break; - - case 'point': - this.addPointAnnotation(anno, parent, index); - break; - } // add background - - - var axesAnnoLabel = w.globals.dom.baseEl.querySelector(".apexcharts-".concat(type, "-annotations .apexcharts-").concat(type, "-annotation-label[rel='").concat(index, "']")); - var elRect = this.helpers.addBackgroundToAnno(axesAnnoLabel, anno); - - if (elRect) { - parent.insertBefore(elRect.node, axesAnnoLabel); - } - - if (pushToMemory) { - w.globals.memory.methodsToExec.push({ - context: me, - id: anno.id ? anno.id : Utils$1.randomId(), - method: contextMethod, - label: 'addAnnotation', - params: params - }); - } - - return context; - } - }, { - key: "clearAnnotations", - value: function clearAnnotations(ctx) { - var w = ctx.w; - var annos = w.globals.dom.baseEl.querySelectorAll('.apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations'); // annotations added externally should be cleared out too - - w.globals.memory.methodsToExec.map(function (m, i) { - if (m.label === 'addText' || m.label === 'addAnnotation') { - w.globals.memory.methodsToExec.splice(i, 1); - } - }); - annos = Utils$1.listToArray(annos); // delete the DOM elements - - Array.prototype.forEach.call(annos, function (a) { - while (a.firstChild) { - a.removeChild(a.firstChild); - } - }); - } - }, { - key: "removeAnnotation", - value: function removeAnnotation(ctx, id) { - var w = ctx.w; - var annos = w.globals.dom.baseEl.querySelectorAll(".".concat(id)); - - if (annos) { - w.globals.memory.methodsToExec.map(function (m, i) { - if (m.id === id) { - w.globals.memory.methodsToExec.splice(i, 1); - } - }); - Array.prototype.forEach.call(annos, function (a) { - a.parentElement.removeChild(a); - }); - } - } - }]); - - return Annotations; - }(); - - /** - * ApexCharts Fill Class for setting fill options of the paths. - * - * @module Fill - **/ - - var Fill = /*#__PURE__*/function () { - function Fill(ctx) { - _classCallCheck(this, Fill); - - this.ctx = ctx; - this.w = ctx.w; - this.opts = null; - this.seriesIndex = 0; - } - - _createClass(Fill, [{ - key: "clippedImgArea", - value: function clippedImgArea(params) { - var w = this.w; - var cnf = w.config; - var svgW = parseInt(w.globals.gridWidth, 10); - var svgH = parseInt(w.globals.gridHeight, 10); - var size = svgW > svgH ? svgW : svgH; - var fillImg = params.image; - var imgWidth = 0; - var imgHeight = 0; - - if (typeof params.width === 'undefined' && typeof params.height === 'undefined') { - if (cnf.fill.image.width !== undefined && cnf.fill.image.height !== undefined) { - imgWidth = cnf.fill.image.width + 1; - imgHeight = cnf.fill.image.height; - } else { - imgWidth = size + 1; - imgHeight = size; - } - } else { - imgWidth = params.width; - imgHeight = params.height; - } - - var elPattern = document.createElementNS(w.globals.SVGNS, 'pattern'); - Graphics.setAttrs(elPattern, { - id: params.patternID, - patternUnits: params.patternUnits ? params.patternUnits : 'userSpaceOnUse', - width: imgWidth + 'px', - height: imgHeight + 'px' - }); - var elImage = document.createElementNS(w.globals.SVGNS, 'image'); - elPattern.appendChild(elImage); - elImage.setAttributeNS(window.SVG.xlink, 'href', fillImg); - Graphics.setAttrs(elImage, { - x: 0, - y: 0, - preserveAspectRatio: 'none', - width: imgWidth + 'px', - height: imgHeight + 'px' - }); - elImage.style.opacity = params.opacity; - w.globals.dom.elDefs.node.appendChild(elPattern); - } - }, { - key: "getSeriesIndex", - value: function getSeriesIndex(opts) { - var w = this.w; - - if ((w.config.chart.type === 'bar' || w.config.chart.type === 'rangeBar') && w.config.plotOptions.bar.distributed || w.config.chart.type === 'heatmap' || w.config.chart.type === 'treemap') { - this.seriesIndex = opts.seriesNumber; - } else { - this.seriesIndex = opts.seriesNumber % w.globals.series.length; - } - - return this.seriesIndex; - } - }, { - key: "fillPath", - value: function fillPath(opts) { - var w = this.w; - this.opts = opts; - var cnf = this.w.config; - var pathFill; - var patternFill, gradientFill; - this.seriesIndex = this.getSeriesIndex(opts); - var fillColors = this.getFillColors(); - var fillColor = fillColors[this.seriesIndex]; //override fillcolor if user inputted color with data - - if (w.globals.seriesColors[this.seriesIndex] !== undefined) { - fillColor = w.globals.seriesColors[this.seriesIndex]; - } - - if (typeof fillColor === 'function') { - fillColor = fillColor({ - seriesIndex: this.seriesIndex, - dataPointIndex: opts.dataPointIndex, - value: opts.value, - w: w - }); - } - - var fillType = this.getFillType(this.seriesIndex); - var fillOpacity = Array.isArray(cnf.fill.opacity) ? cnf.fill.opacity[this.seriesIndex] : cnf.fill.opacity; - - if (opts.color) { - fillColor = opts.color; - } - - var defaultColor = fillColor; - - if (fillColor.indexOf('rgb') === -1) { - if (fillColor.length < 9) { - // if the hex contains alpha and is of 9 digit, skip the opacity - defaultColor = Utils$1.hexToRgba(fillColor, fillOpacity); - } - } else { - if (fillColor.indexOf('rgba') > -1) { - fillOpacity = Utils$1.getOpacityFromRGBA(fillColor); - } - } - - if (opts.opacity) fillOpacity = opts.opacity; - - if (fillType === 'pattern') { - patternFill = this.handlePatternFill(patternFill, fillColor, fillOpacity, defaultColor); - } - - if (fillType === 'gradient') { - gradientFill = this.handleGradientFill(fillColor, fillOpacity, this.seriesIndex); - } - - if (fillType === 'image') { - var imgSrc = cnf.fill.image.src; - var patternID = opts.patternID ? opts.patternID : ''; - this.clippedImgArea({ - opacity: fillOpacity, - image: Array.isArray(imgSrc) ? opts.seriesNumber < imgSrc.length ? imgSrc[opts.seriesNumber] : imgSrc[0] : imgSrc, - width: opts.width ? opts.width : undefined, - height: opts.height ? opts.height : undefined, - patternUnits: opts.patternUnits, - patternID: "pattern".concat(w.globals.cuid).concat(opts.seriesNumber + 1).concat(patternID) - }); - pathFill = "url(#pattern".concat(w.globals.cuid).concat(opts.seriesNumber + 1).concat(patternID, ")"); - } else if (fillType === 'gradient') { - pathFill = gradientFill; - } else if (fillType === 'pattern') { - pathFill = patternFill; - } else { - pathFill = defaultColor; - } // override pattern/gradient if opts.solid is true - - - if (opts.solid) { - pathFill = defaultColor; - } - - return pathFill; - } - }, { - key: "getFillType", - value: function getFillType(seriesIndex) { - var w = this.w; - - if (Array.isArray(w.config.fill.type)) { - return w.config.fill.type[seriesIndex]; - } else { - return w.config.fill.type; - } - } - }, { - key: "getFillColors", - value: function getFillColors() { - var w = this.w; - var cnf = w.config; - var opts = this.opts; - var fillColors = []; - - if (w.globals.comboCharts) { - if (w.config.series[this.seriesIndex].type === 'line') { - if (Array.isArray(w.globals.stroke.colors)) { - fillColors = w.globals.stroke.colors; - } else { - fillColors.push(w.globals.stroke.colors); - } - } else { - if (Array.isArray(w.globals.fill.colors)) { - fillColors = w.globals.fill.colors; - } else { - fillColors.push(w.globals.fill.colors); - } - } - } else { - if (cnf.chart.type === 'line') { - if (Array.isArray(w.globals.stroke.colors)) { - fillColors = w.globals.stroke.colors; - } else { - fillColors.push(w.globals.stroke.colors); - } - } else { - if (Array.isArray(w.globals.fill.colors)) { - fillColors = w.globals.fill.colors; - } else { - fillColors.push(w.globals.fill.colors); - } - } - } // colors passed in arguments - - - if (typeof opts.fillColors !== 'undefined') { - fillColors = []; - - if (Array.isArray(opts.fillColors)) { - fillColors = opts.fillColors.slice(); - } else { - fillColors.push(opts.fillColors); - } - } - - return fillColors; - } - }, { - key: "handlePatternFill", - value: function handlePatternFill(patternFill, fillColor, fillOpacity, defaultColor) { - var cnf = this.w.config; - var opts = this.opts; - var graphics = new Graphics(this.ctx); - var patternStrokeWidth = cnf.fill.pattern.strokeWidth === undefined ? Array.isArray(cnf.stroke.width) ? cnf.stroke.width[this.seriesIndex] : cnf.stroke.width : Array.isArray(cnf.fill.pattern.strokeWidth) ? cnf.fill.pattern.strokeWidth[this.seriesIndex] : cnf.fill.pattern.strokeWidth; - var patternLineColor = fillColor; - - if (Array.isArray(cnf.fill.pattern.style)) { - if (typeof cnf.fill.pattern.style[opts.seriesNumber] !== 'undefined') { - var pf = graphics.drawPattern(cnf.fill.pattern.style[opts.seriesNumber], cnf.fill.pattern.width, cnf.fill.pattern.height, patternLineColor, patternStrokeWidth, fillOpacity); - patternFill = pf; - } else { - patternFill = defaultColor; - } - } else { - patternFill = graphics.drawPattern(cnf.fill.pattern.style, cnf.fill.pattern.width, cnf.fill.pattern.height, patternLineColor, patternStrokeWidth, fillOpacity); - } - - return patternFill; - } - }, { - key: "handleGradientFill", - value: function handleGradientFill(fillColor, fillOpacity, i) { - var cnf = this.w.config; - var opts = this.opts; - var graphics = new Graphics(this.ctx); - var utils = new Utils$1(); - var type = cnf.fill.gradient.type; - var gradientFrom = fillColor; - var gradientTo; - var opacityFrom = cnf.fill.gradient.opacityFrom === undefined ? fillOpacity : Array.isArray(cnf.fill.gradient.opacityFrom) ? cnf.fill.gradient.opacityFrom[i] : cnf.fill.gradient.opacityFrom; - - if (gradientFrom.indexOf('rgba') > -1) { - opacityFrom = Utils$1.getOpacityFromRGBA(gradientFrom); - } - - var opacityTo = cnf.fill.gradient.opacityTo === undefined ? fillOpacity : Array.isArray(cnf.fill.gradient.opacityTo) ? cnf.fill.gradient.opacityTo[i] : cnf.fill.gradient.opacityTo; - - if (cnf.fill.gradient.gradientToColors === undefined || cnf.fill.gradient.gradientToColors.length === 0) { - if (cnf.fill.gradient.shade === 'dark') { - gradientTo = utils.shadeColor(parseFloat(cnf.fill.gradient.shadeIntensity) * -1, fillColor.indexOf('rgb') > -1 ? Utils$1.rgb2hex(fillColor) : fillColor); - } else { - gradientTo = utils.shadeColor(parseFloat(cnf.fill.gradient.shadeIntensity), fillColor.indexOf('rgb') > -1 ? Utils$1.rgb2hex(fillColor) : fillColor); - } - } else { - if (cnf.fill.gradient.gradientToColors[opts.seriesNumber]) { - var gToColor = cnf.fill.gradient.gradientToColors[opts.seriesNumber]; - gradientTo = gToColor; - - if (gToColor.indexOf('rgba') > -1) { - opacityTo = Utils$1.getOpacityFromRGBA(gToColor); - } - } else { - gradientTo = fillColor; - } - } - - if (cnf.fill.gradient.inverseColors) { - var t = gradientFrom; - gradientFrom = gradientTo; - gradientTo = t; - } - - if (gradientFrom.indexOf('rgb') > -1) { - gradientFrom = Utils$1.rgb2hex(gradientFrom); - } - - if (gradientTo.indexOf('rgb') > -1) { - gradientTo = Utils$1.rgb2hex(gradientTo); - } - - return graphics.drawGradient(type, gradientFrom, gradientTo, opacityFrom, opacityTo, opts.size, cnf.fill.gradient.stops, cnf.fill.gradient.colorStops, i); - } - }]); - - return Fill; - }(); - - /** - * ApexCharts Markers Class for drawing points on y values in axes charts. - * - * @module Markers - **/ - - var Markers = /*#__PURE__*/function () { - function Markers(ctx, opts) { - _classCallCheck(this, Markers); - - this.ctx = ctx; - this.w = ctx.w; - } - - _createClass(Markers, [{ - key: "setGlobalMarkerSize", - value: function setGlobalMarkerSize() { - var w = this.w; - w.globals.markers.size = Array.isArray(w.config.markers.size) ? w.config.markers.size : [w.config.markers.size]; - - if (w.globals.markers.size.length > 0) { - if (w.globals.markers.size.length < w.globals.series.length + 1) { - for (var i = 0; i <= w.globals.series.length; i++) { - if (typeof w.globals.markers.size[i] === 'undefined') { - w.globals.markers.size.push(w.globals.markers.size[0]); - } - } - } - } else { - w.globals.markers.size = w.config.series.map(function (s) { - return w.config.markers.size; - }); - } - } - }, { - key: "plotChartMarkers", - value: function plotChartMarkers(pointsPos, seriesIndex, j, pSize) { - var alwaysDrawMarker = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; - var w = this.w; - var i = seriesIndex; - var p = pointsPos; - var elPointsWrap = null; - var graphics = new Graphics(this.ctx); - var point; - var hasDiscreteMarkers = w.config.markers.discrete && w.config.markers.discrete.length; - - if (w.globals.markers.size[seriesIndex] > 0 || alwaysDrawMarker || hasDiscreteMarkers) { - elPointsWrap = graphics.group({ - class: alwaysDrawMarker || hasDiscreteMarkers ? '' : 'apexcharts-series-markers' - }); - elPointsWrap.attr('clip-path', "url(#gridRectMarkerMask".concat(w.globals.cuid, ")")); - } - - if (Array.isArray(p.x)) { - for (var q = 0; q < p.x.length; q++) { - var dataPointIndex = j; // a small hack as we have 2 points for the first val to connect it - - if (j === 1 && q === 0) dataPointIndex = 0; - if (j === 1 && q === 1) dataPointIndex = 1; - var PointClasses = 'apexcharts-marker'; - - if ((w.config.chart.type === 'line' || w.config.chart.type === 'area') && !w.globals.comboCharts && !w.config.tooltip.intersect) { - PointClasses += ' no-pointer-events'; - } - - var shouldMarkerDraw = Array.isArray(w.config.markers.size) ? w.globals.markers.size[seriesIndex] > 0 : w.config.markers.size > 0; - - if (shouldMarkerDraw || alwaysDrawMarker || hasDiscreteMarkers) { - if (Utils$1.isNumber(p.y[q])) { - PointClasses += " w".concat(Utils$1.randomId()); - } else { - PointClasses = 'apexcharts-nullpoint'; - } - - var opts = this.getMarkerConfig({ - cssClass: PointClasses, - seriesIndex: seriesIndex, - dataPointIndex: dataPointIndex - }); - - if (w.config.series[i].data[dataPointIndex]) { - if (w.config.series[i].data[dataPointIndex].fillColor) { - opts.pointFillColor = w.config.series[i].data[dataPointIndex].fillColor; - } - - if (w.config.series[i].data[dataPointIndex].strokeColor) { - opts.pointStrokeColor = w.config.series[i].data[dataPointIndex].strokeColor; - } - } - - if (pSize) { - opts.pSize = pSize; - } - - point = graphics.drawMarker(p.x[q], p.y[q], opts); - point.attr('rel', dataPointIndex); - point.attr('j', dataPointIndex); - point.attr('index', seriesIndex); - point.node.setAttribute('default-marker-size', opts.pSize); - var filters = new Filters(this.ctx); - filters.setSelectionFilter(point, seriesIndex, dataPointIndex); - this.addEvents(point); - - if (elPointsWrap) { - elPointsWrap.add(point); - } - } else { - // dynamic array creation - multidimensional - if (typeof w.globals.pointsArray[seriesIndex] === 'undefined') w.globals.pointsArray[seriesIndex] = []; - w.globals.pointsArray[seriesIndex].push([p.x[q], p.y[q]]); - } - } - } - - return elPointsWrap; - } - }, { - key: "getMarkerConfig", - value: function getMarkerConfig(_ref) { - var cssClass = _ref.cssClass, - seriesIndex = _ref.seriesIndex, - _ref$dataPointIndex = _ref.dataPointIndex, - dataPointIndex = _ref$dataPointIndex === void 0 ? null : _ref$dataPointIndex, - _ref$finishRadius = _ref.finishRadius, - finishRadius = _ref$finishRadius === void 0 ? null : _ref$finishRadius; - var w = this.w; - var pStyle = this.getMarkerStyle(seriesIndex); - var pSize = w.globals.markers.size[seriesIndex]; - var m = w.config.markers; // discrete markers is an option where user can specify a particular marker with different shape, size and color - - if (dataPointIndex !== null && m.discrete.length) { - m.discrete.map(function (marker) { - if (marker.seriesIndex === seriesIndex && marker.dataPointIndex === dataPointIndex) { - pStyle.pointStrokeColor = marker.strokeColor; - pStyle.pointFillColor = marker.fillColor; - pSize = marker.size; - pStyle.pointShape = marker.shape; - } - }); - } - - return { - pSize: finishRadius === null ? pSize : finishRadius, - pRadius: m.radius, - width: Array.isArray(m.width) ? m.width[seriesIndex] : m.width, - height: Array.isArray(m.height) ? m.height[seriesIndex] : m.height, - pointStrokeWidth: Array.isArray(m.strokeWidth) ? m.strokeWidth[seriesIndex] : m.strokeWidth, - pointStrokeColor: pStyle.pointStrokeColor, - pointFillColor: pStyle.pointFillColor, - shape: pStyle.pointShape || (Array.isArray(m.shape) ? m.shape[seriesIndex] : m.shape), - class: cssClass, - pointStrokeOpacity: Array.isArray(m.strokeOpacity) ? m.strokeOpacity[seriesIndex] : m.strokeOpacity, - pointStrokeDashArray: Array.isArray(m.strokeDashArray) ? m.strokeDashArray[seriesIndex] : m.strokeDashArray, - pointFillOpacity: Array.isArray(m.fillOpacity) ? m.fillOpacity[seriesIndex] : m.fillOpacity, - seriesIndex: seriesIndex - }; - } - }, { - key: "addEvents", - value: function addEvents(circle) { - var w = this.w; - var graphics = new Graphics(this.ctx); - circle.node.addEventListener('mouseenter', graphics.pathMouseEnter.bind(this.ctx, circle)); - circle.node.addEventListener('mouseleave', graphics.pathMouseLeave.bind(this.ctx, circle)); - circle.node.addEventListener('mousedown', graphics.pathMouseDown.bind(this.ctx, circle)); - circle.node.addEventListener('click', w.config.markers.onClick); - circle.node.addEventListener('dblclick', w.config.markers.onDblClick); - circle.node.addEventListener('touchstart', graphics.pathMouseDown.bind(this.ctx, circle), { - passive: true - }); - } - }, { - key: "getMarkerStyle", - value: function getMarkerStyle(seriesIndex) { - var w = this.w; - var colors = w.globals.markers.colors; - var strokeColors = w.config.markers.strokeColor || w.config.markers.strokeColors; - var pointStrokeColor = Array.isArray(strokeColors) ? strokeColors[seriesIndex] : strokeColors; - var pointFillColor = Array.isArray(colors) ? colors[seriesIndex] : colors; - return { - pointStrokeColor: pointStrokeColor, - pointFillColor: pointFillColor - }; - } - }]); - - return Markers; - }(); - - /** - * ApexCharts Scatter Class. - * This Class also handles bubbles chart as currently there is no major difference in drawing them, - * @module Scatter - **/ - - var Scatter = /*#__PURE__*/function () { - function Scatter(ctx) { - _classCallCheck(this, Scatter); - - this.ctx = ctx; - this.w = ctx.w; - this.initialAnim = this.w.config.chart.animations.enabled; - this.dynamicAnim = this.initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled; - } - - _createClass(Scatter, [{ - key: "draw", - value: function draw(elSeries, j, opts) { - var w = this.w; - var graphics = new Graphics(this.ctx); - var realIndex = opts.realIndex; - var pointsPos = opts.pointsPos; - var zRatio = opts.zRatio; - var elPointsMain = opts.elParent; - var elPointsWrap = graphics.group({ - class: "apexcharts-series-markers apexcharts-series-".concat(w.config.chart.type) - }); - elPointsWrap.attr('clip-path', "url(#gridRectMarkerMask".concat(w.globals.cuid, ")")); - - if (Array.isArray(pointsPos.x)) { - for (var q = 0; q < pointsPos.x.length; q++) { - var dataPointIndex = j + 1; - var shouldDraw = true; // a small hack as we have 2 points for the first val to connect it - - if (j === 0 && q === 0) dataPointIndex = 0; - if (j === 0 && q === 1) dataPointIndex = 1; - var radius = 0; - var finishRadius = w.globals.markers.size[realIndex]; - - if (zRatio !== Infinity) { - // means we have a bubble - finishRadius = w.globals.seriesZ[realIndex][dataPointIndex] / zRatio; - var bubble = w.config.plotOptions.bubble; - - if (bubble.minBubbleRadius && finishRadius < bubble.minBubbleRadius) { - finishRadius = bubble.minBubbleRadius; - } - - if (bubble.maxBubbleRadius && finishRadius > bubble.maxBubbleRadius) { - finishRadius = bubble.maxBubbleRadius; - } - } - - if (!w.config.chart.animations.enabled) { - radius = finishRadius; - } - - var x = pointsPos.x[q]; - var y = pointsPos.y[q]; - radius = radius || 0; - - if (y === null || typeof w.globals.series[realIndex][dataPointIndex] === 'undefined') { - shouldDraw = false; - } - - if (shouldDraw) { - var point = this.drawPoint(x, y, radius, finishRadius, realIndex, dataPointIndex, j); - elPointsWrap.add(point); - } - - elPointsMain.add(elPointsWrap); - } - } - } - }, { - key: "drawPoint", - value: function drawPoint(x, y, radius, finishRadius, realIndex, dataPointIndex, j) { - var w = this.w; - var i = realIndex; - var anim = new Animations(this.ctx); - var filters = new Filters(this.ctx); - var fill = new Fill(this.ctx); - var markers = new Markers(this.ctx); - var graphics = new Graphics(this.ctx); - var markerConfig = markers.getMarkerConfig({ - cssClass: 'apexcharts-marker', - seriesIndex: i, - dataPointIndex: dataPointIndex, - finishRadius: w.config.chart.type === 'bubble' || w.globals.comboCharts && w.config.series[realIndex] && w.config.series[realIndex].type === 'bubble' ? finishRadius : null - }); - finishRadius = markerConfig.pSize; - var pathFillCircle = fill.fillPath({ - seriesNumber: realIndex, - dataPointIndex: dataPointIndex, - color: markerConfig.pointFillColor, - patternUnits: 'objectBoundingBox', - value: w.globals.series[realIndex][j] - }); - var el; - - if (markerConfig.shape === 'circle') { - el = graphics.drawCircle(radius); - } else if (markerConfig.shape === 'square' || markerConfig.shape === 'rect') { - el = graphics.drawRect(0, 0, markerConfig.width - markerConfig.pointStrokeWidth / 2, markerConfig.height - markerConfig.pointStrokeWidth / 2, markerConfig.pRadius); - } - - if (w.config.series[i].data[dataPointIndex]) { - if (w.config.series[i].data[dataPointIndex].fillColor) { - pathFillCircle = w.config.series[i].data[dataPointIndex].fillColor; - } - } - - el.attr({ - x: x - markerConfig.width / 2 - markerConfig.pointStrokeWidth / 2, - y: y - markerConfig.height / 2 - markerConfig.pointStrokeWidth / 2, - cx: x, - cy: y, - fill: pathFillCircle, - 'fill-opacity': markerConfig.pointFillOpacity, - stroke: markerConfig.pointStrokeColor, - r: finishRadius, - 'stroke-width': markerConfig.pointStrokeWidth, - 'stroke-dasharray': markerConfig.pointStrokeDashArray, - 'stroke-opacity': markerConfig.pointStrokeOpacity - }); - - if (w.config.chart.dropShadow.enabled) { - var dropShadow = w.config.chart.dropShadow; - filters.dropShadow(el, dropShadow, realIndex); - } - - if (this.initialAnim && !w.globals.dataChanged && !w.globals.resized) { - var speed = w.config.chart.animations.speed; - anim.animateMarker(el, 0, markerConfig.shape === 'circle' ? finishRadius : { - width: markerConfig.width, - height: markerConfig.height - }, speed, w.globals.easing, function () { - window.setTimeout(function () { - anim.animationCompleted(el); - }, 100); - }); - } else { - w.globals.animationEnded = true; - } - - if (w.globals.dataChanged && markerConfig.shape === 'circle') { - if (this.dynamicAnim) { - var _speed = w.config.chart.animations.dynamicAnimation.speed; - var prevX, prevY, prevR; - var prevPathJ = null; - prevPathJ = w.globals.previousPaths[realIndex] && w.globals.previousPaths[realIndex][j]; - - if (typeof prevPathJ !== 'undefined' && prevPathJ !== null) { - // series containing less elements will ignore these values and revert to 0 - prevX = prevPathJ.x; - prevY = prevPathJ.y; - prevR = typeof prevPathJ.r !== 'undefined' ? prevPathJ.r : finishRadius; - } - - for (var cs = 0; cs < w.globals.collapsedSeries.length; cs++) { - if (w.globals.collapsedSeries[cs].index === realIndex) { - _speed = 1; - finishRadius = 0; - } - } - - if (x === 0 && y === 0) finishRadius = 0; - anim.animateCircle(el, { - cx: prevX, - cy: prevY, - r: prevR - }, { - cx: x, - cy: y, - r: finishRadius - }, _speed, w.globals.easing); - } else { - el.attr({ - r: finishRadius - }); - } - } - - el.attr({ - rel: dataPointIndex, - j: dataPointIndex, - index: realIndex, - 'default-marker-size': finishRadius - }); - filters.setSelectionFilter(el, realIndex, dataPointIndex); - markers.addEvents(el); - el.node.classList.add('apexcharts-marker'); - return el; - } - }, { - key: "centerTextInBubble", - value: function centerTextInBubble(y) { - var w = this.w; - y = y + parseInt(w.config.dataLabels.style.fontSize, 10) / 4; - return { - y: y - }; - } - }]); - - return Scatter; - }(); - - /** - * ApexCharts DataLabels Class for drawing dataLabels on Axes based Charts. - * - * @module DataLabels - **/ - - var DataLabels = /*#__PURE__*/function () { - function DataLabels(ctx) { - _classCallCheck(this, DataLabels); - - this.ctx = ctx; - this.w = ctx.w; - } // When there are many datalabels to be printed, and some of them overlaps each other in the same series, this method will take care of that - // Also, when datalabels exceeds the drawable area and get clipped off, we need to adjust and move some pixels to make them visible again - - - _createClass(DataLabels, [{ - key: "dataLabelsCorrection", - value: function dataLabelsCorrection(x, y, val, i, dataPointIndex, alwaysDrawDataLabel, fontSize) { - var w = this.w; - var graphics = new Graphics(this.ctx); - var drawnextLabel = false; // - - var textRects = graphics.getTextRects(val, fontSize); - var width = textRects.width; - var height = textRects.height; - if (y < 0) y = 0; - if (y > w.globals.gridHeight + height) y = w.globals.gridHeight + height / 2; // first value in series, so push an empty array - - if (typeof w.globals.dataLabelsRects[i] === 'undefined') w.globals.dataLabelsRects[i] = []; // then start pushing actual rects in that sub-array - - w.globals.dataLabelsRects[i].push({ - x: x, - y: y, - width: width, - height: height - }); - var len = w.globals.dataLabelsRects[i].length - 2; - var lastDrawnIndex = typeof w.globals.lastDrawnDataLabelsIndexes[i] !== 'undefined' ? w.globals.lastDrawnDataLabelsIndexes[i][w.globals.lastDrawnDataLabelsIndexes[i].length - 1] : 0; - - if (typeof w.globals.dataLabelsRects[i][len] !== 'undefined') { - var lastDataLabelRect = w.globals.dataLabelsRects[i][lastDrawnIndex]; - - if ( // next label forward and x not intersecting - x > lastDataLabelRect.x + lastDataLabelRect.width + 2 || y > lastDataLabelRect.y + lastDataLabelRect.height + 2 || x + width < lastDataLabelRect.x // next label is going to be drawn backwards - ) { - // the 2 indexes don't override, so OK to draw next label - drawnextLabel = true; - } - } - - if (dataPointIndex === 0 || alwaysDrawDataLabel) { - drawnextLabel = true; - } - - return { - x: x, - y: y, - textRects: textRects, - drawnextLabel: drawnextLabel - }; - } - }, { - key: "drawDataLabel", - value: function drawDataLabel(pos, i, j) { - var _this = this; - var strokeWidth = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 2; - // this method handles line, area, bubble, scatter charts as those charts contains markers/points which have pre-defined x/y positions - // all other charts like radar / bars / heatmaps will define their own drawDataLabel routine - var w = this.w; - var graphics = new Graphics(this.ctx); - var dataLabelsConfig = w.config.dataLabels; - var x = 0; - var y = 0; - var dataPointIndex = j; - var elDataLabelsWrap = null; - - if (!dataLabelsConfig.enabled || !Array.isArray(pos.x)) { - return elDataLabelsWrap; - } - - elDataLabelsWrap = graphics.group({ - class: 'apexcharts-data-labels' - }); - - for (var q = 0; q < pos.x.length; q++) { - x = pos.x[q] + dataLabelsConfig.offsetX; - y = pos.y[q] + dataLabelsConfig.offsetY + strokeWidth; - - if (!isNaN(x)) { - // a small hack as we have 2 points for the first val to connect it - if (j === 1 && q === 0) dataPointIndex = 0; - if (j === 1 && q === 1) dataPointIndex = 1; - var val = w.globals.series[i][dataPointIndex]; - var text = ''; - - var getText = function getText(v) { - return w.config.dataLabels.formatter(v, { - ctx: _this.ctx, - seriesIndex: i, - dataPointIndex: dataPointIndex, - w: w - }); - }; - - if (w.config.chart.type === 'bubble') { - val = w.globals.seriesZ[i][dataPointIndex]; - text = getText(val); - y = pos.y[q]; - var scatter = new Scatter(this.ctx); - var centerTextInBubbleCoords = scatter.centerTextInBubble(y, i, dataPointIndex); - y = centerTextInBubbleCoords.y; - } else { - if (typeof val !== 'undefined') { - text = getText(val); - } - } - - this.plotDataLabelsText({ - x: x, - y: y, - text: text, - i: i, - j: dataPointIndex, - parent: elDataLabelsWrap, - offsetCorrection: true, - dataLabelsConfig: w.config.dataLabels - }); - } - } - - return elDataLabelsWrap; - } - }, { - key: "plotDataLabelsText", - value: function plotDataLabelsText(opts) { - var w = this.w; - var graphics = new Graphics(this.ctx); - var x = opts.x, - y = opts.y, - i = opts.i, - j = opts.j, - text = opts.text, - textAnchor = opts.textAnchor, - fontSize = opts.fontSize, - parent = opts.parent, - dataLabelsConfig = opts.dataLabelsConfig, - color = opts.color, - alwaysDrawDataLabel = opts.alwaysDrawDataLabel, - offsetCorrection = opts.offsetCorrection; - - if (Array.isArray(w.config.dataLabels.enabledOnSeries)) { - if (w.config.dataLabels.enabledOnSeries.indexOf(i) < 0) { - return; - } - } - - var correctedLabels = { - x: x, - y: y, - drawnextLabel: true, - textRects: null - }; - - if (offsetCorrection) { - correctedLabels = this.dataLabelsCorrection(x, y, text, i, j, alwaysDrawDataLabel, parseInt(dataLabelsConfig.style.fontSize, 10)); - } // when zoomed, we don't need to correct labels offsets, - // but if normally, labels get cropped, correct them - - - if (!w.globals.zoomed) { - x = correctedLabels.x; - y = correctedLabels.y; - } - - if (correctedLabels.textRects) { - // fixes #2264 - if (x < -10 - correctedLabels.textRects.width || x > w.globals.gridWidth + correctedLabels.textRects.width + 10) { - // datalabels fall outside drawing area, so draw a blank label - text = ''; - } - } - - var dataLabelColor = w.globals.dataLabels.style.colors[i]; - - if ((w.config.chart.type === 'bar' || w.config.chart.type === 'rangeBar') && w.config.plotOptions.bar.distributed || w.config.dataLabels.distributed) { - dataLabelColor = w.globals.dataLabels.style.colors[j]; - } - - if (typeof dataLabelColor === 'function') { - dataLabelColor = dataLabelColor({ - series: w.globals.series, - seriesIndex: i, - dataPointIndex: j, - w: w - }); - } - - if (color) { - dataLabelColor = color; - } - - var offX = dataLabelsConfig.offsetX; - var offY = dataLabelsConfig.offsetY; - - if (w.config.chart.type === 'bar' || w.config.chart.type === 'rangeBar') { - // for certain chart types, we handle offsets while calculating datalabels pos - // why? because bars/column may have negative values and based on that - // offsets becomes reversed - offX = 0; - offY = 0; - } - - if (correctedLabels.drawnextLabel) { - var dataLabelText = graphics.drawText({ - width: 100, - height: parseInt(dataLabelsConfig.style.fontSize, 10), - x: x + offX, - y: y + offY, - foreColor: dataLabelColor, - textAnchor: textAnchor || dataLabelsConfig.textAnchor, - text: text, - fontSize: fontSize || dataLabelsConfig.style.fontSize, - fontFamily: dataLabelsConfig.style.fontFamily, - fontWeight: dataLabelsConfig.style.fontWeight || 'normal' - }); - dataLabelText.attr({ - class: 'apexcharts-datalabel', - cx: x, - cy: y - }); - - if (dataLabelsConfig.dropShadow.enabled) { - var textShadow = dataLabelsConfig.dropShadow; - var filters = new Filters(this.ctx); - filters.dropShadow(dataLabelText, textShadow); - } - - parent.add(dataLabelText); - - if (typeof w.globals.lastDrawnDataLabelsIndexes[i] === 'undefined') { - w.globals.lastDrawnDataLabelsIndexes[i] = []; - } - - w.globals.lastDrawnDataLabelsIndexes[i].push(j); - } - } - }, { - key: "addBackgroundToDataLabel", - value: function addBackgroundToDataLabel(el, coords) { - var w = this.w; - var bCnf = w.config.dataLabels.background; - var paddingH = bCnf.padding; - var paddingV = bCnf.padding / 2; - var width = coords.width; - var height = coords.height; - var graphics = new Graphics(this.ctx); - var elRect = graphics.drawRect(coords.x - paddingH, coords.y - paddingV / 2, width + paddingH * 2, height + paddingV, bCnf.borderRadius, w.config.chart.background === 'transparent' ? '#fff' : w.config.chart.background, bCnf.opacity, bCnf.borderWidth, bCnf.borderColor); - - if (bCnf.dropShadow.enabled) { - var filters = new Filters(this.ctx); - filters.dropShadow(elRect, bCnf.dropShadow); - } - - return elRect; - } - }, { - key: "dataLabelsBackground", - value: function dataLabelsBackground() { - var w = this.w; - if (w.config.chart.type === 'bubble') return; - var elDataLabels = w.globals.dom.baseEl.querySelectorAll('.apexcharts-datalabels text'); - - for (var i = 0; i < elDataLabels.length; i++) { - var el = elDataLabels[i]; - var coords = el.getBBox(); - var elRect = null; - - if (coords.width && coords.height) { - elRect = this.addBackgroundToDataLabel(el, coords); - } - - if (elRect) { - el.parentNode.insertBefore(elRect.node, el); - var background = el.getAttribute('fill'); - var shouldAnim = w.config.chart.animations.enabled && !w.globals.resized && !w.globals.dataChanged; - - if (shouldAnim) { - elRect.animate().attr({ - fill: background - }); - } else { - elRect.attr({ - fill: background - }); - } - - el.setAttribute('fill', w.config.dataLabels.background.foreColor); - } - } - } - }, { - key: "bringForward", - value: function bringForward() { - var w = this.w; - var elDataLabelsNodes = w.globals.dom.baseEl.querySelectorAll('.apexcharts-datalabels'); - var elSeries = w.globals.dom.baseEl.querySelector('.apexcharts-plot-series:last-child'); - - for (var i = 0; i < elDataLabelsNodes.length; i++) { - if (elSeries) { - elSeries.insertBefore(elDataLabelsNodes[i], elSeries.nextSibling); - } - } - } - }]); - - return DataLabels; - }(); - - var BarDataLabels = /*#__PURE__*/function () { - function BarDataLabels(barCtx) { - _classCallCheck(this, BarDataLabels); - - this.w = barCtx.w; - this.barCtx = barCtx; - } - /** handleBarDataLabels is used to calculate the positions for the data-labels - * It also sets the element's data attr for bars and calls drawCalculatedBarDataLabels() - * After calculating, it also calls the function to draw data labels - * @memberof Bar - * @param {object} {barProps} most of the bar properties used throughout the bar - * drawing function - * @return {object} dataLabels node-element which you can append later - **/ - - - _createClass(BarDataLabels, [{ - key: "handleBarDataLabels", - value: function handleBarDataLabels(opts) { - var x = opts.x, - y = opts.y, - y1 = opts.y1, - y2 = opts.y2, - i = opts.i, - j = opts.j, - realIndex = opts.realIndex, - series = opts.series, - barHeight = opts.barHeight, - barWidth = opts.barWidth, - barYPosition = opts.barYPosition, - visibleSeries = opts.visibleSeries, - renderedPath = opts.renderedPath; - var w = this.w; - var graphics = new Graphics(this.barCtx.ctx); - var strokeWidth = Array.isArray(this.barCtx.strokeWidth) ? this.barCtx.strokeWidth[realIndex] : this.barCtx.strokeWidth; - var bcx = x + parseFloat(barWidth * visibleSeries); - var bcy = y + parseFloat(barHeight * visibleSeries); - - if (w.globals.isXNumeric && !w.globals.isBarHorizontal) { - bcx = x + parseFloat(barWidth * (visibleSeries + 1)); - bcy = y + parseFloat(barHeight * (visibleSeries + 1)) - strokeWidth; - } - - var dataLabels = null; - var dataLabelsX = x; - var dataLabelsY = y; - var dataLabelsPos = {}; - var dataLabelsConfig = w.config.dataLabels; - var barDataLabelsConfig = this.barCtx.barOptions.dataLabels; - - if (typeof barYPosition !== 'undefined' && this.barCtx.isRangeBar) { - bcy = barYPosition; - dataLabelsY = barYPosition; - } - - var offX = dataLabelsConfig.offsetX; - var offY = dataLabelsConfig.offsetY; - var textRects = { - width: 0, - height: 0 - }; - - if (w.config.dataLabels.enabled) { - var yLabel = this.barCtx.series[i][j]; - textRects = graphics.getTextRects(w.globals.yLabelFormatters[0](yLabel), parseFloat(dataLabelsConfig.style.fontSize)); - } - - var params = { - x: x, - y: y, - i: i, - j: j, - renderedPath: renderedPath, - bcx: bcx, - bcy: bcy, - barHeight: barHeight, - barWidth: barWidth, - textRects: textRects, - strokeWidth: strokeWidth, - dataLabelsX: dataLabelsX, - dataLabelsY: dataLabelsY, - barDataLabelsConfig: barDataLabelsConfig, - offX: offX, - offY: offY - }; - - if (this.barCtx.isHorizontal) { - dataLabelsPos = this.calculateBarsDataLabelsPosition(params); - } else { - dataLabelsPos = this.calculateColumnsDataLabelsPosition(params); - } - - renderedPath.attr({ - cy: dataLabelsPos.bcy, - cx: dataLabelsPos.bcx, - j: j, - val: series[i][j], - barHeight: barHeight, - barWidth: barWidth - }); - dataLabels = this.drawCalculatedDataLabels({ - x: dataLabelsPos.dataLabelsX, - y: dataLabelsPos.dataLabelsY, - val: this.barCtx.isRangeBar ? [y1, y2] : series[i][j], - i: realIndex, - j: j, - barWidth: barWidth, - barHeight: barHeight, - textRects: textRects, - dataLabelsConfig: dataLabelsConfig - }); - return dataLabels; - } - }, { - key: "calculateColumnsDataLabelsPosition", - value: function calculateColumnsDataLabelsPosition(opts) { - var w = this.w; - var i = opts.i, - j = opts.j, - y = opts.y, - bcx = opts.bcx, - barWidth = opts.barWidth, - barHeight = opts.barHeight, - textRects = opts.textRects, - dataLabelsY = opts.dataLabelsY, - barDataLabelsConfig = opts.barDataLabelsConfig, - strokeWidth = opts.strokeWidth, - offX = opts.offX, - offY = opts.offY; - var dataLabelsX; - barHeight = Math.abs(barHeight); - var vertical = w.config.plotOptions.bar.dataLabels.orientation === 'vertical'; - bcx = bcx - strokeWidth / 2; - var dataPointsDividedWidth = w.globals.gridWidth / w.globals.dataPoints; - - if (w.globals.isXNumeric) { - dataLabelsX = bcx - barWidth / 2 + offX; - } else { - dataLabelsX = bcx - dataPointsDividedWidth + barWidth / 2 + offX; - } - - if (vertical) { - var offsetDLX = 2; - dataLabelsX = dataLabelsX + textRects.height / 2 - strokeWidth / 2 - offsetDLX; - } - - var valIsNegative = this.barCtx.series[i][j] < 0; - var newY = y; - - if (this.barCtx.isReversed) { - newY = y - barHeight + (valIsNegative ? barHeight * 2 : 0); - y = y - barHeight; - } - - switch (barDataLabelsConfig.position) { - case 'center': - if (vertical) { - if (valIsNegative) { - dataLabelsY = newY + barHeight / 2 + offY; - } else { - dataLabelsY = newY + barHeight / 2 - offY; - } - } else { - if (valIsNegative) { - dataLabelsY = newY - barHeight / 2 + textRects.height / 2 + offY; - } else { - dataLabelsY = newY + barHeight / 2 + textRects.height / 2 - offY; - } - } - - break; - - case 'bottom': - if (vertical) { - if (valIsNegative) { - dataLabelsY = newY + barHeight + offY; - } else { - dataLabelsY = newY + barHeight - offY; - } - } else { - if (valIsNegative) { - dataLabelsY = newY - barHeight + textRects.height + strokeWidth + offY; - } else { - dataLabelsY = newY + barHeight - textRects.height / 2 + strokeWidth - offY; - } - } - - break; - - case 'top': - if (vertical) { - if (valIsNegative) { - dataLabelsY = newY + offY; - } else { - dataLabelsY = newY - offY; - } - } else { - if (valIsNegative) { - dataLabelsY = newY - textRects.height / 2 - offY; - } else { - dataLabelsY = newY + textRects.height + offY; - } - } - - break; - } - - if (!w.config.chart.stacked) { - if (dataLabelsY < 0) { - dataLabelsY = 0 + strokeWidth; - } else if (dataLabelsY + textRects.height / 3 > w.globals.gridHeight) { - dataLabelsY = w.globals.gridHeight - strokeWidth; - } - } - - return { - bcx: bcx, - bcy: y, - dataLabelsX: dataLabelsX, - dataLabelsY: dataLabelsY - }; - } - }, { - key: "calculateBarsDataLabelsPosition", - value: function calculateBarsDataLabelsPosition(opts) { - var w = this.w; - var x = opts.x, - i = opts.i, - j = opts.j, - bcy = opts.bcy, - barHeight = opts.barHeight, - barWidth = opts.barWidth, - textRects = opts.textRects, - dataLabelsX = opts.dataLabelsX, - strokeWidth = opts.strokeWidth, - barDataLabelsConfig = opts.barDataLabelsConfig, - offX = opts.offX, - offY = opts.offY; - var dataPointsDividedHeight = w.globals.gridHeight / w.globals.dataPoints; - barWidth = Math.abs(barWidth); - var dataLabelsY = bcy - (this.barCtx.isRangeBar ? 0 : dataPointsDividedHeight) + barHeight / 2 + textRects.height / 2 + offY - 3; - var valIsNegative = this.barCtx.series[i][j] < 0; - var newX = x; - - if (this.barCtx.isReversed) { - newX = x + barWidth - (valIsNegative ? barWidth * 2 : 0); - x = w.globals.gridWidth - barWidth; - } - - switch (barDataLabelsConfig.position) { - case 'center': - if (valIsNegative) { - dataLabelsX = newX + barWidth / 2 - offX; - } else { - dataLabelsX = Math.max(textRects.width / 2, newX - barWidth / 2) + offX; - } - - break; - - case 'bottom': - if (valIsNegative) { - dataLabelsX = newX + barWidth - strokeWidth - Math.round(textRects.width / 2) - offX; - } else { - dataLabelsX = newX - barWidth + strokeWidth + Math.round(textRects.width / 2) + offX; - } - - break; - - case 'top': - if (valIsNegative) { - dataLabelsX = newX - strokeWidth + Math.round(textRects.width / 2) - offX; - } else { - dataLabelsX = newX - strokeWidth - Math.round(textRects.width / 2) + offX; - } - - break; - } - - if (!w.config.chart.stacked) { - if (dataLabelsX < 0) { - dataLabelsX = dataLabelsX + textRects.width + strokeWidth; - } else if (dataLabelsX + textRects.width / 2 > w.globals.gridWidth) { - dataLabelsX = w.globals.gridWidth - textRects.width - strokeWidth; - } - } - - return { - bcx: x, - bcy: bcy, - dataLabelsX: dataLabelsX, - dataLabelsY: dataLabelsY - }; - } - }, { - key: "drawCalculatedDataLabels", - value: function drawCalculatedDataLabels(_ref) { - var x = _ref.x, - y = _ref.y, - val = _ref.val, - i = _ref.i, - j = _ref.j, - textRects = _ref.textRects, - barHeight = _ref.barHeight, - barWidth = _ref.barWidth, - dataLabelsConfig = _ref.dataLabelsConfig; - var w = this.w; - var rotate = 'rotate(0)'; - if (w.config.plotOptions.bar.dataLabels.orientation === 'vertical') rotate = "rotate(-90, ".concat(x, ", ").concat(y, ")"); - var dataLabels = new DataLabels(this.barCtx.ctx); - var graphics = new Graphics(this.barCtx.ctx); - var formatter = dataLabelsConfig.formatter; - var elDataLabelsWrap = null; - var isSeriesNotCollapsed = w.globals.collapsedSeriesIndices.indexOf(i) > -1; - - if (dataLabelsConfig.enabled && !isSeriesNotCollapsed) { - elDataLabelsWrap = graphics.group({ - class: 'apexcharts-data-labels', - transform: rotate - }); - var text = ''; - - if (typeof val !== 'undefined') { - text = formatter(val, { - seriesIndex: i, - dataPointIndex: j, - w: w - }); - } - - var valIsNegative = w.globals.series[i][j] < 0; - var position = w.config.plotOptions.bar.dataLabels.position; - - if (w.config.plotOptions.bar.dataLabels.orientation === 'vertical') { - if (position === 'top') { - if (valIsNegative) dataLabelsConfig.textAnchor = 'end';else dataLabelsConfig.textAnchor = 'start'; - } - - if (position === 'center') { - dataLabelsConfig.textAnchor = 'middle'; - } - - if (position === 'bottom') { - if (valIsNegative) dataLabelsConfig.textAnchor = 'end';else dataLabelsConfig.textAnchor = 'start'; - } - } - - if (this.barCtx.isRangeBar && this.barCtx.barOptions.dataLabels.hideOverflowingLabels) { - // hide the datalabel if it cannot fit into the rect - var txRect = graphics.getTextRects(text, parseFloat(dataLabelsConfig.style.fontSize)); - - if (barWidth < txRect.width) { - text = ''; - } - } - - if (w.config.chart.stacked && this.barCtx.barOptions.dataLabels.hideOverflowingLabels) { - // if there is not enough space to draw the label in the bar/column rect, check hideOverflowingLabels property to prevent overflowing on wrong rect - // Note: This issue is only seen in stacked charts - if (this.barCtx.isHorizontal) { - if (textRects.width / 1.6 > Math.abs(barWidth)) { - text = ''; - } - } else { - if (textRects.height / 1.6 > Math.abs(barHeight)) { - text = ''; - } - } - } - - var modifiedDataLabelsConfig = _objectSpread2({}, dataLabelsConfig); - - if (this.barCtx.isHorizontal) { - if (val < 0) { - if (dataLabelsConfig.textAnchor === 'start') { - modifiedDataLabelsConfig.textAnchor = 'end'; - } else if (dataLabelsConfig.textAnchor === 'end') { - modifiedDataLabelsConfig.textAnchor = 'start'; - } - } - } - - dataLabels.plotDataLabelsText({ - x: x, - y: y, - text: text, - i: i, - j: j, - parent: elDataLabelsWrap, - dataLabelsConfig: modifiedDataLabelsConfig, - alwaysDrawDataLabel: true, - offsetCorrection: true - }); - } - - return elDataLabelsWrap; - } - }]); - - return BarDataLabels; - }(); - - /** - * ApexCharts Series Class for interaction with the Series of the chart. - * - * @module Series - **/ - - var Series = /*#__PURE__*/function () { - function Series(ctx) { - _classCallCheck(this, Series); - - this.ctx = ctx; - this.w = ctx.w; - this.legendInactiveClass = 'legend-mouseover-inactive'; - } - - _createClass(Series, [{ - key: "getAllSeriesEls", - value: function getAllSeriesEls() { - return this.w.globals.dom.baseEl.getElementsByClassName("apexcharts-series"); - } - }, { - key: "getSeriesByName", - value: function getSeriesByName(seriesName) { - return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner .apexcharts-series[seriesName='".concat(Utils$1.escapeString(seriesName), "']")); - } - }, { - key: "isSeriesHidden", - value: function isSeriesHidden(seriesName) { - var targetElement = this.getSeriesByName(seriesName); - var realIndex = parseInt(targetElement.getAttribute('data:realIndex'), 10); - var isHidden = targetElement.classList.contains('apexcharts-series-collapsed'); - return { - isHidden: isHidden, - realIndex: realIndex - }; - } - }, { - key: "addCollapsedClassToSeries", - value: function addCollapsedClassToSeries(elSeries, index) { - var w = this.w; - - function iterateOnAllCollapsedSeries(series) { - for (var cs = 0; cs < series.length; cs++) { - if (series[cs].index === index) { - elSeries.node.classList.add('apexcharts-series-collapsed'); - } - } - } - - iterateOnAllCollapsedSeries(w.globals.collapsedSeries); - iterateOnAllCollapsedSeries(w.globals.ancillaryCollapsedSeries); - } - }, { - key: "toggleSeries", - value: function toggleSeries(seriesName) { - var isSeriesHidden = this.isSeriesHidden(seriesName); - this.ctx.legend.legendHelpers.toggleDataSeries(isSeriesHidden.realIndex, isSeriesHidden.isHidden); - return isSeriesHidden.isHidden; - } - }, { - key: "showSeries", - value: function showSeries(seriesName) { - var isSeriesHidden = this.isSeriesHidden(seriesName); - - if (isSeriesHidden.isHidden) { - this.ctx.legend.legendHelpers.toggleDataSeries(isSeriesHidden.realIndex, true); - } - } - }, { - key: "hideSeries", - value: function hideSeries(seriesName) { - var isSeriesHidden = this.isSeriesHidden(seriesName); - - if (!isSeriesHidden.isHidden) { - this.ctx.legend.legendHelpers.toggleDataSeries(isSeriesHidden.realIndex, false); - } - } - }, { - key: "resetSeries", - value: function resetSeries() { - var shouldUpdateChart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; - var shouldResetZoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var shouldResetCollapsed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - var w = this.w; - var series = Utils$1.clone(w.globals.initialSeries); - w.globals.previousPaths = []; - - if (shouldResetCollapsed) { - w.globals.collapsedSeries = []; - w.globals.ancillaryCollapsedSeries = []; - w.globals.collapsedSeriesIndices = []; - w.globals.ancillaryCollapsedSeriesIndices = []; - } else { - series = this.emptyCollapsedSeries(series); - } - - w.config.series = series; - - if (shouldUpdateChart) { - if (shouldResetZoom) { - w.globals.zoomed = false; - this.ctx.updateHelpers.revertDefaultAxisMinMax(); - } - - this.ctx.updateHelpers._updateSeries(series, w.config.chart.animations.dynamicAnimation.enabled); - } - } - }, { - key: "emptyCollapsedSeries", - value: function emptyCollapsedSeries(series) { - var w = this.w; - - for (var i = 0; i < series.length; i++) { - if (w.globals.collapsedSeriesIndices.indexOf(i) > -1) { - series[i].data = []; - } - } - - return series; - } - }, { - key: "toggleSeriesOnHover", - value: function toggleSeriesOnHover(e, targetElement) { - var w = this.w; - if (!targetElement) targetElement = e.target; - var allSeriesEls = w.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels"); - - if (e.type === 'mousemove') { - var seriesCnt = parseInt(targetElement.getAttribute('rel'), 10) - 1; - var seriesEl = null; - var dataLabelEl = null; - - if (w.globals.axisCharts || w.config.chart.type === 'radialBar') { - if (w.globals.axisCharts) { - seriesEl = w.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(seriesCnt, "']")); - dataLabelEl = w.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(seriesCnt, "']")); - } else { - seriesEl = w.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(seriesCnt + 1, "']")); - } - } else { - seriesEl = w.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(seriesCnt + 1, "'] path")); - } - - for (var se = 0; se < allSeriesEls.length; se++) { - allSeriesEls[se].classList.add(this.legendInactiveClass); - } - - if (seriesEl !== null) { - if (!w.globals.axisCharts) { - seriesEl.parentNode.classList.remove(this.legendInactiveClass); - } - - seriesEl.classList.remove(this.legendInactiveClass); - - if (dataLabelEl !== null) { - dataLabelEl.classList.remove(this.legendInactiveClass); - } - } - } else if (e.type === 'mouseout') { - for (var _se = 0; _se < allSeriesEls.length; _se++) { - allSeriesEls[_se].classList.remove(this.legendInactiveClass); - } - } - } - }, { - key: "highlightRangeInSeries", - value: function highlightRangeInSeries(e, targetElement) { - var _this = this; - - var w = this.w; - var allHeatMapElements = w.globals.dom.baseEl.getElementsByClassName('apexcharts-heatmap-rect'); - - var activeInactive = function activeInactive(action) { - for (var i = 0; i < allHeatMapElements.length; i++) { - allHeatMapElements[i].classList[action](_this.legendInactiveClass); - } - }; - - var removeInactiveClassFromHoveredRange = function removeInactiveClassFromHoveredRange(range) { - for (var i = 0; i < allHeatMapElements.length; i++) { - var val = parseInt(allHeatMapElements[i].getAttribute('val'), 10); - - if (val >= range.from && val <= range.to) { - allHeatMapElements[i].classList.remove(_this.legendInactiveClass); - } - } - }; - - if (e.type === 'mousemove') { - var seriesCnt = parseInt(targetElement.getAttribute('rel'), 10) - 1; - activeInactive('add'); - var range = w.config.plotOptions.heatmap.colorScale.ranges[seriesCnt]; - removeInactiveClassFromHoveredRange(range); - } else if (e.type === 'mouseout') { - activeInactive('remove'); - } - } - }, { - key: "getActiveConfigSeriesIndex", - value: function getActiveConfigSeriesIndex() { - var ignoreBars = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - var order = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'asc'; - var w = this.w; - var activeIndex = 0; - - if (w.config.series.length > 1) { - // active series flag is required to know if user has not deactivated via legend click - var activeSeriesIndex = w.config.series.map(function (s, index) { - var hasBars = false; - - if (ignoreBars) { - hasBars = w.config.series[index].type === 'bar' || w.config.series[index].type === 'column'; - } - - return s.data && s.data.length > 0 && !hasBars ? index : -1; - }); - - for (var a = order === 'asc' ? 0 : activeSeriesIndex.length - 1; order === 'asc' ? a < activeSeriesIndex.length : a >= 0; order === 'asc' ? a++ : a--) { - if (activeSeriesIndex[a] !== -1) { - activeIndex = activeSeriesIndex[a]; - break; - } - } - } - - return activeIndex; - } - }, { - key: "getPreviousPaths", - value: function getPreviousPaths() { - var w = this.w; - w.globals.previousPaths = []; - - function pushPaths(seriesEls, i, type) { - var paths = seriesEls[i].childNodes; - var dArr = { - type: type, - paths: [], - realIndex: seriesEls[i].getAttribute('data:realIndex') - }; - - for (var j = 0; j < paths.length; j++) { - if (paths[j].hasAttribute('pathTo')) { - var d = paths[j].getAttribute('pathTo'); - dArr.paths.push({ - d: d - }); - } - } - - w.globals.previousPaths.push(dArr); - } - - var getPaths = function getPaths(chartType) { - return w.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(chartType, "-series .apexcharts-series")); - }; - - var chartTypes = ['line', 'area', 'bar', 'rangebar', 'candlestick', 'radar']; - chartTypes.forEach(function (type) { - var paths = getPaths(type); - - for (var p = 0; p < paths.length; p++) { - pushPaths(paths, p, type); - } - }); - this.handlePrevBubbleScatterPaths('bubble'); - this.handlePrevBubbleScatterPaths('scatter'); - var heatTreeSeries = w.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(w.config.chart.type, " .apexcharts-series")); - - if (heatTreeSeries.length > 0) { - var _loop = function _loop(h) { - var seriesEls = w.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(w.config.chart.type, " .apexcharts-series[data\\:realIndex='").concat(h, "'] rect")); - var dArr = []; - - var _loop2 = function _loop2(i) { - var getAttr = function getAttr(x) { - return seriesEls[i].getAttribute(x); - }; - - var rect = { - x: parseFloat(getAttr('x')), - y: parseFloat(getAttr('y')), - width: parseFloat(getAttr('width')), - height: parseFloat(getAttr('height')) - }; - dArr.push({ - rect: rect, - color: seriesEls[i].getAttribute('color') - }); - }; - - for (var i = 0; i < seriesEls.length; i++) { - _loop2(i); - } - - w.globals.previousPaths.push(dArr); - }; - - for (var h = 0; h < heatTreeSeries.length; h++) { - _loop(h); - } - } - - if (!w.globals.axisCharts) { - // for non-axis charts (i.e., circular charts, pathFrom is not usable. We need whole series) - w.globals.previousPaths = w.globals.series; - } - } - }, { - key: "handlePrevBubbleScatterPaths", - value: function handlePrevBubbleScatterPaths(type) { - var w = this.w; - var paths = w.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(type, "-series .apexcharts-series")); - - if (paths.length > 0) { - for (var s = 0; s < paths.length; s++) { - var seriesEls = w.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(type, "-series .apexcharts-series[data\\:realIndex='").concat(s, "'] circle")); - var dArr = []; - - for (var i = 0; i < seriesEls.length; i++) { - dArr.push({ - x: seriesEls[i].getAttribute('cx'), - y: seriesEls[i].getAttribute('cy'), - r: seriesEls[i].getAttribute('r') - }); - } - - w.globals.previousPaths.push(dArr); - } - } - } - }, { - key: "clearPreviousPaths", - value: function clearPreviousPaths() { - var w = this.w; - w.globals.previousPaths = []; - w.globals.allSeriesCollapsed = false; - } - }, { - key: "handleNoData", - value: function handleNoData() { - var w = this.w; - var me = this; - var noDataOpts = w.config.noData; - var graphics = new Graphics(me.ctx); - var x = w.globals.svgWidth / 2; - var y = w.globals.svgHeight / 2; - var textAnchor = 'middle'; - w.globals.noData = true; - w.globals.animationEnded = true; - - if (noDataOpts.align === 'left') { - x = 10; - textAnchor = 'start'; - } else if (noDataOpts.align === 'right') { - x = w.globals.svgWidth - 10; - textAnchor = 'end'; - } - - if (noDataOpts.verticalAlign === 'top') { - y = 50; - } else if (noDataOpts.verticalAlign === 'bottom') { - y = w.globals.svgHeight - 50; - } - - x = x + noDataOpts.offsetX; - y = y + parseInt(noDataOpts.style.fontSize, 10) + 2 + noDataOpts.offsetY; - - if (noDataOpts.text !== undefined && noDataOpts.text !== '') { - var titleText = graphics.drawText({ - x: x, - y: y, - text: noDataOpts.text, - textAnchor: textAnchor, - fontSize: noDataOpts.style.fontSize, - fontFamily: noDataOpts.style.fontFamily, - foreColor: noDataOpts.style.color, - opacity: 1, - class: 'apexcharts-text-nodata' - }); - w.globals.dom.Paper.add(titleText); - } - } // When user clicks on legends, the collapsed series is filled with [0,0,0,...,0] - // This is because we don't want to alter the series' length as it is used at many places - - }, { - key: "setNullSeriesToZeroValues", - value: function setNullSeriesToZeroValues(series) { - var w = this.w; - - for (var sl = 0; sl < series.length; sl++) { - if (series[sl].length === 0) { - for (var j = 0; j < series[w.globals.maxValsInArrayIndex].length; j++) { - series[sl].push(0); - } - } - } - - return series; - } - }, { - key: "hasAllSeriesEqualX", - value: function hasAllSeriesEqualX() { - var equalLen = true; - var w = this.w; - var filteredSerX = this.filteredSeriesX(); - - for (var i = 0; i < filteredSerX.length - 1; i++) { - if (filteredSerX[i][0] !== filteredSerX[i + 1][0]) { - equalLen = false; - break; - } - } - - w.globals.allSeriesHasEqualX = equalLen; - return equalLen; - } - }, { - key: "filteredSeriesX", - value: function filteredSeriesX() { - var w = this.w; - var filteredSeriesX = w.globals.seriesX.map(function (ser) { - return ser.length > 0 ? ser : []; - }); - return filteredSeriesX; - } - }]); - - return Series; - }(); - - var Helpers$3 = /*#__PURE__*/function () { - function Helpers(barCtx) { - _classCallCheck(this, Helpers); - - this.w = barCtx.w; - this.barCtx = barCtx; - } - - _createClass(Helpers, [{ - key: "initVariables", - value: function initVariables(series) { - var w = this.w; - this.barCtx.series = series; - this.barCtx.totalItems = 0; - this.barCtx.seriesLen = 0; - this.barCtx.visibleI = -1; // visible Series - - this.barCtx.visibleItems = 1; // number of visible bars after user zoomed in/out - - for (var sl = 0; sl < series.length; sl++) { - if (series[sl].length > 0) { - this.barCtx.seriesLen = this.barCtx.seriesLen + 1; - this.barCtx.totalItems += series[sl].length; - } - - if (w.globals.isXNumeric) { - // get max visible items - for (var j = 0; j < series[sl].length; j++) { - if (w.globals.seriesX[sl][j] > w.globals.minX && w.globals.seriesX[sl][j] < w.globals.maxX) { - this.barCtx.visibleItems++; - } - } - } else { - this.barCtx.visibleItems = w.globals.dataPoints; - } - } - - if (this.barCtx.seriesLen === 0) { - // A small adjustment when combo charts are used - this.barCtx.seriesLen = 1; - } - - this.barCtx.zeroSerieses = []; - this.barCtx.radiusOnSeriesNumber = series.length - 1; // which series to draw ending shape on - - if (!w.globals.comboCharts) { - this.checkZeroSeries({ - series: series - }); - } - } - }, { - key: "initialPositions", - value: function initialPositions() { - var w = this.w; - var x, y, yDivision, xDivision, barHeight, barWidth, zeroH, zeroW; - var dataPoints = w.globals.dataPoints; - - if (this.barCtx.isRangeBar) { - // timeline rangebar chart - dataPoints = w.globals.labels.length; - } - - var seriesLen = this.barCtx.seriesLen; - - if (w.config.plotOptions.bar.rangeBarGroupRows) { - seriesLen = 1; - } - - if (this.barCtx.isHorizontal) { - // height divided into equal parts - yDivision = w.globals.gridHeight / dataPoints; - barHeight = yDivision / seriesLen; - - if (w.globals.isXNumeric) { - yDivision = w.globals.gridHeight / this.barCtx.totalItems; - barHeight = yDivision / this.barCtx.seriesLen; - } - - barHeight = barHeight * parseInt(this.barCtx.barOptions.barHeight, 10) / 100; - zeroW = this.barCtx.baseLineInvertedY + w.globals.padHorizontal + (this.barCtx.isReversed ? w.globals.gridWidth : 0) - (this.barCtx.isReversed ? this.barCtx.baseLineInvertedY * 2 : 0); - y = (yDivision - barHeight * this.barCtx.seriesLen) / 2; - } else { - // width divided into equal parts - xDivision = w.globals.gridWidth / this.barCtx.visibleItems; - - if (w.config.xaxis.convertedCatToNumeric) { - xDivision = w.globals.gridWidth / w.globals.dataPoints; - } - - barWidth = xDivision / this.barCtx.seriesLen * parseInt(this.barCtx.barOptions.columnWidth, 10) / 100; - - if (w.globals.isXNumeric) { - // max barwidth should be equal to minXDiff to avoid overlap - var xRatio = this.barCtx.xRatio; - - if (w.config.xaxis.convertedCatToNumeric) { - xRatio = this.barCtx.initialXRatio; - } - - if (w.globals.minXDiff && w.globals.minXDiff !== 0.5 && w.globals.minXDiff / xRatio > 0) { - xDivision = w.globals.minXDiff / xRatio; - } - - barWidth = xDivision / this.barCtx.seriesLen * parseInt(this.barCtx.barOptions.columnWidth, 10) / 100; - - if (barWidth < 1) { - barWidth = 1; - } - } - - zeroH = w.globals.gridHeight - this.barCtx.baseLineY[this.barCtx.yaxisIndex] - (this.barCtx.isReversed ? w.globals.gridHeight : 0) + (this.barCtx.isReversed ? this.barCtx.baseLineY[this.barCtx.yaxisIndex] * 2 : 0); - x = w.globals.padHorizontal + (xDivision - barWidth * this.barCtx.seriesLen) / 2; - } - - return { - x: x, - y: y, - yDivision: yDivision, - xDivision: xDivision, - barHeight: barHeight, - barWidth: barWidth, - zeroH: zeroH, - zeroW: zeroW - }; - } - }, { - key: "getPathFillColor", - value: function getPathFillColor(series, i, j, realIndex) { - var w = this.w; - var fill = new Fill(this.barCtx.ctx); - var fillColor = null; - var seriesNumber = this.barCtx.barOptions.distributed ? j : i; - - if (this.barCtx.barOptions.colors.ranges.length > 0) { - var colorRange = this.barCtx.barOptions.colors.ranges; - colorRange.map(function (range) { - if (series[i][j] >= range.from && series[i][j] <= range.to) { - fillColor = range.color; - } - }); - } - - if (w.config.series[i].data[j] && w.config.series[i].data[j].fillColor) { - fillColor = w.config.series[i].data[j].fillColor; - } - - var pathFill = fill.fillPath({ - seriesNumber: this.barCtx.barOptions.distributed ? seriesNumber : realIndex, - dataPointIndex: j, - color: fillColor, - value: series[i][j] - }); - return pathFill; - } - }, { - key: "getStrokeWidth", - value: function getStrokeWidth(i, j, realIndex) { - var strokeWidth = 0; - var w = this.w; - - if (typeof this.barCtx.series[i][j] === 'undefined' || this.barCtx.series[i][j] === null) { - this.barCtx.isNullValue = true; - } else { - this.barCtx.isNullValue = false; - } - - if (w.config.stroke.show) { - if (!this.barCtx.isNullValue) { - strokeWidth = Array.isArray(this.barCtx.strokeWidth) ? this.barCtx.strokeWidth[realIndex] : this.barCtx.strokeWidth; - } - } - - return strokeWidth; - } - }, { - key: "barBackground", - value: function barBackground(_ref) { - var j = _ref.j, - i = _ref.i, - x1 = _ref.x1, - x2 = _ref.x2, - y1 = _ref.y1, - y2 = _ref.y2, - elSeries = _ref.elSeries; - var w = this.w; - var graphics = new Graphics(this.barCtx.ctx); - var sr = new Series(this.barCtx.ctx); - var activeSeriesIndex = sr.getActiveConfigSeriesIndex(); - - if (this.barCtx.barOptions.colors.backgroundBarColors.length > 0 && activeSeriesIndex === i) { - if (j >= this.barCtx.barOptions.colors.backgroundBarColors.length) { - j %= this.barCtx.barOptions.colors.backgroundBarColors.length; - } - - var bcolor = this.barCtx.barOptions.colors.backgroundBarColors[j]; - var rect = graphics.drawRect(typeof x1 !== 'undefined' ? x1 : 0, typeof y1 !== 'undefined' ? y1 : 0, typeof x2 !== 'undefined' ? x2 : w.globals.gridWidth, typeof y2 !== 'undefined' ? y2 : w.globals.gridHeight, this.barCtx.barOptions.colors.backgroundBarRadius, bcolor, this.barCtx.barOptions.colors.backgroundBarOpacity); - elSeries.add(rect); - rect.node.classList.add('apexcharts-backgroundBar'); - } - } - }, { - key: "getColumnPaths", - value: function getColumnPaths(_ref2) { - var barWidth = _ref2.barWidth, - barXPosition = _ref2.barXPosition, - yRatio = _ref2.yRatio, - y1 = _ref2.y1, - y2 = _ref2.y2, - strokeWidth = _ref2.strokeWidth, - series = _ref2.series, - realIndex = _ref2.realIndex, - i = _ref2.i, - j = _ref2.j, - w = _ref2.w; - var graphics = new Graphics(this.barCtx.ctx); - strokeWidth = Array.isArray(strokeWidth) ? strokeWidth[realIndex] : strokeWidth; - if (!strokeWidth) strokeWidth = 0; - var shapeOpts = { - barWidth: barWidth, - strokeWidth: strokeWidth, - yRatio: yRatio, - barXPosition: barXPosition, - y1: y1, - y2: y2 - }; - var newPath = this.getRoundedBars(w, shapeOpts, series, i, j); - var x1 = barXPosition; - var x2 = barXPosition + barWidth; - var pathTo = graphics.move(x1, y1); - var pathFrom = graphics.move(x1, y1); - var sl = graphics.line(x2 - strokeWidth, y1); - - if (w.globals.previousPaths.length > 0) { - pathFrom = this.barCtx.getPreviousPath(realIndex, j, false); - } - - pathTo = pathTo + graphics.line(x1, newPath.y2) + newPath.pathWithRadius + graphics.line(x2 - strokeWidth, newPath.y2) + sl + sl + 'z'; // the lines in pathFrom are repeated to equal it to the points of pathTo - // this is to avoid weird animation (bug in svg.js) - - pathFrom = pathFrom + graphics.line(x1, y1) + sl + sl + sl + sl + sl + graphics.line(x1, y1); - - if (w.config.chart.stacked) { - this.barCtx.yArrj.push(newPath.y2WithRadius); - this.barCtx.yArrjF.push(Math.abs(y1 - newPath.y2WithRadius)); - this.barCtx.yArrjVal.push(this.barCtx.series[i][j]); - } - - return { - pathTo: pathTo, - pathFrom: pathFrom - }; - } - }, { - key: "getBarpaths", - value: function getBarpaths(_ref3) { - var barYPosition = _ref3.barYPosition, - barHeight = _ref3.barHeight, - x1 = _ref3.x1, - x2 = _ref3.x2, - strokeWidth = _ref3.strokeWidth, - series = _ref3.series, - realIndex = _ref3.realIndex, - i = _ref3.i, - j = _ref3.j, - w = _ref3.w; - var graphics = new Graphics(this.barCtx.ctx); - strokeWidth = Array.isArray(strokeWidth) ? strokeWidth[realIndex] : strokeWidth; - if (!strokeWidth) strokeWidth = 0; - var shapeOpts = { - barHeight: barHeight, - strokeWidth: strokeWidth, - barYPosition: barYPosition, - x2: x2, - x1: x1 - }; - var newPath = this.getRoundedBars(w, shapeOpts, series, i, j); - var pathTo = graphics.move(x1, barYPosition); - var pathFrom = graphics.move(x1, barYPosition); - - if (w.globals.previousPaths.length > 0) { - pathFrom = this.barCtx.getPreviousPath(realIndex, j, false); - } - - var y1 = barYPosition; - var y2 = barYPosition + barHeight; - var sl = graphics.line(x1, y2 - strokeWidth); - pathTo = pathTo + graphics.line(newPath.x2, y1) + newPath.pathWithRadius + graphics.line(newPath.x2, y2 - strokeWidth) + sl + sl + 'z'; - pathFrom = pathFrom + graphics.line(x1, y1) + sl + sl + sl + sl + sl + graphics.line(x1, y1); - - if (w.config.chart.stacked) { - this.barCtx.xArrj.push(newPath.x2WithRadius); - this.barCtx.xArrjF.push(Math.abs(x1 - newPath.x2WithRadius)); - this.barCtx.xArrjVal.push(this.barCtx.series[i][j]); - } - - return { - pathTo: pathTo, - pathFrom: pathFrom - }; - } - /** getRoundedBars draws border radius for bars/columns - * @memberof Bar - * @param {object} w - chart context - * @param {object} opts - consists several properties like barHeight/barWidth - * @param {array} series - global primary series - * @param {int} i - current iterating series's index - * @param {int} j - series's j of i - * @return {object} pathWithRadius - ending shape path string - * newY/newX - which is calculated from existing x/y based on rounded border - **/ - - }, { - key: "getRoundedBars", - value: function getRoundedBars(w, opts, series, i, j) { - var graphics = new Graphics(this.barCtx.ctx); - var radius = 0; - var borderRadius = w.config.plotOptions.bar.borderRadius; - var borderRadiusIsArray = Array.isArray(borderRadius); - - if (borderRadiusIsArray) { - var radiusIndex = i > borderRadius.length - 1 ? borderRadius.length - 1 : i; - radius = borderRadius[radiusIndex]; - } else { - radius = borderRadius; - } - - if (w.config.chart.stacked && series.length > 1 && i !== this.barCtx.radiusOnSeriesNumber && !borderRadiusIsArray) { - radius = 0; - } - - if (this.barCtx.isHorizontal) { - var pathWithRadius = ''; - var x2 = opts.x2; - - if (Math.abs(opts.x1 - opts.x2) < radius) { - radius = Math.abs(opts.x1 - opts.x2); - } - - if (typeof series[i][j] !== 'undefined' || series[i][j] !== null) { - var inverse = this.barCtx.isReversed ? series[i][j] > 0 : series[i][j] < 0; - if (inverse) radius = radius * -1; - x2 = x2 - radius; - pathWithRadius = graphics.quadraticCurve(x2 + radius, opts.barYPosition, x2 + radius, opts.barYPosition + (!inverse ? radius : radius * -1)) + graphics.line(x2 + radius, opts.barYPosition + opts.barHeight - opts.strokeWidth - (!inverse ? radius : radius * -1)) + graphics.quadraticCurve(x2 + radius, opts.barYPosition + opts.barHeight - opts.strokeWidth, x2, opts.barYPosition + opts.barHeight - opts.strokeWidth); - } - - return { - pathWithRadius: pathWithRadius, - x2WithRadius: x2 + radius, - x2: x2 - }; - } else { - var _pathWithRadius = ''; - var y2 = opts.y2; - - if (Math.abs(opts.y1 - opts.y2) < radius) { - radius = Math.abs(opts.y1 - opts.y2); - } - - if (typeof series[i][j] !== 'undefined' || series[i][j] !== null) { - var _inverse = series[i][j] < 0; - - if (_inverse) radius = radius * -1; - y2 = y2 + radius; - _pathWithRadius = graphics.quadraticCurve(opts.barXPosition, y2 - radius, opts.barXPosition + (!_inverse ? radius : radius * -1), y2 - radius) + graphics.line(opts.barXPosition + opts.barWidth - opts.strokeWidth - (!_inverse ? radius : radius * -1), y2 - radius) + graphics.quadraticCurve(opts.barXPosition + opts.barWidth - opts.strokeWidth, y2 - radius, opts.barXPosition + opts.barWidth - opts.strokeWidth, y2); - } - - return { - pathWithRadius: _pathWithRadius, - y2WithRadius: y2 - radius, - y2: y2 - }; - } - } - }, { - key: "checkZeroSeries", - value: function checkZeroSeries(_ref4) { - var series = _ref4.series; - var w = this.w; - - for (var zs = 0; zs < series.length; zs++) { - var total = 0; - - for (var zsj = 0; zsj < series[w.globals.maxValsInArrayIndex].length; zsj++) { - total += series[zs][zsj]; - } - - if (total === 0) { - this.barCtx.zeroSerieses.push(zs); - } - } // After getting all zeroserieses, we need to ensure whether radiusOnSeriesNumber is not in that zeroseries array - - - for (var s = series.length - 1; s >= 0; s--) { - if (this.barCtx.zeroSerieses.indexOf(s) > -1 && s === this.radiusOnSeriesNumber) { - this.barCtx.radiusOnSeriesNumber -= 1; - } - } - - for (var _s = series.length - 1; _s >= 0; _s--) { - if (w.globals.collapsedSeriesIndices.indexOf(this.barCtx.radiusOnSeriesNumber) > -1) { - this.barCtx.radiusOnSeriesNumber -= 1; - } - } - } - }, { - key: "getXForValue", - value: function getXForValue(value, zeroW) { - var zeroPositionForNull = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - var xForVal = zeroPositionForNull ? zeroW : null; - - if (typeof value !== 'undefined' && value !== null) { - xForVal = zeroW + value / this.barCtx.invertedYRatio - (this.barCtx.isReversed ? value / this.barCtx.invertedYRatio : 0) * 2; - } - - return xForVal; - } - }, { - key: "getYForValue", - value: function getYForValue(value, zeroH) { - var zeroPositionForNull = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - var yForVal = zeroPositionForNull ? zeroH : null; - - if (typeof value !== 'undefined' && value !== null) { - yForVal = zeroH - value / this.barCtx.yRatio[this.barCtx.yaxisIndex] + (this.barCtx.isReversed ? value / this.barCtx.yRatio[this.barCtx.yaxisIndex] : 0) * 2; - } - - return yForVal; - } - }, { - key: "getGoalValues", - value: function getGoalValues(type, zeroW, zeroH, i, j) { - var _this = this; - - var w = this.w; - var goals = []; - - if (w.globals.seriesGoals[i] && w.globals.seriesGoals[i][j] && Array.isArray(w.globals.seriesGoals[i][j])) { - w.globals.seriesGoals[i][j].forEach(function (goal) { - var _goals$push; - - goals.push((_goals$push = {}, _defineProperty(_goals$push, type, type === 'x' ? _this.getXForValue(goal.value, zeroW, false) : _this.getYForValue(goal.value, zeroH, false)), _defineProperty(_goals$push, "attrs", goal), _goals$push)); - }); - } - - return goals; - } - }, { - key: "drawGoalLine", - value: function drawGoalLine(_ref5) { - var barXPosition = _ref5.barXPosition, - barYPosition = _ref5.barYPosition, - goalX = _ref5.goalX, - goalY = _ref5.goalY, - barWidth = _ref5.barWidth, - barHeight = _ref5.barHeight; - var graphics = new Graphics(this.barCtx.ctx); - var lineGroup = graphics.group({ - className: 'apexcharts-bar-goals-groups' - }); - var line = null; - - if (this.barCtx.isHorizontal) { - if (Array.isArray(goalX)) { - goalX.forEach(function (goal) { - var sHeight = typeof goal.attrs.strokeHeight !== 'undefined' ? goal.attrs.strokeHeight : barHeight / 2; - var y = barYPosition + sHeight + barHeight / 2; - line = graphics.drawLine(goal.x, y - sHeight * 2, goal.x, y, goal.attrs.strokeColor ? goal.attrs.strokeColor : undefined, goal.attrs.strokeDashArray, goal.attrs.strokeWidth ? goal.attrs.strokeWidth : 2, goal.attrs.strokeLineCap); - lineGroup.add(line); - }); - } - } else { - if (Array.isArray(goalY)) { - goalY.forEach(function (goal) { - var sWidth = typeof goal.attrs.strokeWidth !== 'undefined' ? goal.attrs.strokeWidth : barWidth / 2; - var x = barXPosition + sWidth + barWidth / 2; - line = graphics.drawLine(x - sWidth * 2, goal.y, x, goal.y, goal.attrs.strokeColor ? goal.attrs.strokeColor : undefined, goal.attrs.strokeDashArray, goal.attrs.strokeHeight ? goal.attrs.strokeHeight : 2, goal.attrs.strokeLineCap); - lineGroup.add(line); - }); - } - } - - return lineGroup; - } - }]); - - return Helpers; - }(); - - /** - * ApexCharts Bar Class responsible for drawing both Columns and Bars. - * - * @module Bar - **/ - - var Bar = /*#__PURE__*/function () { - function Bar(ctx, xyRatios) { - _classCallCheck(this, Bar); - - this.ctx = ctx; - this.w = ctx.w; - var w = this.w; - this.barOptions = w.config.plotOptions.bar; - this.isHorizontal = this.barOptions.horizontal; - this.strokeWidth = w.config.stroke.width; - this.isNullValue = false; - this.isRangeBar = w.globals.seriesRangeBar.length && this.isHorizontal; - this.xyRatios = xyRatios; - - if (this.xyRatios !== null) { - this.xRatio = xyRatios.xRatio; - this.initialXRatio = xyRatios.initialXRatio; - this.yRatio = xyRatios.yRatio; - this.invertedXRatio = xyRatios.invertedXRatio; - this.invertedYRatio = xyRatios.invertedYRatio; - this.baseLineY = xyRatios.baseLineY; - this.baseLineInvertedY = xyRatios.baseLineInvertedY; - } - - this.yaxisIndex = 0; - this.seriesLen = 0; - this.barHelpers = new Helpers$3(this); - } - /** primary draw method which is called on bar object - * @memberof Bar - * @param {array} series - user supplied series values - * @param {int} seriesIndex - the index by which series will be drawn on the svg - * @return {node} element which is supplied to parent chart draw method for appending - **/ - - - _createClass(Bar, [{ - key: "draw", - value: function draw(series, seriesIndex) { - var w = this.w; - var graphics = new Graphics(this.ctx); - var coreUtils = new CoreUtils(this.ctx, w); - series = coreUtils.getLogSeries(series); - this.series = series; - this.yRatio = coreUtils.getLogYRatios(this.yRatio); - this.barHelpers.initVariables(series); - var ret = graphics.group({ - class: 'apexcharts-bar-series apexcharts-plot-series' - }); - - if (w.config.dataLabels.enabled) { - if (this.totalItems > this.barOptions.dataLabels.maxItems) { - console.warn('WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.'); - } - } - - for (var i = 0, bc = 0; i < series.length; i++, bc++) { - var x = void 0, - y = void 0, - xDivision = void 0, - // xDivision is the GRIDWIDTH divided by number of datapoints (columns) - yDivision = void 0, - // yDivision is the GRIDHEIGHT divided by number of datapoints (bars) - zeroH = void 0, - // zeroH is the baseline where 0 meets y axis - zeroW = void 0; // zeroW is the baseline where 0 meets x axis - - var yArrj = []; // hold y values of current iterating series - - var xArrj = []; // hold x values of current iterating series - - var realIndex = w.globals.comboCharts ? seriesIndex[i] : i; // el to which series will be drawn - - var elSeries = graphics.group({ - class: "apexcharts-series", - rel: i + 1, - seriesName: Utils$1.escapeString(w.globals.seriesNames[realIndex]), - 'data:realIndex': realIndex - }); - this.ctx.series.addCollapsedClassToSeries(elSeries, realIndex); - - if (series[i].length > 0) { - this.visibleI = this.visibleI + 1; - } - - var barHeight = 0; - var barWidth = 0; - - if (this.yRatio.length > 1) { - this.yaxisIndex = realIndex; - } - - this.isReversed = w.config.yaxis[this.yaxisIndex] && w.config.yaxis[this.yaxisIndex].reversed; - var initPositions = this.barHelpers.initialPositions(); - y = initPositions.y; - barHeight = initPositions.barHeight; - yDivision = initPositions.yDivision; - zeroW = initPositions.zeroW; - x = initPositions.x; - barWidth = initPositions.barWidth; - xDivision = initPositions.xDivision; - zeroH = initPositions.zeroH; - - if (!this.horizontal) { - xArrj.push(x + barWidth / 2); - } // eldatalabels - - - var elDataLabelsWrap = graphics.group({ - class: 'apexcharts-datalabels', - 'data:realIndex': realIndex - }); - var elGoalsMarkers = graphics.group({ - class: 'apexcharts-bar-goals-markers', - style: "pointer-events: none" - }); - - for (var j = 0; j < w.globals.dataPoints; j++) { - var strokeWidth = this.barHelpers.getStrokeWidth(i, j, realIndex); - var paths = null; - var pathsParams = { - indexes: { - i: i, - j: j, - realIndex: realIndex, - bc: bc - }, - x: x, - y: y, - strokeWidth: strokeWidth, - elSeries: elSeries - }; - - if (this.isHorizontal) { - paths = this.drawBarPaths(_objectSpread2(_objectSpread2({}, pathsParams), {}, { - barHeight: barHeight, - zeroW: zeroW, - yDivision: yDivision - })); - barWidth = this.series[i][j] / this.invertedYRatio; - } else { - paths = this.drawColumnPaths(_objectSpread2(_objectSpread2({}, pathsParams), {}, { - xDivision: xDivision, - barWidth: barWidth, - zeroH: zeroH - })); - barHeight = this.series[i][j] / this.yRatio[this.yaxisIndex]; - } - - var barGoalLine = this.barHelpers.drawGoalLine({ - barXPosition: paths.barXPosition, - barYPosition: paths.barYPosition, - goalX: paths.goalX, - goalY: paths.goalY, - barHeight: barHeight, - barWidth: barWidth - }); - - if (barGoalLine) { - elGoalsMarkers.add(barGoalLine); - } - - y = paths.y; - x = paths.x; // push current X - - if (j > 0) { - xArrj.push(x + barWidth / 2); - } - - yArrj.push(y); - var pathFill = this.barHelpers.getPathFillColor(series, i, j, realIndex); - this.renderSeries({ - realIndex: realIndex, - pathFill: pathFill, - j: j, - i: i, - pathFrom: paths.pathFrom, - pathTo: paths.pathTo, - strokeWidth: strokeWidth, - elSeries: elSeries, - x: x, - y: y, - series: series, - barHeight: barHeight, - barWidth: barWidth, - elDataLabelsWrap: elDataLabelsWrap, - elGoalsMarkers: elGoalsMarkers, - visibleSeries: this.visibleI, - type: 'bar' - }); - } // push all x val arrays into main xArr - - - w.globals.seriesXvalues[realIndex] = xArrj; - w.globals.seriesYvalues[realIndex] = yArrj; - ret.add(elSeries); - } - - return ret; - } - }, { - key: "renderSeries", - value: function renderSeries(_ref) { - var realIndex = _ref.realIndex, - pathFill = _ref.pathFill, - lineFill = _ref.lineFill, - j = _ref.j, - i = _ref.i, - pathFrom = _ref.pathFrom, - pathTo = _ref.pathTo, - strokeWidth = _ref.strokeWidth, - elSeries = _ref.elSeries, - x = _ref.x, - y = _ref.y, - y1 = _ref.y1, - y2 = _ref.y2, - series = _ref.series, - barHeight = _ref.barHeight, - barWidth = _ref.barWidth, - barYPosition = _ref.barYPosition, - elDataLabelsWrap = _ref.elDataLabelsWrap, - elGoalsMarkers = _ref.elGoalsMarkers, - visibleSeries = _ref.visibleSeries, - type = _ref.type; - var w = this.w; - var graphics = new Graphics(this.ctx); - - if (!lineFill) { - /* fix apexcharts#341 */ - lineFill = this.barOptions.distributed ? w.globals.stroke.colors[j] : w.globals.stroke.colors[realIndex]; - } - - if (w.config.series[i].data[j] && w.config.series[i].data[j].strokeColor) { - lineFill = w.config.series[i].data[j].strokeColor; - } - - if (this.isNullValue) { - pathFill = 'none'; - } - - var delay = j / w.config.chart.animations.animateGradually.delay * (w.config.chart.animations.speed / w.globals.dataPoints) / 2.4; - var renderedPath = graphics.renderPaths({ - i: i, - j: j, - realIndex: realIndex, - pathFrom: pathFrom, - pathTo: pathTo, - stroke: lineFill, - strokeWidth: strokeWidth, - strokeLineCap: w.config.stroke.lineCap, - fill: pathFill, - animationDelay: delay, - initialSpeed: w.config.chart.animations.speed, - dataChangeSpeed: w.config.chart.animations.dynamicAnimation.speed, - className: "apexcharts-".concat(type, "-area") - }); - renderedPath.attr('clip-path', "url(#gridRectMask".concat(w.globals.cuid, ")")); - var forecast = w.config.forecastDataPoints; - - if (forecast.count > 0) { - if (j >= w.globals.dataPoints - forecast.count) { - renderedPath.node.setAttribute('stroke-dasharray', forecast.dashArray); - renderedPath.node.setAttribute('stroke-width', forecast.strokeWidth); - renderedPath.node.setAttribute('fill-opacity', forecast.fillOpacity); - } - } - - if (typeof y1 !== 'undefined' && typeof y2 !== 'undefined') { - renderedPath.attr('data-range-y1', y1); - renderedPath.attr('data-range-y2', y2); - } - - var filters = new Filters(this.ctx); - filters.setSelectionFilter(renderedPath, realIndex, j); - elSeries.add(renderedPath); - var barDataLabels = new BarDataLabels(this); - var dataLabels = barDataLabels.handleBarDataLabels({ - x: x, - y: y, - y1: y1, - y2: y2, - i: i, - j: j, - series: series, - realIndex: realIndex, - barHeight: barHeight, - barWidth: barWidth, - barYPosition: barYPosition, - renderedPath: renderedPath, - visibleSeries: visibleSeries - }); - - if (dataLabels !== null) { - elDataLabelsWrap.add(dataLabels); - } - - elSeries.add(elDataLabelsWrap); - - if (elGoalsMarkers) { - elSeries.add(elGoalsMarkers); - } - - return elSeries; - } - }, { - key: "drawBarPaths", - value: function drawBarPaths(_ref2) { - var indexes = _ref2.indexes, - barHeight = _ref2.barHeight, - strokeWidth = _ref2.strokeWidth, - zeroW = _ref2.zeroW, - x = _ref2.x, - y = _ref2.y, - yDivision = _ref2.yDivision, - elSeries = _ref2.elSeries; - var w = this.w; - var i = indexes.i; - var j = indexes.j; - - if (w.globals.isXNumeric) { - y = (w.globals.seriesX[i][j] - w.globals.minX) / this.invertedXRatio - barHeight; - } - - var barYPosition = y + barHeight * this.visibleI; - x = this.barHelpers.getXForValue(this.series[i][j], zeroW); - var paths = this.barHelpers.getBarpaths({ - barYPosition: barYPosition, - barHeight: barHeight, - x1: zeroW, - x2: x, - strokeWidth: strokeWidth, - series: this.series, - realIndex: indexes.realIndex, - i: i, - j: j, - w: w - }); - - if (!w.globals.isXNumeric) { - y = y + yDivision; - } - - this.barHelpers.barBackground({ - j: j, - i: i, - y1: barYPosition - barHeight * this.visibleI, - y2: barHeight * this.seriesLen, - elSeries: elSeries - }); - return { - pathTo: paths.pathTo, - pathFrom: paths.pathFrom, - x: x, - y: y, - goalX: this.barHelpers.getGoalValues('x', zeroW, null, i, j), - barYPosition: barYPosition - }; - } - }, { - key: "drawColumnPaths", - value: function drawColumnPaths(_ref3) { - var indexes = _ref3.indexes, - x = _ref3.x, - y = _ref3.y, - xDivision = _ref3.xDivision, - barWidth = _ref3.barWidth, - zeroH = _ref3.zeroH, - strokeWidth = _ref3.strokeWidth, - elSeries = _ref3.elSeries; - var w = this.w; - var realIndex = indexes.realIndex; - var i = indexes.i; - var j = indexes.j; - var bc = indexes.bc; - - if (w.globals.isXNumeric) { - var sxI = realIndex; - - if (!w.globals.seriesX[realIndex].length) { - sxI = w.globals.maxValsInArrayIndex; - } - - x = (w.globals.seriesX[sxI][j] - w.globals.minX) / this.xRatio - barWidth * this.seriesLen / 2; - } - - var barXPosition = x + barWidth * this.visibleI; - y = this.barHelpers.getYForValue(this.series[i][j], zeroH); - var paths = this.barHelpers.getColumnPaths({ - barXPosition: barXPosition, - barWidth: barWidth, - y1: zeroH, - y2: y, - strokeWidth: strokeWidth, - series: this.series, - realIndex: indexes.realIndex, - i: i, - j: j, - w: w - }); - - if (!w.globals.isXNumeric) { - x = x + xDivision; - } - - this.barHelpers.barBackground({ - bc: bc, - j: j, - i: i, - x1: barXPosition - strokeWidth / 2 - barWidth * this.visibleI, - x2: barWidth * this.seriesLen + strokeWidth / 2, - elSeries: elSeries - }); - return { - pathTo: paths.pathTo, - pathFrom: paths.pathFrom, - x: x, - y: y, - goalY: this.barHelpers.getGoalValues('y', null, zeroH, i, j), - barXPosition: barXPosition - }; - } - /** getPreviousPath is a common function for bars/columns which is used to get previous paths when data changes. - * @memberof Bar - * @param {int} realIndex - current iterating i - * @param {int} j - current iterating series's j index - * @return {string} pathFrom is the string which will be appended in animations - **/ - - }, { - key: "getPreviousPath", - value: function getPreviousPath(realIndex, j) { - var w = this.w; - var pathFrom; - - for (var pp = 0; pp < w.globals.previousPaths.length; pp++) { - var gpp = w.globals.previousPaths[pp]; - - if (gpp.paths && gpp.paths.length > 0 && parseInt(gpp.realIndex, 10) === parseInt(realIndex, 10)) { - if (typeof w.globals.previousPaths[pp].paths[j] !== 'undefined') { - pathFrom = w.globals.previousPaths[pp].paths[j].d; - } - } - } - - return pathFrom; - } - }]); - - return Bar; - }(); - - /** - * DateTime Class to manipulate datetime values. - * - * @module DateTime - **/ - - var DateTime = /*#__PURE__*/function () { - function DateTime(ctx) { - _classCallCheck(this, DateTime); - - this.ctx = ctx; - this.w = ctx.w; - this.months31 = [1, 3, 5, 7, 8, 10, 12]; - this.months30 = [2, 4, 6, 9, 11]; - this.daysCntOfYear = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]; - } - - _createClass(DateTime, [{ - key: "isValidDate", - value: function isValidDate(date) { - return !isNaN(this.parseDate(date)); - } - }, { - key: "getTimeStamp", - value: function getTimeStamp(dateStr) { - if (!Date.parse(dateStr)) { - return dateStr; - } - - var utc = this.w.config.xaxis.labels.datetimeUTC; - return !utc ? new Date(dateStr).getTime() : new Date(new Date(dateStr).toISOString().substr(0, 25)).getTime(); - } - }, { - key: "getDate", - value: function getDate(timestamp) { - var utc = this.w.config.xaxis.labels.datetimeUTC; - return utc ? new Date(new Date(timestamp).toUTCString()) : new Date(timestamp); - } - }, { - key: "parseDate", - value: function parseDate(dateStr) { - var parsed = Date.parse(dateStr); - - if (!isNaN(parsed)) { - return this.getTimeStamp(dateStr); - } - - var output = Date.parse(dateStr.replace(/-/g, '/').replace(/[a-z]+/gi, ' ')); - output = this.getTimeStamp(output); - return output; - } // This fixes the difference of x-axis labels between chrome/safari - // Fixes #1726, #1544, #1485, #1255 - - }, { - key: "parseDateWithTimezone", - value: function parseDateWithTimezone(dateStr) { - return Date.parse(dateStr.replace(/-/g, '/').replace(/[a-z]+/gi, ' ')); - } // http://stackoverflow.com/questions/14638018/current-time-formatting-with-javascript#answer-14638191 - - }, { - key: "formatDate", - value: function formatDate(date, format) { - var locale = this.w.globals.locale; - var utc = this.w.config.xaxis.labels.datetimeUTC; - var MMMM = ['\x00'].concat(_toConsumableArray(locale.months)); - var MMM = ['\x01'].concat(_toConsumableArray(locale.shortMonths)); - var dddd = ['\x02'].concat(_toConsumableArray(locale.days)); - var ddd = ['\x03'].concat(_toConsumableArray(locale.shortDays)); - - function ii(i, len) { - var s = i + ''; - len = len || 2; - - while (s.length < len) { - s = '0' + s; - } - - return s; - } - - var y = utc ? date.getUTCFullYear() : date.getFullYear(); - format = format.replace(/(^|[^\\])yyyy+/g, '$1' + y); - format = format.replace(/(^|[^\\])yy/g, '$1' + y.toString().substr(2, 2)); - format = format.replace(/(^|[^\\])y/g, '$1' + y); - var M = (utc ? date.getUTCMonth() : date.getMonth()) + 1; - format = format.replace(/(^|[^\\])MMMM+/g, '$1' + MMMM[0]); - format = format.replace(/(^|[^\\])MMM/g, '$1' + MMM[0]); - format = format.replace(/(^|[^\\])MM/g, '$1' + ii(M)); - format = format.replace(/(^|[^\\])M/g, '$1' + M); - var d = utc ? date.getUTCDate() : date.getDate(); - format = format.replace(/(^|[^\\])dddd+/g, '$1' + dddd[0]); - format = format.replace(/(^|[^\\])ddd/g, '$1' + ddd[0]); - format = format.replace(/(^|[^\\])dd/g, '$1' + ii(d)); - format = format.replace(/(^|[^\\])d/g, '$1' + d); - var H = utc ? date.getUTCHours() : date.getHours(); - format = format.replace(/(^|[^\\])HH+/g, '$1' + ii(H)); - format = format.replace(/(^|[^\\])H/g, '$1' + H); - var h = H > 12 ? H - 12 : H === 0 ? 12 : H; - format = format.replace(/(^|[^\\])hh+/g, '$1' + ii(h)); - format = format.replace(/(^|[^\\])h/g, '$1' + h); - var m = utc ? date.getUTCMinutes() : date.getMinutes(); - format = format.replace(/(^|[^\\])mm+/g, '$1' + ii(m)); - format = format.replace(/(^|[^\\])m/g, '$1' + m); - var s = utc ? date.getUTCSeconds() : date.getSeconds(); - format = format.replace(/(^|[^\\])ss+/g, '$1' + ii(s)); - format = format.replace(/(^|[^\\])s/g, '$1' + s); - var f = utc ? date.getUTCMilliseconds() : date.getMilliseconds(); - format = format.replace(/(^|[^\\])fff+/g, '$1' + ii(f, 3)); - f = Math.round(f / 10); - format = format.replace(/(^|[^\\])ff/g, '$1' + ii(f)); - f = Math.round(f / 10); - format = format.replace(/(^|[^\\])f/g, '$1' + f); - var T = H < 12 ? 'AM' : 'PM'; - format = format.replace(/(^|[^\\])TT+/g, '$1' + T); - format = format.replace(/(^|[^\\])T/g, '$1' + T.charAt(0)); - var t = T.toLowerCase(); - format = format.replace(/(^|[^\\])tt+/g, '$1' + t); - format = format.replace(/(^|[^\\])t/g, '$1' + t.charAt(0)); - var tz = -date.getTimezoneOffset(); - var K = utc || !tz ? 'Z' : tz > 0 ? '+' : '-'; - - if (!utc) { - tz = Math.abs(tz); - var tzHrs = Math.floor(tz / 60); - var tzMin = tz % 60; - K += ii(tzHrs) + ':' + ii(tzMin); - } - - format = format.replace(/(^|[^\\])K/g, '$1' + K); - var day = (utc ? date.getUTCDay() : date.getDay()) + 1; - format = format.replace(new RegExp(dddd[0], 'g'), dddd[day]); - format = format.replace(new RegExp(ddd[0], 'g'), ddd[day]); - format = format.replace(new RegExp(MMMM[0], 'g'), MMMM[M]); - format = format.replace(new RegExp(MMM[0], 'g'), MMM[M]); - format = format.replace(/\\(.)/g, '$1'); - return format; - } - }, { - key: "getTimeUnitsfromTimestamp", - value: function getTimeUnitsfromTimestamp(minX, maxX, utc) { - var w = this.w; - - if (w.config.xaxis.min !== undefined) { - minX = w.config.xaxis.min; - } - - if (w.config.xaxis.max !== undefined) { - maxX = w.config.xaxis.max; - } - - var tsMin = this.getDate(minX); - var tsMax = this.getDate(maxX); - var minD = this.formatDate(tsMin, 'yyyy MM dd HH mm ss fff').split(' '); - var maxD = this.formatDate(tsMax, 'yyyy MM dd HH mm ss fff').split(' '); - return { - minMillisecond: parseInt(minD[6], 10), - maxMillisecond: parseInt(maxD[6], 10), - minSecond: parseInt(minD[5], 10), - maxSecond: parseInt(maxD[5], 10), - minMinute: parseInt(minD[4], 10), - maxMinute: parseInt(maxD[4], 10), - minHour: parseInt(minD[3], 10), - maxHour: parseInt(maxD[3], 10), - minDate: parseInt(minD[2], 10), - maxDate: parseInt(maxD[2], 10), - minMonth: parseInt(minD[1], 10) - 1, - maxMonth: parseInt(maxD[1], 10) - 1, - minYear: parseInt(minD[0], 10), - maxYear: parseInt(maxD[0], 10) - }; - } - }, { - key: "isLeapYear", - value: function isLeapYear(year) { - return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0; - } - }, { - key: "calculcateLastDaysOfMonth", - value: function calculcateLastDaysOfMonth(month, year, subtract) { - var days = this.determineDaysOfMonths(month, year); // whatever days we get, subtract the number of days asked - - return days - subtract; - } - }, { - key: "determineDaysOfYear", - value: function determineDaysOfYear(year) { - var days = 365; - - if (this.isLeapYear(year)) { - days = 366; - } - - return days; - } - }, { - key: "determineRemainingDaysOfYear", - value: function determineRemainingDaysOfYear(year, month, date) { - var dayOfYear = this.daysCntOfYear[month] + date; - if (month > 1 && this.isLeapYear()) dayOfYear++; - return dayOfYear; - } - }, { - key: "determineDaysOfMonths", - value: function determineDaysOfMonths(month, year) { - var days = 30; - month = Utils$1.monthMod(month); - - switch (true) { - case this.months30.indexOf(month) > -1: - if (month === 2) { - if (this.isLeapYear(year)) { - days = 29; - } else { - days = 28; - } - } - - break; - - case this.months31.indexOf(month) > -1: - days = 31; - break; - - default: - days = 31; - break; - } - - return days; - } - }]); - - return DateTime; - }(); - - /** - * ApexCharts RangeBar Class responsible for drawing Range/Timeline Bars. - * - * @module RangeBar - **/ - - var RangeBar = /*#__PURE__*/function (_Bar) { - _inherits(RangeBar, _Bar); - - var _super = _createSuper(RangeBar); - - function RangeBar() { - _classCallCheck(this, RangeBar); - - return _super.apply(this, arguments); - } - - _createClass(RangeBar, [{ - key: "draw", - value: function draw(series, seriesIndex) { - var w = this.w; - var graphics = new Graphics(this.ctx); - this.rangeBarOptions = this.w.config.plotOptions.rangeBar; - this.series = series; - this.seriesRangeStart = w.globals.seriesRangeStart; - this.seriesRangeEnd = w.globals.seriesRangeEnd; - this.barHelpers.initVariables(series); - var ret = graphics.group({ - class: 'apexcharts-rangebar-series apexcharts-plot-series' - }); - - for (var i = 0; i < series.length; i++) { - var x = void 0, - y = void 0, - xDivision = void 0, - // xDivision is the GRIDWIDTH divided by number of datapoints (columns) - yDivision = void 0, - // yDivision is the GRIDHEIGHT divided by number of datapoints (bars) - zeroH = void 0, - // zeroH is the baseline where 0 meets y axis - zeroW = void 0; // zeroW is the baseline where 0 meets x axis - - var realIndex = w.globals.comboCharts ? seriesIndex[i] : i; // el to which series will be drawn - - var elSeries = graphics.group({ - class: "apexcharts-series", - seriesName: Utils$1.escapeString(w.globals.seriesNames[realIndex]), - rel: i + 1, - 'data:realIndex': realIndex - }); - this.ctx.series.addCollapsedClassToSeries(elSeries, realIndex); - - if (series[i].length > 0) { - this.visibleI = this.visibleI + 1; - } - - var barHeight = 0; - var barWidth = 0; - - if (this.yRatio.length > 1) { - this.yaxisIndex = realIndex; - } - - var initPositions = this.barHelpers.initialPositions(); - y = initPositions.y; - zeroW = initPositions.zeroW; - x = initPositions.x; - barWidth = initPositions.barWidth; - xDivision = initPositions.xDivision; - zeroH = initPositions.zeroH; // eldatalabels - - var elDataLabelsWrap = graphics.group({ - class: 'apexcharts-datalabels', - 'data:realIndex': realIndex - }); - var elGoalsMarkers = graphics.group({ - class: 'apexcharts-rangebar-goals-markers', - style: "pointer-events: none" - }); - - for (var j = 0; j < w.globals.dataPoints; j++) { - var strokeWidth = this.barHelpers.getStrokeWidth(i, j, realIndex); - var y1 = this.seriesRangeStart[i][j]; - var y2 = this.seriesRangeEnd[i][j]; - var paths = null; - var barYPosition = null; - var params = { - x: x, - y: y, - strokeWidth: strokeWidth, - elSeries: elSeries - }; - yDivision = initPositions.yDivision; - barHeight = initPositions.barHeight; - - if (this.isHorizontal) { - barYPosition = y + barHeight * this.visibleI; - var seriesLen = this.seriesLen; - - if (w.config.plotOptions.bar.rangeBarGroupRows) { - seriesLen = 1; - } - - var srty = (yDivision - barHeight * seriesLen) / 2; - - if (typeof w.config.series[i].data[j] === 'undefined') { - // no data exists for further indexes, hence we need to get out the innr loop. - // As we are iterating over total datapoints, there is a possiblity the series might not have data for j index - break; - } - - if (w.config.series[i].data[j].x) { - var positions = this.detectOverlappingBars({ - i: i, - j: j, - barYPosition: barYPosition, - srty: srty, - barHeight: barHeight, - yDivision: yDivision, - initPositions: initPositions - }); - barHeight = positions.barHeight; - barYPosition = positions.barYPosition; - } - - paths = this.drawRangeBarPaths(_objectSpread2({ - indexes: { - i: i, - j: j, - realIndex: realIndex - }, - barHeight: barHeight, - barYPosition: barYPosition, - zeroW: zeroW, - yDivision: yDivision, - y1: y1, - y2: y2 - }, params)); - barWidth = paths.barWidth; - } else { - paths = this.drawRangeColumnPaths(_objectSpread2({ - indexes: { - i: i, - j: j, - realIndex: realIndex - }, - zeroH: zeroH, - barWidth: barWidth, - xDivision: xDivision - }, params)); - barHeight = paths.barHeight; - } - - var barGoalLine = this.barHelpers.drawGoalLine({ - barXPosition: paths.barXPosition, - barYPosition: barYPosition, - goalX: paths.goalX, - goalY: paths.goalY, - barHeight: barHeight, - barWidth: barWidth - }); - - if (barGoalLine) { - elGoalsMarkers.add(barGoalLine); - } - - y = paths.y; - x = paths.x; - var pathFill = this.barHelpers.getPathFillColor(series, i, j, realIndex); - var lineFill = w.globals.stroke.colors[realIndex]; - this.renderSeries({ - realIndex: realIndex, - pathFill: pathFill, - lineFill: lineFill, - j: j, - i: i, - x: x, - y: y, - y1: y1, - y2: y2, - pathFrom: paths.pathFrom, - pathTo: paths.pathTo, - strokeWidth: strokeWidth, - elSeries: elSeries, - series: series, - barHeight: barHeight, - barYPosition: barYPosition, - barWidth: barWidth, - elDataLabelsWrap: elDataLabelsWrap, - elGoalsMarkers: elGoalsMarkers, - visibleSeries: this.visibleI, - type: 'rangebar' - }); - } - - ret.add(elSeries); - } - - return ret; - } - }, { - key: "detectOverlappingBars", - value: function detectOverlappingBars(_ref) { - var i = _ref.i, - j = _ref.j, - barYPosition = _ref.barYPosition, - srty = _ref.srty, - barHeight = _ref.barHeight, - yDivision = _ref.yDivision, - initPositions = _ref.initPositions; - var w = this.w; - var overlaps = []; - var rangeName = w.config.series[i].data[j].rangeName; - var labelX = w.config.series[i].data[j].x; - var rowIndex = w.globals.labels.indexOf(labelX); - var overlappedIndex = w.globals.seriesRangeBar[i].findIndex(function (tx) { - return tx.x === labelX && tx.overlaps.length > 0; - }); - - if (w.config.plotOptions.bar.rangeBarGroupRows) { - barYPosition = srty + yDivision * rowIndex; - } else { - barYPosition = srty + barHeight * this.visibleI + yDivision * rowIndex; - } - - if (overlappedIndex > -1 && !w.config.plotOptions.bar.rangeBarOverlap) { - overlaps = w.globals.seriesRangeBar[i][overlappedIndex].overlaps; - - if (overlaps.indexOf(rangeName) > -1) { - barHeight = initPositions.barHeight / overlaps.length; - barYPosition = barHeight * this.visibleI + yDivision * (100 - parseInt(this.barOptions.barHeight, 10)) / 100 / 2 + barHeight * (this.visibleI + overlaps.indexOf(rangeName)) + yDivision * rowIndex; - } - } - - return { - barYPosition: barYPosition, - barHeight: barHeight - }; - } - }, { - key: "drawRangeColumnPaths", - value: function drawRangeColumnPaths(_ref2) { - var indexes = _ref2.indexes, - x = _ref2.x; - _ref2.strokeWidth; - var xDivision = _ref2.xDivision, - barWidth = _ref2.barWidth, - zeroH = _ref2.zeroH; - var w = this.w; - var i = indexes.i; - var j = indexes.j; - var yRatio = this.yRatio[this.yaxisIndex]; - var realIndex = indexes.realIndex; - var range = this.getRangeValue(realIndex, j); - var y1 = Math.min(range.start, range.end); - var y2 = Math.max(range.start, range.end); - - if (w.globals.isXNumeric) { - x = (w.globals.seriesX[i][j] - w.globals.minX) / this.xRatio - barWidth / 2; - } - - var barXPosition = x + barWidth * this.visibleI; - - if (typeof this.series[i][j] === 'undefined' || this.series[i][j] === null) { - y1 = zeroH; - } else { - y1 = zeroH - y1 / yRatio; - y2 = zeroH - y2 / yRatio; - } - - var barHeight = Math.abs(y2 - y1); - var paths = this.barHelpers.getColumnPaths({ - barXPosition: barXPosition, - barWidth: barWidth, - y1: y1, - y2: y2, - strokeWidth: this.strokeWidth, - series: this.seriesRangeEnd, - realIndex: indexes.realIndex, - i: realIndex, - j: j, - w: w - }); - - if (!w.globals.isXNumeric) { - x = x + xDivision; - } - - return { - pathTo: paths.pathTo, - pathFrom: paths.pathFrom, - barHeight: barHeight, - x: x, - y: y2, - goalY: this.barHelpers.getGoalValues('y', null, zeroH, i, j), - barXPosition: barXPosition - }; - } - }, { - key: "drawRangeBarPaths", - value: function drawRangeBarPaths(_ref3) { - var indexes = _ref3.indexes, - y = _ref3.y, - y1 = _ref3.y1, - y2 = _ref3.y2, - yDivision = _ref3.yDivision, - barHeight = _ref3.barHeight, - barYPosition = _ref3.barYPosition, - zeroW = _ref3.zeroW; - var w = this.w; - var x1 = zeroW + y1 / this.invertedYRatio; - var x2 = zeroW + y2 / this.invertedYRatio; - var barWidth = Math.abs(x2 - x1); - var paths = this.barHelpers.getBarpaths({ - barYPosition: barYPosition, - barHeight: barHeight, - x1: x1, - x2: x2, - strokeWidth: this.strokeWidth, - series: this.seriesRangeEnd, - i: indexes.realIndex, - realIndex: indexes.realIndex, - j: indexes.j, - w: w - }); - - if (!w.globals.isXNumeric) { - y = y + yDivision; - } - - return { - pathTo: paths.pathTo, - pathFrom: paths.pathFrom, - barWidth: barWidth, - x: x2, - goalX: this.barHelpers.getGoalValues('x', zeroW, null, indexes.realIndex, indexes.j), - y: y - }; - } - }, { - key: "getRangeValue", - value: function getRangeValue(i, j) { - var w = this.w; - return { - start: w.globals.seriesRangeStart[i][j], - end: w.globals.seriesRangeEnd[i][j] - }; - } - }, { - key: "getTooltipValues", - value: function getTooltipValues(_ref4) { - var ctx = _ref4.ctx, - seriesIndex = _ref4.seriesIndex, - dataPointIndex = _ref4.dataPointIndex, - y1 = _ref4.y1, - y2 = _ref4.y2, - w = _ref4.w; - var start = w.globals.seriesRangeStart[seriesIndex][dataPointIndex]; - var end = w.globals.seriesRangeEnd[seriesIndex][dataPointIndex]; - var ylabel = w.globals.labels[dataPointIndex]; - var seriesName = w.config.series[seriesIndex].name ? w.config.series[seriesIndex].name : ''; - var yLbFormatter = w.config.tooltip.y.formatter; - var yLbTitleFormatter = w.config.tooltip.y.title.formatter; - var opts = { - w: w, - seriesIndex: seriesIndex, - dataPointIndex: dataPointIndex, - start: start, - end: end - }; - - if (typeof yLbTitleFormatter === 'function') { - seriesName = yLbTitleFormatter(seriesName, opts); - } - - if (Number.isFinite(y1) && Number.isFinite(y2)) { - start = y1; - end = y2; - - if (w.config.series[seriesIndex].data[dataPointIndex].x) { - ylabel = w.config.series[seriesIndex].data[dataPointIndex].x + ':'; - } - - if (typeof yLbFormatter === 'function') { - ylabel = yLbFormatter(ylabel, opts); - } - } - - var startVal = ''; - var endVal = ''; - var color = w.globals.colors[seriesIndex]; - - if (w.config.tooltip.x.formatter === undefined) { - if (w.config.xaxis.type === 'datetime') { - var datetimeObj = new DateTime(ctx); - startVal = datetimeObj.formatDate(datetimeObj.getDate(start), w.config.tooltip.x.format); - endVal = datetimeObj.formatDate(datetimeObj.getDate(end), w.config.tooltip.x.format); - } else { - startVal = start; - endVal = end; - } - } else { - startVal = w.config.tooltip.x.formatter(start); - endVal = w.config.tooltip.x.formatter(end); - } - - return { - start: start, - end: end, - startVal: startVal, - endVal: endVal, - ylabel: ylabel, - color: color, - seriesName: seriesName - }; - } - }, { - key: "buildCustomTooltipHTML", - value: function buildCustomTooltipHTML(_ref5) { - var color = _ref5.color, - seriesName = _ref5.seriesName, - ylabel = _ref5.ylabel, - start = _ref5.start, - end = _ref5.end; - return '
' + '
' + (seriesName ? seriesName : '') + '
' + '
' + ylabel + ' ' + start + ' - ' + end + '
' + '
'; - } - }]); - - return RangeBar; - }(Bar); - - /** - * ApexCharts Default Class for setting default options for all chart types. - * - * @module Defaults - **/ - - var Defaults = /*#__PURE__*/function () { - function Defaults(opts) { - _classCallCheck(this, Defaults); - - this.opts = opts; - } - - _createClass(Defaults, [{ - key: "line", - value: function line() { - return { - chart: { - animations: { - easing: 'swing' - } - }, - dataLabels: { - enabled: false - }, - stroke: { - width: 5, - curve: 'straight' - }, - markers: { - size: 0, - hover: { - sizeOffset: 6 - } - }, - xaxis: { - crosshairs: { - width: 1 - } - } - }; - } - }, { - key: "sparkline", - value: function sparkline(defaults) { - this.opts.yaxis[0].show = false; - this.opts.yaxis[0].title.text = ''; - this.opts.yaxis[0].axisBorder.show = false; - this.opts.yaxis[0].axisTicks.show = false; - this.opts.yaxis[0].floating = true; - var ret = { - grid: { - show: false, - padding: { - left: 0, - right: 0, - top: 0, - bottom: 0 - } - }, - legend: { - show: false - }, - xaxis: { - labels: { - show: false - }, - tooltip: { - enabled: false - }, - axisBorder: { - show: false - }, - axisTicks: { - show: false - } - }, - chart: { - toolbar: { - show: false - }, - zoom: { - enabled: false - } - }, - dataLabels: { - enabled: false - } - }; - return Utils$1.extend(defaults, ret); - } - }, { - key: "bar", - value: function bar() { - return { - chart: { - stacked: false, - animations: { - easing: 'swing' - } - }, - plotOptions: { - bar: { - dataLabels: { - position: 'center' - } - } - }, - dataLabels: { - style: { - colors: ['#fff'] - }, - background: { - enabled: false - } - }, - stroke: { - width: 0, - lineCap: 'round' - }, - fill: { - opacity: 0.85 - }, - legend: { - markers: { - shape: 'square', - radius: 2, - size: 8 - } - }, - tooltip: { - shared: false, - intersect: true - }, - xaxis: { - tooltip: { - enabled: false - }, - tickPlacement: 'between', - crosshairs: { - width: 'barWidth', - position: 'back', - fill: { - type: 'gradient' - }, - dropShadow: { - enabled: false - }, - stroke: { - width: 0 - } - } - } - }; - } - }, { - key: "candlestick", - value: function candlestick() { - var _this = this; - - return { - stroke: { - width: 1, - colors: ['#333'] - }, - fill: { - opacity: 1 - }, - dataLabels: { - enabled: false - }, - tooltip: { - shared: true, - custom: function custom(_ref) { - var seriesIndex = _ref.seriesIndex, - dataPointIndex = _ref.dataPointIndex, - w = _ref.w; - return _this._getBoxTooltip(w, seriesIndex, dataPointIndex, ['Open', 'High', '', 'Low', 'Close'], 'candlestick'); - } - }, - states: { - active: { - filter: { - type: 'none' - } - } - }, - xaxis: { - crosshairs: { - width: 1 - } - } - }; - } - }, { - key: "boxPlot", - value: function boxPlot() { - var _this2 = this; - - return { - chart: { - animations: { - dynamicAnimation: { - enabled: false - } - } - }, - stroke: { - width: 1, - colors: ['#24292e'] - }, - dataLabels: { - enabled: false - }, - tooltip: { - shared: true, - custom: function custom(_ref2) { - var seriesIndex = _ref2.seriesIndex, - dataPointIndex = _ref2.dataPointIndex, - w = _ref2.w; - return _this2._getBoxTooltip(w, seriesIndex, dataPointIndex, ['Minimum', 'Q1', 'Median', 'Q3', 'Maximum'], 'boxPlot'); - } - }, - markers: { - size: 5, - strokeWidth: 1, - strokeColors: '#111' - }, - xaxis: { - crosshairs: { - width: 1 - } - } - }; - } - }, { - key: "rangeBar", - value: function rangeBar() { - var handleTimelineTooltip = function handleTimelineTooltip(opts) { - var rangeCtx = new RangeBar(opts.ctx, null); - - var _rangeCtx$getTooltipV = rangeCtx.getTooltipValues(opts), - color = _rangeCtx$getTooltipV.color, - seriesName = _rangeCtx$getTooltipV.seriesName, - ylabel = _rangeCtx$getTooltipV.ylabel, - startVal = _rangeCtx$getTooltipV.startVal, - endVal = _rangeCtx$getTooltipV.endVal; - - return rangeCtx.buildCustomTooltipHTML({ - color: color, - seriesName: seriesName, - ylabel: ylabel, - start: startVal, - end: endVal - }); - }; - - var handleRangeColumnTooltip = function handleRangeColumnTooltip(opts) { - var rangeCtx = new RangeBar(opts.ctx, null); - - var _rangeCtx$getTooltipV2 = rangeCtx.getTooltipValues(opts), - color = _rangeCtx$getTooltipV2.color, - seriesName = _rangeCtx$getTooltipV2.seriesName, - ylabel = _rangeCtx$getTooltipV2.ylabel, - start = _rangeCtx$getTooltipV2.start, - end = _rangeCtx$getTooltipV2.end; - - return rangeCtx.buildCustomTooltipHTML({ - color: color, - seriesName: seriesName, - ylabel: ylabel, - start: start, - end: end - }); - }; - - return { - stroke: { - width: 0, - lineCap: 'square' - }, - plotOptions: { - bar: { - borderRadius: 0, - dataLabels: { - position: 'center' - } - } - }, - dataLabels: { - enabled: false, - formatter: function formatter(val, _ref3) { - _ref3.ctx; - var seriesIndex = _ref3.seriesIndex, - dataPointIndex = _ref3.dataPointIndex, - w = _ref3.w; - var start = w.globals.seriesRangeStart[seriesIndex][dataPointIndex]; - var end = w.globals.seriesRangeEnd[seriesIndex][dataPointIndex]; - return end - start; - }, - background: { - enabled: false - }, - style: { - colors: ['#fff'] - } - }, - tooltip: { - shared: false, - followCursor: true, - custom: function custom(opts) { - if (opts.w.config.plotOptions && opts.w.config.plotOptions.bar && opts.w.config.plotOptions.bar.horizontal) { - return handleTimelineTooltip(opts); - } else { - return handleRangeColumnTooltip(opts); - } - } - }, - xaxis: { - tickPlacement: 'between', - tooltip: { - enabled: false - }, - crosshairs: { - stroke: { - width: 0 - } - } - } - }; - } - }, { - key: "area", - value: function area() { - return { - stroke: { - width: 4, - fill: { - type: 'solid', - gradient: { - inverseColors: false, - shade: 'light', - type: 'vertical', - opacityFrom: 0.65, - opacityTo: 0.5, - stops: [0, 100, 100] - } - } - }, - fill: { - type: 'gradient', - gradient: { - inverseColors: false, - shade: 'light', - type: 'vertical', - opacityFrom: 0.65, - opacityTo: 0.5, - stops: [0, 100, 100] - } - }, - markers: { - size: 0, - hover: { - sizeOffset: 6 - } - }, - tooltip: { - followCursor: false - } - }; - } - }, { - key: "brush", - value: function brush(defaults) { - var ret = { - chart: { - toolbar: { - autoSelected: 'selection', - show: false - }, - zoom: { - enabled: false - } - }, - dataLabels: { - enabled: false - }, - stroke: { - width: 1 - }, - tooltip: { - enabled: false - }, - xaxis: { - tooltip: { - enabled: false - } - } - }; - return Utils$1.extend(defaults, ret); - } - }, { - key: "stacked100", - value: function stacked100(opts) { - opts.dataLabels = opts.dataLabels || {}; - opts.dataLabels.formatter = opts.dataLabels.formatter || undefined; - var existingDataLabelFormatter = opts.dataLabels.formatter; - opts.yaxis.forEach(function (yaxe, index) { - opts.yaxis[index].min = 0; - opts.yaxis[index].max = 100; - }); - var isBar = opts.chart.type === 'bar'; - - if (isBar) { - opts.dataLabels.formatter = existingDataLabelFormatter || function (val) { - if (typeof val === 'number') { - return val ? val.toFixed(0) + '%' : val; - } - - return val; - }; - } - - return opts; - } // This function removes the left and right spacing in chart for line/area/scatter if xaxis type = category for those charts by converting xaxis = numeric. Numeric/Datetime xaxis prevents the unnecessary spacing in the left/right of the chart area - - }, { - key: "convertCatToNumeric", - value: function convertCatToNumeric(opts) { - opts.xaxis.convertedCatToNumeric = true; - return opts; - } - }, { - key: "convertCatToNumericXaxis", - value: function convertCatToNumericXaxis(opts, ctx, cats) { - opts.xaxis.type = 'numeric'; - opts.xaxis.labels = opts.xaxis.labels || {}; - - opts.xaxis.labels.formatter = opts.xaxis.labels.formatter || function (val) { - return Utils$1.isNumber(val) ? Math.floor(val) : val; - }; - - var defaultFormatter = opts.xaxis.labels.formatter; - var labels = opts.xaxis.categories && opts.xaxis.categories.length ? opts.xaxis.categories : opts.labels; - - if (cats && cats.length) { - labels = cats.map(function (c) { - return Array.isArray(c) ? c : String(c); - }); - } - - if (labels && labels.length) { - opts.xaxis.labels.formatter = function (val) { - return Utils$1.isNumber(val) ? defaultFormatter(labels[Math.floor(val) - 1]) : defaultFormatter(val); - }; - } - - opts.xaxis.categories = []; - opts.labels = []; - opts.xaxis.tickAmount = opts.xaxis.tickAmount || 'dataPoints'; - return opts; - } - }, { - key: "bubble", - value: function bubble() { - return { - dataLabels: { - style: { - colors: ['#fff'] - } - }, - tooltip: { - shared: false, - intersect: true - }, - xaxis: { - crosshairs: { - width: 0 - } - }, - fill: { - type: 'solid', - gradient: { - shade: 'light', - inverse: true, - shadeIntensity: 0.55, - opacityFrom: 0.4, - opacityTo: 0.8 - } - } - }; - } - }, { - key: "scatter", - value: function scatter() { - return { - dataLabels: { - enabled: false - }, - tooltip: { - shared: false, - intersect: true - }, - markers: { - size: 6, - strokeWidth: 1, - hover: { - sizeOffset: 2 - } - } - }; - } - }, { - key: "heatmap", - value: function heatmap() { - return { - chart: { - stacked: false - }, - fill: { - opacity: 1 - }, - dataLabels: { - style: { - colors: ['#fff'] - } - }, - stroke: { - colors: ['#fff'] - }, - tooltip: { - followCursor: true, - marker: { - show: false - }, - x: { - show: false - } - }, - legend: { - position: 'top', - markers: { - shape: 'square', - size: 10, - offsetY: 2 - } - }, - grid: { - padding: { - right: 20 - } - } - }; - } - }, { - key: "treemap", - value: function treemap() { - return { - chart: { - zoom: { - enabled: false - } - }, - dataLabels: { - style: { - fontSize: 14, - fontWeight: 600, - colors: ['#fff'] - } - }, - stroke: { - show: true, - width: 2, - colors: ['#fff'] - }, - legend: { - show: false - }, - fill: { - gradient: { - stops: [0, 100] - } - }, - tooltip: { - followCursor: true, - x: { - show: false - } - }, - grid: { - padding: { - left: 0, - right: 0 - } - }, - xaxis: { - crosshairs: { - show: false - }, - tooltip: { - enabled: false - } - } - }; - } - }, { - key: "pie", - value: function pie() { - return { - chart: { - toolbar: { - show: false - } - }, - plotOptions: { - pie: { - donut: { - labels: { - show: false - } - } - } - }, - dataLabels: { - formatter: function formatter(val) { - return val.toFixed(1) + '%'; - }, - style: { - colors: ['#fff'] - }, - background: { - enabled: false - }, - dropShadow: { - enabled: true - } - }, - stroke: { - colors: ['#fff'] - }, - fill: { - opacity: 1, - gradient: { - shade: 'light', - stops: [0, 100] - } - }, - tooltip: { - theme: 'dark', - fillSeriesColor: true - }, - legend: { - position: 'right' - } - }; - } - }, { - key: "donut", - value: function donut() { - return { - chart: { - toolbar: { - show: false - } - }, - dataLabels: { - formatter: function formatter(val) { - return val.toFixed(1) + '%'; - }, - style: { - colors: ['#fff'] - }, - background: { - enabled: false - }, - dropShadow: { - enabled: true - } - }, - stroke: { - colors: ['#fff'] - }, - fill: { - opacity: 1, - gradient: { - shade: 'light', - shadeIntensity: 0.35, - stops: [80, 100], - opacityFrom: 1, - opacityTo: 1 - } - }, - tooltip: { - theme: 'dark', - fillSeriesColor: true - }, - legend: { - position: 'right' - } - }; - } - }, { - key: "polarArea", - value: function polarArea() { - this.opts.yaxis[0].tickAmount = this.opts.yaxis[0].tickAmount ? this.opts.yaxis[0].tickAmount : 6; - return { - chart: { - toolbar: { - show: false - } - }, - dataLabels: { - formatter: function formatter(val) { - return val.toFixed(1) + '%'; - }, - enabled: false - }, - stroke: { - show: true, - width: 2 - }, - fill: { - opacity: 0.7 - }, - tooltip: { - theme: 'dark', - fillSeriesColor: true - }, - legend: { - position: 'right' - } - }; - } - }, { - key: "radar", - value: function radar() { - this.opts.yaxis[0].labels.offsetY = this.opts.yaxis[0].labels.offsetY ? this.opts.yaxis[0].labels.offsetY : 6; - return { - dataLabels: { - enabled: false, - style: { - fontSize: '11px' - } - }, - stroke: { - width: 2 - }, - markers: { - size: 3, - strokeWidth: 1, - strokeOpacity: 1 - }, - fill: { - opacity: 0.2 - }, - tooltip: { - shared: false, - intersect: true, - followCursor: true - }, - grid: { - show: false - }, - xaxis: { - labels: { - formatter: function formatter(val) { - return val; - }, - style: { - colors: ['#a8a8a8'], - fontSize: '11px' - } - }, - tooltip: { - enabled: false - }, - crosshairs: { - show: false - } - } - }; - } - }, { - key: "radialBar", - value: function radialBar() { - return { - chart: { - animations: { - dynamicAnimation: { - enabled: true, - speed: 800 - } - }, - toolbar: { - show: false - } - }, - fill: { - gradient: { - shade: 'dark', - shadeIntensity: 0.4, - inverseColors: false, - type: 'diagonal2', - opacityFrom: 1, - opacityTo: 1, - stops: [70, 98, 100] - } - }, - legend: { - show: false, - position: 'right' - }, - tooltip: { - enabled: false, - fillSeriesColor: true - } - }; - } - }, { - key: "_getBoxTooltip", - value: function _getBoxTooltip(w, seriesIndex, dataPointIndex, labels, chartType) { - var o = w.globals.seriesCandleO[seriesIndex][dataPointIndex]; - var h = w.globals.seriesCandleH[seriesIndex][dataPointIndex]; - var m = w.globals.seriesCandleM[seriesIndex][dataPointIndex]; - var l = w.globals.seriesCandleL[seriesIndex][dataPointIndex]; - var c = w.globals.seriesCandleC[seriesIndex][dataPointIndex]; - - if (w.config.series[seriesIndex].type && w.config.series[seriesIndex].type !== chartType) { - return "
\n ".concat(w.config.series[seriesIndex].name ? w.config.series[seriesIndex].name : 'series-' + (seriesIndex + 1), ": ").concat(w.globals.series[seriesIndex][dataPointIndex], "\n
"); - } else { - return "
") + "
".concat(labels[0], ": ") + o + '
' + "
".concat(labels[1], ": ") + h + '
' + (m ? "
".concat(labels[2], ": ") + m + '
' : '') + "
".concat(labels[3], ": ") + l + '
' + "
".concat(labels[4], ": ") + c + '
' + '
'; - } - } - }]); - - return Defaults; - }(); - - /** - * ApexCharts Config Class for extending user options with pre-defined ApexCharts config. - * - * @module Config - **/ - - var Config = /*#__PURE__*/function () { - function Config(opts) { - _classCallCheck(this, Config); - - this.opts = opts; - } - - _createClass(Config, [{ - key: "init", - value: function init(_ref) { - var responsiveOverride = _ref.responsiveOverride; - var opts = this.opts; - var options = new Options(); - var defaults = new Defaults(opts); - this.chartType = opts.chart.type; - - if (this.chartType === 'histogram') { - // technically, a histogram can be drawn by a column chart with no spaces in between - opts.chart.type = 'bar'; - opts = Utils$1.extend({ - plotOptions: { - bar: { - columnWidth: '99.99%' - } - } - }, opts); - } - - opts = this.extendYAxis(opts); - opts = this.extendAnnotations(opts); - var config = options.init(); - var newDefaults = {}; - - if (opts && _typeof(opts) === 'object') { - var chartDefaults = {}; - var chartTypes = ['line', 'area', 'bar', 'candlestick', 'boxPlot', 'rangeBar', 'histogram', 'bubble', 'scatter', 'heatmap', 'treemap', 'pie', 'polarArea', 'donut', 'radar', 'radialBar']; - - if (chartTypes.indexOf(opts.chart.type) !== -1) { - chartDefaults = defaults[opts.chart.type](); - } else { - chartDefaults = defaults.line(); - } - - if (opts.chart.brush && opts.chart.brush.enabled) { - chartDefaults = defaults.brush(chartDefaults); - } - - if (opts.chart.stacked && opts.chart.stackType === '100%') { - opts = defaults.stacked100(opts); - } // If user has specified a dark theme, make the tooltip dark too - - - this.checkForDarkTheme(window.Apex); // check global window Apex options - - this.checkForDarkTheme(opts); // check locally passed options - - opts.xaxis = opts.xaxis || window.Apex.xaxis || {}; // an important boolean needs to be set here - // otherwise all the charts will have this flag set to true window.Apex.xaxis is set globally - - if (!responsiveOverride) { - opts.xaxis.convertedCatToNumeric = false; - } - - opts = this.checkForCatToNumericXAxis(this.chartType, chartDefaults, opts); - - if (opts.chart.sparkline && opts.chart.sparkline.enabled || window.Apex.chart && window.Apex.chart.sparkline && window.Apex.chart.sparkline.enabled) { - chartDefaults = defaults.sparkline(chartDefaults); - } - - newDefaults = Utils$1.extend(config, chartDefaults); - } // config should cascade in this fashion - // default-config < global-apex-variable-config < user-defined-config - // get GLOBALLY defined options and merge with the default config - - - var mergedWithDefaultConfig = Utils$1.extend(newDefaults, window.Apex); // get the merged config and extend with user defined config - - config = Utils$1.extend(mergedWithDefaultConfig, opts); // some features are not supported. those mismatches should be handled - - config = this.handleUserInputErrors(config); - return config; - } - }, { - key: "checkForCatToNumericXAxis", - value: function checkForCatToNumericXAxis(chartType, chartDefaults, opts) { - var defaults = new Defaults(opts); - var isBarHorizontal = (chartType === 'bar' || chartType === 'boxPlot') && opts.plotOptions && opts.plotOptions.bar && opts.plotOptions.bar.horizontal; - var unsupportedZoom = chartType === 'pie' || chartType === 'polarArea' || chartType === 'donut' || chartType === 'radar' || chartType === 'radialBar' || chartType === 'heatmap'; - var notNumericXAxis = opts.xaxis.type !== 'datetime' && opts.xaxis.type !== 'numeric'; - var tickPlacement = opts.xaxis.tickPlacement ? opts.xaxis.tickPlacement : chartDefaults.xaxis && chartDefaults.xaxis.tickPlacement; - - if (!isBarHorizontal && !unsupportedZoom && notNumericXAxis && tickPlacement !== 'between') { - opts = defaults.convertCatToNumeric(opts); - } - - return opts; - } - }, { - key: "extendYAxis", - value: function extendYAxis(opts, w) { - var options = new Options(); - - if (typeof opts.yaxis === 'undefined' || !opts.yaxis || Array.isArray(opts.yaxis) && opts.yaxis.length === 0) { - opts.yaxis = {}; - } // extend global yaxis config (only if object is provided / not an array) - - - if (opts.yaxis.constructor !== Array && window.Apex.yaxis && window.Apex.yaxis.constructor !== Array) { - opts.yaxis = Utils$1.extend(opts.yaxis, window.Apex.yaxis); - } // as we can't extend nested object's array with extend, we need to do it first - // user can provide either an array or object in yaxis config - - - if (opts.yaxis.constructor !== Array) { - // convert the yaxis to array if user supplied object - opts.yaxis = [Utils$1.extend(options.yAxis, opts.yaxis)]; - } else { - opts.yaxis = Utils$1.extendArray(opts.yaxis, options.yAxis); - } - - var isLogY = false; - opts.yaxis.forEach(function (y) { - if (y.logarithmic) { - isLogY = true; - } - }); - var series = opts.series; - - if (w && !series) { - series = w.config.series; - } // A logarithmic chart works correctly when each series has a corresponding y-axis - // If this is not the case, we manually create yaxis for multi-series log chart - - - if (isLogY && series.length !== opts.yaxis.length && series.length) { - opts.yaxis = series.map(function (s, i) { - if (!s.name) { - series[i].name = "series-".concat(i + 1); - } - - if (opts.yaxis[i]) { - opts.yaxis[i].seriesName = series[i].name; - return opts.yaxis[i]; - } else { - var newYaxis = Utils$1.extend(options.yAxis, opts.yaxis[0]); - newYaxis.show = false; - return newYaxis; - } - }); - } - - if (isLogY && series.length > 1 && series.length !== opts.yaxis.length) { - console.warn('A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both.'); - } - - return opts; - } // annotations also accepts array, so we need to extend them manually - - }, { - key: "extendAnnotations", - value: function extendAnnotations(opts) { - if (typeof opts.annotations === 'undefined') { - opts.annotations = {}; - opts.annotations.yaxis = []; - opts.annotations.xaxis = []; - opts.annotations.points = []; - } - - opts = this.extendYAxisAnnotations(opts); - opts = this.extendXAxisAnnotations(opts); - opts = this.extendPointAnnotations(opts); - return opts; - } - }, { - key: "extendYAxisAnnotations", - value: function extendYAxisAnnotations(opts) { - var options = new Options(); - opts.annotations.yaxis = Utils$1.extendArray(typeof opts.annotations.yaxis !== 'undefined' ? opts.annotations.yaxis : [], options.yAxisAnnotation); - return opts; - } - }, { - key: "extendXAxisAnnotations", - value: function extendXAxisAnnotations(opts) { - var options = new Options(); - opts.annotations.xaxis = Utils$1.extendArray(typeof opts.annotations.xaxis !== 'undefined' ? opts.annotations.xaxis : [], options.xAxisAnnotation); - return opts; - } - }, { - key: "extendPointAnnotations", - value: function extendPointAnnotations(opts) { - var options = new Options(); - opts.annotations.points = Utils$1.extendArray(typeof opts.annotations.points !== 'undefined' ? opts.annotations.points : [], options.pointAnnotation); - return opts; - } - }, { - key: "checkForDarkTheme", - value: function checkForDarkTheme(opts) { - if (opts.theme && opts.theme.mode === 'dark') { - if (!opts.tooltip) { - opts.tooltip = {}; - } - - if (opts.tooltip.theme !== 'light') { - opts.tooltip.theme = 'dark'; - } - - if (!opts.chart.foreColor) { - opts.chart.foreColor = '#f6f7f8'; - } - - if (!opts.chart.background) { - opts.chart.background = '#424242'; - } - - if (!opts.theme.palette) { - opts.theme.palette = 'palette4'; - } - } - } - }, { - key: "handleUserInputErrors", - value: function handleUserInputErrors(opts) { - var config = opts; // conflicting tooltip option. intersect makes sure to focus on 1 point at a time. Shared cannot be used along with it - - if (config.tooltip.shared && config.tooltip.intersect) { - throw new Error('tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.'); - } - - if (config.chart.type === 'bar' && config.plotOptions.bar.horizontal) { - // No multiple yaxis for bars - if (config.yaxis.length > 1) { - throw new Error('Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false'); - } // if yaxis is reversed in horizontal bar chart, you should draw the y-axis on right side - - - if (config.yaxis[0].reversed) { - config.yaxis[0].opposite = true; - } - - config.xaxis.tooltip.enabled = false; // no xaxis tooltip for horizontal bar - - config.yaxis[0].tooltip.enabled = false; // no xaxis tooltip for horizontal bar - - config.chart.zoom.enabled = false; // no zooming for horz bars - } - - if (config.chart.type === 'bar' || config.chart.type === 'rangeBar') { - if (config.tooltip.shared) { - if (config.xaxis.crosshairs.width === 'barWidth' && config.series.length > 1) { - config.xaxis.crosshairs.width = 'tickWidth'; - } - } - } - - if (config.chart.type === 'candlestick' || config.chart.type === 'boxPlot') { - if (config.yaxis[0].reversed) { - console.warn("Reversed y-axis in ".concat(config.chart.type, " chart is not supported.")); - config.yaxis[0].reversed = false; - } - } - - return config; - } - }]); - - return Config; - }(); - - var Globals = /*#__PURE__*/function () { - function Globals() { - _classCallCheck(this, Globals); - } - - _createClass(Globals, [{ - key: "initGlobalVars", - value: function initGlobalVars(gl) { - gl.series = []; // the MAIN series array (y values) - - gl.seriesCandleO = []; - gl.seriesCandleH = []; - gl.seriesCandleM = []; - gl.seriesCandleL = []; - gl.seriesCandleC = []; - gl.seriesRangeStart = []; - gl.seriesRangeEnd = []; - gl.seriesRangeBar = []; - gl.seriesPercent = []; - gl.seriesGoals = []; - gl.seriesX = []; - gl.seriesZ = []; - gl.seriesNames = []; - gl.seriesTotals = []; - gl.seriesLog = []; - gl.seriesColors = []; - gl.stackedSeriesTotals = []; - gl.seriesXvalues = []; // we will need this in tooltip (it's x position) - // when we will have unequal x values, we will need - // some way to get x value depending on mouse pointer - - gl.seriesYvalues = []; // we will need this when deciding which series - // user hovered on - - gl.labels = []; - gl.hasGroups = false; - gl.groups = []; - gl.categoryLabels = []; - gl.timescaleLabels = []; - gl.noLabelsProvided = false; - gl.resizeTimer = null; - gl.selectionResizeTimer = null; - gl.delayedElements = []; - gl.pointsArray = []; - gl.dataLabelsRects = []; - gl.isXNumeric = false; - gl.xaxisLabelsCount = 0; - gl.skipLastTimelinelabel = false; - gl.skipFirstTimelinelabel = false; - gl.isDataXYZ = false; - gl.isMultiLineX = false; - gl.isMultipleYAxis = false; - gl.maxY = -Number.MAX_VALUE; - gl.minY = Number.MIN_VALUE; - gl.minYArr = []; - gl.maxYArr = []; - gl.maxX = -Number.MAX_VALUE; - gl.minX = Number.MAX_VALUE; - gl.initialMaxX = -Number.MAX_VALUE; - gl.initialMinX = Number.MAX_VALUE; - gl.maxDate = 0; - gl.minDate = Number.MAX_VALUE; - gl.minZ = Number.MAX_VALUE; - gl.maxZ = -Number.MAX_VALUE; - gl.minXDiff = Number.MAX_VALUE; - gl.yAxisScale = []; - gl.xAxisScale = null; - gl.xAxisTicksPositions = []; - gl.yLabelsCoords = []; - gl.yTitleCoords = []; - gl.barPadForNumericAxis = 0; - gl.padHorizontal = 0; - gl.xRange = 0; - gl.yRange = []; - gl.zRange = 0; - gl.dataPoints = 0; - gl.xTickAmount = 0; - } - }, { - key: "globalVars", - value: function globalVars(config) { - return { - chartID: null, - // chart ID - apexcharts-cuid - cuid: null, - // chart ID - random numbers excluding "apexcharts" part - events: { - beforeMount: [], - mounted: [], - updated: [], - clicked: [], - selection: [], - dataPointSelection: [], - zoomed: [], - scrolled: [] - }, - colors: [], - clientX: null, - clientY: null, - fill: { - colors: [] - }, - stroke: { - colors: [] - }, - dataLabels: { - style: { - colors: [] - } - }, - radarPolygons: { - fill: { - colors: [] - } - }, - markers: { - colors: [], - size: config.markers.size, - largestSize: 0 - }, - animationEnded: false, - isTouchDevice: 'ontouchstart' in window || navigator.msMaxTouchPoints, - isDirty: false, - // chart has been updated after the initial render. This is different than dataChanged property. isDirty means user manually called some method to update - isExecCalled: false, - // whether user updated the chart through the exec method - initialConfig: null, - // we will store the first config user has set to go back when user finishes interactions like zooming and come out of it - initialSeries: [], - lastXAxis: [], - lastYAxis: [], - columnSeries: null, - labels: [], - // store the text to draw on x axis - // Don't mutate the labels, many things including tooltips depends on it! - timescaleLabels: [], - // store the timescaleLabels Labels in another variable - noLabelsProvided: false, - // if user didn't provide any categories/labels or x values, fallback to 1,2,3,4... - allSeriesCollapsed: false, - collapsedSeries: [], - // when user collapses a series, it goes into this array - collapsedSeriesIndices: [], - // this stores the index of the collapsedSeries instead of whole object for quick access - ancillaryCollapsedSeries: [], - // when user collapses an "alwaysVisible" series, it goes into this array - ancillaryCollapsedSeriesIndices: [], - // this stores the index of the ancillaryCollapsedSeries whose y-axis is always visible - risingSeries: [], - // when user re-opens a collapsed series, it goes here - dataFormatXNumeric: false, - // boolean value to indicate user has passed numeric x values - capturedSeriesIndex: -1, - capturedDataPointIndex: -1, - selectedDataPoints: [], - goldenPadding: 35, - // this value is used at a lot of places for spacing purpose - invalidLogScale: false, - // if a user enabled log scale but the data provided is not valid to generate a log scale, turn on this flag - ignoreYAxisIndexes: [], - // when series are being collapsed in multiple y axes, ignore certain index - yAxisSameScaleIndices: [], - maxValsInArrayIndex: 0, - radialSize: 0, - selection: undefined, - zoomEnabled: config.chart.toolbar.autoSelected === 'zoom' && config.chart.toolbar.tools.zoom && config.chart.zoom.enabled, - panEnabled: config.chart.toolbar.autoSelected === 'pan' && config.chart.toolbar.tools.pan, - selectionEnabled: config.chart.toolbar.autoSelected === 'selection' && config.chart.toolbar.tools.selection, - yaxis: null, - mousedown: false, - lastClientPosition: {}, - // don't reset this variable this the chart is destroyed. It is used to detect right or left mousemove in panning - visibleXRange: undefined, - yValueDecimal: 0, - // are there floating numbers in the series. If yes, this represent the len of the decimals - total: 0, - SVGNS: 'http://www.w3.org/2000/svg', - // svg namespace - svgWidth: 0, - // the whole svg width - svgHeight: 0, - // the whole svg height - noData: false, - // whether there is any data to display or not - locale: {}, - // the current locale values will be preserved here for global access - dom: {}, - // for storing all dom nodes in this particular property - memory: { - methodsToExec: [] - }, - shouldAnimate: true, - skipLastTimelinelabel: false, - // when last label is cropped, skip drawing it - skipFirstTimelinelabel: false, - // when first label is cropped, skip drawing it - delayedElements: [], - // element which appear after animation has finished - axisCharts: true, - // chart type = line or area or bar - // (refer them also as plot charts in the code) - isDataXYZ: false, - // bool: data was provided in a {[x,y,z]} pattern - resized: false, - // bool: user has resized - resizeTimer: null, - // timeout function to make a small delay before - // drawing when user resized - comboCharts: false, - // bool: whether it's a combination of line/column - dataChanged: false, - // bool: has data changed dynamically - previousPaths: [], - // array: when data is changed, it will animate from - // previous paths - allSeriesHasEqualX: true, - pointsArray: [], - // store the points positions here to draw later on hover - // format is - [[x,y],[x,y]... [x,y]] - dataLabelsRects: [], - // store the positions of datalabels to prevent collision - lastDrawnDataLabelsIndexes: [], - hasNullValues: false, - // bool: whether series contains null values - easing: null, - // function: animation effect to apply - zoomed: false, - // whether user has zoomed or not - gridWidth: 0, - // drawable width of actual graphs (series paths) - gridHeight: 0, - // drawable height of actual graphs (series paths) - rotateXLabels: false, - defaultLabels: false, - xLabelFormatter: undefined, - // formatter for x axis labels - yLabelFormatters: [], - xaxisTooltipFormatter: undefined, - // formatter for x axis tooltip - ttKeyFormatter: undefined, - ttVal: undefined, - ttZFormatter: undefined, - LINE_HEIGHT_RATIO: 1.618, - xAxisLabelsHeight: 0, - xAxisGroupLabelsHeight: 0, - xAxisLabelsWidth: 0, - yAxisLabelsWidth: 0, - scaleX: 1, - scaleY: 1, - translateX: 0, - translateY: 0, - translateYAxisX: [], - yAxisWidths: [], - translateXAxisY: 0, - translateXAxisX: 0, - tooltip: null - }; - } - }, { - key: "init", - value: function init(config) { - var globals = this.globalVars(config); - this.initGlobalVars(globals); - globals.initialConfig = Utils$1.extend({}, config); - globals.initialSeries = Utils$1.clone(config.series); - globals.lastXAxis = Utils$1.clone(globals.initialConfig.xaxis); - globals.lastYAxis = Utils$1.clone(globals.initialConfig.yaxis); - return globals; - } - }]); - - return Globals; - }(); - - /** - * ApexCharts Base Class for extending user options with pre-defined ApexCharts config. - * - * @module Base - **/ - - var Base = /*#__PURE__*/function () { - function Base(opts) { - _classCallCheck(this, Base); - - this.opts = opts; - } - - _createClass(Base, [{ - key: "init", - value: function init() { - var config = new Config(this.opts).init({ - responsiveOverride: false - }); - var globals = new Globals().init(config); - var w = { - config: config, - globals: globals - }; - return w; - } - }]); - - return Base; - }(); - - var Data = /*#__PURE__*/function () { - function Data(ctx) { - _classCallCheck(this, Data); - - this.ctx = ctx; - this.w = ctx.w; - this.twoDSeries = []; - this.threeDSeries = []; - this.twoDSeriesX = []; - this.seriesGoals = []; - this.coreUtils = new CoreUtils(this.ctx); - } - - _createClass(Data, [{ - key: "isMultiFormat", - value: function isMultiFormat() { - return this.isFormatXY() || this.isFormat2DArray(); - } // given format is [{x, y}, {x, y}] - - }, { - key: "isFormatXY", - value: function isFormatXY() { - var series = this.w.config.series.slice(); - var sr = new Series(this.ctx); - this.activeSeriesIndex = sr.getActiveConfigSeriesIndex(); - - if (typeof series[this.activeSeriesIndex].data !== 'undefined' && series[this.activeSeriesIndex].data.length > 0 && series[this.activeSeriesIndex].data[0] !== null && typeof series[this.activeSeriesIndex].data[0].x !== 'undefined' && series[this.activeSeriesIndex].data[0] !== null) { - return true; - } - } // given format is [[x, y], [x, y]] - - }, { - key: "isFormat2DArray", - value: function isFormat2DArray() { - var series = this.w.config.series.slice(); - var sr = new Series(this.ctx); - this.activeSeriesIndex = sr.getActiveConfigSeriesIndex(); - - if (typeof series[this.activeSeriesIndex].data !== 'undefined' && series[this.activeSeriesIndex].data.length > 0 && typeof series[this.activeSeriesIndex].data[0] !== 'undefined' && series[this.activeSeriesIndex].data[0] !== null && series[this.activeSeriesIndex].data[0].constructor === Array) { - return true; - } - } - }, { - key: "handleFormat2DArray", - value: function handleFormat2DArray(ser, i) { - var cnf = this.w.config; - var gl = this.w.globals; - var isBoxPlot = cnf.chart.type === 'boxPlot' || cnf.series[i].type === 'boxPlot'; - - for (var j = 0; j < ser[i].data.length; j++) { - if (typeof ser[i].data[j][1] !== 'undefined') { - if (Array.isArray(ser[i].data[j][1]) && ser[i].data[j][1].length === 4 && !isBoxPlot) { - // candlestick nested ohlc format - this.twoDSeries.push(Utils$1.parseNumber(ser[i].data[j][1][3])); - } else if (ser[i].data[j].length >= 5) { - // candlestick non-nested ohlc format - this.twoDSeries.push(Utils$1.parseNumber(ser[i].data[j][4])); - } else { - this.twoDSeries.push(Utils$1.parseNumber(ser[i].data[j][1])); - } - - gl.dataFormatXNumeric = true; - } - - if (cnf.xaxis.type === 'datetime') { - // if timestamps are provided and xaxis type is datetime, - var ts = new Date(ser[i].data[j][0]); - ts = new Date(ts).getTime(); - this.twoDSeriesX.push(ts); - } else { - this.twoDSeriesX.push(ser[i].data[j][0]); - } - } - - for (var _j = 0; _j < ser[i].data.length; _j++) { - if (typeof ser[i].data[_j][2] !== 'undefined') { - this.threeDSeries.push(ser[i].data[_j][2]); - gl.isDataXYZ = true; - } - } - } - }, { - key: "handleFormatXY", - value: function handleFormatXY(ser, i) { - var cnf = this.w.config; - var gl = this.w.globals; - var dt = new DateTime(this.ctx); - var activeI = i; - - if (gl.collapsedSeriesIndices.indexOf(i) > -1) { - // fix #368 - activeI = this.activeSeriesIndex; - } // get series - - - for (var j = 0; j < ser[i].data.length; j++) { - if (typeof ser[i].data[j].y !== 'undefined') { - if (Array.isArray(ser[i].data[j].y)) { - this.twoDSeries.push(Utils$1.parseNumber(ser[i].data[j].y[ser[i].data[j].y.length - 1])); - } else { - this.twoDSeries.push(Utils$1.parseNumber(ser[i].data[j].y)); - } - } - - if (typeof ser[i].data[j].goals !== 'undefined' && Array.isArray(ser[i].data[j].goals)) { - if (typeof this.seriesGoals[i] === 'undefined') { - this.seriesGoals[i] = []; - } - - this.seriesGoals[i].push(ser[i].data[j].goals); - } else { - if (typeof this.seriesGoals[i] === 'undefined') { - this.seriesGoals[i] = []; - } - - this.seriesGoals[i].push(null); - } - } // get seriesX - - - for (var _j2 = 0; _j2 < ser[activeI].data.length; _j2++) { - var isXString = typeof ser[activeI].data[_j2].x === 'string'; - var isXArr = Array.isArray(ser[activeI].data[_j2].x); - var isXDate = !isXArr && !!dt.isValidDate(ser[activeI].data[_j2].x.toString()); - - if (isXString || isXDate) { - // user supplied '01/01/2017' or a date string (a JS date object is not supported) - if (isXString || cnf.xaxis.convertedCatToNumeric) { - var isRangeColumn = gl.isBarHorizontal && gl.isRangeData; - - if (cnf.xaxis.type === 'datetime' && !isRangeColumn) { - this.twoDSeriesX.push(dt.parseDate(ser[activeI].data[_j2].x)); - } else { - // a category and not a numeric x value - this.fallbackToCategory = true; - this.twoDSeriesX.push(ser[activeI].data[_j2].x); - } - } else { - if (cnf.xaxis.type === 'datetime') { - this.twoDSeriesX.push(dt.parseDate(ser[activeI].data[_j2].x.toString())); - } else { - gl.dataFormatXNumeric = true; - gl.isXNumeric = true; - this.twoDSeriesX.push(parseFloat(ser[activeI].data[_j2].x)); - } - } - } else if (isXArr) { - // a multiline label described in array format - this.fallbackToCategory = true; - this.twoDSeriesX.push(ser[activeI].data[_j2].x); - } else { - // a numeric value in x property - gl.isXNumeric = true; - gl.dataFormatXNumeric = true; - this.twoDSeriesX.push(ser[activeI].data[_j2].x); - } - } - - if (ser[i].data[0] && typeof ser[i].data[0].z !== 'undefined') { - for (var t = 0; t < ser[i].data.length; t++) { - this.threeDSeries.push(ser[i].data[t].z); - } - - gl.isDataXYZ = true; - } - } - }, { - key: "handleRangeData", - value: function handleRangeData(ser, i) { - var gl = this.w.globals; - var range = {}; - - if (this.isFormat2DArray()) { - range = this.handleRangeDataFormat('array', ser, i); - } else if (this.isFormatXY()) { - range = this.handleRangeDataFormat('xy', ser, i); - } - - gl.seriesRangeStart.push(range.start); - gl.seriesRangeEnd.push(range.end); - gl.seriesRangeBar.push(range.rangeUniques); // check for overlaps to avoid clashes in a timeline chart - - gl.seriesRangeBar.forEach(function (sr, si) { - if (sr) { - sr.forEach(function (sarr, sarri) { - sarr.y.forEach(function (arr, arri) { - for (var sri = 0; sri < sarr.y.length; sri++) { - if (arri !== sri) { - var range1y1 = arr.y1; - var range1y2 = arr.y2; - var range2y1 = sarr.y[sri].y1; - var range2y2 = sarr.y[sri].y2; - - if (range1y1 <= range2y2 && range2y1 <= range1y2) { - if (sarr.overlaps.indexOf(arr.rangeName) < 0) { - sarr.overlaps.push(arr.rangeName); - } - - if (sarr.overlaps.indexOf(sarr.y[sri].rangeName) < 0) { - sarr.overlaps.push(sarr.y[sri].rangeName); - } - } - } - } - }); - }); - } - }); - return range; - } - }, { - key: "handleCandleStickBoxData", - value: function handleCandleStickBoxData(ser, i) { - var gl = this.w.globals; - var ohlc = {}; - - if (this.isFormat2DArray()) { - ohlc = this.handleCandleStickBoxDataFormat('array', ser, i); - } else if (this.isFormatXY()) { - ohlc = this.handleCandleStickBoxDataFormat('xy', ser, i); - } - - gl.seriesCandleO[i] = ohlc.o; - gl.seriesCandleH[i] = ohlc.h; - gl.seriesCandleM[i] = ohlc.m; - gl.seriesCandleL[i] = ohlc.l; - gl.seriesCandleC[i] = ohlc.c; - return ohlc; - } - }, { - key: "handleRangeDataFormat", - value: function handleRangeDataFormat(format, ser, i) { - var rangeStart = []; - var rangeEnd = []; - var uniqueKeys = ser[i].data.filter(function (thing, index, self) { - return index === self.findIndex(function (t) { - return t.x === thing.x; - }); - }).map(function (r, index) { - return { - x: r.x, - overlaps: [], - y: [] - }; - }); - var err = 'Please provide [Start, End] values in valid format. Read more https://apexcharts.com/docs/series/#rangecharts'; - var serObj = new Series(this.ctx); - var activeIndex = serObj.getActiveConfigSeriesIndex(); - - if (format === 'array') { - if (ser[activeIndex].data[0][1].length !== 2) { - throw new Error(err); - } - - for (var j = 0; j < ser[i].data.length; j++) { - rangeStart.push(ser[i].data[j][1][0]); - rangeEnd.push(ser[i].data[j][1][1]); - } - } else if (format === 'xy') { - if (ser[activeIndex].data[0].y.length !== 2) { - throw new Error(err); - } - - var _loop = function _loop(_j3) { - var id = Utils$1.randomId(); - var x = ser[i].data[_j3].x; - var y = { - y1: ser[i].data[_j3].y[0], - y2: ser[i].data[_j3].y[1], - rangeName: id - }; // mutating config object by adding a new property - // TODO: As this is specifically for timeline rangebar charts, update the docs mentioning the series only supports xy format - - ser[i].data[_j3].rangeName = id; - var uI = uniqueKeys.findIndex(function (t) { - return t.x === x; - }); - uniqueKeys[uI].y.push(y); - rangeStart.push(y.y1); - rangeEnd.push(y.y2); - }; - - for (var _j3 = 0; _j3 < ser[i].data.length; _j3++) { - _loop(_j3); - } - } - - return { - start: rangeStart, - end: rangeEnd, - rangeUniques: uniqueKeys - }; - } - }, { - key: "handleCandleStickBoxDataFormat", - value: function handleCandleStickBoxDataFormat(format, ser, i) { - var w = this.w; - var isBoxPlot = w.config.chart.type === 'boxPlot' || w.config.series[i].type === 'boxPlot'; - var serO = []; - var serH = []; - var serM = []; - var serL = []; - var serC = []; - - if (format === 'array') { - if (isBoxPlot && ser[i].data[0].length === 6 || !isBoxPlot && ser[i].data[0].length === 5) { - for (var j = 0; j < ser[i].data.length; j++) { - serO.push(ser[i].data[j][1]); - serH.push(ser[i].data[j][2]); - - if (isBoxPlot) { - serM.push(ser[i].data[j][3]); - serL.push(ser[i].data[j][4]); - serC.push(ser[i].data[j][5]); - } else { - serL.push(ser[i].data[j][3]); - serC.push(ser[i].data[j][4]); - } - } - } else { - for (var _j4 = 0; _j4 < ser[i].data.length; _j4++) { - if (Array.isArray(ser[i].data[_j4][1])) { - serO.push(ser[i].data[_j4][1][0]); - serH.push(ser[i].data[_j4][1][1]); - - if (isBoxPlot) { - serM.push(ser[i].data[_j4][1][2]); - serL.push(ser[i].data[_j4][1][3]); - serC.push(ser[i].data[_j4][1][4]); - } else { - serL.push(ser[i].data[_j4][1][2]); - serC.push(ser[i].data[_j4][1][3]); - } - } - } - } - } else if (format === 'xy') { - for (var _j5 = 0; _j5 < ser[i].data.length; _j5++) { - if (Array.isArray(ser[i].data[_j5].y)) { - serO.push(ser[i].data[_j5].y[0]); - serH.push(ser[i].data[_j5].y[1]); - - if (isBoxPlot) { - serM.push(ser[i].data[_j5].y[2]); - serL.push(ser[i].data[_j5].y[3]); - serC.push(ser[i].data[_j5].y[4]); - } else { - serL.push(ser[i].data[_j5].y[2]); - serC.push(ser[i].data[_j5].y[3]); - } - } - } - } - - return { - o: serO, - h: serH, - m: serM, - l: serL, - c: serC - }; - } - }, { - key: "parseDataAxisCharts", - value: function parseDataAxisCharts(ser) { - var _this = this; - - var ctx = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.ctx; - var cnf = this.w.config; - var gl = this.w.globals; - var dt = new DateTime(ctx); - var xlabels = cnf.labels.length > 0 ? cnf.labels.slice() : cnf.xaxis.categories.slice(); - gl.isRangeBar = cnf.chart.type === 'rangeBar' && gl.isBarHorizontal; - gl.hasGroups = cnf.xaxis.type === 'category' && cnf.xaxis.group.groups.length > 0; - - if (gl.hasGroups) { - gl.groups = cnf.xaxis.group.groups; - } - - var handleDates = function handleDates() { - for (var j = 0; j < xlabels.length; j++) { - if (typeof xlabels[j] === 'string') { - // user provided date strings - var isDate = dt.isValidDate(xlabels[j]); - - if (isDate) { - _this.twoDSeriesX.push(dt.parseDate(xlabels[j])); - } else { - throw new Error('You have provided invalid Date format. Please provide a valid JavaScript Date'); - } - } else { - // user provided timestamps - _this.twoDSeriesX.push(xlabels[j]); - } - } - }; - - for (var i = 0; i < ser.length; i++) { - this.twoDSeries = []; - this.twoDSeriesX = []; - this.threeDSeries = []; - - if (typeof ser[i].data === 'undefined') { - console.error("It is a possibility that you may have not included 'data' property in series."); - return; - } - - if (cnf.chart.type === 'rangeBar' || cnf.chart.type === 'rangeArea' || ser[i].type === 'rangeBar' || ser[i].type === 'rangeArea') { - gl.isRangeData = true; - this.handleRangeData(ser, i); - } - - if (this.isMultiFormat()) { - if (this.isFormat2DArray()) { - this.handleFormat2DArray(ser, i); - } else if (this.isFormatXY()) { - this.handleFormatXY(ser, i); - } - - if (cnf.chart.type === 'candlestick' || ser[i].type === 'candlestick' || cnf.chart.type === 'boxPlot' || ser[i].type === 'boxPlot') { - this.handleCandleStickBoxData(ser, i); - } - - gl.series.push(this.twoDSeries); - gl.labels.push(this.twoDSeriesX); - gl.seriesX.push(this.twoDSeriesX); - gl.seriesGoals = this.seriesGoals; - - if (i === this.activeSeriesIndex && !this.fallbackToCategory) { - gl.isXNumeric = true; - } - } else { - if (cnf.xaxis.type === 'datetime') { - // user didn't supplied [{x,y}] or [[x,y]], but single array in data. - // Also labels/categories were supplied differently - gl.isXNumeric = true; - handleDates(); - gl.seriesX.push(this.twoDSeriesX); - } else if (cnf.xaxis.type === 'numeric') { - gl.isXNumeric = true; - - if (xlabels.length > 0) { - this.twoDSeriesX = xlabels; - gl.seriesX.push(this.twoDSeriesX); - } - } - - gl.labels.push(this.twoDSeriesX); - var singleArray = ser[i].data.map(function (d) { - return Utils$1.parseNumber(d); - }); - gl.series.push(singleArray); - } - - gl.seriesZ.push(this.threeDSeries); - - if (ser[i].name !== undefined) { - gl.seriesNames.push(ser[i].name); - } else { - gl.seriesNames.push('series-' + parseInt(i + 1, 10)); - } // overrided default color if user inputs color with series data - - - if (ser[i].color !== undefined) { - gl.seriesColors.push(ser[i].color); - } else { - gl.seriesColors.push(undefined); - } - } - - return this.w; - } - }, { - key: "parseDataNonAxisCharts", - value: function parseDataNonAxisCharts(ser) { - var gl = this.w.globals; - var cnf = this.w.config; - gl.series = ser.slice(); - gl.seriesNames = cnf.labels.slice(); - - for (var i = 0; i < gl.series.length; i++) { - if (gl.seriesNames[i] === undefined) { - gl.seriesNames.push('series-' + (i + 1)); - } - } - - return this.w; - } - /** User possibly set string categories in xaxis.categories or labels prop - * Or didn't set xaxis labels at all - in which case we manually do it. - * If user passed series data as [[3, 2], [4, 5]] or [{ x: 3, y: 55 }], - * this shouldn't be called - * @param {array} ser - the series which user passed to the config - */ - - }, { - key: "handleExternalLabelsData", - value: function handleExternalLabelsData(ser) { - var cnf = this.w.config; - var gl = this.w.globals; - - if (cnf.xaxis.categories.length > 0) { - // user provided labels in xaxis.category prop - gl.labels = cnf.xaxis.categories; - } else if (cnf.labels.length > 0) { - // user provided labels in labels props - gl.labels = cnf.labels.slice(); - } else if (this.fallbackToCategory) { - // user provided labels in x prop in [{ x: 3, y: 55 }] data, and those labels are already stored in gl.labels[0], so just re-arrange the gl.labels array - gl.labels = gl.labels[0]; - - if (gl.seriesRangeBar.length) { - gl.seriesRangeBar.map(function (srt) { - srt.forEach(function (sr) { - if (gl.labels.indexOf(sr.x) < 0 && sr.x) { - gl.labels.push(sr.x); - } - }); - }); - gl.labels = gl.labels.filter(function (elem, pos, arr) { - return arr.indexOf(elem) === pos; - }); - } - - if (cnf.xaxis.convertedCatToNumeric) { - var defaults = new Defaults(cnf); - defaults.convertCatToNumericXaxis(cnf, this.ctx, gl.seriesX[0]); - - this._generateExternalLabels(ser); - } - } else { - this._generateExternalLabels(ser); - } - } - }, { - key: "_generateExternalLabels", - value: function _generateExternalLabels(ser) { - var gl = this.w.globals; - var cnf = this.w.config; // user didn't provided any labels, fallback to 1-2-3-4-5 - - var labelArr = []; - - if (gl.axisCharts) { - if (gl.series.length > 0) { - if (this.isFormatXY()) { - // in case there is a combo chart (boxplot/scatter) - // and there are duplicated x values, we need to eliminate duplicates - var seriesDataFiltered = cnf.series.map(function (serie, s) { - return serie.data.filter(function (v, i, a) { - return a.findIndex(function (t) { - return t.x === v.x; - }) === i; - }); - }); - var len = seriesDataFiltered.reduce(function (p, c, i, a) { - return a[p].length > c.length ? p : i; - }, 0); - - for (var i = 0; i < seriesDataFiltered[len].length; i++) { - labelArr.push(i + 1); - } - } else { - for (var _i = 0; _i < gl.series[gl.maxValsInArrayIndex].length; _i++) { - labelArr.push(_i + 1); - } - } - } - - gl.seriesX = []; // create gl.seriesX as it will be used in calculations of x positions - - for (var _i2 = 0; _i2 < ser.length; _i2++) { - gl.seriesX.push(labelArr); - } // turn on the isXNumeric flag to allow minX and maxX to function properly - - - gl.isXNumeric = true; - } // no series to pull labels from, put a 0-10 series - // possibly, user collapsed all series. Hence we can't work with above calc - - - if (labelArr.length === 0) { - labelArr = gl.axisCharts ? [] : gl.series.map(function (gls, glsi) { - return glsi + 1; - }); - - for (var _i3 = 0; _i3 < ser.length; _i3++) { - gl.seriesX.push(labelArr); - } - } // Finally, pass the labelArr in gl.labels which will be printed on x-axis - - - gl.labels = labelArr; - - if (cnf.xaxis.convertedCatToNumeric) { - gl.categoryLabels = labelArr.map(function (l) { - return cnf.xaxis.labels.formatter(l); - }); - } // Turn on this global flag to indicate no labels were provided by user - - - gl.noLabelsProvided = true; - } // Segregate user provided data into appropriate vars - - }, { - key: "parseData", - value: function parseData(ser) { - var w = this.w; - var cnf = w.config; - var gl = w.globals; - this.excludeCollapsedSeriesInYAxis(); // If we detected string in X prop of series, we fallback to category x-axis - - this.fallbackToCategory = false; - this.ctx.core.resetGlobals(); - this.ctx.core.isMultipleY(); - - if (gl.axisCharts) { - // axisCharts includes line / area / column / scatter - this.parseDataAxisCharts(ser); - } else { - // non-axis charts are pie / donut - this.parseDataNonAxisCharts(ser); - } - - this.coreUtils.getLargestSeries(); // set Null values to 0 in all series when user hides/shows some series - - if (cnf.chart.type === 'bar' && cnf.chart.stacked) { - var series = new Series(this.ctx); - gl.series = series.setNullSeriesToZeroValues(gl.series); - } - - this.coreUtils.getSeriesTotals(); - - if (gl.axisCharts) { - this.coreUtils.getStackedSeriesTotals(); - } - - this.coreUtils.getPercentSeries(); - - if (!gl.dataFormatXNumeric && (!gl.isXNumeric || cnf.xaxis.type === 'numeric' && cnf.labels.length === 0 && cnf.xaxis.categories.length === 0)) { - // x-axis labels couldn't be detected; hence try searching every option in config - this.handleExternalLabelsData(ser); - } // check for multiline xaxis - - - var catLabels = this.coreUtils.getCategoryLabels(gl.labels); - - for (var l = 0; l < catLabels.length; l++) { - if (Array.isArray(catLabels[l])) { - gl.isMultiLineX = true; - break; - } - } - } - }, { - key: "excludeCollapsedSeriesInYAxis", - value: function excludeCollapsedSeriesInYAxis() { - var _this2 = this; - - var w = this.w; - w.globals.ignoreYAxisIndexes = w.globals.collapsedSeries.map(function (collapsed, i) { - // fix issue #1215 - // if stacked, not returning collapsed.index to preserve yaxis - if (_this2.w.globals.isMultipleYAxis && !w.config.chart.stacked) { - return collapsed.index; - } - }); - } - }]); - - return Data; - }(); - - /** - * ApexCharts Formatter Class for setting value formatters for axes as well as tooltips. - * - * @module Formatters - **/ - - var Formatters = /*#__PURE__*/function () { - function Formatters(ctx) { - _classCallCheck(this, Formatters); - - this.ctx = ctx; - this.w = ctx.w; - this.tooltipKeyFormat = 'dd MMM'; - } - - _createClass(Formatters, [{ - key: "xLabelFormat", - value: function xLabelFormat(fn, val, timestamp, opts) { - var w = this.w; - - if (w.config.xaxis.type === 'datetime') { - if (w.config.xaxis.labels.formatter === undefined) { - // if user has not specified a custom formatter, use the default tooltip.x.format - if (w.config.tooltip.x.formatter === undefined) { - var datetimeObj = new DateTime(this.ctx); - return datetimeObj.formatDate(datetimeObj.getDate(val), w.config.tooltip.x.format); - } - } - } - - return fn(val, timestamp, opts); - } - }, { - key: "defaultGeneralFormatter", - value: function defaultGeneralFormatter(val) { - if (Array.isArray(val)) { - return val.map(function (v) { - return v; - }); - } else { - return val; - } - } - }, { - key: "defaultYFormatter", - value: function defaultYFormatter(v, yaxe, i) { - var w = this.w; - - if (Utils$1.isNumber(v)) { - if (w.globals.yValueDecimal !== 0) { - v = v.toFixed(yaxe.decimalsInFloat !== undefined ? yaxe.decimalsInFloat : w.globals.yValueDecimal); - } else if (w.globals.maxYArr[i] - w.globals.minYArr[i] < 5) { - v = v.toFixed(1); - } else { - v = v.toFixed(0); - } - } - - return v; - } - }, { - key: "setLabelFormatters", - value: function setLabelFormatters() { - var _this = this; - - var w = this.w; - - w.globals.xaxisTooltipFormatter = function (val) { - return _this.defaultGeneralFormatter(val); - }; - - w.globals.ttKeyFormatter = function (val) { - return _this.defaultGeneralFormatter(val); - }; - - w.globals.ttZFormatter = function (val) { - return val; - }; - - w.globals.legendFormatter = function (val) { - return _this.defaultGeneralFormatter(val); - }; // formatter function will always overwrite format property - - - if (w.config.xaxis.labels.formatter !== undefined) { - w.globals.xLabelFormatter = w.config.xaxis.labels.formatter; - } else { - w.globals.xLabelFormatter = function (val) { - if (Utils$1.isNumber(val)) { - if (!w.config.xaxis.convertedCatToNumeric && w.config.xaxis.type === 'numeric') { - if (Utils$1.isNumber(w.config.xaxis.decimalsInFloat)) { - return val.toFixed(w.config.xaxis.decimalsInFloat); - } else { - var diff = w.globals.maxX - w.globals.minX; - - if (diff > 0 && diff < 100) { - return val.toFixed(1); - } - - return val.toFixed(0); - } - } - - if (w.globals.isBarHorizontal) { - var range = w.globals.maxY - w.globals.minYArr; - - if (range < 4) { - return val.toFixed(1); - } - } - - return val.toFixed(0); - } - - return val; - }; - } - - if (typeof w.config.tooltip.x.formatter === 'function') { - w.globals.ttKeyFormatter = w.config.tooltip.x.formatter; - } else { - w.globals.ttKeyFormatter = w.globals.xLabelFormatter; - } - - if (typeof w.config.xaxis.tooltip.formatter === 'function') { - w.globals.xaxisTooltipFormatter = w.config.xaxis.tooltip.formatter; - } - - if (Array.isArray(w.config.tooltip.y)) { - w.globals.ttVal = w.config.tooltip.y; - } else { - if (w.config.tooltip.y.formatter !== undefined) { - w.globals.ttVal = w.config.tooltip.y; - } - } - - if (w.config.tooltip.z.formatter !== undefined) { - w.globals.ttZFormatter = w.config.tooltip.z.formatter; - } // legend formatter - if user wants to append any global values of series to legend text - - - if (w.config.legend.formatter !== undefined) { - w.globals.legendFormatter = w.config.legend.formatter; - } // formatter function will always overwrite format property - - - w.config.yaxis.forEach(function (yaxe, i) { - if (yaxe.labels.formatter !== undefined) { - w.globals.yLabelFormatters[i] = yaxe.labels.formatter; - } else { - w.globals.yLabelFormatters[i] = function (val) { - if (!w.globals.xyCharts) return val; - - if (Array.isArray(val)) { - return val.map(function (v) { - return _this.defaultYFormatter(v, yaxe, i); - }); - } else { - return _this.defaultYFormatter(val, yaxe, i); - } - }; - } - }); - return w.globals; - } - }, { - key: "heatmapLabelFormatters", - value: function heatmapLabelFormatters() { - var w = this.w; - - if (w.config.chart.type === 'heatmap') { - w.globals.yAxisScale[0].result = w.globals.seriesNames.slice(); // get the longest string from the labels array and also apply label formatter to it - - var longest = w.globals.seriesNames.reduce(function (a, b) { - return a.length > b.length ? a : b; - }, 0); - w.globals.yAxisScale[0].niceMax = longest; - w.globals.yAxisScale[0].niceMin = longest; - } - } - }]); - - return Formatters; - }(); - - var AxesUtils = /*#__PURE__*/function () { - function AxesUtils(ctx) { - _classCallCheck(this, AxesUtils); - - this.ctx = ctx; - this.w = ctx.w; - } // Based on the formatter function, get the label text and position - - - _createClass(AxesUtils, [{ - key: "getLabel", - value: function getLabel(labels, timescaleLabels, x, i) { - var drawnLabels = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : []; - var fontSize = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '12px'; - var isLeafGroup = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : true; - var w = this.w; - var rawLabel = typeof labels[i] === 'undefined' ? '' : labels[i]; - var label = rawLabel; - var xlbFormatter = w.globals.xLabelFormatter; - var customFormatter = w.config.xaxis.labels.formatter; - var isBold = false; - var xFormat = new Formatters(this.ctx); - var timestamp = rawLabel; - - if (isLeafGroup) { - label = xFormat.xLabelFormat(xlbFormatter, rawLabel, timestamp, { - i: i, - dateFormatter: new DateTime(this.ctx).formatDate, - w: w - }); - - if (customFormatter !== undefined) { - label = customFormatter(rawLabel, labels[i], { - i: i, - dateFormatter: new DateTime(this.ctx).formatDate, - w: w - }); - } - } - - var determineHighestUnit = function determineHighestUnit(unit) { - var highestUnit = null; - timescaleLabels.forEach(function (t) { - if (t.unit === 'month') { - highestUnit = 'year'; - } else if (t.unit === 'day') { - highestUnit = 'month'; - } else if (t.unit === 'hour') { - highestUnit = 'day'; - } else if (t.unit === 'minute') { - highestUnit = 'hour'; - } - }); - return highestUnit === unit; - }; - - if (timescaleLabels.length > 0) { - isBold = determineHighestUnit(timescaleLabels[i].unit); - x = timescaleLabels[i].position; - label = timescaleLabels[i].value; - } else { - if (w.config.xaxis.type === 'datetime' && customFormatter === undefined) { - label = ''; - } - } - - if (typeof label === 'undefined') label = ''; - label = Array.isArray(label) ? label : label.toString(); - var graphics = new Graphics(this.ctx); - var textRect = {}; - - if (w.globals.rotateXLabels && isLeafGroup) { - textRect = graphics.getTextRects(label, parseInt(fontSize, 10), null, "rotate(".concat(w.config.xaxis.labels.rotate, " 0 0)"), false); - } else { - textRect = graphics.getTextRects(label, parseInt(fontSize, 10)); - } - - var allowDuplicatesInTimeScale = !w.config.xaxis.labels.showDuplicates && this.ctx.timeScale; - - if (!Array.isArray(label) && (label.indexOf('NaN') === 0 || label.toLowerCase().indexOf('invalid') === 0 || label.toLowerCase().indexOf('infinity') >= 0 || drawnLabels.indexOf(label) >= 0 && allowDuplicatesInTimeScale)) { - label = ''; - } - - return { - x: x, - text: label, - textRect: textRect, - isBold: isBold - }; - } - }, { - key: "checkLabelBasedOnTickamount", - value: function checkLabelBasedOnTickamount(i, label, labelsLen) { - var w = this.w; - var ticks = w.config.xaxis.tickAmount; - if (ticks === 'dataPoints') ticks = Math.round(w.globals.gridWidth / 120); - if (ticks > labelsLen) return label; - var tickMultiple = Math.round(labelsLen / (ticks + 1)); - - if (i % tickMultiple === 0) { - return label; - } else { - label.text = ''; - } - - return label; - } - }, { - key: "checkForOverflowingLabels", - value: function checkForOverflowingLabels(i, label, labelsLen, drawnLabels, drawnLabelsRects) { - var w = this.w; - - if (i === 0) { - // check if first label is being truncated - if (w.globals.skipFirstTimelinelabel) { - label.text = ''; - } - } - - if (i === labelsLen - 1) { - // check if last label is being truncated - if (w.globals.skipLastTimelinelabel) { - label.text = ''; - } - } - - if (w.config.xaxis.labels.hideOverlappingLabels && drawnLabels.length > 0) { - var prev = drawnLabelsRects[drawnLabelsRects.length - 1]; - - if (label.x < prev.textRect.width / (w.globals.rotateXLabels ? Math.abs(w.config.xaxis.labels.rotate) / 12 : 1.01) + prev.x) { - label.text = ''; - } - } - - return label; - } - }, { - key: "checkForReversedLabels", - value: function checkForReversedLabels(i, labels) { - var w = this.w; - - if (w.config.yaxis[i] && w.config.yaxis[i].reversed) { - labels.reverse(); - } - - return labels; - } - }, { - key: "isYAxisHidden", - value: function isYAxisHidden(index) { - var w = this.w; - var coreUtils = new CoreUtils(this.ctx); - return !w.config.yaxis[index].show || !w.config.yaxis[index].showForNullSeries && coreUtils.isSeriesNull(index) && w.globals.collapsedSeriesIndices.indexOf(index) === -1; - } // get the label color for y-axis - // realIndex is the actual series index, while i is the tick Index - - }, { - key: "getYAxisForeColor", - value: function getYAxisForeColor(yColors, realIndex) { - var w = this.w; - - if (Array.isArray(yColors) && w.globals.yAxisScale[realIndex]) { - this.ctx.theme.pushExtraColors(yColors, w.globals.yAxisScale[realIndex].result.length, false); - } - - return yColors; - } - }, { - key: "drawYAxisTicks", - value: function drawYAxisTicks(x, tickAmount, axisBorder, axisTicks, realIndex, labelsDivider, elYaxis) { - var w = this.w; - var graphics = new Graphics(this.ctx); // initial label position = 0; - - var t = w.globals.translateY; - - if (axisTicks.show && tickAmount > 0) { - if (w.config.yaxis[realIndex].opposite === true) x = x + axisTicks.width; - - for (var i = tickAmount; i >= 0; i--) { - var tY = t + tickAmount / 10 + w.config.yaxis[realIndex].labels.offsetY - 1; - - if (w.globals.isBarHorizontal) { - tY = labelsDivider * i; - } - - if (w.config.chart.type === 'heatmap') { - tY = tY + labelsDivider / 2; - } - - var elTick = graphics.drawLine(x + axisBorder.offsetX - axisTicks.width + axisTicks.offsetX, tY + axisTicks.offsetY, x + axisBorder.offsetX + axisTicks.offsetX, tY + axisTicks.offsetY, axisTicks.color); - elYaxis.add(elTick); - t = t + labelsDivider; - } - } - } - }]); - - return AxesUtils; - }(); - - var Exports = /*#__PURE__*/function () { - function Exports(ctx) { - _classCallCheck(this, Exports); - - this.ctx = ctx; - this.w = ctx.w; - } - - _createClass(Exports, [{ - key: "scaleSvgNode", - value: function scaleSvgNode(svg, scale) { - // get current both width and height of the svg - var svgWidth = parseFloat(svg.getAttributeNS(null, 'width')); - var svgHeight = parseFloat(svg.getAttributeNS(null, 'height')); // set new width and height based on the scale - - svg.setAttributeNS(null, 'width', svgWidth * scale); - svg.setAttributeNS(null, 'height', svgHeight * scale); - svg.setAttributeNS(null, 'viewBox', '0 0 ' + svgWidth + ' ' + svgHeight); - } - }, { - key: "fixSvgStringForIe11", - value: function fixSvgStringForIe11(svgData) { - // IE11 generates broken SVG that we have to fix by using regex - if (!Utils$1.isIE11()) { - // not IE11 - noop - return svgData.replace(/ /g, ' '); - } // replace second occurrence of "xmlns" attribute with "xmlns:xlink" with correct url + add xmlns:svgjs - - - var nXmlnsSeen = 0; - var result = svgData.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g, function (match) { - nXmlnsSeen++; - return nXmlnsSeen === 2 ? 'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"' : match; - }); // remove the invalid empty namespace declarations - - result = result.replace(/xmlns:NS\d+=""/g, ''); // remove these broken namespaces from attributes - - result = result.replace(/NS\d+:(\w+:\w+=")/g, '$1'); - return result; - } - }, { - key: "getSvgString", - value: function getSvgString(scale) { - if (scale == undefined) { - scale = 1; // if no scale is specified, don't scale... - } - - var svgString = this.w.globals.dom.Paper.svg(); // in case the scale is different than 1, the svg needs to be rescaled - - if (scale !== 1) { - // clone the svg node so it remains intact in the UI - var svgNode = this.w.globals.dom.Paper.node.cloneNode(true); // scale the image - - this.scaleSvgNode(svgNode, scale); // get the string representation of the svgNode - - svgString = new XMLSerializer().serializeToString(svgNode); - } - - return this.fixSvgStringForIe11(svgString); - } - }, { - key: "cleanup", - value: function cleanup() { - var w = this.w; // hide some elements to avoid printing them on exported svg - - var xcrosshairs = w.globals.dom.baseEl.getElementsByClassName('apexcharts-xcrosshairs'); - var ycrosshairs = w.globals.dom.baseEl.getElementsByClassName('apexcharts-ycrosshairs'); - var zoomSelectionRects = w.globals.dom.baseEl.querySelectorAll('.apexcharts-zoom-rect, .apexcharts-selection-rect'); - Array.prototype.forEach.call(zoomSelectionRects, function (z) { - z.setAttribute('width', 0); - }); - - if (xcrosshairs && xcrosshairs[0]) { - xcrosshairs[0].setAttribute('x', -500); - xcrosshairs[0].setAttribute('x1', -500); - xcrosshairs[0].setAttribute('x2', -500); - } - - if (ycrosshairs && ycrosshairs[0]) { - ycrosshairs[0].setAttribute('y', -100); - ycrosshairs[0].setAttribute('y1', -100); - ycrosshairs[0].setAttribute('y2', -100); - } - } - }, { - key: "svgUrl", - value: function svgUrl() { - this.cleanup(); - var svgData = this.getSvgString(); - var svgBlob = new Blob([svgData], { - type: 'image/svg+xml;charset=utf-8' - }); - return URL.createObjectURL(svgBlob); - } - }, { - key: "dataURI", - value: function dataURI(options) { - var _this = this; - - return new Promise(function (resolve) { - var w = _this.w; - var scale = options ? options.scale || options.width / w.globals.svgWidth : 1; - - _this.cleanup(); - - var canvas = document.createElement('canvas'); - canvas.width = w.globals.svgWidth * scale; - canvas.height = parseInt(w.globals.dom.elWrap.style.height, 10) * scale; // because of resizeNonAxisCharts - - var canvasBg = w.config.chart.background === 'transparent' ? '#fff' : w.config.chart.background; - var ctx = canvas.getContext('2d'); - ctx.fillStyle = canvasBg; - ctx.fillRect(0, 0, canvas.width * scale, canvas.height * scale); - - var svgData = _this.getSvgString(scale); - - if (window.canvg && Utils$1.isIE11()) { - // use canvg as a polyfill to workaround ie11 considering a canvas with loaded svg 'unsafe' - // without ignoreClear we lose our background color; without ignoreDimensions some grid lines become invisible - var v = window.canvg.Canvg.fromString(ctx, svgData, { - ignoreClear: true, - ignoreDimensions: true - }); // render the svg to canvas - - v.start(); - var blob = canvas.msToBlob(); // dispose - missing this will cause a memory leak - - v.stop(); - resolve({ - blob: blob - }); - } else { - var svgUrl = 'data:image/svg+xml,' + encodeURIComponent(svgData); - var img = new Image(); - img.crossOrigin = 'anonymous'; - - img.onload = function () { - ctx.drawImage(img, 0, 0); - - if (canvas.msToBlob) { - // IE and Edge can't navigate to data urls, so we return the blob instead - var _blob = canvas.msToBlob(); - - resolve({ - blob: _blob - }); - } else { - var imgURI = canvas.toDataURL('image/png'); - resolve({ - imgURI: imgURI - }); - } - }; - - img.src = svgUrl; - } - }); - } - }, { - key: "exportToSVG", - value: function exportToSVG() { - this.triggerDownload(this.svgUrl(), this.w.config.chart.toolbar.export.svg.filename, '.svg'); - } - }, { - key: "exportToPng", - value: function exportToPng() { - var _this2 = this; - - this.dataURI().then(function (_ref) { - var imgURI = _ref.imgURI, - blob = _ref.blob; - - if (blob) { - navigator.msSaveOrOpenBlob(blob, _this2.w.globals.chartID + '.png'); - } else { - _this2.triggerDownload(imgURI, _this2.w.config.chart.toolbar.export.png.filename, '.png'); - } - }); - } - }, { - key: "exportToCSV", - value: function exportToCSV(_ref2) { - var _this3 = this; - - var series = _ref2.series, - fileName = _ref2.fileName, - _ref2$columnDelimiter = _ref2.columnDelimiter, - columnDelimiter = _ref2$columnDelimiter === void 0 ? ',' : _ref2$columnDelimiter, - _ref2$lineDelimiter = _ref2.lineDelimiter, - lineDelimiter = _ref2$lineDelimiter === void 0 ? '\n' : _ref2$lineDelimiter; - var w = this.w; - if (!series) series = w.config.series; - var columns = []; - var rows = []; - var result = ''; - var universalBOM = "\uFEFF"; - - var isTimeStamp = function isTimeStamp(num) { - return w.config.xaxis.type === 'datetime' && String(num).length >= 10; - }; - - var dataFormat = new Data(this.ctx); - var axesUtils = new AxesUtils(this.ctx); - - var getCat = function getCat(i) { - var cat = ''; // pie / donut/ radial - - if (!w.globals.axisCharts) { - cat = w.config.labels[i]; - } else { - // xy charts - // non datetime - if (w.config.xaxis.type === 'category' || w.config.xaxis.convertedCatToNumeric) { - if (w.globals.isBarHorizontal) { - var lbFormatter = w.globals.yLabelFormatters[0]; - var sr = new Series(_this3.ctx); - var activeSeries = sr.getActiveConfigSeriesIndex(); - cat = lbFormatter(w.globals.labels[i], { - seriesIndex: activeSeries, - dataPointIndex: i, - w: w - }); - } else { - cat = axesUtils.getLabel(w.globals.labels, w.globals.timescaleLabels, 0, i).text; - } - } // datetime, but labels specified in categories or labels - - - if (w.config.xaxis.type === 'datetime') { - if (w.config.xaxis.categories.length) { - cat = w.config.xaxis.categories[i]; - } else if (w.config.labels.length) { - cat = w.config.labels[i]; - } - } - } - - if (Array.isArray(cat)) { - cat = cat.join(' '); - } - - return Utils$1.isNumber(cat) ? cat : cat.split(columnDelimiter).join(''); - }; - - var handleAxisRowsColumns = function handleAxisRowsColumns(s, sI) { - if (columns.length && sI === 0) { - rows.push(columns.join(columnDelimiter)); - } - - if (s.data && s.data.length) { - for (var i = 0; i < s.data.length; i++) { - columns = []; - var cat = getCat(i); - - if (!cat) { - if (dataFormat.isFormatXY()) { - cat = series[sI].data[i].x; - } else if (dataFormat.isFormat2DArray()) { - cat = series[sI].data[i] ? series[sI].data[i][0] : ''; - } - } - - if (sI === 0) { - columns.push(isTimeStamp(cat) ? w.config.chart.toolbar.export.csv.dateFormatter(cat) : Utils$1.isNumber(cat) ? cat : cat.split(columnDelimiter).join('')); - - for (var ci = 0; ci < w.globals.series.length; ci++) { - if (dataFormat.isFormatXY()) { - columns.push(series[ci].data[i].y); - } else { - columns.push(w.globals.series[ci][i]); - } - } - } - - if (w.config.chart.type === 'candlestick' || s.type && s.type === 'candlestick') { - columns.pop(); - columns.push(w.globals.seriesCandleO[sI][i]); - columns.push(w.globals.seriesCandleH[sI][i]); - columns.push(w.globals.seriesCandleL[sI][i]); - columns.push(w.globals.seriesCandleC[sI][i]); - } - - if (w.config.chart.type === 'boxPlot' || s.type && s.type === 'boxPlot') { - columns.pop(); - columns.push(w.globals.seriesCandleO[sI][i]); - columns.push(w.globals.seriesCandleH[sI][i]); - columns.push(w.globals.seriesCandleM[sI][i]); - columns.push(w.globals.seriesCandleL[sI][i]); - columns.push(w.globals.seriesCandleC[sI][i]); - } - - if (w.config.chart.type === 'rangeBar') { - columns.pop(); - columns.push(w.globals.seriesRangeStart[sI][i]); - columns.push(w.globals.seriesRangeEnd[sI][i]); - } - - if (columns.length) { - rows.push(columns.join(columnDelimiter)); - } - } - } - }; - - columns.push(w.config.chart.toolbar.export.csv.headerCategory); - - if (w.config.chart.type === 'boxPlot') { - columns.push('minimum'); - columns.push('q1'); - columns.push('median'); - columns.push('q3'); - columns.push('maximum'); - } else if (w.config.chart.type === 'candlestick') { - columns.push('open'); - columns.push('high'); - columns.push('low'); - columns.push('close'); - } else if (w.config.chart.type === 'rangeBar') { - columns.push('minimum'); - columns.push('maximum'); - } else { - series.map(function (s, sI) { - var sname = s.name ? s.name : "series-".concat(sI); - - if (w.globals.axisCharts) { - columns.push(sname.split(columnDelimiter).join('') ? sname.split(columnDelimiter).join('') : "series-".concat(sI)); - } - }); - } - - if (!w.globals.axisCharts) { - columns.push(w.config.chart.toolbar.export.csv.headerValue); - rows.push(columns.join(columnDelimiter)); - } - - series.map(function (s, sI) { - if (w.globals.axisCharts) { - handleAxisRowsColumns(s, sI); - } else { - columns = []; - columns.push(w.globals.labels[sI].split(columnDelimiter).join('')); - columns.push(w.globals.series[sI]); - rows.push(columns.join(columnDelimiter)); - } - }); - result += rows.join(lineDelimiter); - this.triggerDownload('data:text/csv; charset=utf-8,' + encodeURIComponent(universalBOM + result), fileName ? fileName : w.config.chart.toolbar.export.csv.filename, '.csv'); - } - }, { - key: "triggerDownload", - value: function triggerDownload(href, filename, ext) { - var downloadLink = document.createElement('a'); - downloadLink.href = href; - downloadLink.download = (filename ? filename : this.w.globals.chartID) + ext; - document.body.appendChild(downloadLink); - downloadLink.click(); - document.body.removeChild(downloadLink); - } - }]); - - return Exports; - }(); - - /** - * ApexCharts XAxis Class for drawing X-Axis. - * - * @module XAxis - **/ - - var XAxis = /*#__PURE__*/function () { - function XAxis(ctx) { - _classCallCheck(this, XAxis); - - this.ctx = ctx; - this.w = ctx.w; - var w = this.w; - this.axesUtils = new AxesUtils(ctx); - this.xaxisLabels = w.globals.labels.slice(); - - if (w.globals.timescaleLabels.length > 0 && !w.globals.isBarHorizontal) { - // timeline labels are there and chart is not rangeabr timeline - this.xaxisLabels = w.globals.timescaleLabels.slice(); - } - - if (w.config.xaxis.overwriteCategories) { - this.xaxisLabels = w.config.xaxis.overwriteCategories; - } - - this.drawnLabels = []; - this.drawnLabelsRects = []; - - if (w.config.xaxis.position === 'top') { - this.offY = 0; - } else { - this.offY = w.globals.gridHeight + 1; - } - - this.offY = this.offY + w.config.xaxis.axisBorder.offsetY; - this.isCategoryBarHorizontal = w.config.chart.type === 'bar' && w.config.plotOptions.bar.horizontal; - this.xaxisFontSize = w.config.xaxis.labels.style.fontSize; - this.xaxisFontFamily = w.config.xaxis.labels.style.fontFamily; - this.xaxisForeColors = w.config.xaxis.labels.style.colors; - this.xaxisBorderWidth = w.config.xaxis.axisBorder.width; - - if (this.isCategoryBarHorizontal) { - this.xaxisBorderWidth = w.config.yaxis[0].axisBorder.width.toString(); - } - - if (this.xaxisBorderWidth.indexOf('%') > -1) { - this.xaxisBorderWidth = w.globals.gridWidth * parseInt(this.xaxisBorderWidth, 10) / 100; - } else { - this.xaxisBorderWidth = parseInt(this.xaxisBorderWidth, 10); - } - - this.xaxisBorderHeight = w.config.xaxis.axisBorder.height; // For bars, we will only consider single y xais, - // as we are not providing multiple yaxis for bar charts - - this.yaxis = w.config.yaxis[0]; - } - - _createClass(XAxis, [{ - key: "drawXaxis", - value: function drawXaxis() { - var w = this.w; - var graphics = new Graphics(this.ctx); - var elXaxis = graphics.group({ - class: 'apexcharts-xaxis', - transform: "translate(".concat(w.config.xaxis.offsetX, ", ").concat(w.config.xaxis.offsetY, ")") - }); - var elXaxisTexts = graphics.group({ - class: 'apexcharts-xaxis-texts-g', - transform: "translate(".concat(w.globals.translateXAxisX, ", ").concat(w.globals.translateXAxisY, ")") - }); - elXaxis.add(elXaxisTexts); - var labels = []; - - for (var i = 0; i < this.xaxisLabels.length; i++) { - labels.push(this.xaxisLabels[i]); - } - - this.drawXAxisLabelAndGroup(true, graphics, elXaxisTexts, labels, w.globals.isXNumeric, function (i, colWidth) { - return colWidth; - }); - - if (w.globals.hasGroups) { - var labelsGroup = w.globals.groups; - labels = []; - - for (var _i = 0; _i < labelsGroup.length; _i++) { - labels.push(labelsGroup[_i].title); - } - - var overwriteStyles = {}; - - if (w.config.xaxis.group.style) { - overwriteStyles.xaxisFontSize = w.config.xaxis.group.style.fontSize; - overwriteStyles.xaxisFontFamily = w.config.xaxis.group.style.fontFamily; - overwriteStyles.xaxisForeColors = w.config.xaxis.group.style.colors; - overwriteStyles.fontWeight = w.config.xaxis.group.style.fontWeight; - overwriteStyles.cssClass = w.config.xaxis.group.style.cssClass; - } - - this.drawXAxisLabelAndGroup(false, graphics, elXaxisTexts, labels, false, function (i, colWidth) { - return labelsGroup[i].cols * colWidth; - }, overwriteStyles); - } - - if (w.config.xaxis.title.text !== undefined) { - var elXaxisTitle = graphics.group({ - class: 'apexcharts-xaxis-title' - }); - var elXAxisTitleText = graphics.drawText({ - x: w.globals.gridWidth / 2 + w.config.xaxis.title.offsetX, - y: this.offY + parseFloat(this.xaxisFontSize) + w.globals.xAxisLabelsHeight + w.config.xaxis.title.offsetY, - text: w.config.xaxis.title.text, - textAnchor: 'middle', - fontSize: w.config.xaxis.title.style.fontSize, - fontFamily: w.config.xaxis.title.style.fontFamily, - fontWeight: w.config.xaxis.title.style.fontWeight, - foreColor: w.config.xaxis.title.style.color, - cssClass: 'apexcharts-xaxis-title-text ' + w.config.xaxis.title.style.cssClass - }); - elXaxisTitle.add(elXAxisTitleText); - elXaxis.add(elXaxisTitle); - } - - if (w.config.xaxis.axisBorder.show) { - var offX = w.globals.barPadForNumericAxis; - var elHorzLine = graphics.drawLine(w.globals.padHorizontal + w.config.xaxis.axisBorder.offsetX - offX, this.offY, this.xaxisBorderWidth + offX, this.offY, w.config.xaxis.axisBorder.color, 0, this.xaxisBorderHeight); - elXaxis.add(elHorzLine); - } - - return elXaxis; - } - }, { - key: "drawXAxisLabelAndGroup", - value: function drawXAxisLabelAndGroup(isLeafGroup, graphics, elXaxisTexts, labels, isXNumeric, colWidthCb) { - var _this = this; - - var overwriteStyles = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {}; - var drawnLabels = []; - var drawnLabelsRects = []; - var w = this.w; - var xaxisFontSize = overwriteStyles.xaxisFontSize || this.xaxisFontSize; - var xaxisFontFamily = overwriteStyles.xaxisFontFamily || this.xaxisFontFamily; - var xaxisForeColors = overwriteStyles.xaxisForeColors || this.xaxisForeColors; - var fontWeight = overwriteStyles.fontWeight || w.config.xaxis.labels.style.fontWeight; - var cssClass = overwriteStyles.cssClass || w.config.xaxis.labels.style.cssClass; - var colWidth; // initial x Position (keep adding column width in the loop) - - var xPos = w.globals.padHorizontal; - var labelsLen = labels.length; - /** - * labelsLen can be different (whether you are drawing x-axis labels or x-axis group labels) - * hence, we introduce dataPoints to be consistent. - * Also, in datetime/numeric xaxis, dataPoints can be misleading, so we resort to labelsLen for such xaxis type - */ - - var dataPoints = w.config.xaxis.type === 'category' ? w.globals.dataPoints : labelsLen; - - if (isXNumeric) { - var len = dataPoints > 1 ? dataPoints - 1 : dataPoints; - colWidth = w.globals.gridWidth / len; - xPos = xPos + colWidthCb(0, colWidth) / 2 + w.config.xaxis.labels.offsetX; - } else { - colWidth = w.globals.gridWidth / dataPoints; - xPos = xPos + colWidthCb(0, colWidth) + w.config.xaxis.labels.offsetX; - } - - var _loop = function _loop(i) { - var x = xPos - colWidthCb(i, colWidth) / 2 + w.config.xaxis.labels.offsetX; - - if (i === 0 && labelsLen === 1 && colWidth / 2 === xPos && dataPoints === 1) { - // single datapoint - x = w.globals.gridWidth / 2; - } - - var label = _this.axesUtils.getLabel(labels, w.globals.timescaleLabels, x, i, drawnLabels, xaxisFontSize, isLeafGroup); - - var offsetYCorrection = 28; - - if (w.globals.rotateXLabels && isLeafGroup) { - offsetYCorrection = 22; - } - - if (!isLeafGroup) { - offsetYCorrection = offsetYCorrection + parseFloat(xaxisFontSize) + (w.globals.xAxisLabelsHeight - w.globals.xAxisGroupLabelsHeight) + (w.globals.rotateXLabels ? 10 : 0); - } - - var isCategoryTickAmounts = typeof w.config.xaxis.tickAmount !== 'undefined' && w.config.xaxis.tickAmount !== 'dataPoints' && w.config.xaxis.type !== 'datetime'; - - if (isCategoryTickAmounts) { - label = _this.axesUtils.checkLabelBasedOnTickamount(i, label, labelsLen); - } else { - label = _this.axesUtils.checkForOverflowingLabels(i, label, labelsLen, drawnLabels, drawnLabelsRects); - } - - var getCatForeColor = function getCatForeColor() { - return isLeafGroup && w.config.xaxis.convertedCatToNumeric ? xaxisForeColors[w.globals.minX + i - 1] : xaxisForeColors[i]; - }; - - if (isLeafGroup && label.text) { - w.globals.xaxisLabelsCount++; - } - - if (w.config.xaxis.labels.show) { - var elText = graphics.drawText({ - x: label.x, - y: _this.offY + w.config.xaxis.labels.offsetY + offsetYCorrection - (w.config.xaxis.position === 'top' ? w.globals.xAxisHeight + w.config.xaxis.axisTicks.height - 2 : 0), - text: label.text, - textAnchor: 'middle', - fontWeight: label.isBold ? 600 : fontWeight, - fontSize: xaxisFontSize, - fontFamily: xaxisFontFamily, - foreColor: Array.isArray(xaxisForeColors) ? getCatForeColor() : xaxisForeColors, - isPlainText: false, - cssClass: (isLeafGroup ? 'apexcharts-xaxis-label ' : 'apexcharts-xaxis-group-label ') + cssClass - }); - elXaxisTexts.add(elText); - - if (isLeafGroup) { - var elTooltipTitle = document.createElementNS(w.globals.SVGNS, 'title'); - elTooltipTitle.textContent = Array.isArray(label.text) ? label.text.join(' ') : label.text; - elText.node.appendChild(elTooltipTitle); - - if (label.text !== '') { - drawnLabels.push(label.text); - drawnLabelsRects.push(label); - } - } - } - - if (i < labelsLen - 1) { - xPos = xPos + colWidthCb(i + 1, colWidth); - } - }; - - for (var i = 0; i <= labelsLen - 1; i++) { - _loop(i); - } - } // this actually becomes the vertical axis (for bar charts) - - }, { - key: "drawXaxisInversed", - value: function drawXaxisInversed(realIndex) { - var _this2 = this; - - var w = this.w; - var graphics = new Graphics(this.ctx); - var translateYAxisX = w.config.yaxis[0].opposite ? w.globals.translateYAxisX[realIndex] : 0; - var elYaxis = graphics.group({ - class: 'apexcharts-yaxis apexcharts-xaxis-inversed', - rel: realIndex - }); - var elYaxisTexts = graphics.group({ - class: 'apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g', - transform: 'translate(' + translateYAxisX + ', 0)' - }); - elYaxis.add(elYaxisTexts); - var colHeight; // initial x Position (keep adding column width in the loop) - - var yPos; - var labels = []; - - if (w.config.yaxis[realIndex].show) { - for (var i = 0; i < this.xaxisLabels.length; i++) { - labels.push(this.xaxisLabels[i]); - } - } - - colHeight = w.globals.gridHeight / labels.length; - yPos = -(colHeight / 2.2); - var lbFormatter = w.globals.yLabelFormatters[0]; - var ylabels = w.config.yaxis[0].labels; - - if (ylabels.show) { - var _loop2 = function _loop2(_i2) { - var label = typeof labels[_i2] === 'undefined' ? '' : labels[_i2]; - label = lbFormatter(label, { - seriesIndex: realIndex, - dataPointIndex: _i2, - w: w - }); - - var yColors = _this2.axesUtils.getYAxisForeColor(ylabels.style.colors, realIndex); - - var getForeColor = function getForeColor() { - return Array.isArray(yColors) ? yColors[_i2] : yColors; - }; - - var multiY = 0; - - if (Array.isArray(label)) { - multiY = label.length / 2 * parseInt(ylabels.style.fontSize, 10); - } - - var elLabel = graphics.drawText({ - x: ylabels.offsetX - 15, - y: yPos + colHeight + ylabels.offsetY - multiY, - text: label, - textAnchor: _this2.yaxis.opposite ? 'start' : 'end', - foreColor: getForeColor(), - fontSize: ylabels.style.fontSize, - fontFamily: ylabels.style.fontFamily, - fontWeight: ylabels.style.fontWeight, - isPlainText: false, - cssClass: 'apexcharts-yaxis-label ' + ylabels.style.cssClass, - maxWidth: ylabels.maxWidth - }); - elYaxisTexts.add(elLabel); - var elTooltipTitle = document.createElementNS(w.globals.SVGNS, 'title'); - elTooltipTitle.textContent = Array.isArray(label) ? label.join(' ') : label; - elLabel.node.appendChild(elTooltipTitle); - - if (w.config.yaxis[realIndex].labels.rotate !== 0) { - var labelRotatingCenter = graphics.rotateAroundCenter(elLabel.node); - elLabel.node.setAttribute('transform', "rotate(".concat(w.config.yaxis[realIndex].labels.rotate, " 0 ").concat(labelRotatingCenter.y, ")")); - } - - yPos = yPos + colHeight; - }; - - for (var _i2 = 0; _i2 <= labels.length - 1; _i2++) { - _loop2(_i2); - } - } - - if (w.config.yaxis[0].title.text !== undefined) { - var elXaxisTitle = graphics.group({ - class: 'apexcharts-yaxis-title apexcharts-xaxis-title-inversed', - transform: 'translate(' + translateYAxisX + ', 0)' - }); - var elXAxisTitleText = graphics.drawText({ - x: 0, - y: w.globals.gridHeight / 2, - text: w.config.yaxis[0].title.text, - textAnchor: 'middle', - foreColor: w.config.yaxis[0].title.style.color, - fontSize: w.config.yaxis[0].title.style.fontSize, - fontWeight: w.config.yaxis[0].title.style.fontWeight, - fontFamily: w.config.yaxis[0].title.style.fontFamily, - cssClass: 'apexcharts-yaxis-title-text ' + w.config.yaxis[0].title.style.cssClass - }); - elXaxisTitle.add(elXAxisTitleText); - elYaxis.add(elXaxisTitle); - } - - var offX = 0; - - if (this.isCategoryBarHorizontal && w.config.yaxis[0].opposite) { - offX = w.globals.gridWidth; - } - - var axisBorder = w.config.xaxis.axisBorder; - - if (axisBorder.show) { - var elVerticalLine = graphics.drawLine(w.globals.padHorizontal + axisBorder.offsetX + offX, 1 + axisBorder.offsetY, w.globals.padHorizontal + axisBorder.offsetX + offX, w.globals.gridHeight + axisBorder.offsetY, axisBorder.color, 0); - elYaxis.add(elVerticalLine); - } - - if (w.config.yaxis[0].axisTicks.show) { - this.axesUtils.drawYAxisTicks(offX, labels.length, w.config.yaxis[0].axisBorder, w.config.yaxis[0].axisTicks, 0, colHeight, elYaxis); - } - - return elYaxis; - } - }, { - key: "drawXaxisTicks", - value: function drawXaxisTicks(x1, y2, appendToElement) { - var w = this.w; - var x2 = x1; - if (x1 < 0 || x1 - 2 > w.globals.gridWidth) return; - var y1 = this.offY + w.config.xaxis.axisTicks.offsetY; - y2 = y2 + y1 + w.config.xaxis.axisTicks.height; - - if (w.config.xaxis.position === 'top') { - y2 = y1 - w.config.xaxis.axisTicks.height; - } - - if (w.config.xaxis.axisTicks.show) { - var graphics = new Graphics(this.ctx); - var line = graphics.drawLine(x1 + w.config.xaxis.axisTicks.offsetX, y1 + w.config.xaxis.offsetY, x2 + w.config.xaxis.axisTicks.offsetX, y2 + w.config.xaxis.offsetY, w.config.xaxis.axisTicks.color); // we are not returning anything, but appending directly to the element passed in param - - appendToElement.add(line); - line.node.classList.add('apexcharts-xaxis-tick'); - } - } - }, { - key: "getXAxisTicksPositions", - value: function getXAxisTicksPositions() { - var w = this.w; - var xAxisTicksPositions = []; - var xCount = this.xaxisLabels.length; - var x1 = w.globals.padHorizontal; - - if (w.globals.timescaleLabels.length > 0) { - for (var i = 0; i < xCount; i++) { - x1 = this.xaxisLabels[i].position; - xAxisTicksPositions.push(x1); - } - } else { - var xCountForCategoryCharts = xCount; - - for (var _i3 = 0; _i3 < xCountForCategoryCharts; _i3++) { - var x1Count = xCountForCategoryCharts; - - if (w.globals.isXNumeric && w.config.chart.type !== 'bar') { - x1Count -= 1; - } - - x1 = x1 + w.globals.gridWidth / x1Count; - xAxisTicksPositions.push(x1); - } - } - - return xAxisTicksPositions; - } // to rotate x-axis labels or to put ... for longer text in xaxis - - }, { - key: "xAxisLabelCorrections", - value: function xAxisLabelCorrections() { - var w = this.w; - var graphics = new Graphics(this.ctx); - var xAxis = w.globals.dom.baseEl.querySelector('.apexcharts-xaxis-texts-g'); - var xAxisTexts = w.globals.dom.baseEl.querySelectorAll('.apexcharts-xaxis-texts-g text:not(.apexcharts-xaxis-group-label)'); - var yAxisTextsInversed = w.globals.dom.baseEl.querySelectorAll('.apexcharts-yaxis-inversed text'); - var xAxisTextsInversed = w.globals.dom.baseEl.querySelectorAll('.apexcharts-xaxis-inversed-texts-g text tspan'); - - if (w.globals.rotateXLabels || w.config.xaxis.labels.rotateAlways) { - for (var xat = 0; xat < xAxisTexts.length; xat++) { - var textRotatingCenter = graphics.rotateAroundCenter(xAxisTexts[xat]); - textRotatingCenter.y = textRotatingCenter.y - 1; // + tickWidth/4; - - textRotatingCenter.x = textRotatingCenter.x + 1; - xAxisTexts[xat].setAttribute('transform', "rotate(".concat(w.config.xaxis.labels.rotate, " ").concat(textRotatingCenter.x, " ").concat(textRotatingCenter.y, ")")); - xAxisTexts[xat].setAttribute('text-anchor', "end"); - var offsetHeight = 10; - xAxis.setAttribute('transform', "translate(0, ".concat(-offsetHeight, ")")); - var tSpan = xAxisTexts[xat].childNodes; - - if (w.config.xaxis.labels.trim) { - Array.prototype.forEach.call(tSpan, function (ts) { - graphics.placeTextWithEllipsis(ts, ts.textContent, w.globals.xAxisLabelsHeight - (w.config.legend.position === 'bottom' ? 20 : 10)); - }); - } - } - } else { - (function () { - var width = w.globals.gridWidth / (w.globals.labels.length + 1); - - for (var _xat = 0; _xat < xAxisTexts.length; _xat++) { - var _tSpan = xAxisTexts[_xat].childNodes; - - if (w.config.xaxis.labels.trim && w.config.xaxis.type !== 'datetime') { - Array.prototype.forEach.call(_tSpan, function (ts) { - graphics.placeTextWithEllipsis(ts, ts.textContent, width); - }); - } - } - })(); - } - - if (yAxisTextsInversed.length > 0) { - // truncate rotated y axis in bar chart (x axis) - var firstLabelPosX = yAxisTextsInversed[yAxisTextsInversed.length - 1].getBBox(); - var lastLabelPosX = yAxisTextsInversed[0].getBBox(); - - if (firstLabelPosX.x < -20) { - yAxisTextsInversed[yAxisTextsInversed.length - 1].parentNode.removeChild(yAxisTextsInversed[yAxisTextsInversed.length - 1]); - } - - if (lastLabelPosX.x + lastLabelPosX.width > w.globals.gridWidth && !w.globals.isBarHorizontal) { - yAxisTextsInversed[0].parentNode.removeChild(yAxisTextsInversed[0]); - } // truncate rotated x axis in bar chart (y axis) - - - for (var _xat2 = 0; _xat2 < xAxisTextsInversed.length; _xat2++) { - graphics.placeTextWithEllipsis(xAxisTextsInversed[_xat2], xAxisTextsInversed[_xat2].textContent, w.config.yaxis[0].labels.maxWidth - (w.config.yaxis[0].title.text ? parseFloat(w.config.yaxis[0].title.style.fontSize) * 2 : 0) - 15); - } - } - } // renderXAxisBands() { - // let w = this.w; - // let plotBand = document.createElementNS(w.globals.SVGNS, 'rect') - // w.globals.dom.elGraphical.add(plotBand) - // } - - }]); - - return XAxis; - }(); - - /** - * ApexCharts Grid Class for drawing Cartesian Grid. - * - * @module Grid - **/ - - var Grid = /*#__PURE__*/function () { - function Grid(ctx) { - _classCallCheck(this, Grid); - - this.ctx = ctx; - this.w = ctx.w; - var w = this.w; - this.xaxisLabels = w.globals.labels.slice(); - this.axesUtils = new AxesUtils(ctx); - this.isRangeBar = w.globals.seriesRangeBar.length; - - if (w.globals.timescaleLabels.length > 0) { - // timescaleLabels labels are there - this.xaxisLabels = w.globals.timescaleLabels.slice(); - } - } // when using sparklines or when showing no grid, we need to have a grid area which is reused at many places for other calculations as well - - - _createClass(Grid, [{ - key: "drawGridArea", - value: function drawGridArea() { - var elGrid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - var w = this.w; - var graphics = new Graphics(this.ctx); - - if (elGrid === null) { - elGrid = graphics.group({ - class: 'apexcharts-grid' - }); - } - - var elVerticalLine = graphics.drawLine(w.globals.padHorizontal, 1, w.globals.padHorizontal, w.globals.gridHeight, 'transparent'); - var elHorzLine = graphics.drawLine(w.globals.padHorizontal, w.globals.gridHeight, w.globals.gridWidth, w.globals.gridHeight, 'transparent'); - elGrid.add(elHorzLine); - elGrid.add(elVerticalLine); - return elGrid; - } - }, { - key: "drawGrid", - value: function drawGrid() { - var gl = this.w.globals; - var elgrid = null; - - if (gl.axisCharts) { - // grid is drawn after xaxis and yaxis are drawn - elgrid = this.renderGrid(); - this.drawGridArea(elgrid.el); - } - - return elgrid; - } // This mask will clip off overflowing graphics from the drawable area - - }, { - key: "createGridMask", - value: function createGridMask() { - var w = this.w; - var gl = w.globals; - var graphics = new Graphics(this.ctx); - var strokeSize = Array.isArray(w.config.stroke.width) ? 0 : w.config.stroke.width; - - if (Array.isArray(w.config.stroke.width)) { - var strokeMaxSize = 0; - w.config.stroke.width.forEach(function (m) { - strokeMaxSize = Math.max(strokeMaxSize, m); - }); - strokeSize = strokeMaxSize; - } - - gl.dom.elGridRectMask = document.createElementNS(gl.SVGNS, 'clipPath'); - gl.dom.elGridRectMask.setAttribute('id', "gridRectMask".concat(gl.cuid)); - gl.dom.elGridRectMarkerMask = document.createElementNS(gl.SVGNS, 'clipPath'); - gl.dom.elGridRectMarkerMask.setAttribute('id', "gridRectMarkerMask".concat(gl.cuid)); - gl.dom.elForecastMask = document.createElementNS(gl.SVGNS, 'clipPath'); - gl.dom.elForecastMask.setAttribute('id', "forecastMask".concat(gl.cuid)); - gl.dom.elNonForecastMask = document.createElementNS(gl.SVGNS, 'clipPath'); - gl.dom.elNonForecastMask.setAttribute('id', "nonForecastMask".concat(gl.cuid)); // let barHalfWidth = 0 - - var type = w.config.chart.type; - var hasBar = type === 'bar' || type === 'rangeBar' || type === 'candlestick' || type === 'boxPlot' || w.globals.comboBarCount > 0; - var barWidthLeft = 0; - var barWidthRight = 0; - - if (hasBar && w.globals.isXNumeric && !w.globals.isBarHorizontal) { - barWidthLeft = w.config.grid.padding.left; - barWidthRight = w.config.grid.padding.right; - - if (gl.barPadForNumericAxis > barWidthLeft) { - barWidthLeft = gl.barPadForNumericAxis; - barWidthRight = gl.barPadForNumericAxis; - } - } - - gl.dom.elGridRect = graphics.drawRect(-strokeSize / 2 - barWidthLeft - 2, -strokeSize / 2, gl.gridWidth + strokeSize + barWidthRight + barWidthLeft + 4, gl.gridHeight + strokeSize, 0, '#fff'); - var markerSize = w.globals.markers.largestSize + 1; - gl.dom.elGridRectMarker = graphics.drawRect(-markerSize * 2, -markerSize * 2, gl.gridWidth + markerSize * 4, gl.gridHeight + markerSize * 4, 0, '#fff'); - gl.dom.elGridRectMask.appendChild(gl.dom.elGridRect.node); - gl.dom.elGridRectMarkerMask.appendChild(gl.dom.elGridRectMarker.node); - var defs = gl.dom.baseEl.querySelector('defs'); - defs.appendChild(gl.dom.elGridRectMask); - defs.appendChild(gl.dom.elForecastMask); - defs.appendChild(gl.dom.elNonForecastMask); - defs.appendChild(gl.dom.elGridRectMarkerMask); - } - }, { - key: "_drawGridLines", - value: function _drawGridLines(_ref) { - var i = _ref.i, - x1 = _ref.x1, - y1 = _ref.y1, - x2 = _ref.x2, - y2 = _ref.y2, - xCount = _ref.xCount, - parent = _ref.parent; - var w = this.w; - - var shouldDraw = function shouldDraw() { - if (i === 0 && w.globals.skipFirstTimelinelabel) { - return false; - } - - if (i === xCount - 1 && w.globals.skipLastTimelinelabel && !w.config.xaxis.labels.formatter) { - return false; - } - - if (w.config.chart.type === 'radar') { - return false; - } - - return true; - }; - - if (shouldDraw()) { - if (w.config.grid.xaxis.lines.show) { - this._drawGridLine({ - x1: x1, - y1: y1, - x2: x2, - y2: y2, - parent: parent - }); - } - - var y_2 = 0; - - if (w.globals.hasGroups && w.config.xaxis.tickPlacement === 'between') { - var groups = w.globals.groups; - - if (groups) { - var gacc = 0; - - for (var gi = 0; gacc < i && gi < groups.length; gi++) { - gacc += groups[gi].cols; - } - - if (gacc === i) { - y_2 = w.globals.xAxisLabelsHeight * 0.6; - } - } - } - - var xAxis = new XAxis(this.ctx); - xAxis.drawXaxisTicks(x1, y_2, this.elg); - } - } - }, { - key: "_drawGridLine", - value: function _drawGridLine(_ref2) { - var x1 = _ref2.x1, - y1 = _ref2.y1, - x2 = _ref2.x2, - y2 = _ref2.y2, - parent = _ref2.parent; - var w = this.w; - var isHorzLine = parent.node.classList.contains('apexcharts-gridlines-horizontal'); - var strokeDashArray = w.config.grid.strokeDashArray; - var offX = w.globals.barPadForNumericAxis; - var graphics = new Graphics(this); - var line = graphics.drawLine(x1 - (isHorzLine ? offX : 0), y1, x2 + (isHorzLine ? offX : 0), y2, w.config.grid.borderColor, strokeDashArray); - line.node.classList.add('apexcharts-gridline'); - parent.add(line); - } - }, { - key: "_drawGridBandRect", - value: function _drawGridBandRect(_ref3) { - var c = _ref3.c, - x1 = _ref3.x1, - y1 = _ref3.y1, - x2 = _ref3.x2, - y2 = _ref3.y2, - type = _ref3.type; - var w = this.w; - var graphics = new Graphics(this.ctx); - var offX = w.globals.barPadForNumericAxis; - if (type === 'column' && w.config.xaxis.type === 'datetime') return; - var color = w.config.grid[type].colors[c]; - var rect = graphics.drawRect(x1 - (type === 'row' ? offX : 0), y1, x2 + (type === 'row' ? offX * 2 : 0), y2, 0, color, w.config.grid[type].opacity); - this.elg.add(rect); - rect.attr('clip-path', "url(#gridRectMask".concat(w.globals.cuid, ")")); - rect.node.classList.add("apexcharts-grid-".concat(type)); - } - }, { - key: "_drawXYLines", - value: function _drawXYLines(_ref4) { - var _this = this; - - var xCount = _ref4.xCount, - tickAmount = _ref4.tickAmount; - var w = this.w; - - var datetimeLines = function datetimeLines(_ref5) { - var xC = _ref5.xC, - x1 = _ref5.x1, - y1 = _ref5.y1, - x2 = _ref5.x2, - y2 = _ref5.y2; - - for (var i = 0; i < xC; i++) { - x1 = _this.xaxisLabels[i].position; - x2 = _this.xaxisLabels[i].position; - - _this._drawGridLines({ - i: i, - x1: x1, - y1: y1, - x2: x2, - y2: y2, - xCount: xCount, - parent: _this.elgridLinesV - }); - } - }; - - var categoryLines = function categoryLines(_ref6) { - var xC = _ref6.xC, - x1 = _ref6.x1, - y1 = _ref6.y1, - x2 = _ref6.x2, - y2 = _ref6.y2; - - if (typeof w.config.xaxis.tickAmount !== 'undefined' && w.config.xaxis.tickAmount !== 'dataPoints' && w.config.xaxis.tickPlacement === 'on') { - // user has specified tickamount in a category x-axis chart - var visibleLabels = w.globals.dom.baseEl.querySelectorAll('.apexcharts-text.apexcharts-xaxis-label tspan:not(:empty)'); - visibleLabels.forEach(function (d, i) { - var textRect = d.getBBox(); - - _this._drawGridLines({ - i: i, - x1: textRect.x + textRect.width / 2, - y1: y1, - x2: textRect.x + textRect.width / 2, - y2: y2, - xCount: xCount, - parent: _this.elgridLinesV - }); - }); - } else { - for (var i = 0; i < xC + (w.globals.isXNumeric ? 0 : 1); i++) { - if (i === 0 && xC === 1 && w.globals.dataPoints === 1) { - // single datapoint - x1 = w.globals.gridWidth / 2; - x2 = x1; - } - - _this._drawGridLines({ - i: i, - x1: x1, - y1: y1, - x2: x2, - y2: y2, - xCount: xCount, - parent: _this.elgridLinesV - }); - - x1 = x1 + w.globals.gridWidth / (w.globals.isXNumeric ? xC - 1 : xC); - x2 = x1; - } - } - }; // draw vertical lines - - - if (w.config.grid.xaxis.lines.show || w.config.xaxis.axisTicks.show) { - var x1 = w.globals.padHorizontal; - var y1 = 0; - var x2; - var y2 = w.globals.gridHeight; - - if (w.globals.timescaleLabels.length) { - datetimeLines({ - xC: xCount, - x1: x1, - y1: y1, - x2: x2, - y2: y2 - }); - } else { - if (w.globals.isXNumeric) { - xCount = w.globals.xAxisScale.result.length; - } - - if (w.config.xaxis.convertedCatToNumeric) { - // in case of a convertedCatToNumeric, some labels might be skipped due to hideOverLapping labels, hence use this var to get the visible ticks - xCount = w.globals.xaxisLabelsCount; - } - - categoryLines({ - xC: xCount, - x1: x1, - y1: y1, - x2: x2, - y2: y2 - }); - } - } // draw horizontal lines - - - if (w.config.grid.yaxis.lines.show) { - var _x = 0; - var _y = 0; - var _y2 = 0; - var _x2 = w.globals.gridWidth; - var tA = tickAmount + 1; - - if (this.isRangeBar) { - tA = w.globals.labels.length; - } - - for (var i = 0; i < tA + (this.isRangeBar ? 1 : 0); i++) { - this._drawGridLine({ - x1: _x, - y1: _y, - x2: _x2, - y2: _y2, - parent: this.elgridLinesH - }); - - _y = _y + w.globals.gridHeight / (this.isRangeBar ? tA : tickAmount); - _y2 = _y; - } - } - } - }, { - key: "_drawInvertedXYLines", - value: function _drawInvertedXYLines(_ref7) { - var xCount = _ref7.xCount; - var w = this.w; // draw vertical lines - - if (w.config.grid.xaxis.lines.show || w.config.xaxis.axisTicks.show) { - var x1 = w.globals.padHorizontal; - var y1 = 0; - var x2; - var y2 = w.globals.gridHeight; - - for (var i = 0; i < xCount + 1; i++) { - if (w.config.grid.xaxis.lines.show) { - this._drawGridLine({ - x1: x1, - y1: y1, - x2: x2, - y2: y2, - parent: this.elgridLinesV - }); - } - - var xAxis = new XAxis(this.ctx); - xAxis.drawXaxisTicks(x1, 0, this.elg); - x1 = x1 + w.globals.gridWidth / xCount + 0.3; - x2 = x1; - } - } // draw horizontal lines - - - if (w.config.grid.yaxis.lines.show) { - var _x3 = 0; - var _y3 = 0; - var _y4 = 0; - var _x4 = w.globals.gridWidth; - - for (var _i = 0; _i < w.globals.dataPoints + 1; _i++) { - this._drawGridLine({ - x1: _x3, - y1: _y3, - x2: _x4, - y2: _y4, - parent: this.elgridLinesH - }); - - _y3 = _y3 + w.globals.gridHeight / w.globals.dataPoints; - _y4 = _y3; - } - } - } // actual grid rendering - - }, { - key: "renderGrid", - value: function renderGrid() { - var w = this.w; - var graphics = new Graphics(this.ctx); - this.elg = graphics.group({ - class: 'apexcharts-grid' - }); - this.elgridLinesH = graphics.group({ - class: 'apexcharts-gridlines-horizontal' - }); - this.elgridLinesV = graphics.group({ - class: 'apexcharts-gridlines-vertical' - }); - this.elg.add(this.elgridLinesH); - this.elg.add(this.elgridLinesV); - - if (!w.config.grid.show) { - this.elgridLinesV.hide(); - this.elgridLinesH.hide(); - } - - var yTickAmount = w.globals.yAxisScale.length ? w.globals.yAxisScale[0].result.length - 1 : 5; - - for (var i = 0; i < w.globals.series.length; i++) { - if (typeof w.globals.yAxisScale[i] !== 'undefined') { - yTickAmount = w.globals.yAxisScale[i].result.length - 1; - } - - if (yTickAmount > 2) break; - } - - var xCount; - - if (!w.globals.isBarHorizontal || this.isRangeBar) { - xCount = this.xaxisLabels.length; - - if (this.isRangeBar) { - yTickAmount = w.globals.labels.length; - - if (w.config.xaxis.tickAmount && w.config.xaxis.labels.formatter) { - xCount = w.config.xaxis.tickAmount; - } - } - - this._drawXYLines({ - xCount: xCount, - tickAmount: yTickAmount - }); - } else { - xCount = yTickAmount; // for horizontal bar chart, get the xaxis tickamount - - yTickAmount = w.globals.xTickAmount; - - this._drawInvertedXYLines({ - xCount: xCount, - tickAmount: yTickAmount - }); - } - - this.drawGridBands(xCount, yTickAmount); - return { - el: this.elg, - xAxisTickWidth: w.globals.gridWidth / xCount - }; - } - }, { - key: "drawGridBands", - value: function drawGridBands(xCount, tickAmount) { - var w = this.w; // rows background bands - - if (w.config.grid.row.colors !== undefined && w.config.grid.row.colors.length > 0) { - var x1 = 0; - var y1 = 0; - var y2 = w.globals.gridHeight / tickAmount; - var x2 = w.globals.gridWidth; - - for (var i = 0, c = 0; i < tickAmount; i++, c++) { - if (c >= w.config.grid.row.colors.length) { - c = 0; - } - - this._drawGridBandRect({ - c: c, - x1: x1, - y1: y1, - x2: x2, - y2: y2, - type: 'row' - }); - - y1 = y1 + w.globals.gridHeight / tickAmount; - } - } // columns background bands - - - if (w.config.grid.column.colors !== undefined && w.config.grid.column.colors.length > 0) { - var xc = !w.globals.isBarHorizontal && (w.config.xaxis.type === 'category' || w.config.xaxis.convertedCatToNumeric) ? xCount - 1 : xCount; - var _x5 = w.globals.padHorizontal; - var _y5 = 0; - - var _x6 = w.globals.padHorizontal + w.globals.gridWidth / xc; - - var _y6 = w.globals.gridHeight; - - for (var _i2 = 0, _c = 0; _i2 < xCount; _i2++, _c++) { - if (_c >= w.config.grid.column.colors.length) { - _c = 0; - } - - this._drawGridBandRect({ - c: _c, - x1: _x5, - y1: _y5, - x2: _x6, - y2: _y6, - type: 'column' - }); - - _x5 = _x5 + w.globals.gridWidth / xc; - } - } - } - }]); - - return Grid; - }(); - - var Range$1 = /*#__PURE__*/function () { - function Range(ctx) { - _classCallCheck(this, Range); - - this.ctx = ctx; - this.w = ctx.w; - } // http://stackoverflow.com/questions/326679/choosing-an-attractive-linear-scale-for-a-graphs-y-axiss - // This routine creates the Y axis values for a graph. - - - _createClass(Range, [{ - key: "niceScale", - value: function niceScale(yMin, yMax) { - var ticks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10; - var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; - var NO_MIN_MAX_PROVIDED = arguments.length > 4 ? arguments[4] : undefined; - var w = this.w; // Determine Range - - var range = Math.abs(yMax - yMin); - ticks = this._adjustTicksForSmallRange(ticks, index, range); - - if (ticks === 'dataPoints') { - ticks = w.globals.dataPoints - 1; - } - - if (yMin === Number.MIN_VALUE && yMax === 0 || !Utils$1.isNumber(yMin) && !Utils$1.isNumber(yMax) || yMin === Number.MIN_VALUE && yMax === -Number.MAX_VALUE) { - // when all values are 0 - yMin = 0; - yMax = ticks; - var linearScale = this.linearScale(yMin, yMax, ticks); - return linearScale; - } - - if (yMin > yMax) { - // if somehow due to some wrong config, user sent max less than min, - // adjust the min/max again - console.warn('axis.min cannot be greater than axis.max'); - yMax = yMin + 0.1; - } else if (yMin === yMax) { - // If yMin and yMax are identical, then - // adjust the yMin and yMax values to actually - // make a graph. Also avoids division by zero errors. - yMin = yMin === 0 ? 0 : yMin - 0.5; // some small value - - yMax = yMax === 0 ? 2 : yMax + 0.5; // some small value - } // Calculate Min amd Max graphical labels and graph - // increments. The number of ticks defaults to - // 10 which is the SUGGESTED value. Any tick value - // entered is used as a suggested value which is - // adjusted to be a 'pretty' value. - // - // Output will be an array of the Y axis values that - // encompass the Y values. - - - var result = []; - - if (range < 1 && NO_MIN_MAX_PROVIDED && (w.config.chart.type === 'candlestick' || w.config.series[index].type === 'candlestick' || w.config.chart.type === 'boxPlot' || w.config.series[index].type === 'boxPlot' || w.globals.isRangeData)) { - /* fix https://github.com/apexcharts/apexcharts.js/issues/430 */ - yMax = yMax * 1.01; - } - - var tiks = ticks + 1; // Adjust ticks if needed - - if (tiks < 2) { - tiks = 2; - } else if (tiks > 2) { - tiks -= 2; - } // Get raw step value - - - var tempStep = range / tiks; // Calculate pretty step value - - var mag = Math.floor(Utils$1.log10(tempStep)); - var magPow = Math.pow(10, mag); - var magMsd = Math.round(tempStep / magPow); - - if (magMsd < 1) { - magMsd = 1; - } - - var stepSize = magMsd * magPow; // build Y label array. - // Lower and upper bounds calculations - - var lb = stepSize * Math.floor(yMin / stepSize); - var ub = stepSize * Math.ceil(yMax / stepSize); // Build array - - var val = lb; - - if (NO_MIN_MAX_PROVIDED && range > 2) { - while (1) { - result.push(val); - val += stepSize; - - if (val > ub) { - break; - } - } - - return { - result: result, - niceMin: result[0], - niceMax: result[result.length - 1] - }; - } else { - result = []; - var v = yMin; - result.push(v); - var valuesDivider = Math.abs(yMax - yMin) / ticks; - - for (var i = 0; i <= ticks; i++) { - v = v + valuesDivider; - result.push(v); - } - - if (result[result.length - 2] >= yMax) { - result.pop(); - } - - return { - result: result, - niceMin: result[0], - niceMax: result[result.length - 1] - }; - } - } - }, { - key: "linearScale", - value: function linearScale(yMin, yMax) { - var ticks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10; - var index = arguments.length > 3 ? arguments[3] : undefined; - var range = Math.abs(yMax - yMin); - ticks = this._adjustTicksForSmallRange(ticks, index, range); - - if (ticks === 'dataPoints') { - ticks = this.w.globals.dataPoints - 1; - } - - var step = range / ticks; - - if (ticks === Number.MAX_VALUE) { - ticks = 10; - step = 1; - } - - var result = []; - var v = yMin; - - while (ticks >= 0) { - result.push(v); - v = v + step; - ticks -= 1; - } - - return { - result: result, - niceMin: result[0], - niceMax: result[result.length - 1] - }; - } - }, { - key: "logarithmicScaleNice", - value: function logarithmicScaleNice(yMin, yMax, base) { - // Basic validation to avoid for loop starting at -inf. - if (yMax <= 0) yMax = Math.max(yMin, base); - if (yMin <= 0) yMin = Math.min(yMax, base); - var logs = []; - var logMax = Math.ceil(Math.log(yMax) / Math.log(base) + 1); // Get powers of base for our max and min - - var logMin = Math.floor(Math.log(yMin) / Math.log(base)); - - for (var i = logMin; i < logMax; i++) { - logs.push(Math.pow(base, i)); - } - - return { - result: logs, - niceMin: logs[0], - niceMax: logs[logs.length - 1] - }; - } - }, { - key: "logarithmicScale", - value: function logarithmicScale(yMin, yMax, base) { - // Basic validation to avoid for loop starting at -inf. - if (yMax <= 0) yMax = Math.max(yMin, base); - if (yMin <= 0) yMin = Math.min(yMax, base); - var logs = []; // Get the logarithmic range. - - var logMax = Math.log(yMax) / Math.log(base); - var logMin = Math.log(yMin) / Math.log(base); // Get the exact logarithmic range. - // (This is the exact number of multiples of the base there are between yMin and yMax). - - var logRange = logMax - logMin; // Round the logarithmic range to get the number of ticks we will create. - // If the chosen min/max values are multiples of each other WRT the base, this will be neat. - // If the chosen min/max aren't, we will at least still provide USEFUL ticks. - - var ticks = Math.round(logRange); // Get the logarithmic spacing between ticks. - - var logTickSpacing = logRange / ticks; // Create as many ticks as there is range in the logs. - - for (var i = 0, logTick = logMin; i < ticks; i++, logTick += logTickSpacing) { - logs.push(Math.pow(base, logTick)); - } // Add a final tick at the yMax. - - - logs.push(Math.pow(base, logMax)); - return { - result: logs, - niceMin: yMin, - niceMax: yMax - }; - } - }, { - key: "_adjustTicksForSmallRange", - value: function _adjustTicksForSmallRange(ticks, index, range) { - var newTicks = ticks; - - if (typeof index !== 'undefined' && this.w.config.yaxis[index].labels.formatter && this.w.config.yaxis[index].tickAmount === undefined) { - var formattedVal = this.w.config.yaxis[index].labels.formatter(1); - - if (Utils$1.isNumber(Number(formattedVal)) && !Utils$1.isFloat(formattedVal)) { - newTicks = Math.ceil(range); - } - } - - return newTicks < ticks ? newTicks : ticks; - } - }, { - key: "setYScaleForIndex", - value: function setYScaleForIndex(index, minY, maxY) { - var gl = this.w.globals; - var cnf = this.w.config; - var y = gl.isBarHorizontal ? cnf.xaxis : cnf.yaxis[index]; - - if (typeof gl.yAxisScale[index] === 'undefined') { - gl.yAxisScale[index] = []; - } - - var diff = Math.abs(maxY - minY); - - if (y.logarithmic && diff <= 5) { - gl.invalidLogScale = true; - } - - if (y.logarithmic && diff > 5) { - gl.allSeriesCollapsed = false; - gl.yAxisScale[index] = this.logarithmicScale(minY, maxY, y.logBase); - gl.yAxisScale[index] = y.forceNiceScale ? this.logarithmicScaleNice(minY, maxY, y.logBase) : this.logarithmicScale(minY, maxY, y.logBase); - } else { - if (maxY === -Number.MAX_VALUE || !Utils$1.isNumber(maxY)) { - // no data in the chart. Either all series collapsed or user passed a blank array - gl.yAxisScale[index] = this.linearScale(0, 5, 5); - } else { - // there is some data. Turn off the allSeriesCollapsed flag - gl.allSeriesCollapsed = false; - - if ((y.min !== undefined || y.max !== undefined) && !y.forceNiceScale) { - // fix https://github.com/apexcharts/apexcharts.js/issues/492 - gl.yAxisScale[index] = this.linearScale(minY, maxY, y.tickAmount, index); - } else { - var noMinMaxProvided = cnf.yaxis[index].max === undefined && cnf.yaxis[index].min === undefined || cnf.yaxis[index].forceNiceScale; - gl.yAxisScale[index] = this.niceScale(minY, maxY, y.tickAmount ? y.tickAmount : diff < 5 && diff > 1 ? diff + 1 : 5, index, // fix https://github.com/apexcharts/apexcharts.js/issues/397 - noMinMaxProvided); - } - } - } - } - }, { - key: "setXScale", - value: function setXScale(minX, maxX) { - var w = this.w; - var gl = w.globals; - var x = w.config.xaxis; - var diff = Math.abs(maxX - minX); - - if (maxX === -Number.MAX_VALUE || !Utils$1.isNumber(maxX)) { - // no data in the chart. Either all series collapsed or user passed a blank array - gl.xAxisScale = this.linearScale(0, 5, 5); - } else { - gl.xAxisScale = this.linearScale(minX, maxX, x.tickAmount ? x.tickAmount : diff < 5 && diff > 1 ? diff + 1 : 5, 0); - } - - return gl.xAxisScale; - } - }, { - key: "setMultipleYScales", - value: function setMultipleYScales() { - var _this = this; - - var gl = this.w.globals; - var cnf = this.w.config; - var minYArr = gl.minYArr.concat([]); - var maxYArr = gl.maxYArr.concat([]); - var scalesIndices = []; // here, we loop through the yaxis array and find the item which has "seriesName" property - - cnf.yaxis.forEach(function (yaxe, i) { - var index = i; - cnf.series.forEach(function (s, si) { - // if seriesName matches and that series is not collapsed, we use that scale - // fix issue #1215 - // proceed even if si is in gl.collapsedSeriesIndices - if (s.name === yaxe.seriesName) { - index = si; - - if (i !== si) { - scalesIndices.push({ - index: si, - similarIndex: i, - alreadyExists: true - }); - } else { - scalesIndices.push({ - index: si - }); - } - } - }); - var minY = minYArr[index]; - var maxY = maxYArr[index]; - - _this.setYScaleForIndex(i, minY, maxY); - }); - this.sameScaleInMultipleAxes(minYArr, maxYArr, scalesIndices); - } - }, { - key: "sameScaleInMultipleAxes", - value: function sameScaleInMultipleAxes(minYArr, maxYArr, scalesIndices) { - var _this2 = this; - - var cnf = this.w.config; - var gl = this.w.globals; // we got the scalesIndices array in the above code, but we need to filter out the items which doesn't have same scales - - var similarIndices = []; - scalesIndices.forEach(function (scale) { - if (scale.alreadyExists) { - if (typeof similarIndices[scale.index] === 'undefined') { - similarIndices[scale.index] = []; - } - - similarIndices[scale.index].push(scale.index); - similarIndices[scale.index].push(scale.similarIndex); - } - }); - - function intersect(a, b) { - return a.filter(function (value) { - return b.indexOf(value) !== -1; - }); - } - - gl.yAxisSameScaleIndices = similarIndices; - similarIndices.forEach(function (si, i) { - similarIndices.forEach(function (sj, j) { - if (i !== j) { - if (intersect(si, sj).length > 0) { - similarIndices[i] = similarIndices[i].concat(similarIndices[j]); - } - } - }); - }); // then, we remove duplicates from the similarScale array - - var uniqueSimilarIndices = similarIndices.map(function (item) { - return item.filter(function (i, pos) { - return item.indexOf(i) === pos; - }); - }); // sort further to remove whole duplicate arrays later - - var sortedIndices = uniqueSimilarIndices.map(function (s) { - return s.sort(); - }); // remove undefined items - - similarIndices = similarIndices.filter(function (s) { - return !!s; - }); - var indices = sortedIndices.slice(); - var stringIndices = indices.map(function (ind) { - return JSON.stringify(ind); - }); - indices = indices.filter(function (ind, p) { - return stringIndices.indexOf(JSON.stringify(ind)) === p; - }); - var sameScaleMinYArr = []; - var sameScaleMaxYArr = []; - minYArr.forEach(function (minYValue, yi) { - indices.forEach(function (scale, i) { - // we compare only the yIndex which exists in the indices array - if (scale.indexOf(yi) > -1) { - if (typeof sameScaleMinYArr[i] === 'undefined') { - sameScaleMinYArr[i] = []; - sameScaleMaxYArr[i] = []; - } - - sameScaleMinYArr[i].push({ - key: yi, - value: minYValue - }); - sameScaleMaxYArr[i].push({ - key: yi, - value: maxYArr[yi] - }); - } - }); - }); - var sameScaleMin = Array.apply(null, Array(indices.length)).map(Number.prototype.valueOf, Number.MIN_VALUE); - var sameScaleMax = Array.apply(null, Array(indices.length)).map(Number.prototype.valueOf, -Number.MAX_VALUE); - sameScaleMinYArr.forEach(function (s, i) { - s.forEach(function (sc, j) { - sameScaleMin[i] = Math.min(sc.value, sameScaleMin[i]); - }); - }); - sameScaleMaxYArr.forEach(function (s, i) { - s.forEach(function (sc, j) { - sameScaleMax[i] = Math.max(sc.value, sameScaleMax[i]); - }); - }); - minYArr.forEach(function (min, i) { - sameScaleMaxYArr.forEach(function (s, si) { - var minY = sameScaleMin[si]; - var maxY = sameScaleMax[si]; - - if (cnf.chart.stacked) { - // for stacked charts, we need to add the values - maxY = 0; - s.forEach(function (ind, k) { - // fix incorrectly adjust y scale issue #1215 - if (ind.value !== -Number.MAX_VALUE) { - maxY += ind.value; - } - - if (minY !== Number.MIN_VALUE) { - minY += sameScaleMinYArr[si][k].value; - } - }); - } - - s.forEach(function (ind, k) { - if (s[k].key === i) { - if (cnf.yaxis[i].min !== undefined) { - if (typeof cnf.yaxis[i].min === 'function') { - minY = cnf.yaxis[i].min(gl.minY); - } else { - minY = cnf.yaxis[i].min; - } - } - - if (cnf.yaxis[i].max !== undefined) { - if (typeof cnf.yaxis[i].max === 'function') { - maxY = cnf.yaxis[i].max(gl.maxY); - } else { - maxY = cnf.yaxis[i].max; - } - } - - _this2.setYScaleForIndex(i, minY, maxY); - } - }); - }); - }); - } // experimental feature which scales the y-axis to a min/max based on x-axis range - - }, { - key: "autoScaleY", - value: function autoScaleY(ctx, yaxis, e) { - if (!ctx) { - ctx = this; - } - - var w = ctx.w; - - if (w.globals.isMultipleYAxis || w.globals.collapsedSeries.length) { - // The autoScale option for multiple y-axis is turned off as it leads to buggy behavior. - // Also, when a series is collapsed, it results in incorrect behavior. Hence turned it off for that too - fixes apexcharts.js#795 - console.warn('autoScaleYaxis is not supported in a multi-yaxis chart.'); - return yaxis; - } - - var seriesX = w.globals.seriesX[0]; - var isStacked = w.config.chart.stacked; - yaxis.forEach(function (yaxe, yi) { - var firstXIndex = 0; - - for (var xi = 0; xi < seriesX.length; xi++) { - if (seriesX[xi] >= e.xaxis.min) { - firstXIndex = xi; - break; - } - } - - var initialMin = w.globals.minYArr[yi]; - var initialMax = w.globals.maxYArr[yi]; - var min, max; - var stackedSer = w.globals.stackedSeriesTotals; - w.globals.series.forEach(function (serie, sI) { - var firstValue = serie[firstXIndex]; - - if (isStacked) { - firstValue = stackedSer[firstXIndex]; - min = max = firstValue; - stackedSer.forEach(function (y, yI) { - if (seriesX[yI] <= e.xaxis.max && seriesX[yI] >= e.xaxis.min) { - if (y > max && y !== null) max = y; - if (serie[yI] < min && serie[yI] !== null) min = serie[yI]; - } - }); - } else { - min = max = firstValue; - serie.forEach(function (y, yI) { - if (seriesX[yI] <= e.xaxis.max && seriesX[yI] >= e.xaxis.min) { - var valMin = y; - var valMax = y; - w.globals.series.forEach(function (wS, wSI) { - if (y !== null) { - valMin = Math.min(wS[yI], valMin); - valMax = Math.max(wS[yI], valMax); - } - }); - if (valMax > max && valMax !== null) max = valMax; - if (valMin < min && valMin !== null) min = valMin; - } - }); - } - - if (min === undefined && max === undefined) { - min = initialMin; - max = initialMax; - } - - min *= min < 0 ? 1.1 : 0.9; - max *= max < 0 ? 0.9 : 1.1; - - if (min === 0 && max === 0) { - min = -1; - max = 1; - } - - if (max < 0 && max < initialMax) { - max = initialMax; - } - - if (min < 0 && min > initialMin) { - min = initialMin; - } - - if (yaxis.length > 1) { - yaxis[sI].min = yaxe.min === undefined ? min : yaxe.min; - yaxis[sI].max = yaxe.max === undefined ? max : yaxe.max; - } else { - yaxis[0].min = yaxe.min === undefined ? min : yaxe.min; - yaxis[0].max = yaxe.max === undefined ? max : yaxe.max; - } - }); - }); - return yaxis; - } - }]); - - return Range; - }(); - - /** - * Range is used to generates values between min and max. - * - * @module Range - **/ - - var Range = /*#__PURE__*/function () { - function Range(ctx) { - _classCallCheck(this, Range); - - this.ctx = ctx; - this.w = ctx.w; - this.scales = new Range$1(ctx); - } - - _createClass(Range, [{ - key: "init", - value: function init() { - this.setYRange(); - this.setXRange(); - this.setZRange(); - } - }, { - key: "getMinYMaxY", - value: function getMinYMaxY(startingIndex) { - var lowestY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE; - var highestY = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -Number.MAX_VALUE; - var len = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; - var cnf = this.w.config; - var gl = this.w.globals; - var maxY = -Number.MAX_VALUE; - var minY = Number.MIN_VALUE; - - if (len === null) { - len = startingIndex + 1; - } - - var series = gl.series; - var seriesMin = series; - var seriesMax = series; - - if (cnf.chart.type === 'candlestick') { - seriesMin = gl.seriesCandleL; - seriesMax = gl.seriesCandleH; - } else if (cnf.chart.type === 'boxPlot') { - seriesMin = gl.seriesCandleO; - seriesMax = gl.seriesCandleC; - } else if (gl.isRangeData) { - seriesMin = gl.seriesRangeStart; - seriesMax = gl.seriesRangeEnd; - } - - for (var i = startingIndex; i < len; i++) { - gl.dataPoints = Math.max(gl.dataPoints, series[i].length); - - if (gl.categoryLabels.length) { - gl.dataPoints = gl.categoryLabels.filter(function (label) { - return typeof label !== 'undefined'; - }).length; - } - - for (var j = 0; j < gl.series[i].length; j++) { - var val = series[i][j]; - - if (val !== null && Utils$1.isNumber(val)) { - if (typeof seriesMax[i][j] !== 'undefined') { - maxY = Math.max(maxY, seriesMax[i][j]); - lowestY = Math.min(lowestY, seriesMax[i][j]); - } - - if (typeof seriesMin[i][j] !== 'undefined') { - lowestY = Math.min(lowestY, seriesMin[i][j]); - highestY = Math.max(highestY, seriesMin[i][j]); - } - - if (this.w.config.chart.type === 'candlestick' || this.w.config.chart.type === 'boxPlot') { - if (typeof gl.seriesCandleC[i][j] !== 'undefined') { - maxY = Math.max(maxY, gl.seriesCandleO[i][j]); - maxY = Math.max(maxY, gl.seriesCandleH[i][j]); - maxY = Math.max(maxY, gl.seriesCandleL[i][j]); - maxY = Math.max(maxY, gl.seriesCandleC[i][j]); - - if (this.w.config.chart.type === 'boxPlot') { - maxY = Math.max(maxY, gl.seriesCandleM[i][j]); - } - } // there is a combo chart and the specified series in not either candlestick or boxplot, find the max there - - - if (cnf.series[i].type && (cnf.series[i].type !== 'candlestick' || cnf.series[i].type !== 'boxPlot')) { - maxY = Math.max(maxY, gl.series[i][j]); - lowestY = Math.min(lowestY, gl.series[i][j]); - } - - highestY = maxY; - } - - if (gl.seriesGoals[i] && gl.seriesGoals[i][j] && Array.isArray(gl.seriesGoals[i][j])) { - gl.seriesGoals[i][j].forEach(function (g) { - if (minY !== Number.MIN_VALUE) { - minY = Math.min(minY, g.value); - lowestY = minY; - } - - maxY = Math.max(maxY, g.value); - highestY = maxY; - }); - } - - if (Utils$1.isFloat(val)) { - val = Utils$1.noExponents(val); - gl.yValueDecimal = Math.max(gl.yValueDecimal, val.toString().split('.')[1].length); - } - - if (minY > seriesMin[i][j] && seriesMin[i][j] < 0) { - minY = seriesMin[i][j]; - } - } else { - gl.hasNullValues = true; - } - } - } - - if (cnf.chart.type === 'rangeBar' && gl.seriesRangeStart.length && gl.isBarHorizontal) { - minY = lowestY; - } - - if (cnf.chart.type === 'bar') { - if (minY < 0 && maxY < 0) { - // all negative values in a bar chart, hence make the max to 0 - maxY = 0; - } - - if (minY === Number.MIN_VALUE) { - minY = 0; - } - } - - return { - minY: minY, - maxY: maxY, - lowestY: lowestY, - highestY: highestY - }; - } - }, { - key: "setYRange", - value: function setYRange() { - var gl = this.w.globals; - var cnf = this.w.config; - gl.maxY = -Number.MAX_VALUE; - gl.minY = Number.MIN_VALUE; - var lowestYInAllSeries = Number.MAX_VALUE; - - if (gl.isMultipleYAxis) { - // we need to get minY and maxY for multiple y axis - for (var i = 0; i < gl.series.length; i++) { - var minYMaxYArr = this.getMinYMaxY(i, lowestYInAllSeries, null, i + 1); - gl.minYArr.push(minYMaxYArr.minY); - gl.maxYArr.push(minYMaxYArr.maxY); - lowestYInAllSeries = minYMaxYArr.lowestY; - } - } // and then, get the minY and maxY from all series - - - var minYMaxY = this.getMinYMaxY(0, lowestYInAllSeries, null, gl.series.length); - gl.minY = minYMaxY.minY; - gl.maxY = minYMaxY.maxY; - lowestYInAllSeries = minYMaxY.lowestY; - - if (cnf.chart.stacked) { - this._setStackedMinMax(); - } // if the numbers are too big, reduce the range - // for eg, if number is between 100000-110000, putting 0 as the lowest value is not so good idea. So change the gl.minY for line/area/candlesticks/boxPlot - - - if (cnf.chart.type === 'line' || cnf.chart.type === 'area' || cnf.chart.type === 'candlestick' || cnf.chart.type === 'boxPlot' || cnf.chart.type === 'rangeBar' && !gl.isBarHorizontal) { - if (gl.minY === Number.MIN_VALUE && lowestYInAllSeries !== -Number.MAX_VALUE && lowestYInAllSeries !== gl.maxY // single value possibility - ) { - var diff = gl.maxY - lowestYInAllSeries; - - if (lowestYInAllSeries >= 0 && lowestYInAllSeries <= 10 || cnf.yaxis[0].min !== undefined || cnf.yaxis[0].max !== undefined) { - // if minY is already 0/low value, we don't want to go negatives here - so this check is essential. - diff = 0; - } - - gl.minY = lowestYInAllSeries - diff * 5 / 100; - /* fix https://github.com/apexcharts/apexcharts.js/issues/614 */ - - /* fix https://github.com/apexcharts/apexcharts.js/issues/968 */ - - if (lowestYInAllSeries > 0 && gl.minY < 0) { - gl.minY = 0; - } - /* fix https://github.com/apexcharts/apexcharts.js/issues/426 */ - - - gl.maxY = gl.maxY + diff * 5 / 100; - } - } - - cnf.yaxis.forEach(function (yaxe, index) { - // override all min/max values by user defined values (y axis) - if (yaxe.max !== undefined) { - if (typeof yaxe.max === 'number') { - gl.maxYArr[index] = yaxe.max; - } else if (typeof yaxe.max === 'function') { - // fixes apexcharts.js/issues/2098 - gl.maxYArr[index] = yaxe.max(gl.isMultipleYAxis ? gl.maxYArr[index] : gl.maxY); - } // gl.maxY is for single y-axis chart, it will be ignored in multi-yaxis - - - gl.maxY = gl.maxYArr[index]; - } - - if (yaxe.min !== undefined) { - if (typeof yaxe.min === 'number') { - gl.minYArr[index] = yaxe.min; - } else if (typeof yaxe.min === 'function') { - // fixes apexcharts.js/issues/2098 - gl.minYArr[index] = yaxe.min(gl.isMultipleYAxis ? gl.minYArr[index] === Number.MIN_VALUE ? 0 : gl.minYArr[index] : gl.minY); - } // gl.minY is for single y-axis chart, it will be ignored in multi-yaxis - - - gl.minY = gl.minYArr[index]; - } - }); // for horizontal bar charts, we need to check xaxis min/max as user may have specified there - - if (gl.isBarHorizontal) { - var minmax = ['min', 'max']; - minmax.forEach(function (m) { - if (cnf.xaxis[m] !== undefined && typeof cnf.xaxis[m] === 'number') { - m === 'min' ? gl.minY = cnf.xaxis[m] : gl.maxY = cnf.xaxis[m]; - } - }); - } // for multi y-axis we need different scales for each - - - if (gl.isMultipleYAxis) { - this.scales.setMultipleYScales(); - gl.minY = lowestYInAllSeries; - gl.yAxisScale.forEach(function (scale, i) { - gl.minYArr[i] = scale.niceMin; - gl.maxYArr[i] = scale.niceMax; - }); - } else { - this.scales.setYScaleForIndex(0, gl.minY, gl.maxY); - gl.minY = gl.yAxisScale[0].niceMin; - gl.maxY = gl.yAxisScale[0].niceMax; - gl.minYArr[0] = gl.yAxisScale[0].niceMin; - gl.maxYArr[0] = gl.yAxisScale[0].niceMax; - } - - return { - minY: gl.minY, - maxY: gl.maxY, - minYArr: gl.minYArr, - maxYArr: gl.maxYArr, - yAxisScale: gl.yAxisScale - }; - } - }, { - key: "setXRange", - value: function setXRange() { - var gl = this.w.globals; - var cnf = this.w.config; - var isXNumeric = cnf.xaxis.type === 'numeric' || cnf.xaxis.type === 'datetime' || cnf.xaxis.type === 'category' && !gl.noLabelsProvided || gl.noLabelsProvided || gl.isXNumeric; - - var getInitialMinXMaxX = function getInitialMinXMaxX() { - for (var i = 0; i < gl.series.length; i++) { - if (gl.labels[i]) { - for (var j = 0; j < gl.labels[i].length; j++) { - if (gl.labels[i][j] !== null && Utils$1.isNumber(gl.labels[i][j])) { - gl.maxX = Math.max(gl.maxX, gl.labels[i][j]); - gl.initialMaxX = Math.max(gl.maxX, gl.labels[i][j]); - gl.minX = Math.min(gl.minX, gl.labels[i][j]); - gl.initialMinX = Math.min(gl.minX, gl.labels[i][j]); - } - } - } - } - }; // minX maxX starts here - - - if (gl.isXNumeric) { - getInitialMinXMaxX(); - } - - if (gl.noLabelsProvided) { - if (cnf.xaxis.categories.length === 0) { - gl.maxX = gl.labels[gl.labels.length - 1]; - gl.initialMaxX = gl.labels[gl.labels.length - 1]; - gl.minX = 1; - gl.initialMinX = 1; - } - } - - if (gl.isXNumeric || gl.noLabelsProvided || gl.dataFormatXNumeric) { - var ticks; - - if (cnf.xaxis.tickAmount === undefined) { - ticks = Math.round(gl.svgWidth / 150); // no labels provided and total number of dataPoints is less than 30 - - if (cnf.xaxis.type === 'numeric' && gl.dataPoints < 30) { - ticks = gl.dataPoints - 1; - } // this check is for when ticks exceeds total datapoints and that would result in duplicate labels - - - if (ticks > gl.dataPoints && gl.dataPoints !== 0) { - ticks = gl.dataPoints - 1; - } - } else if (cnf.xaxis.tickAmount === 'dataPoints') { - if (gl.series.length > 1) { - ticks = gl.series[gl.maxValsInArrayIndex].length - 1; - } - - if (gl.isXNumeric) { - ticks = gl.maxX - gl.minX - 1; - } - } else { - ticks = cnf.xaxis.tickAmount; - } - - gl.xTickAmount = ticks; // override all min/max values by user defined values (x axis) - - if (cnf.xaxis.max !== undefined && typeof cnf.xaxis.max === 'number') { - gl.maxX = cnf.xaxis.max; - } - - if (cnf.xaxis.min !== undefined && typeof cnf.xaxis.min === 'number') { - gl.minX = cnf.xaxis.min; - } // if range is provided, adjust the new minX - - - if (cnf.xaxis.range !== undefined) { - gl.minX = gl.maxX - cnf.xaxis.range; - } - - if (gl.minX !== Number.MAX_VALUE && gl.maxX !== -Number.MAX_VALUE) { - if (cnf.xaxis.convertedCatToNumeric && !gl.dataFormatXNumeric) { - var catScale = []; - - for (var i = gl.minX - 1; i < gl.maxX; i++) { - catScale.push(i + 1); - } - - gl.xAxisScale = { - result: catScale, - niceMin: catScale[0], - niceMax: catScale[catScale.length - 1] - }; - } else { - gl.xAxisScale = this.scales.setXScale(gl.minX, gl.maxX); - } - } else { - gl.xAxisScale = this.scales.linearScale(1, ticks, ticks); - - if (gl.noLabelsProvided && gl.labels.length > 0) { - gl.xAxisScale = this.scales.linearScale(1, gl.labels.length, ticks - 1); // this is the only place seriesX is again mutated - - gl.seriesX = gl.labels.slice(); - } - } // we will still store these labels as the count for this will be different (to draw grid and labels placement) - - - if (isXNumeric) { - gl.labels = gl.xAxisScale.result.slice(); - } - } - - if (gl.isBarHorizontal && gl.labels.length) { - gl.xTickAmount = gl.labels.length; - } // single dataPoint - - - this._handleSingleDataPoint(); // minimum x difference to calculate bar width in numeric bars - - - this._getMinXDiff(); - - return { - minX: gl.minX, - maxX: gl.maxX - }; - } - }, { - key: "setZRange", - value: function setZRange() { - // minZ, maxZ starts here - var gl = this.w.globals; - if (!gl.isDataXYZ) return; - - for (var i = 0; i < gl.series.length; i++) { - if (typeof gl.seriesZ[i] !== 'undefined') { - for (var j = 0; j < gl.seriesZ[i].length; j++) { - if (gl.seriesZ[i][j] !== null && Utils$1.isNumber(gl.seriesZ[i][j])) { - gl.maxZ = Math.max(gl.maxZ, gl.seriesZ[i][j]); - gl.minZ = Math.min(gl.minZ, gl.seriesZ[i][j]); - } - } - } - } - } - }, { - key: "_handleSingleDataPoint", - value: function _handleSingleDataPoint() { - var gl = this.w.globals; - var cnf = this.w.config; - - if (gl.minX === gl.maxX) { - var datetimeObj = new DateTime(this.ctx); - - if (cnf.xaxis.type === 'datetime') { - var newMinX = datetimeObj.getDate(gl.minX); - - if (cnf.xaxis.labels.datetimeUTC) { - newMinX.setUTCDate(newMinX.getUTCDate() - 2); - } else { - newMinX.setDate(newMinX.getDate() - 2); - } - - gl.minX = new Date(newMinX).getTime(); - var newMaxX = datetimeObj.getDate(gl.maxX); - - if (cnf.xaxis.labels.datetimeUTC) { - newMaxX.setUTCDate(newMaxX.getUTCDate() + 2); - } else { - newMaxX.setDate(newMaxX.getDate() + 2); - } - - gl.maxX = new Date(newMaxX).getTime(); - } else if (cnf.xaxis.type === 'numeric' || cnf.xaxis.type === 'category' && !gl.noLabelsProvided) { - gl.minX = gl.minX - 2; - gl.initialMinX = gl.minX; - gl.maxX = gl.maxX + 2; - gl.initialMaxX = gl.maxX; - } - } - } - }, { - key: "_getMinXDiff", - value: function _getMinXDiff() { - var gl = this.w.globals; - - if (gl.isXNumeric) { - // get the least x diff if numeric x axis is present - gl.seriesX.forEach(function (sX, i) { - if (sX.length === 1) { - // a small hack to prevent overlapping multiple bars when there is just 1 datapoint in bar series. - // fix #811 - sX.push(gl.seriesX[gl.maxValsInArrayIndex][gl.seriesX[gl.maxValsInArrayIndex].length - 1]); - } // fix #983 (clone the array to avoid side effects) - - - var seriesX = sX.slice(); - seriesX.sort(function (a, b) { - return a - b; - }); - seriesX.forEach(function (s, j) { - if (j > 0) { - var xDiff = s - seriesX[j - 1]; - - if (xDiff > 0) { - gl.minXDiff = Math.min(xDiff, gl.minXDiff); - } - } - }); - - if (gl.dataPoints === 1 || gl.minXDiff === Number.MAX_VALUE) { - // fixes apexcharts.js #1221 - gl.minXDiff = 0.5; - } - }); - } - } - }, { - key: "_setStackedMinMax", - value: function _setStackedMinMax() { - var gl = this.w.globals; // for stacked charts, we calculate each series's parallel values. i.e, series[0][j] + series[1][j] .... [series[i.length][j]] and get the max out of it - - var stackedPoss = []; - var stackedNegs = []; - - if (gl.series.length) { - for (var j = 0; j < gl.series[gl.maxValsInArrayIndex].length; j++) { - var poss = 0; - var negs = 0; - - for (var i = 0; i < gl.series.length; i++) { - if (gl.series[i][j] !== null && Utils$1.isNumber(gl.series[i][j])) { - // 0.0001 fixes #185 when values are very small - gl.series[i][j] > 0 ? poss = poss + parseFloat(gl.series[i][j]) + 0.0001 : negs = negs + parseFloat(gl.series[i][j]); - } - - if (i === gl.series.length - 1) { - // push all the totals to the array for future use - stackedPoss.push(poss); - stackedNegs.push(negs); - } - } - } - } // get the max/min out of the added parallel values - - - for (var z = 0; z < stackedPoss.length; z++) { - gl.maxY = Math.max(gl.maxY, stackedPoss[z]); - gl.minY = Math.min(gl.minY, stackedNegs[z]); - } - } - }]); - - return Range; - }(); - - /** - * ApexCharts YAxis Class for drawing Y-Axis. - * - * @module YAxis - **/ - - var YAxis = /*#__PURE__*/function () { - function YAxis(ctx) { - _classCallCheck(this, YAxis); - - this.ctx = ctx; - this.w = ctx.w; - var w = this.w; - this.xaxisFontSize = w.config.xaxis.labels.style.fontSize; - this.axisFontFamily = w.config.xaxis.labels.style.fontFamily; - this.xaxisForeColors = w.config.xaxis.labels.style.colors; - this.isCategoryBarHorizontal = w.config.chart.type === 'bar' && w.config.plotOptions.bar.horizontal; - this.xAxisoffX = 0; - - if (w.config.xaxis.position === 'bottom') { - this.xAxisoffX = w.globals.gridHeight; - } - - this.drawnLabels = []; - this.axesUtils = new AxesUtils(ctx); - } - - _createClass(YAxis, [{ - key: "drawYaxis", - value: function drawYaxis(realIndex) { - var _this = this; - - var w = this.w; - var graphics = new Graphics(this.ctx); - var yaxisStyle = w.config.yaxis[realIndex].labels.style; - var yaxisFontSize = yaxisStyle.fontSize; - var yaxisFontFamily = yaxisStyle.fontFamily; - var yaxisFontWeight = yaxisStyle.fontWeight; - var elYaxis = graphics.group({ - class: 'apexcharts-yaxis', - rel: realIndex, - transform: 'translate(' + w.globals.translateYAxisX[realIndex] + ', 0)' - }); - - if (this.axesUtils.isYAxisHidden(realIndex)) { - return elYaxis; - } - - var elYaxisTexts = graphics.group({ - class: 'apexcharts-yaxis-texts-g' - }); - elYaxis.add(elYaxisTexts); - var tickAmount = w.globals.yAxisScale[realIndex].result.length - 1; // labelsDivider is simply svg height/number of ticks - - var labelsDivider = w.globals.gridHeight / tickAmount; // initial label position = 0; - - var l = w.globals.translateY; - var lbFormatter = w.globals.yLabelFormatters[realIndex]; - var labels = w.globals.yAxisScale[realIndex].result.slice(); - labels = this.axesUtils.checkForReversedLabels(realIndex, labels); - var firstLabel = ''; - - if (w.config.yaxis[realIndex].labels.show) { - var _loop = function _loop(i) { - var val = labels[i]; - val = lbFormatter(val, i, w); - var xPad = w.config.yaxis[realIndex].labels.padding; - - if (w.config.yaxis[realIndex].opposite && w.config.yaxis.length !== 0) { - xPad = xPad * -1; - } - - var yColors = _this.axesUtils.getYAxisForeColor(yaxisStyle.colors, realIndex); - - var getForeColor = function getForeColor() { - return Array.isArray(yColors) ? yColors[i] : yColors; - }; - - var label = graphics.drawText({ - x: xPad, - y: l + tickAmount / 10 + w.config.yaxis[realIndex].labels.offsetY + 1, - text: val, - textAnchor: w.config.yaxis[realIndex].opposite ? 'start' : 'end', - fontSize: yaxisFontSize, - fontFamily: yaxisFontFamily, - fontWeight: yaxisFontWeight, - maxWidth: w.config.yaxis[realIndex].labels.maxWidth, - foreColor: getForeColor(), - isPlainText: false, - cssClass: 'apexcharts-yaxis-label ' + yaxisStyle.cssClass - }); - - if (i === tickAmount) { - firstLabel = label; - } - - elYaxisTexts.add(label); - var elTooltipTitle = document.createElementNS(w.globals.SVGNS, 'title'); - elTooltipTitle.textContent = Array.isArray(val) ? val.join(' ') : val; - label.node.appendChild(elTooltipTitle); - - if (w.config.yaxis[realIndex].labels.rotate !== 0) { - var firstabelRotatingCenter = graphics.rotateAroundCenter(firstLabel.node); - var labelRotatingCenter = graphics.rotateAroundCenter(label.node); - label.node.setAttribute('transform', "rotate(".concat(w.config.yaxis[realIndex].labels.rotate, " ").concat(firstabelRotatingCenter.x, " ").concat(labelRotatingCenter.y, ")")); - } - - l = l + labelsDivider; - }; - - for (var i = tickAmount; i >= 0; i--) { - _loop(i); - } - } - - if (w.config.yaxis[realIndex].title.text !== undefined) { - var elYaxisTitle = graphics.group({ - class: 'apexcharts-yaxis-title' - }); - var _x = 0; - - if (w.config.yaxis[realIndex].opposite) { - _x = w.globals.translateYAxisX[realIndex]; - } - - var elYAxisTitleText = graphics.drawText({ - x: _x, - y: w.globals.gridHeight / 2 + w.globals.translateY + w.config.yaxis[realIndex].title.offsetY, - text: w.config.yaxis[realIndex].title.text, - textAnchor: 'end', - foreColor: w.config.yaxis[realIndex].title.style.color, - fontSize: w.config.yaxis[realIndex].title.style.fontSize, - fontWeight: w.config.yaxis[realIndex].title.style.fontWeight, - fontFamily: w.config.yaxis[realIndex].title.style.fontFamily, - cssClass: 'apexcharts-yaxis-title-text ' + w.config.yaxis[realIndex].title.style.cssClass - }); - elYaxisTitle.add(elYAxisTitleText); - elYaxis.add(elYaxisTitle); - } - - var axisBorder = w.config.yaxis[realIndex].axisBorder; - var x = 31 + axisBorder.offsetX; - - if (w.config.yaxis[realIndex].opposite) { - x = -31 - axisBorder.offsetX; - } - - if (axisBorder.show) { - var elVerticalLine = graphics.drawLine(x, w.globals.translateY + axisBorder.offsetY - 2, x, w.globals.gridHeight + w.globals.translateY + axisBorder.offsetY + 2, axisBorder.color, 0, axisBorder.width); - elYaxis.add(elVerticalLine); - } - - if (w.config.yaxis[realIndex].axisTicks.show) { - this.axesUtils.drawYAxisTicks(x, tickAmount, axisBorder, w.config.yaxis[realIndex].axisTicks, realIndex, labelsDivider, elYaxis); - } - - return elYaxis; - } // This actually becomes horizontal axis (for bar charts) - - }, { - key: "drawYaxisInversed", - value: function drawYaxisInversed(realIndex) { - var w = this.w; - var graphics = new Graphics(this.ctx); - var elXaxis = graphics.group({ - class: 'apexcharts-xaxis apexcharts-yaxis-inversed' - }); - var elXaxisTexts = graphics.group({ - class: 'apexcharts-xaxis-texts-g', - transform: "translate(".concat(w.globals.translateXAxisX, ", ").concat(w.globals.translateXAxisY, ")") - }); - elXaxis.add(elXaxisTexts); - var tickAmount = w.globals.yAxisScale[realIndex].result.length - 1; // labelsDivider is simply svg width/number of ticks - - var labelsDivider = w.globals.gridWidth / tickAmount + 0.1; // initial label position; - - var l = labelsDivider + w.config.xaxis.labels.offsetX; - var lbFormatter = w.globals.xLabelFormatter; - var labels = w.globals.yAxisScale[realIndex].result.slice(); - var timescaleLabels = w.globals.timescaleLabels; - - if (timescaleLabels.length > 0) { - this.xaxisLabels = timescaleLabels.slice(); - labels = timescaleLabels.slice(); - tickAmount = labels.length; - } - - labels = this.axesUtils.checkForReversedLabels(realIndex, labels); - var tl = timescaleLabels.length; - - if (w.config.xaxis.labels.show) { - for (var i = tl ? 0 : tickAmount; tl ? i < tl : i >= 0; tl ? i++ : i--) { - var val = labels[i]; - val = lbFormatter(val, i, w); - var x = w.globals.gridWidth + w.globals.padHorizontal - (l - labelsDivider + w.config.xaxis.labels.offsetX); - - if (timescaleLabels.length) { - var label = this.axesUtils.getLabel(labels, timescaleLabels, x, i, this.drawnLabels, this.xaxisFontSize); - x = label.x; - val = label.text; - this.drawnLabels.push(label.text); - - if (i === 0 && w.globals.skipFirstTimelinelabel) { - val = ''; - } - - if (i === labels.length - 1 && w.globals.skipLastTimelinelabel) { - val = ''; - } - } - - var elTick = graphics.drawText({ - x: x, - y: this.xAxisoffX + w.config.xaxis.labels.offsetY + 30 - (w.config.xaxis.position === 'top' ? w.globals.xAxisHeight + w.config.xaxis.axisTicks.height - 2 : 0), - text: val, - textAnchor: 'middle', - foreColor: Array.isArray(this.xaxisForeColors) ? this.xaxisForeColors[realIndex] : this.xaxisForeColors, - fontSize: this.xaxisFontSize, - fontFamily: this.xaxisFontFamily, - fontWeight: w.config.xaxis.labels.style.fontWeight, - isPlainText: false, - cssClass: 'apexcharts-xaxis-label ' + w.config.xaxis.labels.style.cssClass - }); - elXaxisTexts.add(elTick); - elTick.tspan(val); - var elTooltipTitle = document.createElementNS(w.globals.SVGNS, 'title'); - elTooltipTitle.textContent = val; - elTick.node.appendChild(elTooltipTitle); - l = l + labelsDivider; - } - } - - this.inversedYAxisTitleText(elXaxis); - this.inversedYAxisBorder(elXaxis); - return elXaxis; - } - }, { - key: "inversedYAxisBorder", - value: function inversedYAxisBorder(parent) { - var w = this.w; - var graphics = new Graphics(this.ctx); - var axisBorder = w.config.xaxis.axisBorder; - - if (axisBorder.show) { - var lineCorrection = 0; - - if (w.config.chart.type === 'bar' && w.globals.isXNumeric) { - lineCorrection = lineCorrection - 15; - } - - var elHorzLine = graphics.drawLine(w.globals.padHorizontal + lineCorrection + axisBorder.offsetX, this.xAxisoffX, w.globals.gridWidth, this.xAxisoffX, axisBorder.color, 0, axisBorder.height); - parent.add(elHorzLine); - } - } - }, { - key: "inversedYAxisTitleText", - value: function inversedYAxisTitleText(parent) { - var w = this.w; - var graphics = new Graphics(this.ctx); - - if (w.config.xaxis.title.text !== undefined) { - var elYaxisTitle = graphics.group({ - class: 'apexcharts-xaxis-title apexcharts-yaxis-title-inversed' - }); - var elYAxisTitleText = graphics.drawText({ - x: w.globals.gridWidth / 2 + w.config.xaxis.title.offsetX, - y: this.xAxisoffX + parseFloat(this.xaxisFontSize) + parseFloat(w.config.xaxis.title.style.fontSize) + w.config.xaxis.title.offsetY + 20, - text: w.config.xaxis.title.text, - textAnchor: 'middle', - fontSize: w.config.xaxis.title.style.fontSize, - fontFamily: w.config.xaxis.title.style.fontFamily, - fontWeight: w.config.xaxis.title.style.fontWeight, - foreColor: w.config.xaxis.title.style.color, - cssClass: 'apexcharts-xaxis-title-text ' + w.config.xaxis.title.style.cssClass - }); - elYaxisTitle.add(elYAxisTitleText); - parent.add(elYaxisTitle); - } - } - }, { - key: "yAxisTitleRotate", - value: function yAxisTitleRotate(realIndex, yAxisOpposite) { - var w = this.w; - var graphics = new Graphics(this.ctx); - var yAxisLabelsCoord = { - width: 0, - height: 0 - }; - var yAxisTitleCoord = { - width: 0, - height: 0 - }; - var elYAxisLabelsWrap = w.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(realIndex, "'] .apexcharts-yaxis-texts-g")); - - if (elYAxisLabelsWrap !== null) { - yAxisLabelsCoord = elYAxisLabelsWrap.getBoundingClientRect(); - } - - var yAxisTitle = w.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(realIndex, "'] .apexcharts-yaxis-title text")); - - if (yAxisTitle !== null) { - yAxisTitleCoord = yAxisTitle.getBoundingClientRect(); - } - - if (yAxisTitle !== null) { - var x = this.xPaddingForYAxisTitle(realIndex, yAxisLabelsCoord, yAxisTitleCoord, yAxisOpposite); - yAxisTitle.setAttribute('x', x.xPos - (yAxisOpposite ? 10 : 0)); - } - - if (yAxisTitle !== null) { - var titleRotatingCenter = graphics.rotateAroundCenter(yAxisTitle); - yAxisTitle.setAttribute('transform', "rotate(".concat(yAxisOpposite ? w.config.yaxis[realIndex].title.rotate * -1 : w.config.yaxis[realIndex].title.rotate, " ").concat(titleRotatingCenter.x, " ").concat(titleRotatingCenter.y, ")")); - } - } - }, { - key: "xPaddingForYAxisTitle", - value: function xPaddingForYAxisTitle(realIndex, yAxisLabelsCoord, yAxisTitleCoord, yAxisOpposite) { - var w = this.w; - var oppositeAxisCount = 0; - var x = 0; - var padd = 10; - - if (w.config.yaxis[realIndex].title.text === undefined || realIndex < 0) { - return { - xPos: x, - padd: 0 - }; - } - - if (yAxisOpposite) { - x = yAxisLabelsCoord.width + w.config.yaxis[realIndex].title.offsetX + yAxisTitleCoord.width / 2 + padd / 2; - oppositeAxisCount += 1; - - if (oppositeAxisCount === 0) { - x = x - padd / 2; - } - } else { - x = yAxisLabelsCoord.width * -1 + w.config.yaxis[realIndex].title.offsetX + padd / 2 + yAxisTitleCoord.width / 2; - - if (w.globals.isBarHorizontal) { - padd = 25; - x = yAxisLabelsCoord.width * -1 - w.config.yaxis[realIndex].title.offsetX - padd; - } - } - - return { - xPos: x, - padd: padd - }; - } // sets the x position of the y-axis by counting the labels width, title width and any offset - - }, { - key: "setYAxisXPosition", - value: function setYAxisXPosition(yaxisLabelCoords, yTitleCoords) { - var w = this.w; - var xLeft = 0; - var xRight = 0; - var leftOffsetX = 18; - var rightOffsetX = 1; - - if (w.config.yaxis.length > 1) { - this.multipleYs = true; - } - - w.config.yaxis.map(function (yaxe, index) { - var shouldNotDrawAxis = w.globals.ignoreYAxisIndexes.indexOf(index) > -1 || !yaxe.show || yaxe.floating || yaxisLabelCoords[index].width === 0; - var axisWidth = yaxisLabelCoords[index].width + yTitleCoords[index].width; - - if (!yaxe.opposite) { - xLeft = w.globals.translateX - leftOffsetX; - - if (!shouldNotDrawAxis) { - leftOffsetX = leftOffsetX + axisWidth + 20; - } - - w.globals.translateYAxisX[index] = xLeft + yaxe.labels.offsetX; - } else { - if (w.globals.isBarHorizontal) { - xRight = w.globals.gridWidth + w.globals.translateX - 1; - w.globals.translateYAxisX[index] = xRight - yaxe.labels.offsetX; - } else { - xRight = w.globals.gridWidth + w.globals.translateX + rightOffsetX; - - if (!shouldNotDrawAxis) { - rightOffsetX = rightOffsetX + axisWidth + 20; - } - - w.globals.translateYAxisX[index] = xRight - yaxe.labels.offsetX + 20; - } - } - }); - } - }, { - key: "setYAxisTextAlignments", - value: function setYAxisTextAlignments() { - var w = this.w; - var yaxis = w.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis"); - yaxis = Utils$1.listToArray(yaxis); - yaxis.forEach(function (y, index) { - var yaxe = w.config.yaxis[index]; // proceed only if user has specified alignment - - if (yaxe && yaxe.labels.align !== undefined) { - var yAxisInner = w.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(index, "'] .apexcharts-yaxis-texts-g")); - var yAxisTexts = w.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(index, "'] .apexcharts-yaxis-label")); - yAxisTexts = Utils$1.listToArray(yAxisTexts); - var rect = yAxisInner.getBoundingClientRect(); - - if (yaxe.labels.align === 'left') { - yAxisTexts.forEach(function (label, lI) { - label.setAttribute('text-anchor', 'start'); - }); - - if (!yaxe.opposite) { - yAxisInner.setAttribute('transform', "translate(-".concat(rect.width, ", 0)")); - } - } else if (yaxe.labels.align === 'center') { - yAxisTexts.forEach(function (label, lI) { - label.setAttribute('text-anchor', 'middle'); - }); - yAxisInner.setAttribute('transform', "translate(".concat(rect.width / 2 * (!yaxe.opposite ? -1 : 1), ", 0)")); - } else if (yaxe.labels.align === 'right') { - yAxisTexts.forEach(function (label, lI) { - label.setAttribute('text-anchor', 'end'); - }); - - if (yaxe.opposite) { - yAxisInner.setAttribute('transform', "translate(".concat(rect.width, ", 0)")); - } - } - } - }); - } - }]); - - return YAxis; - }(); - - var Events = /*#__PURE__*/function () { - function Events(ctx) { - _classCallCheck(this, Events); - - this.ctx = ctx; - this.w = ctx.w; - this.documentEvent = Utils$1.bind(this.documentEvent, this); - } - - _createClass(Events, [{ - key: "addEventListener", - value: function addEventListener(name, handler) { - var w = this.w; - - if (w.globals.events.hasOwnProperty(name)) { - w.globals.events[name].push(handler); - } else { - w.globals.events[name] = [handler]; - } - } - }, { - key: "removeEventListener", - value: function removeEventListener(name, handler) { - var w = this.w; - - if (!w.globals.events.hasOwnProperty(name)) { - return; - } - - var index = w.globals.events[name].indexOf(handler); - - if (index !== -1) { - w.globals.events[name].splice(index, 1); - } - } - }, { - key: "fireEvent", - value: function fireEvent(name, args) { - var w = this.w; - - if (!w.globals.events.hasOwnProperty(name)) { - return; - } - - if (!args || !args.length) { - args = []; - } - - var evs = w.globals.events[name]; - var l = evs.length; - - for (var i = 0; i < l; i++) { - evs[i].apply(null, args); - } - } - }, { - key: "setupEventHandlers", - value: function setupEventHandlers() { - var _this = this; - - var w = this.w; - var me = this.ctx; - var clickableArea = w.globals.dom.baseEl.querySelector(w.globals.chartClass); - this.ctx.eventList.forEach(function (event) { - clickableArea.addEventListener(event, function (e) { - var opts = Object.assign({}, w, { - seriesIndex: w.globals.capturedSeriesIndex, - dataPointIndex: w.globals.capturedDataPointIndex - }); - - if (e.type === 'mousemove' || e.type === 'touchmove') { - if (typeof w.config.chart.events.mouseMove === 'function') { - w.config.chart.events.mouseMove(e, me, opts); - } - } else if (e.type === 'mouseleave' || e.type === 'touchleave') { - if (typeof w.config.chart.events.mouseLeave === 'function') { - w.config.chart.events.mouseLeave(e, me, opts); - } - } else if (e.type === 'mouseup' && e.which === 1 || e.type === 'touchend') { - if (typeof w.config.chart.events.click === 'function') { - w.config.chart.events.click(e, me, opts); - } - - me.ctx.events.fireEvent('click', [e, me, opts]); - } - }, { - capture: false, - passive: true - }); - }); - this.ctx.eventList.forEach(function (event) { - w.globals.dom.baseEl.addEventListener(event, _this.documentEvent, { - passive: true - }); - }); - this.ctx.core.setupBrushHandler(); - } - }, { - key: "documentEvent", - value: function documentEvent(e) { - var w = this.w; - var target = e.target.className; - - if (e.type === 'click') { - var elMenu = w.globals.dom.baseEl.querySelector('.apexcharts-menu'); - - if (elMenu && elMenu.classList.contains('apexcharts-menu-open') && target !== 'apexcharts-menu-icon') { - elMenu.classList.remove('apexcharts-menu-open'); - } - } - - w.globals.clientX = e.type === 'touchmove' ? e.touches[0].clientX : e.clientX; - w.globals.clientY = e.type === 'touchmove' ? e.touches[0].clientY : e.clientY; - } - }]); - - return Events; - }(); - - var Localization = /*#__PURE__*/function () { - function Localization(ctx) { - _classCallCheck(this, Localization); - - this.ctx = ctx; - this.w = ctx.w; - } - - _createClass(Localization, [{ - key: "setCurrentLocaleValues", - value: function setCurrentLocaleValues(localeName) { - var locales = this.w.config.chart.locales; // check if user has specified locales in global Apex variable - // if yes - then extend those with local chart's locale - - if (window.Apex.chart && window.Apex.chart.locales && window.Apex.chart.locales.length > 0) { - locales = this.w.config.chart.locales.concat(window.Apex.chart.locales); - } // find the locale from the array of locales which user has set (either by chart.defaultLocale or by calling setLocale() method.) - - - var selectedLocale = locales.filter(function (c) { - return c.name === localeName; - })[0]; - - if (selectedLocale) { - // create a complete locale object by extending defaults so you don't get undefined errors. - var ret = Utils$1.extend(en, selectedLocale); // store these locale options in global var for ease access - - this.w.globals.locale = ret.options; - } else { - throw new Error('Wrong locale name provided. Please make sure you set the correct locale name in options'); - } - } - }]); - - return Localization; - }(); - - var Axes = /*#__PURE__*/function () { - function Axes(ctx) { - _classCallCheck(this, Axes); - - this.ctx = ctx; - this.w = ctx.w; - } - - _createClass(Axes, [{ - key: "drawAxis", - value: function drawAxis(type, xyRatios) { - var gl = this.w.globals; - var cnf = this.w.config; - var xAxis = new XAxis(this.ctx); - var yAxis = new YAxis(this.ctx); - - if (gl.axisCharts && type !== 'radar') { - var elXaxis, elYaxis; - - if (gl.isBarHorizontal) { - elYaxis = yAxis.drawYaxisInversed(0); - elXaxis = xAxis.drawXaxisInversed(0); - gl.dom.elGraphical.add(elXaxis); - gl.dom.elGraphical.add(elYaxis); - } else { - elXaxis = xAxis.drawXaxis(); - gl.dom.elGraphical.add(elXaxis); - cnf.yaxis.map(function (yaxe, index) { - if (gl.ignoreYAxisIndexes.indexOf(index) === -1) { - elYaxis = yAxis.drawYaxis(index); - gl.dom.Paper.add(elYaxis); - } - }); - } - } - } - }]); - - return Axes; - }(); - - var Crosshairs = /*#__PURE__*/function () { - function Crosshairs(ctx) { - _classCallCheck(this, Crosshairs); - - this.ctx = ctx; - this.w = ctx.w; - } - - _createClass(Crosshairs, [{ - key: "drawXCrosshairs", - value: function drawXCrosshairs() { - var w = this.w; - var graphics = new Graphics(this.ctx); - var filters = new Filters(this.ctx); - var crosshairGradient = w.config.xaxis.crosshairs.fill.gradient; - var crosshairShadow = w.config.xaxis.crosshairs.dropShadow; - var fillType = w.config.xaxis.crosshairs.fill.type; - var gradientFrom = crosshairGradient.colorFrom; - var gradientTo = crosshairGradient.colorTo; - var opacityFrom = crosshairGradient.opacityFrom; - var opacityTo = crosshairGradient.opacityTo; - var stops = crosshairGradient.stops; - var shadow = 'none'; - var dropShadow = crosshairShadow.enabled; - var shadowLeft = crosshairShadow.left; - var shadowTop = crosshairShadow.top; - var shadowBlur = crosshairShadow.blur; - var shadowColor = crosshairShadow.color; - var shadowOpacity = crosshairShadow.opacity; - var xcrosshairsFill = w.config.xaxis.crosshairs.fill.color; - - if (w.config.xaxis.crosshairs.show) { - if (fillType === 'gradient') { - xcrosshairsFill = graphics.drawGradient('vertical', gradientFrom, gradientTo, opacityFrom, opacityTo, null, stops, null); - } - - var xcrosshairs = graphics.drawRect(); - - if (w.config.xaxis.crosshairs.width === 1) { - // to prevent drawing 2 lines, convert rect to line - xcrosshairs = graphics.drawLine(); - } - - var gridHeight = w.globals.gridHeight; - - if (!Utils$1.isNumber(gridHeight) || gridHeight < 0) { - gridHeight = 0; - } - - var crosshairsWidth = w.config.xaxis.crosshairs.width; - - if (!Utils$1.isNumber(crosshairsWidth) || crosshairsWidth < 0) { - crosshairsWidth = 0; - } - - xcrosshairs.attr({ - class: 'apexcharts-xcrosshairs', - x: 0, - y: 0, - y2: gridHeight, - width: crosshairsWidth, - height: gridHeight, - fill: xcrosshairsFill, - filter: shadow, - 'fill-opacity': w.config.xaxis.crosshairs.opacity, - stroke: w.config.xaxis.crosshairs.stroke.color, - 'stroke-width': w.config.xaxis.crosshairs.stroke.width, - 'stroke-dasharray': w.config.xaxis.crosshairs.stroke.dashArray - }); - - if (dropShadow) { - xcrosshairs = filters.dropShadow(xcrosshairs, { - left: shadowLeft, - top: shadowTop, - blur: shadowBlur, - color: shadowColor, - opacity: shadowOpacity - }); - } - - w.globals.dom.elGraphical.add(xcrosshairs); - } - } - }, { - key: "drawYCrosshairs", - value: function drawYCrosshairs() { - var w = this.w; - var graphics = new Graphics(this.ctx); - var crosshair = w.config.yaxis[0].crosshairs; - var offX = w.globals.barPadForNumericAxis; - - if (w.config.yaxis[0].crosshairs.show) { - var ycrosshairs = graphics.drawLine(-offX, 0, w.globals.gridWidth + offX, 0, crosshair.stroke.color, crosshair.stroke.dashArray, crosshair.stroke.width); - ycrosshairs.attr({ - class: 'apexcharts-ycrosshairs' - }); - w.globals.dom.elGraphical.add(ycrosshairs); - } // draw an invisible crosshair to help in positioning the yaxis tooltip - - - var ycrosshairsHidden = graphics.drawLine(-offX, 0, w.globals.gridWidth + offX, 0, crosshair.stroke.color, 0, 0); - ycrosshairsHidden.attr({ - class: 'apexcharts-ycrosshairs-hidden' - }); - w.globals.dom.elGraphical.add(ycrosshairsHidden); - } - }]); - - return Crosshairs; - }(); - - /** - * ApexCharts Responsive Class to override options for different screen sizes. - * - * @module Responsive - **/ - - var Responsive = /*#__PURE__*/function () { - function Responsive(ctx) { - _classCallCheck(this, Responsive); - - this.ctx = ctx; - this.w = ctx.w; - } // the opts parameter if not null has to be set overriding everything - // as the opts is set by user externally - - - _createClass(Responsive, [{ - key: "checkResponsiveConfig", - value: function checkResponsiveConfig(opts) { - var _this = this; - - var w = this.w; - var cnf = w.config; // check if responsive config exists - - if (cnf.responsive.length === 0) return; - var res = cnf.responsive.slice(); - res.sort(function (a, b) { - return a.breakpoint > b.breakpoint ? 1 : b.breakpoint > a.breakpoint ? -1 : 0; - }).reverse(); - var config = new Config({}); - - var iterateResponsiveOptions = function iterateResponsiveOptions() { - var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var largestBreakpoint = res[0].breakpoint; - var width = window.innerWidth > 0 ? window.innerWidth : screen.width; - - if (width > largestBreakpoint) { - var options = CoreUtils.extendArrayProps(config, w.globals.initialConfig, w); - newOptions = Utils$1.extend(options, newOptions); - newOptions = Utils$1.extend(w.config, newOptions); - - _this.overrideResponsiveOptions(newOptions); - } else { - for (var i = 0; i < res.length; i++) { - if (width < res[i].breakpoint) { - newOptions = CoreUtils.extendArrayProps(config, res[i].options, w); - newOptions = Utils$1.extend(w.config, newOptions); - - _this.overrideResponsiveOptions(newOptions); - } - } - } - }; - - if (opts) { - var options = CoreUtils.extendArrayProps(config, opts, w); - options = Utils$1.extend(w.config, options); - options = Utils$1.extend(options, opts); - iterateResponsiveOptions(options); - } else { - iterateResponsiveOptions({}); - } - } - }, { - key: "overrideResponsiveOptions", - value: function overrideResponsiveOptions(newOptions) { - var newConfig = new Config(newOptions).init({ - responsiveOverride: true - }); - this.w.config = newConfig; - } - }]); - - return Responsive; - }(); - - /** - * ApexCharts Theme Class for setting the colors and palettes. - * - * @module Theme - **/ - - var Theme = /*#__PURE__*/function () { - function Theme(ctx) { - _classCallCheck(this, Theme); - - this.ctx = ctx; - this.colors = []; - this.w = ctx.w; - var w = this.w; - this.isColorFn = false; - this.isHeatmapDistributed = w.config.chart.type === 'treemap' && w.config.plotOptions.treemap.distributed || w.config.chart.type === 'heatmap' && w.config.plotOptions.heatmap.distributed; - this.isBarDistributed = w.config.plotOptions.bar.distributed && (w.config.chart.type === 'bar' || w.config.chart.type === 'rangeBar'); - } - - _createClass(Theme, [{ - key: "init", - value: function init() { - this.setDefaultColors(); - } - }, { - key: "setDefaultColors", - value: function setDefaultColors() { - var _this = this; - - var w = this.w; - var utils = new Utils$1(); - w.globals.dom.elWrap.classList.add("apexcharts-theme-".concat(w.config.theme.mode)); - - if (w.config.colors === undefined) { - w.globals.colors = this.predefined(); - } else { - w.globals.colors = w.config.colors; // if user provided a function in colors, we need to eval here - - if (Array.isArray(w.config.colors) && w.config.colors.length > 0 && typeof w.config.colors[0] === 'function') { - w.globals.colors = w.config.series.map(function (s, i) { - var c = w.config.colors[i]; - if (!c) c = w.config.colors[0]; - - if (typeof c === 'function') { - _this.isColorFn = true; - return c({ - value: w.globals.axisCharts ? w.globals.series[i][0] ? w.globals.series[i][0] : 0 : w.globals.series[i], - seriesIndex: i, - dataPointIndex: i, - w: w - }); - } - - return c; - }); - } - } // user defined colors in series array - - - w.globals.seriesColors.map(function (c, i) { - if (c) { - w.globals.colors[i] = c; - } - }); - - if (w.config.theme.monochrome.enabled) { - var monoArr = []; - var glsCnt = w.globals.series.length; - - if (this.isBarDistributed || this.isHeatmapDistributed) { - glsCnt = w.globals.series[0].length * w.globals.series.length; - } - - var mainColor = w.config.theme.monochrome.color; - var part = 1 / (glsCnt / w.config.theme.monochrome.shadeIntensity); - var shade = w.config.theme.monochrome.shadeTo; - var percent = 0; - - for (var gsl = 0; gsl < glsCnt; gsl++) { - var newColor = void 0; - - if (shade === 'dark') { - newColor = utils.shadeColor(percent * -1, mainColor); - percent = percent + part; - } else { - newColor = utils.shadeColor(percent, mainColor); - percent = percent + part; - } - - monoArr.push(newColor); - } - - w.globals.colors = monoArr.slice(); - } - - var defaultColors = w.globals.colors.slice(); // if user specified fewer colors than no. of series, push the same colors again - - this.pushExtraColors(w.globals.colors); - var colorTypes = ['fill', 'stroke']; - colorTypes.forEach(function (c) { - if (w.config[c].colors === undefined) { - w.globals[c].colors = _this.isColorFn ? w.config.colors : defaultColors; - } else { - w.globals[c].colors = w.config[c].colors.slice(); - } - - _this.pushExtraColors(w.globals[c].colors); - }); - - if (w.config.dataLabels.style.colors === undefined) { - w.globals.dataLabels.style.colors = defaultColors; - } else { - w.globals.dataLabels.style.colors = w.config.dataLabels.style.colors.slice(); - } - - this.pushExtraColors(w.globals.dataLabels.style.colors, 50); - - if (w.config.plotOptions.radar.polygons.fill.colors === undefined) { - w.globals.radarPolygons.fill.colors = [w.config.theme.mode === 'dark' ? '#424242' : 'none']; - } else { - w.globals.radarPolygons.fill.colors = w.config.plotOptions.radar.polygons.fill.colors.slice(); - } - - this.pushExtraColors(w.globals.radarPolygons.fill.colors, 20); // The point colors - - if (w.config.markers.colors === undefined) { - w.globals.markers.colors = defaultColors; - } else { - w.globals.markers.colors = w.config.markers.colors.slice(); - } - - this.pushExtraColors(w.globals.markers.colors); - } // When the number of colors provided is less than the number of series, this method - // will push same colors to the list - // params: - // distributed is only valid for distributed column/bar charts - - }, { - key: "pushExtraColors", - value: function pushExtraColors(colorSeries, length) { - var distributed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - var w = this.w; - var len = length || w.globals.series.length; - - if (distributed === null) { - distributed = this.isBarDistributed || this.isHeatmapDistributed || w.config.chart.type === 'heatmap' && w.config.plotOptions.heatmap.colorScale.inverse; - } - - if (distributed && w.globals.series.length) { - len = w.globals.series[w.globals.maxValsInArrayIndex].length * w.globals.series.length; - } - - if (colorSeries.length < len) { - var diff = len - colorSeries.length; - - for (var i = 0; i < diff; i++) { - colorSeries.push(colorSeries[i]); - } - } - } - }, { - key: "updateThemeOptions", - value: function updateThemeOptions(options) { - options.chart = options.chart || {}; - options.tooltip = options.tooltip || {}; - var mode = options.theme.mode || 'light'; - var palette = options.theme.palette ? options.theme.palette : mode === 'dark' ? 'palette4' : 'palette1'; - var foreColor = options.chart.foreColor ? options.chart.foreColor : mode === 'dark' ? '#f6f7f8' : '#373d3f'; - options.tooltip.theme = mode; - options.chart.foreColor = foreColor; - options.theme.palette = palette; - return options; - } - }, { - key: "predefined", - value: function predefined() { - var palette = this.w.config.theme.palette; // D6E3F8, FCEFEF, DCE0D9, A5978B, EDDDD4, D6E3F8, FEF5EF - - switch (palette) { - case 'palette1': - this.colors = ['#008FFB', '#00E396', '#FEB019', '#FF4560', '#775DD0']; - break; - - case 'palette2': - this.colors = ['#3f51b5', '#03a9f4', '#4caf50', '#f9ce1d', '#FF9800']; - break; - - case 'palette3': - this.colors = ['#33b2df', '#546E7A', '#d4526e', '#13d8aa', '#A5978B']; - break; - - case 'palette4': - this.colors = ['#4ecdc4', '#c7f464', '#81D4FA', '#fd6a6a', '#546E7A']; - break; - - case 'palette5': - this.colors = ['#2b908f', '#f9a3a4', '#90ee7e', '#fa4443', '#69d2e7']; - break; - - case 'palette6': - this.colors = ['#449DD1', '#F86624', '#EA3546', '#662E9B', '#C5D86D']; - break; - - case 'palette7': - this.colors = ['#D7263D', '#1B998B', '#2E294E', '#F46036', '#E2C044']; - break; - - case 'palette8': - this.colors = ['#662E9B', '#F86624', '#F9C80E', '#EA3546', '#43BCCD']; - break; - - case 'palette9': - this.colors = ['#5C4742', '#A5978B', '#8D5B4C', '#5A2A27', '#C4BBAF']; - break; - - case 'palette10': - this.colors = ['#A300D6', '#7D02EB', '#5653FE', '#2983FF', '#00B1F2']; - break; - - default: - this.colors = ['#008FFB', '#00E396', '#FEB019', '#FF4560', '#775DD0']; - break; - } - - return this.colors; - } - }]); - - return Theme; - }(); - - var TitleSubtitle = /*#__PURE__*/function () { - function TitleSubtitle(ctx) { - _classCallCheck(this, TitleSubtitle); - - this.ctx = ctx; - this.w = ctx.w; - } - - _createClass(TitleSubtitle, [{ - key: "draw", - value: function draw() { - this.drawTitleSubtitle('title'); - this.drawTitleSubtitle('subtitle'); - } - }, { - key: "drawTitleSubtitle", - value: function drawTitleSubtitle(type) { - var w = this.w; - var tsConfig = type === 'title' ? w.config.title : w.config.subtitle; - var x = w.globals.svgWidth / 2; - var y = tsConfig.offsetY; - var textAnchor = 'middle'; - - if (tsConfig.align === 'left') { - x = 10; - textAnchor = 'start'; - } else if (tsConfig.align === 'right') { - x = w.globals.svgWidth - 10; - textAnchor = 'end'; - } - - x = x + tsConfig.offsetX; - y = y + parseInt(tsConfig.style.fontSize, 10) + tsConfig.margin / 2; - - if (tsConfig.text !== undefined) { - var graphics = new Graphics(this.ctx); - var titleText = graphics.drawText({ - x: x, - y: y, - text: tsConfig.text, - textAnchor: textAnchor, - fontSize: tsConfig.style.fontSize, - fontFamily: tsConfig.style.fontFamily, - fontWeight: tsConfig.style.fontWeight, - foreColor: tsConfig.style.color, - opacity: 1 - }); - titleText.node.setAttribute('class', "apexcharts-".concat(type, "-text")); - w.globals.dom.Paper.add(titleText); - } - } - }]); - - return TitleSubtitle; - }(); - - var Helpers$2 = /*#__PURE__*/function () { - function Helpers(dCtx) { - _classCallCheck(this, Helpers); - - this.w = dCtx.w; - this.dCtx = dCtx; - } - /** - * Get Chart Title/Subtitle Dimensions - * @memberof Dimensions - * @return {{width, height}} - **/ - - - _createClass(Helpers, [{ - key: "getTitleSubtitleCoords", - value: function getTitleSubtitleCoords(type) { - var w = this.w; - var width = 0; - var height = 0; - var floating = type === 'title' ? w.config.title.floating : w.config.subtitle.floating; - var el = w.globals.dom.baseEl.querySelector(".apexcharts-".concat(type, "-text")); - - if (el !== null && !floating) { - var coord = el.getBoundingClientRect(); - width = coord.width; - height = w.globals.axisCharts ? coord.height + 5 : coord.height; - } - - return { - width: width, - height: height - }; - } - }, { - key: "getLegendsRect", - value: function getLegendsRect() { - var w = this.w; - var elLegendWrap = w.globals.dom.baseEl.querySelector('.apexcharts-legend'); - - if (!w.config.legend.height && (w.config.legend.position === 'top' || w.config.legend.position === 'bottom')) { - // avoid legend to take up all the space - elLegendWrap.style.maxHeight = w.globals.svgHeight / 2 + 'px'; - } - - var lgRect = Object.assign({}, Utils$1.getBoundingClientRect(elLegendWrap)); - - if (elLegendWrap !== null && !w.config.legend.floating && w.config.legend.show) { - this.dCtx.lgRect = { - x: lgRect.x, - y: lgRect.y, - height: lgRect.height, - width: lgRect.height === 0 ? 0 : lgRect.width - }; - } else { - this.dCtx.lgRect = { - x: 0, - y: 0, - height: 0, - width: 0 - }; - } // if legend takes up all of the chart space, we need to restrict it. - - - if (w.config.legend.position === 'left' || w.config.legend.position === 'right') { - if (this.dCtx.lgRect.width * 1.5 > w.globals.svgWidth) { - this.dCtx.lgRect.width = w.globals.svgWidth / 1.5; - } - } - - return this.dCtx.lgRect; - } - }, { - key: "getLargestStringFromMultiArr", - value: function getLargestStringFromMultiArr(val, arr) { - var w = this.w; - var valArr = val; - - if (w.globals.isMultiLineX) { - // if the xaxis labels has multiline texts (array) - var maxArrs = arr.map(function (xl, idx) { - return Array.isArray(xl) ? xl.length : 1; - }); - var maxArrLen = Math.max.apply(Math, _toConsumableArray(maxArrs)); - var maxArrIndex = maxArrs.indexOf(maxArrLen); - valArr = arr[maxArrIndex]; - } - - return valArr; - } - }]); - - return Helpers; - }(); - - var DimXAxis = /*#__PURE__*/function () { - function DimXAxis(dCtx) { - _classCallCheck(this, DimXAxis); - - this.w = dCtx.w; - this.dCtx = dCtx; - } - /** - * Get X Axis Dimensions - * @memberof Dimensions - * @return {{width, height}} - **/ - - - _createClass(DimXAxis, [{ - key: "getxAxisLabelsCoords", - value: function getxAxisLabelsCoords() { - var w = this.w; - var xaxisLabels = w.globals.labels.slice(); - - if (w.config.xaxis.convertedCatToNumeric && xaxisLabels.length === 0) { - xaxisLabels = w.globals.categoryLabels; - } - - var rect; - - if (w.globals.timescaleLabels.length > 0) { - var coords = this.getxAxisTimeScaleLabelsCoords(); - rect = { - width: coords.width, - height: coords.height - }; - w.globals.rotateXLabels = false; - } else { - this.dCtx.lgWidthForSideLegends = (w.config.legend.position === 'left' || w.config.legend.position === 'right') && !w.config.legend.floating ? this.dCtx.lgRect.width : 0; // get the longest string from the labels array and also apply label formatter - - var xlbFormatter = w.globals.xLabelFormatter; // prevent changing xaxisLabels to avoid issues in multi-yaxes - fix #522 - - var val = Utils$1.getLargestStringFromArr(xaxisLabels); - var valArr = this.dCtx.dimHelpers.getLargestStringFromMultiArr(val, xaxisLabels); // the labels gets changed for bar charts - - if (w.globals.isBarHorizontal) { - val = w.globals.yAxisScale[0].result.reduce(function (a, b) { - return a.length > b.length ? a : b; - }, 0); - valArr = val; - } - - var xFormat = new Formatters(this.dCtx.ctx); - var timestamp = val; - val = xFormat.xLabelFormat(xlbFormatter, val, timestamp, { - i: undefined, - dateFormatter: new DateTime(this.dCtx.ctx).formatDate, - w: w - }); - valArr = xFormat.xLabelFormat(xlbFormatter, valArr, timestamp, { - i: undefined, - dateFormatter: new DateTime(this.dCtx.ctx).formatDate, - w: w - }); - - if (w.config.xaxis.convertedCatToNumeric && typeof val === 'undefined' || String(val).trim() === '') { - val = '1'; - valArr = val; - } - - var graphics = new Graphics(this.dCtx.ctx); - var xLabelrect = graphics.getTextRects(val, w.config.xaxis.labels.style.fontSize); - var xArrLabelrect = xLabelrect; - - if (val !== valArr) { - xArrLabelrect = graphics.getTextRects(valArr, w.config.xaxis.labels.style.fontSize); - } - - rect = { - width: xLabelrect.width >= xArrLabelrect.width ? xLabelrect.width : xArrLabelrect.width, - height: xLabelrect.height >= xArrLabelrect.height ? xLabelrect.height : xArrLabelrect.height - }; - - if (rect.width * xaxisLabels.length > w.globals.svgWidth - this.dCtx.lgWidthForSideLegends - this.dCtx.yAxisWidth - this.dCtx.gridPad.left - this.dCtx.gridPad.right && w.config.xaxis.labels.rotate !== 0 || w.config.xaxis.labels.rotateAlways) { - if (!w.globals.isBarHorizontal) { - w.globals.rotateXLabels = true; - - var getRotatedTextRects = function getRotatedTextRects(text) { - return graphics.getTextRects(text, w.config.xaxis.labels.style.fontSize, w.config.xaxis.labels.style.fontFamily, "rotate(".concat(w.config.xaxis.labels.rotate, " 0 0)"), false); - }; - - xLabelrect = getRotatedTextRects(val); - - if (val !== valArr) { - xArrLabelrect = getRotatedTextRects(valArr); - } - - rect.height = (xLabelrect.height > xArrLabelrect.height ? xLabelrect.height : xArrLabelrect.height) / 1.5; - rect.width = xLabelrect.width > xArrLabelrect.width ? xLabelrect.width : xArrLabelrect.width; - } - } else { - w.globals.rotateXLabels = false; - } - } - - if (!w.config.xaxis.labels.show) { - rect = { - width: 0, - height: 0 - }; - } - - return { - width: rect.width, - height: rect.height - }; - } - /** - * Get X Axis Label Group height - * @memberof Dimensions - * @return {{width, height}} - */ - - }, { - key: "getxAxisGroupLabelsCoords", - value: function getxAxisGroupLabelsCoords() { - var _w$config$xaxis$group; - - var w = this.w; - - if (!w.globals.hasGroups) { - return { - width: 0, - height: 0 - }; - } - - var fontSize = ((_w$config$xaxis$group = w.config.xaxis.group.style) === null || _w$config$xaxis$group === void 0 ? void 0 : _w$config$xaxis$group.fontSize) || w.config.xaxis.labels.style.fontSize; - var xaxisLabels = w.globals.groups.map(function (g) { - return g.title; - }); - var rect; // prevent changing xaxisLabels to avoid issues in multi-yaxes - fix #522 - - var val = Utils$1.getLargestStringFromArr(xaxisLabels); - var valArr = this.dCtx.dimHelpers.getLargestStringFromMultiArr(val, xaxisLabels); - var graphics = new Graphics(this.dCtx.ctx); - var xLabelrect = graphics.getTextRects(val, fontSize); - var xArrLabelrect = xLabelrect; - - if (val !== valArr) { - xArrLabelrect = graphics.getTextRects(valArr, fontSize); - } - - rect = { - width: xLabelrect.width >= xArrLabelrect.width ? xLabelrect.width : xArrLabelrect.width, - height: xLabelrect.height >= xArrLabelrect.height ? xLabelrect.height : xArrLabelrect.height - }; - - if (!w.config.xaxis.labels.show) { - rect = { - width: 0, - height: 0 - }; - } - - return { - width: rect.width, - height: rect.height - }; - } - /** - * Get X Axis Title Dimensions - * @memberof Dimensions - * @return {{width, height}} - **/ - - }, { - key: "getxAxisTitleCoords", - value: function getxAxisTitleCoords() { - var w = this.w; - var width = 0; - var height = 0; - - if (w.config.xaxis.title.text !== undefined) { - var graphics = new Graphics(this.dCtx.ctx); - var rect = graphics.getTextRects(w.config.xaxis.title.text, w.config.xaxis.title.style.fontSize); - width = rect.width; - height = rect.height; - } - - return { - width: width, - height: height - }; - } - }, { - key: "getxAxisTimeScaleLabelsCoords", - value: function getxAxisTimeScaleLabelsCoords() { - var w = this.w; - var rect; - this.dCtx.timescaleLabels = w.globals.timescaleLabels.slice(); - var labels = this.dCtx.timescaleLabels.map(function (label) { - return label.value; - }); // get the longest string from the labels array and also apply label formatter to it - - var val = labels.reduce(function (a, b) { - // if undefined, maybe user didn't pass the datetime(x) values - if (typeof a === 'undefined') { - console.error('You have possibly supplied invalid Date format. Please supply a valid JavaScript Date'); - return 0; - } else { - return a.length > b.length ? a : b; - } - }, 0); - var graphics = new Graphics(this.dCtx.ctx); - rect = graphics.getTextRects(val, w.config.xaxis.labels.style.fontSize); - var totalWidthRotated = rect.width * 1.05 * labels.length; - - if (totalWidthRotated > w.globals.gridWidth && w.config.xaxis.labels.rotate !== 0) { - w.globals.overlappingXLabels = true; - } - - return rect; - } // In certain cases, the last labels gets cropped in xaxis. - // Hence, we add some additional padding based on the label length to avoid the last label being cropped or we don't draw it at all - - }, { - key: "additionalPaddingXLabels", - value: function additionalPaddingXLabels(xaxisLabelCoords) { - var _this = this; - - var w = this.w; - var gl = w.globals; - var cnf = w.config; - var xtype = cnf.xaxis.type; - var lbWidth = xaxisLabelCoords.width; - gl.skipLastTimelinelabel = false; - gl.skipFirstTimelinelabel = false; - var isBarOpposite = w.config.yaxis[0].opposite && w.globals.isBarHorizontal; - - var isCollapsed = function isCollapsed(i) { - return gl.collapsedSeriesIndices.indexOf(i) !== -1; - }; - - var rightPad = function rightPad(yaxe) { - if (_this.dCtx.timescaleLabels && _this.dCtx.timescaleLabels.length) { - // for timeline labels, we take the last label and check if it exceeds gridWidth - var firstimescaleLabel = _this.dCtx.timescaleLabels[0]; - var lastTimescaleLabel = _this.dCtx.timescaleLabels[_this.dCtx.timescaleLabels.length - 1]; - var lastLabelPosition = lastTimescaleLabel.position + lbWidth / 1.75 - _this.dCtx.yAxisWidthRight; - var firstLabelPosition = firstimescaleLabel.position - lbWidth / 1.75 + _this.dCtx.yAxisWidthLeft; - var lgRightRectWidth = w.config.legend.position === 'right' && _this.dCtx.lgRect.width > 0 ? _this.dCtx.lgRect.width : 0; - - if (lastLabelPosition > gl.svgWidth - gl.translateX - lgRightRectWidth) { - gl.skipLastTimelinelabel = true; - } - - if (firstLabelPosition < -((!yaxe.show || yaxe.floating) && (cnf.chart.type === 'bar' || cnf.chart.type === 'candlestick' || cnf.chart.type === 'rangeBar' || cnf.chart.type === 'boxPlot') ? lbWidth / 1.75 : 10)) { - gl.skipFirstTimelinelabel = true; - } - } else if (xtype === 'datetime') { - // If user has enabled DateTime, but uses own's formatter - if (_this.dCtx.gridPad.right < lbWidth && !gl.rotateXLabels) { - gl.skipLastTimelinelabel = true; - } - } else if (xtype !== 'datetime') { - if (_this.dCtx.gridPad.right < lbWidth / 2 - _this.dCtx.yAxisWidthRight && !gl.rotateXLabels && !w.config.xaxis.labels.trim && (w.config.xaxis.tickPlacement !== 'between' || w.globals.isBarHorizontal)) { - _this.dCtx.xPadRight = lbWidth / 2 + 1; - } - } - }; - - var padYAxe = function padYAxe(yaxe, i) { - if (isCollapsed(i)) return; // the code below causes issue apexcharts.js#1989 - // after testing with other use-cases, this has no actual value, hence commented - // if (xtype !== 'datetime') { - // if ( - // this.dCtx.gridPad.left < lbWidth / 2 - this.dCtx.yAxisWidthLeft && - // !gl.rotateXLabels && - // !cnf.xaxis.labels.trim - // ) { - // this.dCtx.xPadLeft = lbWidth / 2 + 1 - // } - // } - - rightPad(yaxe); - }; - - cnf.yaxis.forEach(function (yaxe, i) { - if (isBarOpposite) { - if (_this.dCtx.gridPad.left < lbWidth) { - _this.dCtx.xPadLeft = lbWidth / 2 + 1; - } - - _this.dCtx.xPadRight = lbWidth / 2 + 1; - } else { - padYAxe(yaxe, i); - } - }); - } - }]); - - return DimXAxis; - }(); - - var DimYAxis = /*#__PURE__*/function () { - function DimYAxis(dCtx) { - _classCallCheck(this, DimYAxis); - - this.w = dCtx.w; - this.dCtx = dCtx; - } - /** - * Get Y Axis Dimensions - * @memberof Dimensions - * @return {{width, height}} - **/ - - - _createClass(DimYAxis, [{ - key: "getyAxisLabelsCoords", - value: function getyAxisLabelsCoords() { - var _this = this; - - var w = this.w; - var width = 0; - var height = 0; - var ret = []; - var labelPad = 10; - var axesUtils = new AxesUtils(this.dCtx.ctx); - w.config.yaxis.map(function (yaxe, index) { - var yS = w.globals.yAxisScale[index]; - var yAxisMinWidth = 0; - if (!axesUtils.isYAxisHidden(index) && yaxe.labels.show && yaxe.labels.minWidth !== undefined) yAxisMinWidth = yaxe.labels.minWidth; - - if (!axesUtils.isYAxisHidden(index) && yaxe.labels.show && yS.result.length) { - var lbFormatter = w.globals.yLabelFormatters[index]; - var minV = yS.niceMin === Number.MIN_VALUE ? 0 : yS.niceMin; - var longestStr = String(minV).length > String(yS.niceMax).length ? minV : yS.niceMax; // the second parameter -1 is the index of tick which user can use in the formatter - - var val = lbFormatter(longestStr, { - seriesIndex: index, - dataPointIndex: -1, - w: w - }); - var valArr = val; // if user has specified a custom formatter, and the result is null or empty, we need to discard the formatter and take the value as it is. - - if (typeof val === 'undefined' || val.length === 0) { - val = longestStr; - } - - if (w.globals.isBarHorizontal) { - labelPad = 0; - var barYaxisLabels = w.globals.labels.slice(); // get the longest string from the labels array and also apply label formatter to it - - val = Utils$1.getLargestStringFromArr(barYaxisLabels); - val = lbFormatter(val, { - seriesIndex: index, - dataPointIndex: -1, - w: w - }); - valArr = _this.dCtx.dimHelpers.getLargestStringFromMultiArr(val, barYaxisLabels); - } - - var graphics = new Graphics(_this.dCtx.ctx); - var rotateStr = 'rotate('.concat(yaxe.labels.rotate, ' 0 0)'); - var rect = graphics.getTextRects(val, yaxe.labels.style.fontSize, yaxe.labels.style.fontFamily, rotateStr, false); - var arrLabelrect = rect; - - if (val !== valArr) { - arrLabelrect = graphics.getTextRects(valArr, yaxe.labels.style.fontSize, yaxe.labels.style.fontFamily, rotateStr, false); - } - - ret.push({ - width: (yAxisMinWidth > arrLabelrect.width || yAxisMinWidth > rect.width ? yAxisMinWidth : arrLabelrect.width > rect.width ? arrLabelrect.width : rect.width) + labelPad, - height: arrLabelrect.height > rect.height ? arrLabelrect.height : rect.height - }); - } else { - ret.push({ - width: width, - height: height - }); - } - }); - return ret; - } - /** - * Get Y Axis Dimensions - * @memberof Dimensions - * @return {{width, height}} - **/ - - }, { - key: "getyAxisTitleCoords", - value: function getyAxisTitleCoords() { - var _this2 = this; - - var w = this.w; - var ret = []; - w.config.yaxis.map(function (yaxe, index) { - if (yaxe.show && yaxe.title.text !== undefined) { - var graphics = new Graphics(_this2.dCtx.ctx); - var rotateStr = 'rotate('.concat(yaxe.title.rotate, ' 0 0)'); - var rect = graphics.getTextRects(yaxe.title.text, yaxe.title.style.fontSize, yaxe.title.style.fontFamily, rotateStr, false); - ret.push({ - width: rect.width, - height: rect.height - }); - } else { - ret.push({ - width: 0, - height: 0 - }); - } - }); - return ret; - } - }, { - key: "getTotalYAxisWidth", - value: function getTotalYAxisWidth() { - var w = this.w; - var yAxisWidth = 0; - var yAxisWidthLeft = 0; - var yAxisWidthRight = 0; - var padding = w.globals.yAxisScale.length > 1 ? 10 : 0; - var axesUtils = new AxesUtils(this.dCtx.ctx); - - var isHiddenYAxis = function isHiddenYAxis(index) { - return w.globals.ignoreYAxisIndexes.indexOf(index) > -1; - }; - - var padForLabelTitle = function padForLabelTitle(coord, index) { - var floating = w.config.yaxis[index].floating; - var width = 0; - - if (coord.width > 0 && !floating) { - width = coord.width + padding; - - if (isHiddenYAxis(index)) { - width = width - coord.width - padding; - } - } else { - width = floating || axesUtils.isYAxisHidden(index) ? 0 : 5; - } - - w.config.yaxis[index].opposite ? yAxisWidthRight = yAxisWidthRight + width : yAxisWidthLeft = yAxisWidthLeft + width; - yAxisWidth = yAxisWidth + width; - }; - - w.globals.yLabelsCoords.map(function (yLabelCoord, index) { - padForLabelTitle(yLabelCoord, index); - }); - w.globals.yTitleCoords.map(function (yTitleCoord, index) { - padForLabelTitle(yTitleCoord, index); - }); - - if (w.globals.isBarHorizontal && !w.config.yaxis[0].floating) { - yAxisWidth = w.globals.yLabelsCoords[0].width + w.globals.yTitleCoords[0].width + 15; - } - - this.dCtx.yAxisWidthLeft = yAxisWidthLeft; - this.dCtx.yAxisWidthRight = yAxisWidthRight; - return yAxisWidth; - } - }]); - - return DimYAxis; - }(); - - var DimGrid = /*#__PURE__*/function () { - function DimGrid(dCtx) { - _classCallCheck(this, DimGrid); - - this.w = dCtx.w; - this.dCtx = dCtx; - } - - _createClass(DimGrid, [{ - key: "gridPadForColumnsInNumericAxis", - value: function gridPadForColumnsInNumericAxis(gridWidth) { - var w = this.w; - - if (w.globals.noData || w.globals.allSeriesCollapsed) { - return 0; - } - - var hasBar = function hasBar(type) { - return type === 'bar' || type === 'rangeBar' || type === 'candlestick' || type === 'boxPlot'; - }; - - var type = w.config.chart.type; - var barWidth = 0; - var seriesLen = hasBar(type) ? w.config.series.length : 1; - - if (w.globals.comboBarCount > 0) { - seriesLen = w.globals.comboBarCount; - } - - w.globals.collapsedSeries.forEach(function (c) { - if (hasBar(c.type)) { - seriesLen = seriesLen - 1; - } - }); - - if (w.config.chart.stacked) { - seriesLen = 1; - } - - var barsPresent = hasBar(type) || w.globals.comboBarCount > 0; - - if (barsPresent && w.globals.isXNumeric && !w.globals.isBarHorizontal && seriesLen > 0) { - var xRatio = 0; - var xRange = Math.abs(w.globals.initialMaxX - w.globals.initialMinX); - - if (xRange <= 3) { - xRange = w.globals.dataPoints; - } - - xRatio = xRange / gridWidth; - var xDivision; // max barwidth should be equal to minXDiff to avoid overlap - - if (w.globals.minXDiff && w.globals.minXDiff / xRatio > 0) { - xDivision = w.globals.minXDiff / xRatio; - } - - if (xDivision > gridWidth / 2) { - xDivision = xDivision / 2; - } - - barWidth = xDivision / seriesLen * parseInt(w.config.plotOptions.bar.columnWidth, 10) / 100; - - if (barWidth < 1) { - barWidth = 1; - } - - barWidth = barWidth / (seriesLen > 1 ? 1 : 1.5) + 5; - w.globals.barPadForNumericAxis = barWidth; - } - - return barWidth; - } - }, { - key: "gridPadFortitleSubtitle", - value: function gridPadFortitleSubtitle() { - var _this = this; - - var w = this.w; - var gl = w.globals; - var gridShrinkOffset = this.dCtx.isSparkline || !w.globals.axisCharts ? 0 : 10; - var titleSubtitle = ['title', 'subtitle']; - titleSubtitle.forEach(function (t) { - if (w.config[t].text !== undefined) { - gridShrinkOffset += w.config[t].margin; - } else { - gridShrinkOffset += _this.dCtx.isSparkline || !w.globals.axisCharts ? 0 : 5; - } - }); - - if (w.config.legend.show && w.config.legend.position === 'bottom' && !w.config.legend.floating && !w.globals.axisCharts) { - gridShrinkOffset += 10; - } - - var titleCoords = this.dCtx.dimHelpers.getTitleSubtitleCoords('title'); - var subtitleCoords = this.dCtx.dimHelpers.getTitleSubtitleCoords('subtitle'); - gl.gridHeight = gl.gridHeight - titleCoords.height - subtitleCoords.height - gridShrinkOffset; - gl.translateY = gl.translateY + titleCoords.height + subtitleCoords.height + gridShrinkOffset; - } - }, { - key: "setGridXPosForDualYAxis", - value: function setGridXPosForDualYAxis(yTitleCoords, yaxisLabelCoords) { - var w = this.w; - var axesUtils = new AxesUtils(this.dCtx.ctx); - w.config.yaxis.map(function (yaxe, index) { - if (w.globals.ignoreYAxisIndexes.indexOf(index) === -1 && !yaxe.floating && !axesUtils.isYAxisHidden(index)) { - if (yaxe.opposite) { - w.globals.translateX = w.globals.translateX - (yaxisLabelCoords[index].width + yTitleCoords[index].width) - parseInt(w.config.yaxis[index].labels.style.fontSize, 10) / 1.2 - 12; - } // fixes apexcharts.js#1599 - - - if (w.globals.translateX < 2) { - w.globals.translateX = 2; - } - } - }); - } - }]); - - return DimGrid; - }(); - - /** - * ApexCharts Dimensions Class for calculating rects of all elements that are drawn and will be drawn. - * - * @module Dimensions - **/ - - var Dimensions = /*#__PURE__*/function () { - function Dimensions(ctx) { - _classCallCheck(this, Dimensions); - - this.ctx = ctx; - this.w = ctx.w; - this.lgRect = {}; - this.yAxisWidth = 0; - this.yAxisWidthLeft = 0; - this.yAxisWidthRight = 0; - this.xAxisHeight = 0; - this.isSparkline = this.w.config.chart.sparkline.enabled; - this.dimHelpers = new Helpers$2(this); - this.dimYAxis = new DimYAxis(this); - this.dimXAxis = new DimXAxis(this); - this.dimGrid = new DimGrid(this); - this.lgWidthForSideLegends = 0; - this.gridPad = this.w.config.grid.padding; - this.xPadRight = 0; - this.xPadLeft = 0; - } - /** - * @memberof Dimensions - * @param {object} w - chart context - **/ - - - _createClass(Dimensions, [{ - key: "plotCoords", - value: function plotCoords() { - var _this = this; - - var w = this.w; - var gl = w.globals; - this.lgRect = this.dimHelpers.getLegendsRect(); - - if (this.isSparkline && (w.config.markers.discrete.length > 0 || w.config.markers.size > 0)) { - Object.entries(this.gridPad).forEach(function (_ref) { - var _ref2 = _slicedToArray(_ref, 2), - k = _ref2[0], - v = _ref2[1]; - - _this.gridPad[k] = Math.max(v, _this.w.globals.markers.largestSize / 1.5); - }); - } - - if (gl.axisCharts) { - // for line / area / scatter / column - this.setDimensionsForAxisCharts(); - } else { - // for pie / donuts / circle - this.setDimensionsForNonAxisCharts(); - } - - this.dimGrid.gridPadFortitleSubtitle(); // after calculating everything, apply padding set by user - - gl.gridHeight = gl.gridHeight - this.gridPad.top - this.gridPad.bottom; - gl.gridWidth = gl.gridWidth - this.gridPad.left - this.gridPad.right - this.xPadRight - this.xPadLeft; - var barWidth = this.dimGrid.gridPadForColumnsInNumericAxis(gl.gridWidth); - gl.gridWidth = gl.gridWidth - barWidth * 2; - gl.translateX = gl.translateX + this.gridPad.left + this.xPadLeft + (barWidth > 0 ? barWidth + 4 : 0); - gl.translateY = gl.translateY + this.gridPad.top; - } - }, { - key: "setDimensionsForAxisCharts", - value: function setDimensionsForAxisCharts() { - var _this2 = this; - - var w = this.w; - var gl = w.globals; - var yaxisLabelCoords = this.dimYAxis.getyAxisLabelsCoords(); - var yTitleCoords = this.dimYAxis.getyAxisTitleCoords(); - w.globals.yLabelsCoords = []; - w.globals.yTitleCoords = []; - w.config.yaxis.map(function (yaxe, index) { - // store the labels and titles coords in global vars - w.globals.yLabelsCoords.push({ - width: yaxisLabelCoords[index].width, - index: index - }); - w.globals.yTitleCoords.push({ - width: yTitleCoords[index].width, - index: index - }); - }); - this.yAxisWidth = this.dimYAxis.getTotalYAxisWidth(); - var xaxisLabelCoords = this.dimXAxis.getxAxisLabelsCoords(); - var xaxisGroupLabelCoords = this.dimXAxis.getxAxisGroupLabelsCoords(); - var xtitleCoords = this.dimXAxis.getxAxisTitleCoords(); - this.conditionalChecksForAxisCoords(xaxisLabelCoords, xtitleCoords, xaxisGroupLabelCoords); - gl.translateXAxisY = w.globals.rotateXLabels ? this.xAxisHeight / 8 : -4; - gl.translateXAxisX = w.globals.rotateXLabels && w.globals.isXNumeric && w.config.xaxis.labels.rotate <= -45 ? -this.xAxisWidth / 4 : 0; - - if (w.globals.isBarHorizontal) { - gl.rotateXLabels = false; - gl.translateXAxisY = -1 * (parseInt(w.config.xaxis.labels.style.fontSize, 10) / 1.5); - } - - gl.translateXAxisY = gl.translateXAxisY + w.config.xaxis.labels.offsetY; - gl.translateXAxisX = gl.translateXAxisX + w.config.xaxis.labels.offsetX; - var yAxisWidth = this.yAxisWidth; - var xAxisHeight = this.xAxisHeight; - gl.xAxisLabelsHeight = this.xAxisHeight - xtitleCoords.height; - gl.xAxisGroupLabelsHeight = gl.xAxisLabelsHeight - xaxisLabelCoords.height; - gl.xAxisLabelsWidth = this.xAxisWidth; - gl.xAxisHeight = this.xAxisHeight; - var translateY = 10; - - if (w.config.chart.type === 'radar' || this.isSparkline) { - yAxisWidth = 0; - xAxisHeight = gl.goldenPadding; - } - - if (this.isSparkline) { - this.lgRect = { - height: 0, - width: 0 - }; - } - - if (this.isSparkline || w.config.chart.type === 'treemap') { - yAxisWidth = 0; - xAxisHeight = 0; - translateY = 0; - } - - if (!this.isSparkline) { - this.dimXAxis.additionalPaddingXLabels(xaxisLabelCoords); - } - - var legendTopBottom = function legendTopBottom() { - gl.translateX = yAxisWidth; - gl.gridHeight = gl.svgHeight - _this2.lgRect.height - xAxisHeight - (!_this2.isSparkline && w.config.chart.type !== 'treemap' ? w.globals.rotateXLabels ? 10 : 15 : 0); - gl.gridWidth = gl.svgWidth - yAxisWidth; - }; - - if (w.config.xaxis.position === 'top') translateY = gl.xAxisHeight - w.config.xaxis.axisTicks.height - 5; - - switch (w.config.legend.position) { - case 'bottom': - gl.translateY = translateY; - legendTopBottom(); - break; - - case 'top': - gl.translateY = this.lgRect.height + translateY; - legendTopBottom(); - break; - - case 'left': - gl.translateY = translateY; - gl.translateX = this.lgRect.width + yAxisWidth; - gl.gridHeight = gl.svgHeight - xAxisHeight - 12; - gl.gridWidth = gl.svgWidth - this.lgRect.width - yAxisWidth; - break; - - case 'right': - gl.translateY = translateY; - gl.translateX = yAxisWidth; - gl.gridHeight = gl.svgHeight - xAxisHeight - 12; - gl.gridWidth = gl.svgWidth - this.lgRect.width - yAxisWidth - 5; - break; - - default: - throw new Error('Legend position not supported'); - } - - this.dimGrid.setGridXPosForDualYAxis(yTitleCoords, yaxisLabelCoords); // after drawing everything, set the Y axis positions - - var objyAxis = new YAxis(this.ctx); - objyAxis.setYAxisXPosition(yaxisLabelCoords, yTitleCoords); - } - }, { - key: "setDimensionsForNonAxisCharts", - value: function setDimensionsForNonAxisCharts() { - var w = this.w; - var gl = w.globals; - var cnf = w.config; - var xPad = 0; - - if (w.config.legend.show && !w.config.legend.floating) { - xPad = 20; - } - - var type = cnf.chart.type === 'pie' || cnf.chart.type === 'polarArea' || cnf.chart.type === 'donut' ? 'pie' : 'radialBar'; - var offY = cnf.plotOptions[type].offsetY; - var offX = cnf.plotOptions[type].offsetX; - - if (!cnf.legend.show || cnf.legend.floating) { - gl.gridHeight = gl.svgHeight - cnf.grid.padding.left + cnf.grid.padding.right; - gl.gridWidth = gl.gridHeight; - gl.translateY = offY; - gl.translateX = offX + (gl.svgWidth - gl.gridWidth) / 2; - return; - } - - switch (cnf.legend.position) { - case 'bottom': - gl.gridHeight = gl.svgHeight - this.lgRect.height - gl.goldenPadding; - gl.gridWidth = gl.svgWidth; - gl.translateY = offY - 10; - gl.translateX = offX + (gl.svgWidth - gl.gridWidth) / 2; - break; - - case 'top': - gl.gridHeight = gl.svgHeight - this.lgRect.height - gl.goldenPadding; - gl.gridWidth = gl.svgWidth; - gl.translateY = this.lgRect.height + offY + 10; - gl.translateX = offX + (gl.svgWidth - gl.gridWidth) / 2; - break; - - case 'left': - gl.gridWidth = gl.svgWidth - this.lgRect.width - xPad; - gl.gridHeight = cnf.chart.height !== 'auto' ? gl.svgHeight : gl.gridWidth; - gl.translateY = offY; - gl.translateX = offX + this.lgRect.width + xPad; - break; - - case 'right': - gl.gridWidth = gl.svgWidth - this.lgRect.width - xPad - 5; - gl.gridHeight = cnf.chart.height !== 'auto' ? gl.svgHeight : gl.gridWidth; - gl.translateY = offY; - gl.translateX = offX + 10; - break; - - default: - throw new Error('Legend position not supported'); - } - } - }, { - key: "conditionalChecksForAxisCoords", - value: function conditionalChecksForAxisCoords(xaxisLabelCoords, xtitleCoords, xaxisGroupLabelCoords) { - var w = this.w; - var xAxisNum = w.globals.hasGroups ? 2 : 1; - var baseXAxisHeight = xaxisGroupLabelCoords.height + xaxisLabelCoords.height + xtitleCoords.height; - var xAxisHeightMultiplicate = w.globals.isMultiLineX ? 1.2 : w.globals.LINE_HEIGHT_RATIO; - var rotatedXAxisOffset = w.globals.rotateXLabels ? 22 : 10; - var rotatedXAxisLegendOffset = w.globals.rotateXLabels && w.config.legend.position === 'bottom'; - var additionalOffset = rotatedXAxisLegendOffset ? 10 : 0; - this.xAxisHeight = baseXAxisHeight * xAxisHeightMultiplicate + xAxisNum * rotatedXAxisOffset + additionalOffset; - this.xAxisWidth = xaxisLabelCoords.width; - - if (this.xAxisHeight - xtitleCoords.height > w.config.xaxis.labels.maxHeight) { - this.xAxisHeight = w.config.xaxis.labels.maxHeight; - } - - if (w.config.xaxis.labels.minHeight && this.xAxisHeight < w.config.xaxis.labels.minHeight) { - this.xAxisHeight = w.config.xaxis.labels.minHeight; - } - - if (w.config.xaxis.floating) { - this.xAxisHeight = 0; - } - - var minYAxisWidth = 0; - var maxYAxisWidth = 0; - w.config.yaxis.forEach(function (y) { - minYAxisWidth += y.labels.minWidth; - maxYAxisWidth += y.labels.maxWidth; - }); - - if (this.yAxisWidth < minYAxisWidth) { - this.yAxisWidth = minYAxisWidth; - } - - if (this.yAxisWidth > maxYAxisWidth) { - this.yAxisWidth = maxYAxisWidth; - } - } - }]); - - return Dimensions; - }(); - - var Helpers$1 = /*#__PURE__*/function () { - function Helpers(lgCtx) { - _classCallCheck(this, Helpers); - - this.w = lgCtx.w; - this.lgCtx = lgCtx; - } - - _createClass(Helpers, [{ - key: "getLegendStyles", - value: function getLegendStyles() { - var stylesheet = document.createElement('style'); - stylesheet.setAttribute('type', 'text/css'); - var text = "\t\n \t\n .apexcharts-legend {\t\n display: flex;\t\n overflow: auto;\t\n padding: 0 10px;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\t\n flex-wrap: wrap\t\n }\t\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n flex-direction: column;\t\n bottom: 0;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n justify-content: flex-start;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\t\n justify-content: center; \t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\t\n justify-content: flex-end;\t\n }\t\n .apexcharts-legend-series {\t\n cursor: pointer;\t\n line-height: normal;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\t\n display: flex;\t\n align-items: center;\t\n }\t\n .apexcharts-legend-text {\t\n position: relative;\t\n font-size: 14px;\t\n }\t\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\t\n pointer-events: none;\t\n }\t\n .apexcharts-legend-marker {\t\n position: relative;\t\n display: inline-block;\t\n cursor: pointer;\t\n margin-right: 3px;\t\n border-style: solid;\n }\t\n \t\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\t\n display: inline-block;\t\n }\t\n .apexcharts-legend-series.apexcharts-no-click {\t\n cursor: auto;\t\n }\t\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\t\n display: none !important;\t\n }\t\n .apexcharts-inactive-legend {\t\n opacity: 0.45;\t\n }"; - var rules = document.createTextNode(text); - stylesheet.appendChild(rules); - return stylesheet; - } - }, { - key: "getLegendBBox", - value: function getLegendBBox() { - var w = this.w; - var currLegendsWrap = w.globals.dom.baseEl.querySelector('.apexcharts-legend'); - var currLegendsWrapRect = currLegendsWrap.getBoundingClientRect(); - var currLegendsWrapWidth = currLegendsWrapRect.width; - var currLegendsWrapHeight = currLegendsWrapRect.height; - return { - clwh: currLegendsWrapHeight, - clww: currLegendsWrapWidth - }; - } - }, { - key: "appendToForeignObject", - value: function appendToForeignObject() { - var gl = this.w.globals; - gl.dom.elLegendForeign = document.createElementNS(gl.SVGNS, 'foreignObject'); - var elForeign = gl.dom.elLegendForeign; - elForeign.setAttribute('x', 0); - elForeign.setAttribute('y', 0); - elForeign.setAttribute('width', gl.svgWidth); - elForeign.setAttribute('height', gl.svgHeight); - gl.dom.elLegendWrap.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml'); - elForeign.appendChild(gl.dom.elLegendWrap); - elForeign.appendChild(this.getLegendStyles()); //gl.dom.elGraphical.node.insertAdjacentElement('afterend', elForeign) - // the above line causes issue #1907 - - gl.dom.Paper.node.insertBefore(elForeign, gl.dom.elGraphical.node); - } - }, { - key: "toggleDataSeries", - value: function toggleDataSeries(seriesCnt, isHidden) { - var _this = this; - - var w = this.w; - - if (w.globals.axisCharts || w.config.chart.type === 'radialBar') { - w.globals.resized = true; // we don't want initial animations again - - var seriesEl = null; - var realIndex = null; // yes, make it null. 1 series will rise at a time - - w.globals.risingSeries = []; - - if (w.globals.axisCharts) { - seriesEl = w.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(seriesCnt, "']")); - realIndex = parseInt(seriesEl.getAttribute('data:realIndex'), 10); - } else { - seriesEl = w.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(seriesCnt + 1, "']")); - realIndex = parseInt(seriesEl.getAttribute('rel'), 10) - 1; - } - - if (isHidden) { - var seriesToMakeVisible = [{ - cs: w.globals.collapsedSeries, - csi: w.globals.collapsedSeriesIndices - }, { - cs: w.globals.ancillaryCollapsedSeries, - csi: w.globals.ancillaryCollapsedSeriesIndices - }]; - seriesToMakeVisible.forEach(function (r) { - _this.riseCollapsedSeries(r.cs, r.csi, realIndex); - }); - } else { - this.hideSeries({ - seriesEl: seriesEl, - realIndex: realIndex - }); - } - } else { - // for non-axis charts i.e pie / donuts - var _seriesEl = w.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(seriesCnt + 1, "'] path")); - - var type = w.config.chart.type; - - if (type === 'pie' || type === 'polarArea' || type === 'donut') { - var dataLabels = w.config.plotOptions.pie.donut.labels; - var graphics = new Graphics(this.lgCtx.ctx); - graphics.pathMouseDown(_seriesEl.members[0], null); - this.lgCtx.ctx.pie.printDataLabelsInner(_seriesEl.members[0].node, dataLabels); - } - - _seriesEl.fire('click'); - } - } - }, { - key: "hideSeries", - value: function hideSeries(_ref) { - var seriesEl = _ref.seriesEl, - realIndex = _ref.realIndex; - var w = this.w; - var series = Utils$1.clone(w.config.series); - - if (w.globals.axisCharts) { - var shouldNotHideYAxis = false; - - if (w.config.yaxis[realIndex] && w.config.yaxis[realIndex].show && w.config.yaxis[realIndex].showAlways) { - shouldNotHideYAxis = true; - - if (w.globals.ancillaryCollapsedSeriesIndices.indexOf(realIndex) < 0) { - w.globals.ancillaryCollapsedSeries.push({ - index: realIndex, - data: series[realIndex].data.slice(), - type: seriesEl.parentNode.className.baseVal.split('-')[1] - }); - w.globals.ancillaryCollapsedSeriesIndices.push(realIndex); - } - } - - if (!shouldNotHideYAxis) { - w.globals.collapsedSeries.push({ - index: realIndex, - data: series[realIndex].data.slice(), - type: seriesEl.parentNode.className.baseVal.split('-')[1] - }); - w.globals.collapsedSeriesIndices.push(realIndex); - var removeIndexOfRising = w.globals.risingSeries.indexOf(realIndex); - w.globals.risingSeries.splice(removeIndexOfRising, 1); - } - } else { - w.globals.collapsedSeries.push({ - index: realIndex, - data: series[realIndex] - }); - w.globals.collapsedSeriesIndices.push(realIndex); - } - - var seriesChildren = seriesEl.childNodes; - - for (var sc = 0; sc < seriesChildren.length; sc++) { - if (seriesChildren[sc].classList.contains('apexcharts-series-markers-wrap')) { - if (seriesChildren[sc].classList.contains('apexcharts-hide')) { - seriesChildren[sc].classList.remove('apexcharts-hide'); - } else { - seriesChildren[sc].classList.add('apexcharts-hide'); - } - } - } - - w.globals.allSeriesCollapsed = w.globals.collapsedSeries.length === w.config.series.length; - series = this._getSeriesBasedOnCollapsedState(series); - - this.lgCtx.ctx.updateHelpers._updateSeries(series, w.config.chart.animations.dynamicAnimation.enabled); - } - }, { - key: "riseCollapsedSeries", - value: function riseCollapsedSeries(collapsedSeries, seriesIndices, realIndex) { - var w = this.w; - var series = Utils$1.clone(w.config.series); - - if (collapsedSeries.length > 0) { - for (var c = 0; c < collapsedSeries.length; c++) { - if (collapsedSeries[c].index === realIndex) { - if (w.globals.axisCharts) { - series[realIndex].data = collapsedSeries[c].data.slice(); - collapsedSeries.splice(c, 1); - seriesIndices.splice(c, 1); - w.globals.risingSeries.push(realIndex); - } else { - series[realIndex] = collapsedSeries[c].data; - collapsedSeries.splice(c, 1); - seriesIndices.splice(c, 1); - w.globals.risingSeries.push(realIndex); - } - } - } - - series = this._getSeriesBasedOnCollapsedState(series); - - this.lgCtx.ctx.updateHelpers._updateSeries(series, w.config.chart.animations.dynamicAnimation.enabled); - } - } - }, { - key: "_getSeriesBasedOnCollapsedState", - value: function _getSeriesBasedOnCollapsedState(series) { - var w = this.w; - - if (w.globals.axisCharts) { - series.forEach(function (s, sI) { - if (w.globals.collapsedSeriesIndices.indexOf(sI) > -1) { - series[sI].data = []; - } - }); - } else { - series.forEach(function (s, sI) { - if (w.globals.collapsedSeriesIndices.indexOf(sI) > -1) { - series[sI] = 0; - } - }); - } - - return series; - } - }]); - - return Helpers; - }(); - - /** - * ApexCharts Legend Class to draw legend. - * - * @module Legend - **/ - - var Legend = /*#__PURE__*/function () { - function Legend(ctx, opts) { - _classCallCheck(this, Legend); - - this.ctx = ctx; - this.w = ctx.w; - this.onLegendClick = this.onLegendClick.bind(this); - this.onLegendHovered = this.onLegendHovered.bind(this); - this.isBarsDistributed = this.w.config.chart.type === 'bar' && this.w.config.plotOptions.bar.distributed && this.w.config.series.length === 1; - this.legendHelpers = new Helpers$1(this); - } - - _createClass(Legend, [{ - key: "init", - value: function init() { - var w = this.w; - var gl = w.globals; - var cnf = w.config; - var showLegendAlways = cnf.legend.showForSingleSeries && gl.series.length === 1 || this.isBarsDistributed || gl.series.length > 1; - - if ((showLegendAlways || !gl.axisCharts) && cnf.legend.show) { - while (gl.dom.elLegendWrap.firstChild) { - gl.dom.elLegendWrap.removeChild(gl.dom.elLegendWrap.firstChild); - } - - this.drawLegends(); - - if (!Utils$1.isIE11()) { - this.legendHelpers.appendToForeignObject(); - } else { - // IE11 doesn't supports foreignObject, hence append it to - document.getElementsByTagName('head')[0].appendChild(this.legendHelpers.getLegendStyles()); - } - - if (cnf.legend.position === 'bottom' || cnf.legend.position === 'top') { - this.legendAlignHorizontal(); - } else if (cnf.legend.position === 'right' || cnf.legend.position === 'left') { - this.legendAlignVertical(); - } - } - } - }, { - key: "drawLegends", - value: function drawLegends() { - var me = this; - var w = this.w; - var fontFamily = w.config.legend.fontFamily; - var legendNames = w.globals.seriesNames; - var fillcolor = w.globals.colors.slice(); - - if (w.config.chart.type === 'heatmap') { - var ranges = w.config.plotOptions.heatmap.colorScale.ranges; - legendNames = ranges.map(function (colorScale) { - return colorScale.name ? colorScale.name : colorScale.from + ' - ' + colorScale.to; - }); - fillcolor = ranges.map(function (color) { - return color.color; - }); - } else if (this.isBarsDistributed) { - legendNames = w.globals.labels.slice(); - } - - if (w.config.legend.customLegendItems.length) { - legendNames = w.config.legend.customLegendItems; - } - - var legendFormatter = w.globals.legendFormatter; - var isLegendInversed = w.config.legend.inverseOrder; - - for (var i = isLegendInversed ? legendNames.length - 1 : 0; isLegendInversed ? i >= 0 : i <= legendNames.length - 1; isLegendInversed ? i-- : i++) { - var text = legendFormatter(legendNames[i], { - seriesIndex: i, - w: w - }); - var collapsedSeries = false; - var ancillaryCollapsedSeries = false; - - if (w.globals.collapsedSeries.length > 0) { - for (var c = 0; c < w.globals.collapsedSeries.length; c++) { - if (w.globals.collapsedSeries[c].index === i) { - collapsedSeries = true; - } - } - } - - if (w.globals.ancillaryCollapsedSeriesIndices.length > 0) { - for (var _c = 0; _c < w.globals.ancillaryCollapsedSeriesIndices.length; _c++) { - if (w.globals.ancillaryCollapsedSeriesIndices[_c] === i) { - ancillaryCollapsedSeries = true; - } - } - } - - var elMarker = document.createElement('span'); - elMarker.classList.add('apexcharts-legend-marker'); - var mOffsetX = w.config.legend.markers.offsetX; - var mOffsetY = w.config.legend.markers.offsetY; - var mHeight = w.config.legend.markers.height; - var mWidth = w.config.legend.markers.width; - var mBorderWidth = w.config.legend.markers.strokeWidth; - var mBorderColor = w.config.legend.markers.strokeColor; - var mBorderRadius = w.config.legend.markers.radius; // todo - untested code below - // if (Array.isArray(w.config.legend.markers.shape)) { - // } else { - // if (w.config.legend.markers.shape !== 'circle') { - // mBorderRadius = 1 - // } - // } - - var mStyle = elMarker.style; - mStyle.background = fillcolor[i]; - mStyle.color = fillcolor[i]; - mStyle.setProperty('background', fillcolor[i], 'important'); // override fill color with custom legend.markers.fillColors - - if (w.config.legend.markers.fillColors && w.config.legend.markers.fillColors[i]) { - mStyle.background = w.config.legend.markers.fillColors[i]; - } // override with data color - - - if (w.globals.seriesColors[i] !== undefined) { - mStyle.background = w.globals.seriesColors[i]; - mStyle.color = w.globals.seriesColors[i]; - } - - mStyle.height = Array.isArray(mHeight) ? parseFloat(mHeight[i]) + 'px' : parseFloat(mHeight) + 'px'; - mStyle.width = Array.isArray(mWidth) ? parseFloat(mWidth[i]) + 'px' : parseFloat(mWidth) + 'px'; - mStyle.left = (Array.isArray(mOffsetX) ? parseFloat(mOffsetX[i]) : parseFloat(mOffsetX)) + 'px'; - mStyle.top = (Array.isArray(mOffsetY) ? parseFloat(mOffsetY[i]) : parseFloat(mOffsetY)) + 'px'; - mStyle.borderWidth = Array.isArray(mBorderWidth) ? mBorderWidth[i] : mBorderWidth; - mStyle.borderColor = Array.isArray(mBorderColor) ? mBorderColor[i] : mBorderColor; - mStyle.borderRadius = Array.isArray(mBorderRadius) ? parseFloat(mBorderRadius[i]) + 'px' : parseFloat(mBorderRadius) + 'px'; - - if (w.config.legend.markers.customHTML) { - if (Array.isArray(w.config.legend.markers.customHTML)) { - if (w.config.legend.markers.customHTML[i]) { - elMarker.innerHTML = w.config.legend.markers.customHTML[i](); - } - } else { - elMarker.innerHTML = w.config.legend.markers.customHTML(); - } - } - - Graphics.setAttrs(elMarker, { - rel: i + 1, - 'data:collapsed': collapsedSeries || ancillaryCollapsedSeries - }); - - if (collapsedSeries || ancillaryCollapsedSeries) { - elMarker.classList.add('apexcharts-inactive-legend'); - } - - var elLegend = document.createElement('div'); - var elLegendText = document.createElement('span'); - elLegendText.classList.add('apexcharts-legend-text'); - elLegendText.innerHTML = Array.isArray(text) ? text.join(' ') : text; - var textColor = w.config.legend.labels.useSeriesColors ? w.globals.colors[i] : w.config.legend.labels.colors; - - if (!textColor) { - textColor = w.config.chart.foreColor; - } - - elLegendText.style.color = textColor; - elLegendText.style.fontSize = parseFloat(w.config.legend.fontSize) + 'px'; - elLegendText.style.fontWeight = w.config.legend.fontWeight; - elLegendText.style.fontFamily = fontFamily || w.config.chart.fontFamily; - Graphics.setAttrs(elLegendText, { - rel: i + 1, - i: i, - 'data:default-text': encodeURIComponent(text), - 'data:collapsed': collapsedSeries || ancillaryCollapsedSeries - }); - elLegend.appendChild(elMarker); - elLegend.appendChild(elLegendText); - var coreUtils = new CoreUtils(this.ctx); - - if (!w.config.legend.showForZeroSeries) { - var total = coreUtils.getSeriesTotalByIndex(i); - - if (total === 0 && coreUtils.seriesHaveSameValues(i) && !coreUtils.isSeriesNull(i) && w.globals.collapsedSeriesIndices.indexOf(i) === -1 && w.globals.ancillaryCollapsedSeriesIndices.indexOf(i) === -1) { - elLegend.classList.add('apexcharts-hidden-zero-series'); - } - } - - if (!w.config.legend.showForNullSeries) { - if (coreUtils.isSeriesNull(i) && w.globals.collapsedSeriesIndices.indexOf(i) === -1 && w.globals.ancillaryCollapsedSeriesIndices.indexOf(i) === -1) { - elLegend.classList.add('apexcharts-hidden-null-series'); - } - } - - w.globals.dom.elLegendWrap.appendChild(elLegend); - w.globals.dom.elLegendWrap.classList.add("apexcharts-align-".concat(w.config.legend.horizontalAlign)); - w.globals.dom.elLegendWrap.classList.add('apx-legend-position-' + w.config.legend.position); - elLegend.classList.add('apexcharts-legend-series'); - elLegend.style.margin = "".concat(w.config.legend.itemMargin.vertical, "px ").concat(w.config.legend.itemMargin.horizontal, "px"); - w.globals.dom.elLegendWrap.style.width = w.config.legend.width ? w.config.legend.width + 'px' : ''; - w.globals.dom.elLegendWrap.style.height = w.config.legend.height ? w.config.legend.height + 'px' : ''; - Graphics.setAttrs(elLegend, { - rel: i + 1, - seriesName: Utils$1.escapeString(legendNames[i]), - 'data:collapsed': collapsedSeries || ancillaryCollapsedSeries - }); - - if (collapsedSeries || ancillaryCollapsedSeries) { - elLegend.classList.add('apexcharts-inactive-legend'); - } - - if (!w.config.legend.onItemClick.toggleDataSeries) { - elLegend.classList.add('apexcharts-no-click'); - } - } - - w.globals.dom.elWrap.addEventListener('click', me.onLegendClick, true); - - if (w.config.legend.onItemHover.highlightDataSeries && w.config.legend.customLegendItems.length === 0) { - w.globals.dom.elWrap.addEventListener('mousemove', me.onLegendHovered, true); - w.globals.dom.elWrap.addEventListener('mouseout', me.onLegendHovered, true); - } - } - }, { - key: "setLegendWrapXY", - value: function setLegendWrapXY(offsetX, offsetY) { - var w = this.w; - var elLegendWrap = w.globals.dom.baseEl.querySelector('.apexcharts-legend'); - var legendRect = elLegendWrap.getBoundingClientRect(); - var x = 0; - var y = 0; - - if (w.config.legend.position === 'bottom') { - y = y + (w.globals.svgHeight - legendRect.height / 2); - } else if (w.config.legend.position === 'top') { - var dim = new Dimensions(this.ctx); - var titleH = dim.dimHelpers.getTitleSubtitleCoords('title').height; - var subtitleH = dim.dimHelpers.getTitleSubtitleCoords('subtitle').height; - y = y + (titleH > 0 ? titleH - 10 : 0) + (subtitleH > 0 ? subtitleH - 10 : 0); - } - - elLegendWrap.style.position = 'absolute'; - x = x + offsetX + w.config.legend.offsetX; - y = y + offsetY + w.config.legend.offsetY; - elLegendWrap.style.left = x + 'px'; - elLegendWrap.style.top = y + 'px'; - - if (w.config.legend.position === 'bottom') { - elLegendWrap.style.top = 'auto'; - elLegendWrap.style.bottom = 5 - w.config.legend.offsetY + 'px'; - } else if (w.config.legend.position === 'right') { - elLegendWrap.style.left = 'auto'; - elLegendWrap.style.right = 25 + w.config.legend.offsetX + 'px'; - } - - var fixedHeigthWidth = ['width', 'height']; - fixedHeigthWidth.forEach(function (hw) { - if (elLegendWrap.style[hw]) { - elLegendWrap.style[hw] = parseInt(w.config.legend[hw], 10) + 'px'; - } - }); - } - }, { - key: "legendAlignHorizontal", - value: function legendAlignHorizontal() { - var w = this.w; - var elLegendWrap = w.globals.dom.baseEl.querySelector('.apexcharts-legend'); - elLegendWrap.style.right = 0; - var lRect = this.legendHelpers.getLegendBBox(); - var dimensions = new Dimensions(this.ctx); - var titleRect = dimensions.dimHelpers.getTitleSubtitleCoords('title'); - var subtitleRect = dimensions.dimHelpers.getTitleSubtitleCoords('subtitle'); - var offsetX = 20; - var offsetY = 0; // the whole legend box is set to bottom - - if (w.config.legend.position === 'bottom') { - offsetY = -lRect.clwh / 1.8; - } else if (w.config.legend.position === 'top') { - offsetY = titleRect.height + subtitleRect.height + w.config.title.margin + w.config.subtitle.margin - 10; - } - - this.setLegendWrapXY(offsetX, offsetY); - } - }, { - key: "legendAlignVertical", - value: function legendAlignVertical() { - var w = this.w; - var lRect = this.legendHelpers.getLegendBBox(); - var offsetY = 20; - var offsetX = 0; - - if (w.config.legend.position === 'left') { - offsetX = 20; - } - - if (w.config.legend.position === 'right') { - offsetX = w.globals.svgWidth - lRect.clww - 10; - } - - this.setLegendWrapXY(offsetX, offsetY); - } - }, { - key: "onLegendHovered", - value: function onLegendHovered(e) { - var w = this.w; - var hoverOverLegend = e.target.classList.contains('apexcharts-legend-text') || e.target.classList.contains('apexcharts-legend-marker'); - - if (w.config.chart.type !== 'heatmap' && !this.isBarsDistributed) { - if (!e.target.classList.contains('apexcharts-inactive-legend') && hoverOverLegend) { - var series = new Series(this.ctx); - series.toggleSeriesOnHover(e, e.target); - } - } else { - // for heatmap handling - if (hoverOverLegend) { - var seriesCnt = parseInt(e.target.getAttribute('rel'), 10) - 1; - this.ctx.events.fireEvent('legendHover', [this.ctx, seriesCnt, this.w]); - - var _series = new Series(this.ctx); - - _series.highlightRangeInSeries(e, e.target); - } - } - } - }, { - key: "onLegendClick", - value: function onLegendClick(e) { - var w = this.w; - if (w.config.legend.customLegendItems.length) return; - - if (e.target.classList.contains('apexcharts-legend-text') || e.target.classList.contains('apexcharts-legend-marker')) { - var seriesCnt = parseInt(e.target.getAttribute('rel'), 10) - 1; - var isHidden = e.target.getAttribute('data:collapsed') === 'true'; - var legendClick = this.w.config.chart.events.legendClick; - - if (typeof legendClick === 'function') { - legendClick(this.ctx, seriesCnt, this.w); - } - - this.ctx.events.fireEvent('legendClick', [this.ctx, seriesCnt, this.w]); - var markerClick = this.w.config.legend.markers.onClick; - - if (typeof markerClick === 'function' && e.target.classList.contains('apexcharts-legend-marker')) { - markerClick(this.ctx, seriesCnt, this.w); - this.ctx.events.fireEvent('legendMarkerClick', [this.ctx, seriesCnt, this.w]); - } // for now - just prevent click on heatmap legend - and allow hover only - - - var clickAllowed = w.config.chart.type !== 'treemap' && w.config.chart.type !== 'heatmap' && !this.isBarsDistributed; - - if (clickAllowed && w.config.legend.onItemClick.toggleDataSeries) { - this.legendHelpers.toggleDataSeries(seriesCnt, isHidden); - } - } - } - }]); - - return Legend; - }(); - - var icoPan = "\n \n \n \n \n \n \n \n"; - - var icoZoom = "\n \n \n \n"; - - var icoReset = "\n \n \n"; - - var icoZoomIn = "\n \n \n\n"; - - var icoZoomOut = "\n \n \n\n"; - - var icoSelect = "\n \n \n"; - - var icoMenu = ""; - - /** - * ApexCharts Toolbar Class for creating toolbar in axis based charts. - * - * @module Toolbar - **/ - - var Toolbar = /*#__PURE__*/function () { - function Toolbar(ctx) { - _classCallCheck(this, Toolbar); - - this.ctx = ctx; - this.w = ctx.w; - var w = this.w; - this.ev = this.w.config.chart.events; - this.selectedClass = 'apexcharts-selected'; - this.localeValues = this.w.globals.locale.toolbar; - this.minX = w.globals.minX; - this.maxX = w.globals.maxX; - } - - _createClass(Toolbar, [{ - key: "createToolbar", - value: function createToolbar() { - var _this = this; - - var w = this.w; - - var createDiv = function createDiv() { - return document.createElement('div'); - }; - - var elToolbarWrap = createDiv(); - elToolbarWrap.setAttribute('class', 'apexcharts-toolbar'); - elToolbarWrap.style.top = w.config.chart.toolbar.offsetY + 'px'; - elToolbarWrap.style.right = -w.config.chart.toolbar.offsetX + 3 + 'px'; - w.globals.dom.elWrap.appendChild(elToolbarWrap); - this.elZoom = createDiv(); - this.elZoomIn = createDiv(); - this.elZoomOut = createDiv(); - this.elPan = createDiv(); - this.elSelection = createDiv(); - this.elZoomReset = createDiv(); - this.elMenuIcon = createDiv(); - this.elMenu = createDiv(); - this.elCustomIcons = []; - this.t = w.config.chart.toolbar.tools; - - if (Array.isArray(this.t.customIcons)) { - for (var i = 0; i < this.t.customIcons.length; i++) { - this.elCustomIcons.push(createDiv()); - } - } - - var toolbarControls = []; - - var appendZoomControl = function appendZoomControl(type, el, ico) { - var tool = type.toLowerCase(); - - if (_this.t[tool] && w.config.chart.zoom.enabled) { - toolbarControls.push({ - el: el, - icon: typeof _this.t[tool] === 'string' ? _this.t[tool] : ico, - title: _this.localeValues[type], - class: "apexcharts-".concat(tool, "-icon") - }); - } - }; - - appendZoomControl('zoomIn', this.elZoomIn, icoZoomIn); - appendZoomControl('zoomOut', this.elZoomOut, icoZoomOut); - - var zoomSelectionCtrls = function zoomSelectionCtrls(z) { - if (_this.t[z] && w.config.chart[z].enabled) { - toolbarControls.push({ - el: z === 'zoom' ? _this.elZoom : _this.elSelection, - icon: typeof _this.t[z] === 'string' ? _this.t[z] : z === 'zoom' ? icoZoom : icoSelect, - title: _this.localeValues[z === 'zoom' ? 'selectionZoom' : 'selection'], - class: w.globals.isTouchDevice ? 'apexcharts-element-hidden' : "apexcharts-".concat(z, "-icon") - }); - } - }; - - zoomSelectionCtrls('zoom'); - zoomSelectionCtrls('selection'); - - if (this.t.pan && w.config.chart.zoom.enabled) { - toolbarControls.push({ - el: this.elPan, - icon: typeof this.t.pan === 'string' ? this.t.pan : icoPan, - title: this.localeValues.pan, - class: w.globals.isTouchDevice ? 'apexcharts-element-hidden' : 'apexcharts-pan-icon' - }); - } - - appendZoomControl('reset', this.elZoomReset, icoReset); - - if (this.t.download) { - toolbarControls.push({ - el: this.elMenuIcon, - icon: typeof this.t.download === 'string' ? this.t.download : icoMenu, - title: this.localeValues.menu, - class: 'apexcharts-menu-icon' - }); - } - - for (var _i = 0; _i < this.elCustomIcons.length; _i++) { - toolbarControls.push({ - el: this.elCustomIcons[_i], - icon: this.t.customIcons[_i].icon, - title: this.t.customIcons[_i].title, - index: this.t.customIcons[_i].index, - class: 'apexcharts-toolbar-custom-icon ' + this.t.customIcons[_i].class - }); - } - - toolbarControls.forEach(function (t, index) { - if (t.index) { - Utils$1.moveIndexInArray(toolbarControls, index, t.index); - } - }); - - for (var _i2 = 0; _i2 < toolbarControls.length; _i2++) { - Graphics.setAttrs(toolbarControls[_i2].el, { - class: toolbarControls[_i2].class, - title: toolbarControls[_i2].title - }); - toolbarControls[_i2].el.innerHTML = toolbarControls[_i2].icon; - elToolbarWrap.appendChild(toolbarControls[_i2].el); - } - - this._createHamburgerMenu(elToolbarWrap); - - if (w.globals.zoomEnabled) { - this.elZoom.classList.add(this.selectedClass); - } else if (w.globals.panEnabled) { - this.elPan.classList.add(this.selectedClass); - } else if (w.globals.selectionEnabled) { - this.elSelection.classList.add(this.selectedClass); - } - - this.addToolbarEventListeners(); - } - }, { - key: "_createHamburgerMenu", - value: function _createHamburgerMenu(parent) { - this.elMenuItems = []; - parent.appendChild(this.elMenu); - Graphics.setAttrs(this.elMenu, { - class: 'apexcharts-menu' - }); - var menuItems = [{ - name: 'exportSVG', - title: this.localeValues.exportToSVG - }, { - name: 'exportPNG', - title: this.localeValues.exportToPNG - }, { - name: 'exportCSV', - title: this.localeValues.exportToCSV - }]; - - if (!this.w.globals.allSeriesHasEqualX) { - // if it is a multi series, and all series have variable x values, export CSV won't work - menuItems.splice(2, 1); - } - - for (var i = 0; i < menuItems.length; i++) { - this.elMenuItems.push(document.createElement('div')); - this.elMenuItems[i].innerHTML = menuItems[i].title; - Graphics.setAttrs(this.elMenuItems[i], { - class: "apexcharts-menu-item ".concat(menuItems[i].name), - title: menuItems[i].title - }); - this.elMenu.appendChild(this.elMenuItems[i]); - } - } - }, { - key: "addToolbarEventListeners", - value: function addToolbarEventListeners() { - var _this2 = this; - - this.elZoomReset.addEventListener('click', this.handleZoomReset.bind(this)); - this.elSelection.addEventListener('click', this.toggleZoomSelection.bind(this, 'selection')); - this.elZoom.addEventListener('click', this.toggleZoomSelection.bind(this, 'zoom')); - this.elZoomIn.addEventListener('click', this.handleZoomIn.bind(this)); - this.elZoomOut.addEventListener('click', this.handleZoomOut.bind(this)); - this.elPan.addEventListener('click', this.togglePanning.bind(this)); - this.elMenuIcon.addEventListener('click', this.toggleMenu.bind(this)); - this.elMenuItems.forEach(function (m) { - if (m.classList.contains('exportSVG')) { - m.addEventListener('click', _this2.handleDownload.bind(_this2, 'svg')); - } else if (m.classList.contains('exportPNG')) { - m.addEventListener('click', _this2.handleDownload.bind(_this2, 'png')); - } else if (m.classList.contains('exportCSV')) { - m.addEventListener('click', _this2.handleDownload.bind(_this2, 'csv')); - } - }); - - for (var i = 0; i < this.t.customIcons.length; i++) { - this.elCustomIcons[i].addEventListener('click', this.t.customIcons[i].click.bind(this, this.ctx, this.ctx.w)); - } - } - }, { - key: "toggleZoomSelection", - value: function toggleZoomSelection(type) { - var charts = this.ctx.getSyncedCharts(); - charts.forEach(function (ch) { - ch.ctx.toolbar.toggleOtherControls(); - var el = type === 'selection' ? ch.ctx.toolbar.elSelection : ch.ctx.toolbar.elZoom; - var enabledType = type === 'selection' ? 'selectionEnabled' : 'zoomEnabled'; - ch.w.globals[enabledType] = !ch.w.globals[enabledType]; - - if (!el.classList.contains(ch.ctx.toolbar.selectedClass)) { - el.classList.add(ch.ctx.toolbar.selectedClass); - } else { - el.classList.remove(ch.ctx.toolbar.selectedClass); - } - }); - } - }, { - key: "getToolbarIconsReference", - value: function getToolbarIconsReference() { - var w = this.w; - - if (!this.elZoom) { - this.elZoom = w.globals.dom.baseEl.querySelector('.apexcharts-zoom-icon'); - } - - if (!this.elPan) { - this.elPan = w.globals.dom.baseEl.querySelector('.apexcharts-pan-icon'); - } - - if (!this.elSelection) { - this.elSelection = w.globals.dom.baseEl.querySelector('.apexcharts-selection-icon'); - } - } - }, { - key: "enableZoomPanFromToolbar", - value: function enableZoomPanFromToolbar(type) { - this.toggleOtherControls(); - type === 'pan' ? this.w.globals.panEnabled = true : this.w.globals.zoomEnabled = true; - var el = type === 'pan' ? this.elPan : this.elZoom; - var el2 = type === 'pan' ? this.elZoom : this.elPan; - - if (el) { - el.classList.add(this.selectedClass); - } - - if (el2) { - el2.classList.remove(this.selectedClass); - } - } - }, { - key: "togglePanning", - value: function togglePanning() { - var charts = this.ctx.getSyncedCharts(); - charts.forEach(function (ch) { - ch.ctx.toolbar.toggleOtherControls(); - ch.w.globals.panEnabled = !ch.w.globals.panEnabled; - - if (!ch.ctx.toolbar.elPan.classList.contains(ch.ctx.toolbar.selectedClass)) { - ch.ctx.toolbar.elPan.classList.add(ch.ctx.toolbar.selectedClass); - } else { - ch.ctx.toolbar.elPan.classList.remove(ch.ctx.toolbar.selectedClass); - } - }); - } - }, { - key: "toggleOtherControls", - value: function toggleOtherControls() { - var _this3 = this; - - var w = this.w; - w.globals.panEnabled = false; - w.globals.zoomEnabled = false; - w.globals.selectionEnabled = false; - this.getToolbarIconsReference(); - var toggleEls = [this.elPan, this.elSelection, this.elZoom]; - toggleEls.forEach(function (el) { - if (el) { - el.classList.remove(_this3.selectedClass); - } - }); - } - }, { - key: "handleZoomIn", - value: function handleZoomIn() { - var w = this.w; - - if (w.globals.isRangeBar) { - this.minX = w.globals.minY; - this.maxX = w.globals.maxY; - } - - var centerX = (this.minX + this.maxX) / 2; - var newMinX = (this.minX + centerX) / 2; - var newMaxX = (this.maxX + centerX) / 2; - - var newMinXMaxX = this._getNewMinXMaxX(newMinX, newMaxX); - - if (!w.globals.disableZoomIn) { - this.zoomUpdateOptions(newMinXMaxX.minX, newMinXMaxX.maxX); - } - } - }, { - key: "handleZoomOut", - value: function handleZoomOut() { - var w = this.w; - - if (w.globals.isRangeBar) { - this.minX = w.globals.minY; - this.maxX = w.globals.maxY; - } // avoid zooming out beyond 1000 which may result in NaN values being printed on x-axis - - - if (w.config.xaxis.type === 'datetime' && new Date(this.minX).getUTCFullYear() < 1000) { - return; - } - - var centerX = (this.minX + this.maxX) / 2; - var newMinX = this.minX - (centerX - this.minX); - var newMaxX = this.maxX - (centerX - this.maxX); - - var newMinXMaxX = this._getNewMinXMaxX(newMinX, newMaxX); - - if (!w.globals.disableZoomOut) { - this.zoomUpdateOptions(newMinXMaxX.minX, newMinXMaxX.maxX); - } - } - }, { - key: "_getNewMinXMaxX", - value: function _getNewMinXMaxX(newMinX, newMaxX) { - var shouldFloor = this.w.config.xaxis.convertedCatToNumeric; - return { - minX: shouldFloor ? Math.floor(newMinX) : newMinX, - maxX: shouldFloor ? Math.floor(newMaxX) : newMaxX - }; - } - }, { - key: "zoomUpdateOptions", - value: function zoomUpdateOptions(newMinX, newMaxX) { - var w = this.w; - - if (newMinX === undefined && newMaxX === undefined) { - this.handleZoomReset(); - return; - } - - if (w.config.xaxis.convertedCatToNumeric) { - // in category charts, avoid zooming out beyond min and max - if (newMinX < 1) { - newMinX = 1; - newMaxX = w.globals.dataPoints; - } - - if (newMaxX - newMinX < 2) { - return; - } - } - - var xaxis = { - min: newMinX, - max: newMaxX - }; - var beforeZoomRange = this.getBeforeZoomRange(xaxis); - - if (beforeZoomRange) { - xaxis = beforeZoomRange.xaxis; - } - - var options = { - xaxis: xaxis - }; - var yaxis = Utils$1.clone(w.globals.initialConfig.yaxis); - - if (w.config.chart.zoom.autoScaleYaxis) { - var scale = new Range$1(this.ctx); - yaxis = scale.autoScaleY(this.ctx, yaxis, { - xaxis: xaxis - }); - } - - if (!w.config.chart.group) { - // if chart in a group, prevent yaxis update here - // fix issue #650 - options.yaxis = yaxis; - } - - this.w.globals.zoomed = true; - - this.ctx.updateHelpers._updateOptions(options, false, this.w.config.chart.animations.dynamicAnimation.enabled); - - this.zoomCallback(xaxis, yaxis); - } - }, { - key: "zoomCallback", - value: function zoomCallback(xaxis, yaxis) { - if (typeof this.ev.zoomed === 'function') { - this.ev.zoomed(this.ctx, { - xaxis: xaxis, - yaxis: yaxis - }); - } - } - }, { - key: "getBeforeZoomRange", - value: function getBeforeZoomRange(xaxis, yaxis) { - var newRange = null; - - if (typeof this.ev.beforeZoom === 'function') { - newRange = this.ev.beforeZoom(this, { - xaxis: xaxis, - yaxis: yaxis - }); - } - - return newRange; - } - }, { - key: "toggleMenu", - value: function toggleMenu() { - var _this4 = this; - - window.setTimeout(function () { - if (_this4.elMenu.classList.contains('apexcharts-menu-open')) { - _this4.elMenu.classList.remove('apexcharts-menu-open'); - } else { - _this4.elMenu.classList.add('apexcharts-menu-open'); - } - }, 0); - } - }, { - key: "handleDownload", - value: function handleDownload(type) { - var w = this.w; - var exprt = new Exports(this.ctx); - - switch (type) { - case 'svg': - exprt.exportToSVG(this.ctx); - break; - - case 'png': - exprt.exportToPng(this.ctx); - break; - - case 'csv': - exprt.exportToCSV({ - series: w.config.series, - columnDelimiter: w.config.chart.toolbar.export.csv.columnDelimiter - }); - break; - } - } - }, { - key: "handleZoomReset", - value: function handleZoomReset(e) { - var charts = this.ctx.getSyncedCharts(); - charts.forEach(function (ch) { - var w = ch.w; // forget lastXAxis min/max as reset button isn't resetting the x-axis completely if zoomX is called before - - w.globals.lastXAxis.min = undefined; - w.globals.lastXAxis.max = undefined; - ch.updateHelpers.revertDefaultAxisMinMax(); - - if (typeof w.config.chart.events.beforeResetZoom === 'function') { - // here, user get an option to control xaxis and yaxis when resetZoom is called - // at this point, whatever is returned from w.config.chart.events.beforeResetZoom - // is set as the new xaxis/yaxis min/max - var resetZoomRange = w.config.chart.events.beforeResetZoom(ch, w); - - if (resetZoomRange) { - ch.updateHelpers.revertDefaultAxisMinMax(resetZoomRange); - } - } - - if (typeof w.config.chart.events.zoomed === 'function') { - ch.ctx.toolbar.zoomCallback({ - min: w.config.xaxis.min, - max: w.config.xaxis.max - }); - } - - w.globals.zoomed = false; // if user has some series collapsed before hitting zoom reset button, - // those series should stay collapsed - - var series = ch.ctx.series.emptyCollapsedSeries(Utils$1.clone(w.globals.initialSeries)); - - ch.updateHelpers._updateSeries(series, w.config.chart.animations.dynamicAnimation.enabled); - }); - } - }, { - key: "destroy", - value: function destroy() { - this.elZoom = null; - this.elZoomIn = null; - this.elZoomOut = null; - this.elPan = null; - this.elSelection = null; - this.elZoomReset = null; - this.elMenuIcon = null; - } - }]); - - return Toolbar; - }(); - - /** - * ApexCharts Zoom Class for handling zooming and panning on axes based charts. - * - * @module ZoomPanSelection - **/ - - var ZoomPanSelection = /*#__PURE__*/function (_Toolbar) { - _inherits(ZoomPanSelection, _Toolbar); - - var _super = _createSuper(ZoomPanSelection); - - function ZoomPanSelection(ctx) { - var _this; - - _classCallCheck(this, ZoomPanSelection); - - _this = _super.call(this, ctx); - _this.ctx = ctx; - _this.w = ctx.w; - _this.dragged = false; - _this.graphics = new Graphics(_this.ctx); - _this.eventList = ['mousedown', 'mouseleave', 'mousemove', 'touchstart', 'touchmove', 'mouseup', 'touchend']; - _this.clientX = 0; - _this.clientY = 0; - _this.startX = 0; - _this.endX = 0; - _this.dragX = 0; - _this.startY = 0; - _this.endY = 0; - _this.dragY = 0; - _this.moveDirection = 'none'; - return _this; - } - - _createClass(ZoomPanSelection, [{ - key: "init", - value: function init(_ref) { - var _this2 = this; - - var xyRatios = _ref.xyRatios; - var w = this.w; - var me = this; - this.xyRatios = xyRatios; - this.zoomRect = this.graphics.drawRect(0, 0, 0, 0); - this.selectionRect = this.graphics.drawRect(0, 0, 0, 0); - this.gridRect = w.globals.dom.baseEl.querySelector('.apexcharts-grid'); - this.zoomRect.node.classList.add('apexcharts-zoom-rect'); - this.selectionRect.node.classList.add('apexcharts-selection-rect'); - w.globals.dom.elGraphical.add(this.zoomRect); - w.globals.dom.elGraphical.add(this.selectionRect); - - if (w.config.chart.selection.type === 'x') { - this.slDraggableRect = this.selectionRect.draggable({ - minX: 0, - minY: 0, - maxX: w.globals.gridWidth, - maxY: w.globals.gridHeight - }).on('dragmove', this.selectionDragging.bind(this, 'dragging')); - } else if (w.config.chart.selection.type === 'y') { - this.slDraggableRect = this.selectionRect.draggable({ - minX: 0, - maxX: w.globals.gridWidth - }).on('dragmove', this.selectionDragging.bind(this, 'dragging')); - } else { - this.slDraggableRect = this.selectionRect.draggable().on('dragmove', this.selectionDragging.bind(this, 'dragging')); - } - - this.preselectedSelection(); - this.hoverArea = w.globals.dom.baseEl.querySelector("".concat(w.globals.chartClass, " .apexcharts-svg")); - this.hoverArea.classList.add('apexcharts-zoomable'); - this.eventList.forEach(function (event) { - _this2.hoverArea.addEventListener(event, me.svgMouseEvents.bind(me, xyRatios), { - capture: false, - passive: true - }); - }); - } // remove the event listeners which were previously added on hover area - - }, { - key: "destroy", - value: function destroy() { - if (this.slDraggableRect) { - this.slDraggableRect.draggable(false); - this.slDraggableRect.off(); - this.selectionRect.off(); - } - - this.selectionRect = null; - this.zoomRect = null; - this.gridRect = null; - } - }, { - key: "svgMouseEvents", - value: function svgMouseEvents(xyRatios, e) { - var w = this.w; - var me = this; - var toolbar = this.ctx.toolbar; - var zoomtype = w.globals.zoomEnabled ? w.config.chart.zoom.type : w.config.chart.selection.type; - var autoSelected = w.config.chart.toolbar.autoSelected; - - if (e.shiftKey) { - this.shiftWasPressed = true; - toolbar.enableZoomPanFromToolbar(autoSelected === 'pan' ? 'zoom' : 'pan'); - } else { - if (this.shiftWasPressed) { - toolbar.enableZoomPanFromToolbar(autoSelected); - this.shiftWasPressed = false; - } - } - - if (!e.target) return; - var tc = e.target.classList; - var pc; - - if (e.target.parentNode && e.target.parentNode !== null) { - pc = e.target.parentNode.classList; - } - - var falsePositives = tc.contains('apexcharts-selection-rect') || tc.contains('apexcharts-legend-marker') || tc.contains('apexcharts-legend-text') || pc && pc.contains('apexcharts-toolbar'); - if (falsePositives) return; - me.clientX = e.type === 'touchmove' || e.type === 'touchstart' ? e.touches[0].clientX : e.type === 'touchend' ? e.changedTouches[0].clientX : e.clientX; - me.clientY = e.type === 'touchmove' || e.type === 'touchstart' ? e.touches[0].clientY : e.type === 'touchend' ? e.changedTouches[0].clientY : e.clientY; - - if (e.type === 'mousedown' && e.which === 1) { - var gridRectDim = me.gridRect.getBoundingClientRect(); - me.startX = me.clientX - gridRectDim.left; - me.startY = me.clientY - gridRectDim.top; - me.dragged = false; - me.w.globals.mousedown = true; - } - - if (e.type === 'mousemove' && e.which === 1 || e.type === 'touchmove') { - me.dragged = true; - - if (w.globals.panEnabled) { - w.globals.selection = null; - - if (me.w.globals.mousedown) { - me.panDragging({ - context: me, - zoomtype: zoomtype, - xyRatios: xyRatios - }); - } - } else { - if (me.w.globals.mousedown && w.globals.zoomEnabled || me.w.globals.mousedown && w.globals.selectionEnabled) { - me.selection = me.selectionDrawing({ - context: me, - zoomtype: zoomtype - }); - } - } - } - - if (e.type === 'mouseup' || e.type === 'touchend' || e.type === 'mouseleave') { - // we will be calling getBoundingClientRect on each mousedown/mousemove/mouseup - var _gridRectDim = me.gridRect.getBoundingClientRect(); - - if (me.w.globals.mousedown) { - // user released the drag, now do all the calculations - me.endX = me.clientX - _gridRectDim.left; - me.endY = me.clientY - _gridRectDim.top; - me.dragX = Math.abs(me.endX - me.startX); - me.dragY = Math.abs(me.endY - me.startY); - - if (w.globals.zoomEnabled || w.globals.selectionEnabled) { - me.selectionDrawn({ - context: me, - zoomtype: zoomtype - }); - } - - if (w.globals.panEnabled && w.config.xaxis.convertedCatToNumeric) { - me.delayedPanScrolled(); - } - } - - if (w.globals.zoomEnabled) { - me.hideSelectionRect(this.selectionRect); - } - - me.dragged = false; - me.w.globals.mousedown = false; - } - - this.makeSelectionRectDraggable(); - } - }, { - key: "makeSelectionRectDraggable", - value: function makeSelectionRectDraggable() { - var w = this.w; - if (!this.selectionRect) return; - var rectDim = this.selectionRect.node.getBoundingClientRect(); - - if (rectDim.width > 0 && rectDim.height > 0) { - this.slDraggableRect.selectize({ - points: 'l, r', - pointSize: 8, - pointType: 'rect' - }).resize({ - constraint: { - minX: 0, - minY: 0, - maxX: w.globals.gridWidth, - maxY: w.globals.gridHeight - } - }).on('resizing', this.selectionDragging.bind(this, 'resizing')); - } - } - }, { - key: "preselectedSelection", - value: function preselectedSelection() { - var w = this.w; - var xyRatios = this.xyRatios; - - if (!w.globals.zoomEnabled) { - if (typeof w.globals.selection !== 'undefined' && w.globals.selection !== null) { - this.drawSelectionRect(w.globals.selection); - } else { - if (w.config.chart.selection.xaxis.min !== undefined && w.config.chart.selection.xaxis.max !== undefined) { - var x = (w.config.chart.selection.xaxis.min - w.globals.minX) / xyRatios.xRatio; - var width = w.globals.gridWidth - (w.globals.maxX - w.config.chart.selection.xaxis.max) / xyRatios.xRatio - x; - var selectionRect = { - x: x, - y: 0, - width: width, - height: w.globals.gridHeight, - translateX: 0, - translateY: 0, - selectionEnabled: true - }; - this.drawSelectionRect(selectionRect); - this.makeSelectionRectDraggable(); - - if (typeof w.config.chart.events.selection === 'function') { - w.config.chart.events.selection(this.ctx, { - xaxis: { - min: w.config.chart.selection.xaxis.min, - max: w.config.chart.selection.xaxis.max - }, - yaxis: {} - }); - } - } - } - } - } - }, { - key: "drawSelectionRect", - value: function drawSelectionRect(_ref2) { - var x = _ref2.x, - y = _ref2.y, - width = _ref2.width, - height = _ref2.height, - _ref2$translateX = _ref2.translateX, - translateX = _ref2$translateX === void 0 ? 0 : _ref2$translateX, - _ref2$translateY = _ref2.translateY, - translateY = _ref2$translateY === void 0 ? 0 : _ref2$translateY; - var w = this.w; - var zoomRect = this.zoomRect; - var selectionRect = this.selectionRect; - - if (this.dragged || w.globals.selection !== null) { - var scalingAttrs = { - transform: 'translate(' + translateX + ', ' + translateY + ')' - }; // change styles based on zoom or selection - // zoom is Enabled and user has dragged, so draw blue rect - - if (w.globals.zoomEnabled && this.dragged) { - if (width < 0) width = 1; // fixes apexcharts.js#1168 - - zoomRect.attr({ - x: x, - y: y, - width: width, - height: height, - fill: w.config.chart.zoom.zoomedArea.fill.color, - 'fill-opacity': w.config.chart.zoom.zoomedArea.fill.opacity, - stroke: w.config.chart.zoom.zoomedArea.stroke.color, - 'stroke-width': w.config.chart.zoom.zoomedArea.stroke.width, - 'stroke-opacity': w.config.chart.zoom.zoomedArea.stroke.opacity - }); - Graphics.setAttrs(zoomRect.node, scalingAttrs); - } // selection is enabled - - - if (w.globals.selectionEnabled) { - selectionRect.attr({ - x: x, - y: y, - width: width > 0 ? width : 0, - height: height > 0 ? height : 0, - fill: w.config.chart.selection.fill.color, - 'fill-opacity': w.config.chart.selection.fill.opacity, - stroke: w.config.chart.selection.stroke.color, - 'stroke-width': w.config.chart.selection.stroke.width, - 'stroke-dasharray': w.config.chart.selection.stroke.dashArray, - 'stroke-opacity': w.config.chart.selection.stroke.opacity - }); - Graphics.setAttrs(selectionRect.node, scalingAttrs); - } - } - } - }, { - key: "hideSelectionRect", - value: function hideSelectionRect(rect) { - if (rect) { - rect.attr({ - x: 0, - y: 0, - width: 0, - height: 0 - }); - } - } - }, { - key: "selectionDrawing", - value: function selectionDrawing(_ref3) { - var context = _ref3.context, - zoomtype = _ref3.zoomtype; - var w = this.w; - var me = context; - var gridRectDim = this.gridRect.getBoundingClientRect(); - var startX = me.startX - 1; - var startY = me.startY; - var inversedX = false; - var inversedY = false; - var selectionWidth = me.clientX - gridRectDim.left - startX; - var selectionHeight = me.clientY - gridRectDim.top - startY; - var selectionRect = {}; - - if (Math.abs(selectionWidth + startX) > w.globals.gridWidth) { - // user dragged the mouse outside drawing area to the right - selectionWidth = w.globals.gridWidth - startX; - } else if (me.clientX - gridRectDim.left < 0) { - // user dragged the mouse outside drawing area to the left - selectionWidth = startX; - } // inverse selection X - - - if (startX > me.clientX - gridRectDim.left) { - inversedX = true; - selectionWidth = Math.abs(selectionWidth); - } // inverse selection Y - - - if (startY > me.clientY - gridRectDim.top) { - inversedY = true; - selectionHeight = Math.abs(selectionHeight); - } - - if (zoomtype === 'x') { - selectionRect = { - x: inversedX ? startX - selectionWidth : startX, - y: 0, - width: selectionWidth, - height: w.globals.gridHeight - }; - } else if (zoomtype === 'y') { - selectionRect = { - x: 0, - y: inversedY ? startY - selectionHeight : startY, - width: w.globals.gridWidth, - height: selectionHeight - }; - } else { - selectionRect = { - x: inversedX ? startX - selectionWidth : startX, - y: inversedY ? startY - selectionHeight : startY, - width: selectionWidth, - height: selectionHeight - }; - } - - me.drawSelectionRect(selectionRect); - me.selectionDragging('resizing'); - return selectionRect; - } - }, { - key: "selectionDragging", - value: function selectionDragging(type, e) { - var _this3 = this; - - var w = this.w; - var xyRatios = this.xyRatios; - var selRect = this.selectionRect; - var timerInterval = 0; - - if (type === 'resizing') { - timerInterval = 30; - } // update selection when selection rect is dragged - - - var getSelAttr = function getSelAttr(attr) { - return parseFloat(selRect.node.getAttribute(attr)); - }; - - var draggedProps = { - x: getSelAttr('x'), - y: getSelAttr('y'), - width: getSelAttr('width'), - height: getSelAttr('height') - }; - w.globals.selection = draggedProps; // update selection ends - - if (typeof w.config.chart.events.selection === 'function' && w.globals.selectionEnabled) { - // a small debouncer is required when resizing to avoid freezing the chart - clearTimeout(this.w.globals.selectionResizeTimer); - this.w.globals.selectionResizeTimer = window.setTimeout(function () { - var gridRectDim = _this3.gridRect.getBoundingClientRect(); - - var selectionRect = selRect.node.getBoundingClientRect(); - var minX = w.globals.xAxisScale.niceMin + (selectionRect.left - gridRectDim.left) * xyRatios.xRatio; - var maxX = w.globals.xAxisScale.niceMin + (selectionRect.right - gridRectDim.left) * xyRatios.xRatio; - var minY = w.globals.yAxisScale[0].niceMin + (gridRectDim.bottom - selectionRect.bottom) * xyRatios.yRatio[0]; - var maxY = w.globals.yAxisScale[0].niceMax - (selectionRect.top - gridRectDim.top) * xyRatios.yRatio[0]; - var xyAxis = { - xaxis: { - min: minX, - max: maxX - }, - yaxis: { - min: minY, - max: maxY - } - }; - w.config.chart.events.selection(_this3.ctx, xyAxis); - - if (w.config.chart.brush.enabled && w.config.chart.events.brushScrolled !== undefined) { - w.config.chart.events.brushScrolled(_this3.ctx, xyAxis); - } - }, timerInterval); - } - } - }, { - key: "selectionDrawn", - value: function selectionDrawn(_ref4) { - var context = _ref4.context, - zoomtype = _ref4.zoomtype; - var w = this.w; - var me = context; - var xyRatios = this.xyRatios; - var toolbar = this.ctx.toolbar; - - if (me.startX > me.endX) { - var tempX = me.startX; - me.startX = me.endX; - me.endX = tempX; - } - - if (me.startY > me.endY) { - var tempY = me.startY; - me.startY = me.endY; - me.endY = tempY; - } - - var xLowestValue = undefined; - var xHighestValue = undefined; - - if (!w.globals.isRangeBar) { - xLowestValue = w.globals.xAxisScale.niceMin + me.startX * xyRatios.xRatio; - xHighestValue = w.globals.xAxisScale.niceMin + me.endX * xyRatios.xRatio; - } else { - xLowestValue = w.globals.yAxisScale[0].niceMin + me.startX * xyRatios.invertedYRatio; - xHighestValue = w.globals.yAxisScale[0].niceMin + me.endX * xyRatios.invertedYRatio; - } // TODO: we will consider the 1st y axis values here for getting highest and lowest y - - - var yHighestValue = []; - var yLowestValue = []; - w.config.yaxis.forEach(function (yaxe, index) { - yHighestValue.push(w.globals.yAxisScale[index].niceMax - xyRatios.yRatio[index] * me.startY); - yLowestValue.push(w.globals.yAxisScale[index].niceMax - xyRatios.yRatio[index] * me.endY); - }); - - if (me.dragged && (me.dragX > 10 || me.dragY > 10) && xLowestValue !== xHighestValue) { - if (w.globals.zoomEnabled) { - var yaxis = Utils$1.clone(w.globals.initialConfig.yaxis); - var xaxis = Utils$1.clone(w.globals.initialConfig.xaxis); - w.globals.zoomed = true; - - if (w.config.xaxis.convertedCatToNumeric) { - xLowestValue = Math.floor(xLowestValue); - xHighestValue = Math.floor(xHighestValue); - - if (xLowestValue < 1) { - xLowestValue = 1; - xHighestValue = w.globals.dataPoints; - } - - if (xHighestValue - xLowestValue < 2) { - xHighestValue = xLowestValue + 1; - } - } - - if (zoomtype === 'xy' || zoomtype === 'x') { - xaxis = { - min: xLowestValue, - max: xHighestValue - }; - } - - if (zoomtype === 'xy' || zoomtype === 'y') { - yaxis.forEach(function (yaxe, index) { - yaxis[index].min = yLowestValue[index]; - yaxis[index].max = yHighestValue[index]; - }); - } - - if (w.config.chart.zoom.autoScaleYaxis) { - var scale = new Range$1(me.ctx); - yaxis = scale.autoScaleY(me.ctx, yaxis, { - xaxis: xaxis - }); - } - - if (toolbar) { - var beforeZoomRange = toolbar.getBeforeZoomRange(xaxis, yaxis); - - if (beforeZoomRange) { - xaxis = beforeZoomRange.xaxis ? beforeZoomRange.xaxis : xaxis; - yaxis = beforeZoomRange.yaxis ? beforeZoomRange.yaxis : yaxis; - } - } - - var options = { - xaxis: xaxis - }; - - if (!w.config.chart.group) { - // if chart in a group, prevent yaxis update here - // fix issue #650 - options.yaxis = yaxis; - } - - me.ctx.updateHelpers._updateOptions(options, false, me.w.config.chart.animations.dynamicAnimation.enabled); - - if (typeof w.config.chart.events.zoomed === 'function') { - toolbar.zoomCallback(xaxis, yaxis); - } - } else if (w.globals.selectionEnabled) { - var _yaxis = null; - var _xaxis = null; - _xaxis = { - min: xLowestValue, - max: xHighestValue - }; - - if (zoomtype === 'xy' || zoomtype === 'y') { - _yaxis = Utils$1.clone(w.config.yaxis); - - _yaxis.forEach(function (yaxe, index) { - _yaxis[index].min = yLowestValue[index]; - _yaxis[index].max = yHighestValue[index]; - }); - } - - w.globals.selection = me.selection; - - if (typeof w.config.chart.events.selection === 'function') { - w.config.chart.events.selection(me.ctx, { - xaxis: _xaxis, - yaxis: _yaxis - }); - } - } - } - } - }, { - key: "panDragging", - value: function panDragging(_ref5) { - var context = _ref5.context; - var w = this.w; - var me = context; // check to make sure there is data to compare against - - if (typeof w.globals.lastClientPosition.x !== 'undefined') { - // get the change from last position to this position - var deltaX = w.globals.lastClientPosition.x - me.clientX; - var deltaY = w.globals.lastClientPosition.y - me.clientY; // check which direction had the highest amplitude and then figure out direction by checking if the value is greater or less than zero - - if (Math.abs(deltaX) > Math.abs(deltaY) && deltaX > 0) { - this.moveDirection = 'left'; - } else if (Math.abs(deltaX) > Math.abs(deltaY) && deltaX < 0) { - this.moveDirection = 'right'; - } else if (Math.abs(deltaY) > Math.abs(deltaX) && deltaY > 0) { - this.moveDirection = 'up'; - } else if (Math.abs(deltaY) > Math.abs(deltaX) && deltaY < 0) { - this.moveDirection = 'down'; - } - } // set the new last position to the current for next time (to get the position of drag) - - - w.globals.lastClientPosition = { - x: me.clientX, - y: me.clientY - }; - var xLowestValue = w.globals.isRangeBar ? w.globals.minY : w.globals.minX; - var xHighestValue = w.globals.isRangeBar ? w.globals.maxY : w.globals.maxX; // on a category, we don't pan continuosly as it causes bugs - - if (!w.config.xaxis.convertedCatToNumeric) { - me.panScrolled(xLowestValue, xHighestValue); - } - } - }, { - key: "delayedPanScrolled", - value: function delayedPanScrolled() { - var w = this.w; - var newMinX = w.globals.minX; - var newMaxX = w.globals.maxX; - var centerX = (w.globals.maxX - w.globals.minX) / 2; - - if (this.moveDirection === 'left') { - newMinX = w.globals.minX + centerX; - newMaxX = w.globals.maxX + centerX; - } else if (this.moveDirection === 'right') { - newMinX = w.globals.minX - centerX; - newMaxX = w.globals.maxX - centerX; - } - - newMinX = Math.floor(newMinX); - newMaxX = Math.floor(newMaxX); - this.updateScrolledChart({ - xaxis: { - min: newMinX, - max: newMaxX - } - }, newMinX, newMaxX); - } - }, { - key: "panScrolled", - value: function panScrolled(xLowestValue, xHighestValue) { - var w = this.w; - var xyRatios = this.xyRatios; - var yaxis = Utils$1.clone(w.globals.initialConfig.yaxis); - var xRatio = xyRatios.xRatio; - var minX = w.globals.minX; - var maxX = w.globals.maxX; - - if (w.globals.isRangeBar) { - xRatio = xyRatios.invertedYRatio; - minX = w.globals.minY; - maxX = w.globals.maxY; - } - - if (this.moveDirection === 'left') { - xLowestValue = minX + w.globals.gridWidth / 15 * xRatio; - xHighestValue = maxX + w.globals.gridWidth / 15 * xRatio; - } else if (this.moveDirection === 'right') { - xLowestValue = minX - w.globals.gridWidth / 15 * xRatio; - xHighestValue = maxX - w.globals.gridWidth / 15 * xRatio; - } - - if (!w.globals.isRangeBar) { - if (xLowestValue < w.globals.initialMinX || xHighestValue > w.globals.initialMaxX) { - xLowestValue = minX; - xHighestValue = maxX; - } - } - - var xaxis = { - min: xLowestValue, - max: xHighestValue - }; - - if (w.config.chart.zoom.autoScaleYaxis) { - var scale = new Range$1(this.ctx); - yaxis = scale.autoScaleY(this.ctx, yaxis, { - xaxis: xaxis - }); - } - - var options = { - xaxis: { - min: xLowestValue, - max: xHighestValue - } - }; - - if (!w.config.chart.group) { - // if chart in a group, prevent yaxis update here - // fix issue #650 - options.yaxis = yaxis; - } - - this.updateScrolledChart(options, xLowestValue, xHighestValue); - } - }, { - key: "updateScrolledChart", - value: function updateScrolledChart(options, xLowestValue, xHighestValue) { - var w = this.w; - - this.ctx.updateHelpers._updateOptions(options, false, false); - - if (typeof w.config.chart.events.scrolled === 'function') { - w.config.chart.events.scrolled(this.ctx, { - xaxis: { - min: xLowestValue, - max: xHighestValue - } - }); - } - } - }]); - - return ZoomPanSelection; - }(Toolbar); - - /** - * ApexCharts Tooltip.Utils Class to support Tooltip functionality. - * - * @module Tooltip.Utils - **/ - - var Utils = /*#__PURE__*/function () { - function Utils(tooltipContext) { - _classCallCheck(this, Utils); - - this.w = tooltipContext.w; - this.ttCtx = tooltipContext; - this.ctx = tooltipContext.ctx; - } - /** - ** When hovering over series, you need to capture which series is being hovered on. - ** This function will return both capturedseries index as well as inner index of that series - * @memberof Utils - * @param {object} - * - hoverArea = the rect on which user hovers - * - elGrid = dimensions of the hover rect (it can be different than hoverarea) - */ - - - _createClass(Utils, [{ - key: "getNearestValues", - value: function getNearestValues(_ref) { - var hoverArea = _ref.hoverArea, - elGrid = _ref.elGrid, - clientX = _ref.clientX, - clientY = _ref.clientY; - var w = this.w; - var seriesBound = elGrid.getBoundingClientRect(); - var hoverWidth = seriesBound.width; - var hoverHeight = seriesBound.height; - var xDivisor = hoverWidth / (w.globals.dataPoints - 1); - var yDivisor = hoverHeight / w.globals.dataPoints; - var hasBars = this.hasBars(); - - if ((w.globals.comboCharts || hasBars) && !w.config.xaxis.convertedCatToNumeric) { - xDivisor = hoverWidth / w.globals.dataPoints; - } - - var hoverX = clientX - seriesBound.left - w.globals.barPadForNumericAxis; - var hoverY = clientY - seriesBound.top; - var notInRect = hoverX < 0 || hoverY < 0 || hoverX > hoverWidth || hoverY > hoverHeight; - - if (notInRect) { - hoverArea.classList.remove('hovering-zoom'); - hoverArea.classList.remove('hovering-pan'); - } else { - if (w.globals.zoomEnabled) { - hoverArea.classList.remove('hovering-pan'); - hoverArea.classList.add('hovering-zoom'); - } else if (w.globals.panEnabled) { - hoverArea.classList.remove('hovering-zoom'); - hoverArea.classList.add('hovering-pan'); - } - } - - var j = Math.round(hoverX / xDivisor); - var jHorz = Math.floor(hoverY / yDivisor); - - if (hasBars && !w.config.xaxis.convertedCatToNumeric) { - j = Math.ceil(hoverX / xDivisor); - j = j - 1; - } - - var capturedSeries = null; - var closest = null; - var seriesXValArr = []; - var seriesYValArr = []; //add extra values to show markers for the first points. Included both axes to avoid incorrect positioning of the marker - - w.globals.seriesXvalues.forEach(function (value) { - seriesXValArr.push([value[0] + 0.000001].concat(value)); - }); - w.globals.seriesYvalues.forEach(function (value) { - seriesYValArr.push([value[0] + 0.000001].concat(value)); - }); - seriesXValArr = seriesXValArr.map(function (seriesXVal) { - return seriesXVal.filter(function (s) { - return Utils$1.isNumber(s); - }); - }); - seriesYValArr = seriesYValArr.map(function (seriesYVal) { - return seriesYVal.filter(function (s) { - return Utils$1.isNumber(s); - }); - }); // if X axis type is not category and tooltip is not shared, then we need to find the cursor position and get the nearest value - - if (w.globals.isXNumeric) { - // Change origin of cursor position so that we can compute the relative nearest point to the cursor on our chart - // we only need to scale because all points are relative to the bounds.left and bounds.top => origin is virtually (0, 0) - var chartGridEl = this.ttCtx.getElGrid(); - var chartGridElBoundingRect = chartGridEl.getBoundingClientRect(); - var transformedHoverX = hoverX * (chartGridElBoundingRect.width / hoverWidth); - var transformedHoverY = hoverY * (chartGridElBoundingRect.height / hoverHeight); - closest = this.closestInMultiArray(transformedHoverX, transformedHoverY, seriesXValArr, seriesYValArr); - capturedSeries = closest.index; - j = closest.j; - - if (capturedSeries !== null) { - // initial push, it should be a little smaller than the 1st val - seriesXValArr = w.globals.seriesXvalues[capturedSeries]; - closest = this.closestInArray(transformedHoverX, seriesXValArr); - j = closest.index; - } - } - - w.globals.capturedSeriesIndex = capturedSeries === null ? -1 : capturedSeries; - if (!j || j < 1) j = 0; - - if (w.globals.isBarHorizontal) { - w.globals.capturedDataPointIndex = jHorz; - } else { - w.globals.capturedDataPointIndex = j; - } - - return { - capturedSeries: capturedSeries, - j: w.globals.isBarHorizontal ? jHorz : j, - hoverX: hoverX, - hoverY: hoverY - }; - } - }, { - key: "closestInMultiArray", - value: function closestInMultiArray(hoverX, hoverY, Xarrays, Yarrays) { - var w = this.w; - var activeIndex = 0; - var currIndex = null; - var j = -1; - - if (w.globals.series.length > 1) { - activeIndex = this.getFirstActiveXArray(Xarrays); - } else { - currIndex = 0; - } - - var currX = Xarrays[activeIndex][0]; - var diffX = Math.abs(hoverX - currX); // find nearest point on x-axis - - Xarrays.forEach(function (arrX) { - arrX.forEach(function (x, iX) { - var newDiff = Math.abs(hoverX - x); - - if (newDiff < diffX) { - diffX = newDiff; - j = iX; - } - }); - }); - - if (j !== -1) { - // find nearest graph on y-axis relevanted to nearest point on x-axis - var currY = Yarrays[activeIndex][j]; - var diffY = Math.abs(hoverY - currY); - currIndex = activeIndex; - Yarrays.forEach(function (arrY, iAY) { - var newDiff = Math.abs(hoverY - arrY[j]); - - if (newDiff < diffY) { - diffY = newDiff; - currIndex = iAY; - } - }); - } - - return { - index: currIndex, - j: j - }; - } - }, { - key: "getFirstActiveXArray", - value: function getFirstActiveXArray(Xarrays) { - var w = this.w; - var activeIndex = 0; - var firstActiveSeriesIndex = Xarrays.map(function (xarr, index) { - return xarr.length > 0 ? index : -1; - }); - - for (var a = 0; a < firstActiveSeriesIndex.length; a++) { - if (firstActiveSeriesIndex[a] !== -1 && w.globals.collapsedSeriesIndices.indexOf(a) === -1 && w.globals.ancillaryCollapsedSeriesIndices.indexOf(a) === -1) { - activeIndex = firstActiveSeriesIndex[a]; - break; - } - } - - return activeIndex; - } - }, { - key: "closestInArray", - value: function closestInArray(val, arr) { - var curr = arr[0]; - var currIndex = null; - var diff = Math.abs(val - curr); - - for (var i = 0; i < arr.length; i++) { - var newdiff = Math.abs(val - arr[i]); - - if (newdiff < diff) { - diff = newdiff; - currIndex = i; - } - } - - return { - index: currIndex - }; - } - /** - * When there are multiple series, it is possible to have different x values for each series. - * But it may be possible in those multiple series, that there is same x value for 2 or more - * series. - * @memberof Utils - * @param {int} - * - j = is the inner index of series -> (series[i][j]) - * @return {bool} - */ - - }, { - key: "isXoverlap", - value: function isXoverlap(j) { - var w = this.w; - var xSameForAllSeriesJArr = []; - var seriesX = w.globals.seriesX.filter(function (s) { - return typeof s[0] !== 'undefined'; - }); - - if (seriesX.length > 0) { - for (var i = 0; i < seriesX.length - 1; i++) { - if (typeof seriesX[i][j] !== 'undefined' && typeof seriesX[i + 1][j] !== 'undefined') { - if (seriesX[i][j] !== seriesX[i + 1][j]) { - xSameForAllSeriesJArr.push('unEqual'); - } - } - } - } - - if (xSameForAllSeriesJArr.length === 0) { - return true; - } - - return false; - } - }, { - key: "isInitialSeriesSameLen", - value: function isInitialSeriesSameLen() { - var sameLen = true; - var initialSeries = this.w.globals.initialSeries; - - for (var i = 0; i < initialSeries.length - 1; i++) { - if (initialSeries[i].data.length !== initialSeries[i + 1].data.length) { - sameLen = false; - break; - } - } - - return sameLen; - } - }, { - key: "getBarsHeight", - value: function getBarsHeight(allbars) { - var bars = _toConsumableArray(allbars); - - var totalHeight = bars.reduce(function (acc, bar) { - return acc + bar.getBBox().height; - }, 0); - return totalHeight; - } - }, { - key: "getElMarkers", - value: function getElMarkers() { - return this.w.globals.dom.baseEl.querySelectorAll(' .apexcharts-series-markers'); - } - }, { - key: "getAllMarkers", - value: function getAllMarkers() { - // first get all marker parents. This parent class contains series-index - // which helps to sort the markers as they are dynamic - var markersWraps = this.w.globals.dom.baseEl.querySelectorAll('.apexcharts-series-markers-wrap'); - markersWraps = _toConsumableArray(markersWraps); - markersWraps.sort(function (a, b) { - var indexA = Number(a.getAttribute('data:realIndex')); - var indexB = Number(b.getAttribute('data:realIndex')); - return indexB < indexA ? 1 : indexB > indexA ? -1 : 0; - }); - var markers = []; - markersWraps.forEach(function (m) { - markers.push(m.querySelector('.apexcharts-marker')); - }); - return markers; - } - }, { - key: "hasMarkers", - value: function hasMarkers() { - var markers = this.getElMarkers(); - return markers.length > 0; - } - }, { - key: "getElBars", - value: function getElBars() { - return this.w.globals.dom.baseEl.querySelectorAll('.apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series'); - } - }, { - key: "hasBars", - value: function hasBars() { - var bars = this.getElBars(); - return bars.length > 0; - } - }, { - key: "getHoverMarkerSize", - value: function getHoverMarkerSize(index) { - var w = this.w; - var hoverSize = w.config.markers.hover.size; - - if (hoverSize === undefined) { - hoverSize = w.globals.markers.size[index] + w.config.markers.hover.sizeOffset; - } - - return hoverSize; - } - }, { - key: "toggleAllTooltipSeriesGroups", - value: function toggleAllTooltipSeriesGroups(state) { - var w = this.w; - var ttCtx = this.ttCtx; - - if (ttCtx.allTooltipSeriesGroups.length === 0) { - ttCtx.allTooltipSeriesGroups = w.globals.dom.baseEl.querySelectorAll('.apexcharts-tooltip-series-group'); - } - - var allTooltipSeriesGroups = ttCtx.allTooltipSeriesGroups; - - for (var i = 0; i < allTooltipSeriesGroups.length; i++) { - if (state === 'enable') { - allTooltipSeriesGroups[i].classList.add('apexcharts-active'); - allTooltipSeriesGroups[i].style.display = w.config.tooltip.items.display; - } else { - allTooltipSeriesGroups[i].classList.remove('apexcharts-active'); - allTooltipSeriesGroups[i].style.display = 'none'; - } - } - } - }]); - - return Utils; - }(); - - /** - * ApexCharts Tooltip.Labels Class to draw texts on the tooltip. - * This file deals with printing actual text on the tooltip. - * - * @module Tooltip.Labels - **/ - - var Labels = /*#__PURE__*/function () { - function Labels(tooltipContext) { - _classCallCheck(this, Labels); - - this.w = tooltipContext.w; - this.ctx = tooltipContext.ctx; - this.ttCtx = tooltipContext; - this.tooltipUtil = new Utils(tooltipContext); - } - - _createClass(Labels, [{ - key: "drawSeriesTexts", - value: function drawSeriesTexts(_ref) { - var _ref$shared = _ref.shared, - shared = _ref$shared === void 0 ? true : _ref$shared, - ttItems = _ref.ttItems, - _ref$i = _ref.i, - i = _ref$i === void 0 ? 0 : _ref$i, - _ref$j = _ref.j, - j = _ref$j === void 0 ? null : _ref$j, - y1 = _ref.y1, - y2 = _ref.y2, - e = _ref.e; - var w = this.w; - - if (w.config.tooltip.custom !== undefined) { - this.handleCustomTooltip({ - i: i, - j: j, - y1: y1, - y2: y2, - w: w - }); - } else { - this.toggleActiveInactiveSeries(shared); - } - - var values = this.getValuesToPrint({ - i: i, - j: j - }); - this.printLabels({ - i: i, - j: j, - values: values, - ttItems: ttItems, - shared: shared, - e: e - }); // Re-calculate tooltip dimensions now that we have drawn the text - - var tooltipEl = this.ttCtx.getElTooltip(); - this.ttCtx.tooltipRect.ttWidth = tooltipEl.getBoundingClientRect().width; - this.ttCtx.tooltipRect.ttHeight = tooltipEl.getBoundingClientRect().height; - } - }, { - key: "printLabels", - value: function printLabels(_ref2) { - var _this = this; - - var i = _ref2.i, - j = _ref2.j, - values = _ref2.values, - ttItems = _ref2.ttItems, - shared = _ref2.shared, - e = _ref2.e; - var w = this.w; - var val; - var goalVals = []; - - var hasGoalValues = function hasGoalValues(gi) { - return w.globals.seriesGoals[gi] && w.globals.seriesGoals[gi][j] && Array.isArray(w.globals.seriesGoals[gi][j]); - }; - - var xVal = values.xVal, - zVal = values.zVal, - xAxisTTVal = values.xAxisTTVal; - var seriesName = ''; - var pColor = w.globals.colors[i]; // The pColor here is for the markers inside tooltip - - if (j !== null && w.config.plotOptions.bar.distributed) { - pColor = w.globals.colors[j]; - } - - var _loop = function _loop(t, inverset) { - var f = _this.getFormatters(i); - - seriesName = _this.getSeriesName({ - fn: f.yLbTitleFormatter, - index: i, - seriesIndex: i, - j: j - }); - - if (w.config.chart.type === 'treemap') { - seriesName = f.yLbTitleFormatter(String(w.config.series[i].data[j].x), { - series: w.globals.series, - seriesIndex: i, - dataPointIndex: j, - w: w - }); - } - - var tIndex = w.config.tooltip.inverseOrder ? inverset : t; - - if (w.globals.axisCharts) { - var getValBySeriesIndex = function getValBySeriesIndex(index) { - return f.yLbFormatter(w.globals.series[index][j], { - series: w.globals.series, - seriesIndex: index, - dataPointIndex: j, - w: w - }); - }; - - if (shared) { - f = _this.getFormatters(tIndex); - seriesName = _this.getSeriesName({ - fn: f.yLbTitleFormatter, - index: tIndex, - seriesIndex: i, - j: j - }); - pColor = w.globals.colors[tIndex]; - val = getValBySeriesIndex(tIndex); - - if (hasGoalValues(tIndex)) { - goalVals = w.globals.seriesGoals[tIndex][j].map(function (goal) { - return { - attrs: goal, - val: f.yLbFormatter(goal.value, { - seriesIndex: tIndex, - dataPointIndex: j, - w: w - }) - }; - }); - } - } else { - var _e$target; - - // get a color from a hover area (if it's a line pattern then get from a first line) - var targetFill = e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.getAttribute('fill'); - - if (targetFill) { - pColor = targetFill.indexOf("url") !== -1 ? document.querySelector(targetFill.substr(4).slice(0, -1)).childNodes[0].getAttribute("stroke") : targetFill; - } - - val = getValBySeriesIndex(i); - - if (hasGoalValues(i) && Array.isArray(w.globals.seriesGoals[i][j])) { - goalVals = w.globals.seriesGoals[i][j].map(function (goal) { - return { - attrs: goal, - val: f.yLbFormatter(goal.value, { - seriesIndex: i, - dataPointIndex: j, - w: w - }) - }; - }); - } - } - } // for pie / donuts - - - if (j === null) { - val = f.yLbFormatter(w.globals.series[i], _objectSpread2(_objectSpread2({}, w), {}, { - seriesIndex: i, - dataPointIndex: i - })); - } - - _this.DOMHandling({ - i: i, - t: tIndex, - j: j, - ttItems: ttItems, - values: { - val: val, - goalVals: goalVals, - xVal: xVal, - xAxisTTVal: xAxisTTVal, - zVal: zVal - }, - seriesName: seriesName, - shared: shared, - pColor: pColor - }); - }; - - for (var t = 0, inverset = w.globals.series.length - 1; t < w.globals.series.length; t++, inverset--) { - _loop(t, inverset); - } - } - }, { - key: "getFormatters", - value: function getFormatters(i) { - var w = this.w; - var yLbFormatter = w.globals.yLabelFormatters[i]; - var yLbTitleFormatter; - - if (w.globals.ttVal !== undefined) { - if (Array.isArray(w.globals.ttVal)) { - yLbFormatter = w.globals.ttVal[i] && w.globals.ttVal[i].formatter; - yLbTitleFormatter = w.globals.ttVal[i] && w.globals.ttVal[i].title && w.globals.ttVal[i].title.formatter; - } else { - yLbFormatter = w.globals.ttVal.formatter; - - if (typeof w.globals.ttVal.title.formatter === 'function') { - yLbTitleFormatter = w.globals.ttVal.title.formatter; - } - } - } else { - yLbTitleFormatter = w.config.tooltip.y.title.formatter; - } - - if (typeof yLbFormatter !== 'function') { - if (w.globals.yLabelFormatters[0]) { - yLbFormatter = w.globals.yLabelFormatters[0]; - } else { - yLbFormatter = function yLbFormatter(label) { - return label; - }; - } - } - - if (typeof yLbTitleFormatter !== 'function') { - yLbTitleFormatter = function yLbTitleFormatter(label) { - return label; - }; - } - - return { - yLbFormatter: yLbFormatter, - yLbTitleFormatter: yLbTitleFormatter - }; - } - }, { - key: "getSeriesName", - value: function getSeriesName(_ref3) { - var fn = _ref3.fn, - index = _ref3.index, - seriesIndex = _ref3.seriesIndex, - j = _ref3.j; - var w = this.w; - return fn(String(w.globals.seriesNames[index]), { - series: w.globals.series, - seriesIndex: seriesIndex, - dataPointIndex: j, - w: w - }); - } - }, { - key: "DOMHandling", - value: function DOMHandling(_ref4) { - _ref4.i; - var t = _ref4.t, - j = _ref4.j, - ttItems = _ref4.ttItems, - values = _ref4.values, - seriesName = _ref4.seriesName, - shared = _ref4.shared, - pColor = _ref4.pColor; - var w = this.w; - var ttCtx = this.ttCtx; - var val = values.val, - goalVals = values.goalVals, - xVal = values.xVal, - xAxisTTVal = values.xAxisTTVal, - zVal = values.zVal; - var ttItemsChildren = null; - ttItemsChildren = ttItems[t].children; - - if (w.config.tooltip.fillSeriesColor) { - ttItems[t].style.backgroundColor = pColor; - ttItemsChildren[0].style.display = 'none'; - } - - if (ttCtx.showTooltipTitle) { - if (ttCtx.tooltipTitle === null) { - // get it once if null, and store it in class property - ttCtx.tooltipTitle = w.globals.dom.baseEl.querySelector('.apexcharts-tooltip-title'); - } - - ttCtx.tooltipTitle.innerHTML = xVal; - } // if xaxis tooltip is constructed, we need to replace the innerHTML - - - if (ttCtx.isXAxisTooltipEnabled) { - ttCtx.xaxisTooltipText.innerHTML = xAxisTTVal !== '' ? xAxisTTVal : xVal; - } - - var ttYLabel = ttItems[t].querySelector('.apexcharts-tooltip-text-y-label'); - - if (ttYLabel) { - ttYLabel.innerHTML = seriesName ? seriesName : ''; - } - - var ttYVal = ttItems[t].querySelector('.apexcharts-tooltip-text-y-value'); - - if (ttYVal) { - ttYVal.innerHTML = typeof val !== 'undefined' ? val : ''; - } - - if (ttItemsChildren[0] && ttItemsChildren[0].classList.contains('apexcharts-tooltip-marker')) { - if (w.config.tooltip.marker.fillColors && Array.isArray(w.config.tooltip.marker.fillColors)) { - pColor = w.config.tooltip.marker.fillColors[t]; - } - - ttItemsChildren[0].style.backgroundColor = pColor; - } - - if (!w.config.tooltip.marker.show) { - ttItemsChildren[0].style.display = 'none'; - } - - var ttGLabel = ttItems[t].querySelector('.apexcharts-tooltip-text-goals-label'); - var ttGVal = ttItems[t].querySelector('.apexcharts-tooltip-text-goals-value'); - - if (goalVals.length && w.globals.seriesGoals[t]) { - var createGoalsHtml = function createGoalsHtml() { - var gLabels = '
'; - var gVals = '
'; - goalVals.forEach(function (goal, gi) { - gLabels += "
").concat(goal.attrs.name, "
"); - gVals += "
".concat(goal.val, "
"); - }); - ttGLabel.innerHTML = gLabels + "
"; - ttGVal.innerHTML = gVals + "
"; - }; - - if (shared) { - if (w.globals.seriesGoals[t][j] && Array.isArray(w.globals.seriesGoals[t][j])) { - createGoalsHtml(); - } else { - ttGLabel.innerHTML = ''; - ttGVal.innerHTML = ''; - } - } else { - createGoalsHtml(); - } - } else { - ttGLabel.innerHTML = ''; - ttGVal.innerHTML = ''; - } - - if (zVal !== null) { - var ttZLabel = ttItems[t].querySelector('.apexcharts-tooltip-text-z-label'); - ttZLabel.innerHTML = w.config.tooltip.z.title; - var ttZVal = ttItems[t].querySelector('.apexcharts-tooltip-text-z-value'); - ttZVal.innerHTML = typeof zVal !== 'undefined' ? zVal : ''; - } - - if (shared && ttItemsChildren[0]) { - // hide when no Val or series collapsed - if (typeof val === 'undefined' || val === null || w.globals.ancillaryCollapsedSeriesIndices.indexOf(t) > -1 || w.globals.collapsedSeriesIndices.indexOf(t) > -1) { - ttItemsChildren[0].parentNode.style.display = 'none'; - } else { - ttItemsChildren[0].parentNode.style.display = w.config.tooltip.items.display; - } // TODO: issue #1240 needs to be looked at again. commenting it because this also hides single series values with 0 in it (shared tooltip) - // if (w.globals.stackedSeriesTotals[j] === 0) { - // // shared tooltip and all values are null, so we need to hide the x value too - // let allYZeroForJ = false - // for (let si = 1; si < w.globals.seriesYvalues.length; si++) { - // if ( - // w.globals.seriesYvalues[si][j] === - // w.globals.seriesYvalues[si - 1][j] - // ) { - // allYZeroForJ = true - // } - // } - // if (allYZeroForJ) { - // ttCtx.tooltipTitle.style.display = 'none' - // } else { - // ttCtx.tooltipTitle.style.display = w.config.tooltip.items.display - // } - // } else { - // ttCtx.tooltipTitle.style.display = w.config.tooltip.items.display - // } - - } - } - }, { - key: "toggleActiveInactiveSeries", - value: function toggleActiveInactiveSeries(shared) { - var w = this.w; - - if (shared) { - // make all tooltips active - this.tooltipUtil.toggleAllTooltipSeriesGroups('enable'); - } else { - // disable all tooltip text groups - this.tooltipUtil.toggleAllTooltipSeriesGroups('disable'); // enable the first tooltip text group - - var firstTooltipSeriesGroup = w.globals.dom.baseEl.querySelector('.apexcharts-tooltip-series-group'); - - if (firstTooltipSeriesGroup) { - firstTooltipSeriesGroup.classList.add('apexcharts-active'); - firstTooltipSeriesGroup.style.display = w.config.tooltip.items.display; - } - } - } - }, { - key: "getValuesToPrint", - value: function getValuesToPrint(_ref5) { - var i = _ref5.i, - j = _ref5.j; - var w = this.w; - var filteredSeriesX = this.ctx.series.filteredSeriesX(); - var xVal = ''; - var xAxisTTVal = ''; - var zVal = null; - var val = null; - var customFormatterOpts = { - series: w.globals.series, - seriesIndex: i, - dataPointIndex: j, - w: w - }; - var zFormatter = w.globals.ttZFormatter; - - if (j === null) { - val = w.globals.series[i]; - } else { - if (w.globals.isXNumeric && w.config.chart.type !== 'treemap') { - xVal = filteredSeriesX[i][j]; - - if (filteredSeriesX[i].length === 0) { - // a series (possibly the first one) might be collapsed, so get the next active index - var firstActiveSeriesIndex = this.tooltipUtil.getFirstActiveXArray(filteredSeriesX); - xVal = filteredSeriesX[firstActiveSeriesIndex][j]; - } - } else { - xVal = typeof w.globals.labels[j] !== 'undefined' ? w.globals.labels[j] : ''; - } - } - - var bufferXVal = xVal; - - if (w.globals.isXNumeric && w.config.xaxis.type === 'datetime') { - var xFormat = new Formatters(this.ctx); - xVal = xFormat.xLabelFormat(w.globals.ttKeyFormatter, bufferXVal, bufferXVal, { - i: undefined, - dateFormatter: new DateTime(this.ctx).formatDate, - w: this.w - }); - } else { - if (w.globals.isBarHorizontal) { - xVal = w.globals.yLabelFormatters[0](bufferXVal, customFormatterOpts); - } else { - xVal = w.globals.xLabelFormatter(bufferXVal, customFormatterOpts); - } - } // override default x-axis formatter with tooltip formatter - - - if (w.config.tooltip.x.formatter !== undefined) { - xVal = w.globals.ttKeyFormatter(bufferXVal, customFormatterOpts); - } - - if (w.globals.seriesZ.length > 0 && w.globals.seriesZ[i].length > 0) { - zVal = zFormatter(w.globals.seriesZ[i][j], w); - } - - if (typeof w.config.xaxis.tooltip.formatter === 'function') { - xAxisTTVal = w.globals.xaxisTooltipFormatter(bufferXVal, customFormatterOpts); - } else { - xAxisTTVal = xVal; - } - - return { - val: Array.isArray(val) ? val.join(' ') : val, - xVal: Array.isArray(xVal) ? xVal.join(' ') : xVal, - xAxisTTVal: Array.isArray(xAxisTTVal) ? xAxisTTVal.join(' ') : xAxisTTVal, - zVal: zVal - }; - } - }, { - key: "handleCustomTooltip", - value: function handleCustomTooltip(_ref6) { - var i = _ref6.i, - j = _ref6.j, - y1 = _ref6.y1, - y2 = _ref6.y2, - w = _ref6.w; - var tooltipEl = this.ttCtx.getElTooltip(); - var fn = w.config.tooltip.custom; - - if (Array.isArray(fn) && fn[i]) { - fn = fn[i]; - } // override everything with a custom html tooltip and replace it - - - tooltipEl.innerHTML = fn({ - ctx: this.ctx, - series: w.globals.series, - seriesIndex: i, - dataPointIndex: j, - y1: y1, - y2: y2, - w: w - }); - } - }]); - - return Labels; - }(); - - /** - * ApexCharts Tooltip.Position Class to move the tooltip based on x and y position. - * - * @module Tooltip.Position - **/ - - var Position = /*#__PURE__*/function () { - function Position(tooltipContext) { - _classCallCheck(this, Position); - - this.ttCtx = tooltipContext; - this.ctx = tooltipContext.ctx; - this.w = tooltipContext.w; - } - /** - * This will move the crosshair (the vertical/horz line that moves along with mouse) - * Along with this, this function also calls the xaxisMove function - * @memberof Position - * @param {int} - cx = point's x position, wherever point's x is, you need to move crosshair - */ - - - _createClass(Position, [{ - key: "moveXCrosshairs", - value: function moveXCrosshairs(cx) { - var j = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - var ttCtx = this.ttCtx; - var w = this.w; - var xcrosshairs = ttCtx.getElXCrosshairs(); - var x = cx - ttCtx.xcrosshairsWidth / 2; - var tickAmount = w.globals.labels.slice().length; - - if (j !== null) { - x = w.globals.gridWidth / tickAmount * j; - } - - if (xcrosshairs !== null && !w.globals.isBarHorizontal) { - xcrosshairs.setAttribute('x', x); - xcrosshairs.setAttribute('x1', x); - xcrosshairs.setAttribute('x2', x); - xcrosshairs.setAttribute('y2', w.globals.gridHeight); - xcrosshairs.classList.add('apexcharts-active'); - } - - if (x < 0) { - x = 0; - } - - if (x > w.globals.gridWidth) { - x = w.globals.gridWidth; - } - - if (ttCtx.isXAxisTooltipEnabled) { - var tx = x; - - if (w.config.xaxis.crosshairs.width === 'tickWidth' || w.config.xaxis.crosshairs.width === 'barWidth') { - tx = x + ttCtx.xcrosshairsWidth / 2; - } - - this.moveXAxisTooltip(tx); - } - } - /** - * This will move the crosshair (the vertical/horz line that moves along with mouse) - * Along with this, this function also calls the xaxisMove function - * @memberof Position - * @param {int} - cx = point's x position, wherever point's x is, you need to move crosshair - */ - - }, { - key: "moveYCrosshairs", - value: function moveYCrosshairs(cy) { - var ttCtx = this.ttCtx; - - if (ttCtx.ycrosshairs !== null) { - Graphics.setAttrs(ttCtx.ycrosshairs, { - y1: cy, - y2: cy - }); - } - - if (ttCtx.ycrosshairsHidden !== null) { - Graphics.setAttrs(ttCtx.ycrosshairsHidden, { - y1: cy, - y2: cy - }); - } - } - /** - ** AxisTooltip is the small rectangle which appears on x axis with x value, when user moves - * @memberof Position - * @param {int} - cx = point's x position, wherever point's x is, you need to move - */ - - }, { - key: "moveXAxisTooltip", - value: function moveXAxisTooltip(cx) { - var w = this.w; - var ttCtx = this.ttCtx; - - if (ttCtx.xaxisTooltip !== null && ttCtx.xcrosshairsWidth !== 0) { - ttCtx.xaxisTooltip.classList.add('apexcharts-active'); - var cy = ttCtx.xaxisOffY + w.config.xaxis.tooltip.offsetY + w.globals.translateY + 1 + w.config.xaxis.offsetY; - var xaxisTTText = ttCtx.xaxisTooltip.getBoundingClientRect(); - var xaxisTTTextWidth = xaxisTTText.width; - cx = cx - xaxisTTTextWidth / 2; - - if (!isNaN(cx)) { - cx = cx + w.globals.translateX; - var textRect = 0; - var graphics = new Graphics(this.ctx); - textRect = graphics.getTextRects(ttCtx.xaxisTooltipText.innerHTML); - ttCtx.xaxisTooltipText.style.minWidth = textRect.width + 'px'; - ttCtx.xaxisTooltip.style.left = cx + 'px'; - ttCtx.xaxisTooltip.style.top = cy + 'px'; - } - } - } - }, { - key: "moveYAxisTooltip", - value: function moveYAxisTooltip(index) { - var w = this.w; - var ttCtx = this.ttCtx; - - if (ttCtx.yaxisTTEls === null) { - ttCtx.yaxisTTEls = w.globals.dom.baseEl.querySelectorAll('.apexcharts-yaxistooltip'); - } - - var ycrosshairsHiddenRectY1 = parseInt(ttCtx.ycrosshairsHidden.getAttribute('y1'), 10); - var cy = w.globals.translateY + ycrosshairsHiddenRectY1; - var yAxisTTRect = ttCtx.yaxisTTEls[index].getBoundingClientRect(); - var yAxisTTHeight = yAxisTTRect.height; - var cx = w.globals.translateYAxisX[index] - 2; - - if (w.config.yaxis[index].opposite) { - cx = cx - 26; - } - - cy = cy - yAxisTTHeight / 2; - - if (w.globals.ignoreYAxisIndexes.indexOf(index) === -1) { - ttCtx.yaxisTTEls[index].classList.add('apexcharts-active'); - ttCtx.yaxisTTEls[index].style.top = cy + 'px'; - ttCtx.yaxisTTEls[index].style.left = cx + w.config.yaxis[index].tooltip.offsetX + 'px'; - } else { - ttCtx.yaxisTTEls[index].classList.remove('apexcharts-active'); - } - } - /** - ** moves the whole tooltip by changing x, y attrs - * @memberof Position - * @param {int} - cx = point's x position, wherever point's x is, you need to move tooltip - * @param {int} - cy = point's y position, wherever point's y is, you need to move tooltip - * @param {int} - r = point's radius - */ - - }, { - key: "moveTooltip", - value: function moveTooltip(cx, cy) { - var r = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - var w = this.w; - var ttCtx = this.ttCtx; - var tooltipEl = ttCtx.getElTooltip(); - var tooltipRect = ttCtx.tooltipRect; - var pointR = r !== null ? parseFloat(r) : 1; - var x = parseFloat(cx) + pointR + 5; - var y = parseFloat(cy) + pointR / 2; // - tooltipRect.ttHeight / 2 - - if (x > w.globals.gridWidth / 2) { - x = x - tooltipRect.ttWidth - pointR - 10; - } - - if (x > w.globals.gridWidth - tooltipRect.ttWidth - 10) { - x = w.globals.gridWidth - tooltipRect.ttWidth; - } - - if (x < -20) { - x = -20; - } - - if (w.config.tooltip.followCursor) { - var elGrid = ttCtx.getElGrid(); - var seriesBound = elGrid.getBoundingClientRect(); - y = ttCtx.e.clientY + w.globals.translateY - seriesBound.top - tooltipRect.ttHeight / 2; - } else { - if (!w.globals.isBarHorizontal) { - if (tooltipRect.ttHeight / 2 + y > w.globals.gridHeight) { - y = w.globals.gridHeight - tooltipRect.ttHeight + w.globals.translateY; - } - - if (y < 0) { - y = 0; - } - } - } - - if (!isNaN(x)) { - x = x + w.globals.translateX; - tooltipEl.style.left = x + 'px'; - tooltipEl.style.top = y + 'px'; - } - } - }, { - key: "moveMarkers", - value: function moveMarkers(i, j) { - var w = this.w; - var ttCtx = this.ttCtx; - - if (w.globals.markers.size[i] > 0) { - var allPoints = w.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(i, "'] .apexcharts-marker")); - - for (var p = 0; p < allPoints.length; p++) { - if (parseInt(allPoints[p].getAttribute('rel'), 10) === j) { - ttCtx.marker.resetPointsSize(); - ttCtx.marker.enlargeCurrentPoint(j, allPoints[p]); - } - } - } else { - ttCtx.marker.resetPointsSize(); - this.moveDynamicPointOnHover(j, i); - } - } // This function is used when you need to show markers/points only on hover - - // DIFFERENT X VALUES in multiple series - - }, { - key: "moveDynamicPointOnHover", - value: function moveDynamicPointOnHover(j, capturedSeries) { - var w = this.w; - var ttCtx = this.ttCtx; - var cx = 0; - var cy = 0; - var pointsArr = w.globals.pointsArray; - var hoverSize = ttCtx.tooltipUtil.getHoverMarkerSize(capturedSeries); - var serType = w.config.series[capturedSeries].type; - - if (serType && (serType === 'column' || serType === 'candlestick' || serType === 'boxPlot')) { - // fix error mentioned in #811 - return; - } - - cx = pointsArr[capturedSeries][j][0]; - cy = pointsArr[capturedSeries][j][1] ? pointsArr[capturedSeries][j][1] : 0; - var point = w.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(capturedSeries, "'] .apexcharts-series-markers circle")); - - if (point && cy < w.globals.gridHeight && cy > 0) { - point.setAttribute('r', hoverSize); - point.setAttribute('cx', cx); - point.setAttribute('cy', cy); - } // point.style.opacity = w.config.markers.hover.opacity - - - this.moveXCrosshairs(cx); - - if (!ttCtx.fixedTooltip) { - this.moveTooltip(cx, cy, hoverSize); - } - } // This function is used when you need to show markers/points only on hover - - // SAME X VALUES in multiple series - - }, { - key: "moveDynamicPointsOnHover", - value: function moveDynamicPointsOnHover(j) { - var ttCtx = this.ttCtx; - var w = ttCtx.w; - var cx = 0; - var cy = 0; - var activeSeries = 0; - var pointsArr = w.globals.pointsArray; - var series = new Series(this.ctx); - activeSeries = series.getActiveConfigSeriesIndex(true); - var hoverSize = ttCtx.tooltipUtil.getHoverMarkerSize(activeSeries); - - if (pointsArr[activeSeries]) { - cx = pointsArr[activeSeries][j][0]; - cy = pointsArr[activeSeries][j][1]; - } - - var points = ttCtx.tooltipUtil.getAllMarkers(); - - if (points !== null) { - for (var p = 0; p < w.globals.series.length; p++) { - var pointArr = pointsArr[p]; - - if (w.globals.comboCharts) { - // in a combo chart, if column charts are present, markers will not match with the number of series, hence this patch to push a null value in points array - if (typeof pointArr === 'undefined') { - // nodelist to array - points.splice(p, 0, null); - } - } - - if (pointArr && pointArr.length) { - var pcy = pointsArr[p][j][1]; - points[p].setAttribute('cx', cx); - - if (pcy !== null && !isNaN(pcy) && pcy < w.globals.gridHeight + hoverSize && pcy + hoverSize > 0) { - points[p] && points[p].setAttribute('r', hoverSize); - points[p] && points[p].setAttribute('cy', pcy); - } else { - points[p] && points[p].setAttribute('r', 0); - } - } - } - } - - this.moveXCrosshairs(cx); - - if (!ttCtx.fixedTooltip) { - var tcy = cy || w.globals.gridHeight; - this.moveTooltip(cx, tcy, hoverSize); - } - } - }, { - key: "moveStickyTooltipOverBars", - value: function moveStickyTooltipOverBars(j) { - var w = this.w; - var ttCtx = this.ttCtx; - var barLen = w.globals.columnSeries ? w.globals.columnSeries.length : w.globals.series.length; - var i = barLen >= 2 && barLen % 2 === 0 ? Math.floor(barLen / 2) : Math.floor(barLen / 2) + 1; - - if (w.globals.isBarHorizontal) { - var series = new Series(this.ctx); - i = series.getActiveConfigSeriesIndex(false, 'desc') + 1; - } - - var jBar = w.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(i, "'] path[j='").concat(j, "'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(i, "'] path[j='").concat(j, "'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(i, "'] path[j='").concat(j, "'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(i, "'] path[j='").concat(j, "']")); - var bcx = jBar ? parseFloat(jBar.getAttribute('cx')) : 0; - var bcy = jBar ? parseFloat(jBar.getAttribute('cy')) : 0; - var bw = jBar ? parseFloat(jBar.getAttribute('barWidth')) : 0; - var bh = jBar ? parseFloat(jBar.getAttribute('barHeight')) : 0; - var elGrid = ttCtx.getElGrid(); - var seriesBound = elGrid.getBoundingClientRect(); - var isBoxOrCandle = jBar.classList.contains('apexcharts-candlestick-area') || jBar.classList.contains('apexcharts-boxPlot-area'); - - if (w.globals.isXNumeric) { - if (jBar && !isBoxOrCandle) { - bcx = bcx - (barLen % 2 !== 0 ? bw / 2 : 0); - } - - if (jBar && // fixes apexcharts.js#2354 - isBoxOrCandle && w.globals.comboCharts) { - bcx = bcx - bw / 2; - } - } else { - if (!w.globals.isBarHorizontal) { - bcx = ttCtx.xAxisTicksPositions[j - 1] + ttCtx.dataPointsDividedWidth / 2; - - if (isNaN(bcx)) { - bcx = ttCtx.xAxisTicksPositions[j] - ttCtx.dataPointsDividedWidth / 2; - } - } - } - - if (!w.globals.isBarHorizontal) { - if (w.config.tooltip.followCursor) { - bcy = ttCtx.e.clientY - seriesBound.top - ttCtx.tooltipRect.ttHeight / 2; - } else { - if (bcy + ttCtx.tooltipRect.ttHeight + 15 > w.globals.gridHeight) { - bcy = w.globals.gridHeight; - } - } - } else { - if (bcy > w.globals.gridHeight / 2) { - bcy = bcy - ttCtx.tooltipRect.ttHeight; - } - - bcy = bcy + w.config.grid.padding.top + bh / 3; - - if (bcy + bh > w.globals.gridHeight) { - bcy = w.globals.gridHeight - bh; - } - } - - if (bcy < -10) { - bcy = -10; - } - - if (!w.globals.isBarHorizontal) { - this.moveXCrosshairs(bcx); - } - - if (!ttCtx.fixedTooltip) { - var tcy = bcy || w.globals.gridHeight; - this.moveTooltip(bcx, tcy); - } - } - }]); - - return Position; - }(); - - /** - * ApexCharts Tooltip.Marker Class to draw texts on the tooltip. - * This file deals with the markers that appear near tooltip in line/area charts. - * These markers helps the user to associate the data-points and the values - * that are shown in the tooltip - * - * @module Tooltip.Marker - **/ - - var Marker = /*#__PURE__*/function () { - function Marker(tooltipContext) { - _classCallCheck(this, Marker); - - this.w = tooltipContext.w; - this.ttCtx = tooltipContext; - this.ctx = tooltipContext.ctx; - this.tooltipPosition = new Position(tooltipContext); - } - - _createClass(Marker, [{ - key: "drawDynamicPoints", - value: function drawDynamicPoints() { - var w = this.w; - var graphics = new Graphics(this.ctx); - var marker = new Markers(this.ctx); - var elsSeries = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series'); - elsSeries = _toConsumableArray(elsSeries); - - if (w.config.chart.stacked) { - elsSeries.sort(function (a, b) { - return parseFloat(a.getAttribute('data:realIndex')) - parseFloat(b.getAttribute('data:realIndex')); - }); - } - - for (var i = 0; i < elsSeries.length; i++) { - var pointsMain = elsSeries[i].querySelector(".apexcharts-series-markers-wrap"); - - if (pointsMain !== null) { - // it can be null as we have tooltips in donut/bar charts - var point = void 0; - var PointClasses = "apexcharts-marker w".concat((Math.random() + 1).toString(36).substring(4)); - - if ((w.config.chart.type === 'line' || w.config.chart.type === 'area') && !w.globals.comboCharts && !w.config.tooltip.intersect) { - PointClasses += ' no-pointer-events'; - } - - var elPointOptions = marker.getMarkerConfig({ - cssClass: PointClasses, - seriesIndex: Number(pointsMain.getAttribute('data:realIndex')) // fixes apexcharts/apexcharts.js #1427 - - }); - point = graphics.drawMarker(0, 0, elPointOptions); - point.node.setAttribute('default-marker-size', 0); - var elPointsG = document.createElementNS(w.globals.SVGNS, 'g'); - elPointsG.classList.add('apexcharts-series-markers'); - elPointsG.appendChild(point.node); - pointsMain.appendChild(elPointsG); - } - } - } - }, { - key: "enlargeCurrentPoint", - value: function enlargeCurrentPoint(rel, point) { - var x = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - var y = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; - var w = this.w; - - if (w.config.chart.type !== 'bubble') { - this.newPointSize(rel, point); - } - - var cx = point.getAttribute('cx'); - var cy = point.getAttribute('cy'); - - if (x !== null && y !== null) { - cx = x; - cy = y; - } - - this.tooltipPosition.moveXCrosshairs(cx); - - if (!this.fixedTooltip) { - if (w.config.chart.type === 'radar') { - var elGrid = this.ttCtx.getElGrid(); - var seriesBound = elGrid.getBoundingClientRect(); - cx = this.ttCtx.e.clientX - seriesBound.left; - } - - this.tooltipPosition.moveTooltip(cx, cy, w.config.markers.hover.size); - } - } - }, { - key: "enlargePoints", - value: function enlargePoints(j) { - var w = this.w; - var me = this; - var ttCtx = this.ttCtx; - var col = j; - var points = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker'); - var newSize = w.config.markers.hover.size; - - for (var p = 0; p < points.length; p++) { - var rel = points[p].getAttribute('rel'); - var index = points[p].getAttribute('index'); - - if (newSize === undefined) { - newSize = w.globals.markers.size[index] + w.config.markers.hover.sizeOffset; - } - - if (col === parseInt(rel, 10)) { - me.newPointSize(col, points[p]); - var cx = points[p].getAttribute('cx'); - var cy = points[p].getAttribute('cy'); - me.tooltipPosition.moveXCrosshairs(cx); - - if (!ttCtx.fixedTooltip) { - me.tooltipPosition.moveTooltip(cx, cy, newSize); - } - } else { - me.oldPointSize(points[p]); - } - } - } - }, { - key: "newPointSize", - value: function newPointSize(rel, point) { - var w = this.w; - var newSize = w.config.markers.hover.size; - var elPoint = rel === 0 ? point.parentNode.firstChild : point.parentNode.lastChild; - - if (elPoint.getAttribute('default-marker-size') !== '0') { - var index = parseInt(elPoint.getAttribute('index'), 10); - - if (newSize === undefined) { - newSize = w.globals.markers.size[index] + w.config.markers.hover.sizeOffset; - } - - if (newSize < 0) newSize = 0; - elPoint.setAttribute('r', newSize); - } - } - }, { - key: "oldPointSize", - value: function oldPointSize(point) { - var size = parseFloat(point.getAttribute('default-marker-size')); - point.setAttribute('r', size); - } - }, { - key: "resetPointsSize", - value: function resetPointsSize() { - var w = this.w; - var points = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker'); - - for (var p = 0; p < points.length; p++) { - var size = parseFloat(points[p].getAttribute('default-marker-size')); - - if (Utils$1.isNumber(size) && size >= 0) { - points[p].setAttribute('r', size); - } else { - points[p].setAttribute('r', 0); - } - } - } - }]); - - return Marker; - }(); - - /** - * ApexCharts Tooltip.Intersect Class. - * This file deals with functions related to intersecting tooltips - * (tooltips that appear when user hovers directly over a data-point whether) - * - * @module Tooltip.Intersect - **/ - - var Intersect = /*#__PURE__*/function () { - function Intersect(tooltipContext) { - _classCallCheck(this, Intersect); - - this.w = tooltipContext.w; - this.ttCtx = tooltipContext; - } // a helper function to get an element's attribute value - - - _createClass(Intersect, [{ - key: "getAttr", - value: function getAttr(e, attr) { - return parseFloat(e.target.getAttribute(attr)); - } // handle tooltip for heatmaps and treemaps - - }, { - key: "handleHeatTreeTooltip", - value: function handleHeatTreeTooltip(_ref) { - var e = _ref.e, - opt = _ref.opt, - x = _ref.x, - y = _ref.y, - type = _ref.type; - var ttCtx = this.ttCtx; - var w = this.w; - - if (e.target.classList.contains("apexcharts-".concat(type, "-rect"))) { - var i = this.getAttr(e, 'i'); - var j = this.getAttr(e, 'j'); - var cx = this.getAttr(e, 'cx'); - var cy = this.getAttr(e, 'cy'); - var width = this.getAttr(e, 'width'); - var height = this.getAttr(e, 'height'); - ttCtx.tooltipLabels.drawSeriesTexts({ - ttItems: opt.ttItems, - i: i, - j: j, - shared: false, - e: e - }); - w.globals.capturedSeriesIndex = i; - w.globals.capturedDataPointIndex = j; - x = cx + ttCtx.tooltipRect.ttWidth / 2 + width; - y = cy + ttCtx.tooltipRect.ttHeight / 2 - height / 2; - ttCtx.tooltipPosition.moveXCrosshairs(cx + width / 2); - - if (x > w.globals.gridWidth / 2) { - x = cx - ttCtx.tooltipRect.ttWidth / 2 + width; - } - - if (ttCtx.w.config.tooltip.followCursor) { - var seriesBound = w.globals.dom.elWrap.getBoundingClientRect(); - x = w.globals.clientX - seriesBound.left - (x > w.globals.gridWidth / 2 ? ttCtx.tooltipRect.ttWidth : 0); - y = w.globals.clientY - seriesBound.top - (y > w.globals.gridHeight / 2 ? ttCtx.tooltipRect.ttHeight : 0); - } - } - - return { - x: x, - y: y - }; - } - /** - * handle tooltips for line/area/scatter charts where tooltip.intersect is true - * when user hovers over the marker directly, this function is executed - */ - - }, { - key: "handleMarkerTooltip", - value: function handleMarkerTooltip(_ref2) { - var e = _ref2.e, - opt = _ref2.opt, - x = _ref2.x, - y = _ref2.y; - var w = this.w; - var ttCtx = this.ttCtx; - var i; - var j; - - if (e.target.classList.contains('apexcharts-marker')) { - var cx = parseInt(opt.paths.getAttribute('cx'), 10); - var cy = parseInt(opt.paths.getAttribute('cy'), 10); - var val = parseFloat(opt.paths.getAttribute('val')); - j = parseInt(opt.paths.getAttribute('rel'), 10); - i = parseInt(opt.paths.parentNode.parentNode.parentNode.getAttribute('rel'), 10) - 1; - - if (ttCtx.intersect) { - var el = Utils$1.findAncestor(opt.paths, 'apexcharts-series'); - - if (el) { - i = parseInt(el.getAttribute('data:realIndex'), 10); - } - } - - ttCtx.tooltipLabels.drawSeriesTexts({ - ttItems: opt.ttItems, - i: i, - j: j, - shared: ttCtx.showOnIntersect ? false : w.config.tooltip.shared, - e: e - }); - - if (e.type === 'mouseup') { - ttCtx.markerClick(e, i, j); - } - - w.globals.capturedSeriesIndex = i; - w.globals.capturedDataPointIndex = j; - x = cx; - y = cy + w.globals.translateY - ttCtx.tooltipRect.ttHeight * 1.4; - - if (ttCtx.w.config.tooltip.followCursor) { - var elGrid = ttCtx.getElGrid(); - var seriesBound = elGrid.getBoundingClientRect(); - y = ttCtx.e.clientY + w.globals.translateY - seriesBound.top; - } - - if (val < 0) { - y = cy; - } - - ttCtx.marker.enlargeCurrentPoint(j, opt.paths, x, y); - } - - return { - x: x, - y: y - }; - } - /** - * handle tooltips for bar/column charts - */ - - }, { - key: "handleBarTooltip", - value: function handleBarTooltip(_ref3) { - var e = _ref3.e, - opt = _ref3.opt; - var w = this.w; - var ttCtx = this.ttCtx; - var tooltipEl = ttCtx.getElTooltip(); - var bx = 0; - var x = 0; - var y = 0; - var i = 0; - var strokeWidth; - var barXY = this.getBarTooltipXY({ - e: e, - opt: opt - }); - i = barXY.i; - var barHeight = barXY.barHeight; - var j = barXY.j; - w.globals.capturedSeriesIndex = i; - w.globals.capturedDataPointIndex = j; - - if (w.globals.isBarHorizontal && ttCtx.tooltipUtil.hasBars() || !w.config.tooltip.shared) { - x = barXY.x; - y = barXY.y; - strokeWidth = Array.isArray(w.config.stroke.width) ? w.config.stroke.width[i] : w.config.stroke.width; - bx = x; - } else { - if (!w.globals.comboCharts && !w.config.tooltip.shared) { - // todo: re-check this condition as it's always 0 - bx = bx / 2; - } - } // y is NaN, make it touch the bottom of grid area - - - if (isNaN(y)) { - y = w.globals.svgHeight - ttCtx.tooltipRect.ttHeight; - } else if (y < 0) { - y = 0; - } - - var seriesIndex = parseInt(opt.paths.parentNode.getAttribute('data:realIndex'), 10); - var isReversed = w.globals.isMultipleYAxis ? w.config.yaxis[seriesIndex] && w.config.yaxis[seriesIndex].reversed : w.config.yaxis[0].reversed; - - if (x + ttCtx.tooltipRect.ttWidth > w.globals.gridWidth && !isReversed) { - x = x - ttCtx.tooltipRect.ttWidth; - } else if (x < 0) { - x = 0; - } - - if (ttCtx.w.config.tooltip.followCursor) { - var elGrid = ttCtx.getElGrid(); - var seriesBound = elGrid.getBoundingClientRect(); - y = ttCtx.e.clientY - seriesBound.top; - } // if tooltip is still null, querySelector - - - if (ttCtx.tooltip === null) { - ttCtx.tooltip = w.globals.dom.baseEl.querySelector('.apexcharts-tooltip'); - } - - if (!w.config.tooltip.shared) { - if (w.globals.comboBarCount > 0) { - ttCtx.tooltipPosition.moveXCrosshairs(bx + strokeWidth / 2); - } else { - ttCtx.tooltipPosition.moveXCrosshairs(bx); - } - } // move tooltip here - - - if (!ttCtx.fixedTooltip && (!w.config.tooltip.shared || w.globals.isBarHorizontal && ttCtx.tooltipUtil.hasBars())) { - if (isReversed) { - x = x - ttCtx.tooltipRect.ttWidth; - - if (x < 0) { - x = 0; - } - } - - if (isReversed && !(w.globals.isBarHorizontal && ttCtx.tooltipUtil.hasBars())) { - y = y + barHeight - (w.globals.series[i][j] < 0 ? barHeight : 0) * 2; - } - - if (ttCtx.tooltipRect.ttHeight + y > w.globals.gridHeight) { - y = w.globals.gridHeight - ttCtx.tooltipRect.ttHeight + w.globals.translateY; - } else { - y = y + w.globals.translateY - ttCtx.tooltipRect.ttHeight / 2; - - if (y < 0) { - y = 0; - } - } - - tooltipEl.style.left = x + w.globals.translateX + 'px'; - tooltipEl.style.top = y + 'px'; - } - } - }, { - key: "getBarTooltipXY", - value: function getBarTooltipXY(_ref4) { - var e = _ref4.e, - opt = _ref4.opt; - var w = this.w; - var j = null; - var ttCtx = this.ttCtx; - var i = 0; - var x = 0; - var y = 0; - var barWidth = 0; - var barHeight = 0; - var cl = e.target.classList; - - if (cl.contains('apexcharts-bar-area') || cl.contains('apexcharts-candlestick-area') || cl.contains('apexcharts-boxPlot-area') || cl.contains('apexcharts-rangebar-area')) { - var bar = e.target; - var barRect = bar.getBoundingClientRect(); - var seriesBound = opt.elGrid.getBoundingClientRect(); - var bh = barRect.height; - barHeight = barRect.height; - var bw = barRect.width; - var cx = parseInt(bar.getAttribute('cx'), 10); - var cy = parseInt(bar.getAttribute('cy'), 10); - barWidth = parseFloat(bar.getAttribute('barWidth')); - var clientX = e.type === 'touchmove' ? e.touches[0].clientX : e.clientX; - j = parseInt(bar.getAttribute('j'), 10); - i = parseInt(bar.parentNode.getAttribute('rel'), 10) - 1; - var y1 = bar.getAttribute('data-range-y1'); - var y2 = bar.getAttribute('data-range-y2'); - - if (w.globals.comboCharts) { - i = parseInt(bar.parentNode.getAttribute('data:realIndex'), 10); - } // if (w.config.tooltip.shared) { - // this check not needed at the moment - // const yDivisor = w.globals.gridHeight / (w.globals.series.length) - // const hoverY = ttCtx.clientY - ttCtx.seriesBound.top - // j = Math.ceil(hoverY / yDivisor) - // } - - - ttCtx.tooltipLabels.drawSeriesTexts({ - ttItems: opt.ttItems, - i: i, - j: j, - y1: y1 ? parseInt(y1, 10) : null, - y2: y2 ? parseInt(y2, 10) : null, - shared: ttCtx.showOnIntersect ? false : w.config.tooltip.shared, - e: e - }); - - if (w.config.tooltip.followCursor) { - if (w.globals.isBarHorizontal) { - x = clientX - seriesBound.left + 15; - y = cy - ttCtx.dataPointsDividedHeight + bh / 2 - ttCtx.tooltipRect.ttHeight / 2; - } else { - if (w.globals.isXNumeric) { - x = cx - bw / 2; - } else { - x = cx - ttCtx.dataPointsDividedWidth + bw / 2; - } - - y = e.clientY - seriesBound.top - ttCtx.tooltipRect.ttHeight / 2 - 15; - } - } else { - if (w.globals.isBarHorizontal) { - x = cx; - - if (x < ttCtx.xyRatios.baseLineInvertedY) { - x = cx - ttCtx.tooltipRect.ttWidth; - } - - y = cy - ttCtx.dataPointsDividedHeight + bh / 2 - ttCtx.tooltipRect.ttHeight / 2; - } else { - // if columns - if (w.globals.isXNumeric) { - x = cx - bw / 2; - } else { - x = cx - ttCtx.dataPointsDividedWidth + bw / 2; - } - - y = cy; // - ttCtx.tooltipRect.ttHeight / 2 + 10 - } - } - } - - return { - x: x, - y: y, - barHeight: barHeight, - barWidth: barWidth, - i: i, - j: j - }; - } - }]); - - return Intersect; - }(); - - /** - * ApexCharts Tooltip.AxesTooltip Class. - * This file deals with the x-axis and y-axis tooltips. - * - * @module Tooltip.AxesTooltip - **/ - var AxesTooltip = /*#__PURE__*/function () { - function AxesTooltip(tooltipContext) { - _classCallCheck(this, AxesTooltip); - - this.w = tooltipContext.w; - this.ttCtx = tooltipContext; - } - /** - * This method adds the secondary tooltip which appears below x axis - * @memberof Tooltip - **/ - - - _createClass(AxesTooltip, [{ - key: "drawXaxisTooltip", - value: function drawXaxisTooltip() { - var w = this.w; - var ttCtx = this.ttCtx; - var isBottom = w.config.xaxis.position === 'bottom'; - ttCtx.xaxisOffY = isBottom ? w.globals.gridHeight + 1 : -w.globals.xAxisHeight - w.config.xaxis.axisTicks.height + 3; - var tooltipCssClass = isBottom ? 'apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom' : 'apexcharts-xaxistooltip apexcharts-xaxistooltip-top'; - var renderTo = w.globals.dom.elWrap; - - if (ttCtx.isXAxisTooltipEnabled) { - var xaxisTooltip = w.globals.dom.baseEl.querySelector('.apexcharts-xaxistooltip'); - - if (xaxisTooltip === null) { - ttCtx.xaxisTooltip = document.createElement('div'); - ttCtx.xaxisTooltip.setAttribute('class', tooltipCssClass + ' apexcharts-theme-' + w.config.tooltip.theme); - renderTo.appendChild(ttCtx.xaxisTooltip); - ttCtx.xaxisTooltipText = document.createElement('div'); - ttCtx.xaxisTooltipText.classList.add('apexcharts-xaxistooltip-text'); - ttCtx.xaxisTooltipText.style.fontFamily = w.config.xaxis.tooltip.style.fontFamily || w.config.chart.fontFamily; - ttCtx.xaxisTooltipText.style.fontSize = w.config.xaxis.tooltip.style.fontSize; - ttCtx.xaxisTooltip.appendChild(ttCtx.xaxisTooltipText); - } - } - } - /** - * This method adds the secondary tooltip which appears below x axis - * @memberof Tooltip - **/ - - }, { - key: "drawYaxisTooltip", - value: function drawYaxisTooltip() { - var w = this.w; - var ttCtx = this.ttCtx; - - var _loop = function _loop(i) { - var isRight = w.config.yaxis[i].opposite || w.config.yaxis[i].crosshairs.opposite; - ttCtx.yaxisOffX = isRight ? w.globals.gridWidth + 1 : 1; - var tooltipCssClass = isRight ? "apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i, " apexcharts-yaxistooltip-right") : "apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i, " apexcharts-yaxistooltip-left"); - w.globals.yAxisSameScaleIndices.map(function (samescales, ssi) { - samescales.map(function (s, si) { - if (si === i) { - tooltipCssClass += w.config.yaxis[si].show ? " " : " apexcharts-yaxistooltip-hidden"; - } - }); - }); - var renderTo = w.globals.dom.elWrap; - var yaxisTooltip = w.globals.dom.baseEl.querySelector(".apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i)); - - if (yaxisTooltip === null) { - ttCtx.yaxisTooltip = document.createElement('div'); - ttCtx.yaxisTooltip.setAttribute('class', tooltipCssClass + ' apexcharts-theme-' + w.config.tooltip.theme); - renderTo.appendChild(ttCtx.yaxisTooltip); - if (i === 0) ttCtx.yaxisTooltipText = []; - ttCtx.yaxisTooltipText[i] = document.createElement('div'); - ttCtx.yaxisTooltipText[i].classList.add('apexcharts-yaxistooltip-text'); - ttCtx.yaxisTooltip.appendChild(ttCtx.yaxisTooltipText[i]); - } - }; - - for (var i = 0; i < w.config.yaxis.length; i++) { - _loop(i); - } - } - /** - * @memberof Tooltip - **/ - - }, { - key: "setXCrosshairWidth", - value: function setXCrosshairWidth() { - var w = this.w; - var ttCtx = this.ttCtx; // set xcrosshairs width - - var xcrosshairs = ttCtx.getElXCrosshairs(); - ttCtx.xcrosshairsWidth = parseInt(w.config.xaxis.crosshairs.width, 10); - - if (!w.globals.comboCharts) { - if (w.config.xaxis.crosshairs.width === 'tickWidth') { - var count = w.globals.labels.length; - ttCtx.xcrosshairsWidth = w.globals.gridWidth / count; - } else if (w.config.xaxis.crosshairs.width === 'barWidth') { - var bar = w.globals.dom.baseEl.querySelector('.apexcharts-bar-area'); - - if (bar !== null) { - var barWidth = parseFloat(bar.getAttribute('barWidth')); - ttCtx.xcrosshairsWidth = barWidth; - } else { - ttCtx.xcrosshairsWidth = 1; - } - } - } else { - var _bar = w.globals.dom.baseEl.querySelector('.apexcharts-bar-area'); - - if (_bar !== null && w.config.xaxis.crosshairs.width === 'barWidth') { - var _barWidth = parseFloat(_bar.getAttribute('barWidth')); - - ttCtx.xcrosshairsWidth = _barWidth; - } else { - if (w.config.xaxis.crosshairs.width === 'tickWidth') { - var _count = w.globals.labels.length; - ttCtx.xcrosshairsWidth = w.globals.gridWidth / _count; - } - } - } - - if (w.globals.isBarHorizontal) { - ttCtx.xcrosshairsWidth = 0; - } - - if (xcrosshairs !== null && ttCtx.xcrosshairsWidth > 0) { - xcrosshairs.setAttribute('width', ttCtx.xcrosshairsWidth); - } - } - }, { - key: "handleYCrosshair", - value: function handleYCrosshair() { - var w = this.w; - var ttCtx = this.ttCtx; // set ycrosshairs height - - ttCtx.ycrosshairs = w.globals.dom.baseEl.querySelector('.apexcharts-ycrosshairs'); - ttCtx.ycrosshairsHidden = w.globals.dom.baseEl.querySelector('.apexcharts-ycrosshairs-hidden'); - } - }, { - key: "drawYaxisTooltipText", - value: function drawYaxisTooltipText(index, clientY, xyRatios) { - var ttCtx = this.ttCtx; - var w = this.w; - var lbFormatter = w.globals.yLabelFormatters[index]; - - if (ttCtx.yaxisTooltips[index]) { - var elGrid = ttCtx.getElGrid(); - var seriesBound = elGrid.getBoundingClientRect(); - var hoverY = (clientY - seriesBound.top) * xyRatios.yRatio[index]; - var height = w.globals.maxYArr[index] - w.globals.minYArr[index]; - var val = w.globals.minYArr[index] + (height - hoverY); - ttCtx.tooltipPosition.moveYCrosshairs(clientY - seriesBound.top); - ttCtx.yaxisTooltipText[index].innerHTML = lbFormatter(val); - ttCtx.tooltipPosition.moveYAxisTooltip(index); - } - } - }]); - - return AxesTooltip; - }(); - - /** - * ApexCharts Core Tooltip Class to handle the tooltip generation. - * - * @module Tooltip - **/ - - var Tooltip = /*#__PURE__*/function () { - function Tooltip(ctx) { - _classCallCheck(this, Tooltip); - - this.ctx = ctx; - this.w = ctx.w; - var w = this.w; - this.tConfig = w.config.tooltip; - this.tooltipUtil = new Utils(this); - this.tooltipLabels = new Labels(this); - this.tooltipPosition = new Position(this); - this.marker = new Marker(this); - this.intersect = new Intersect(this); - this.axesTooltip = new AxesTooltip(this); - this.showOnIntersect = this.tConfig.intersect; - this.showTooltipTitle = this.tConfig.x.show; - this.fixedTooltip = this.tConfig.fixed.enabled; - this.xaxisTooltip = null; - this.yaxisTTEls = null; - this.isBarShared = !w.globals.isBarHorizontal && this.tConfig.shared; - this.lastHoverTime = Date.now(); - } - - _createClass(Tooltip, [{ - key: "getElTooltip", - value: function getElTooltip(ctx) { - if (!ctx) ctx = this; - if (!ctx.w.globals.dom.baseEl) return null; - return ctx.w.globals.dom.baseEl.querySelector('.apexcharts-tooltip'); - } - }, { - key: "getElXCrosshairs", - value: function getElXCrosshairs() { - return this.w.globals.dom.baseEl.querySelector('.apexcharts-xcrosshairs'); - } - }, { - key: "getElGrid", - value: function getElGrid() { - return this.w.globals.dom.baseEl.querySelector('.apexcharts-grid'); - } - }, { - key: "drawTooltip", - value: function drawTooltip(xyRatios) { - var w = this.w; - this.xyRatios = xyRatios; - this.isXAxisTooltipEnabled = w.config.xaxis.tooltip.enabled && w.globals.axisCharts; - this.yaxisTooltips = w.config.yaxis.map(function (y, i) { - return y.show && y.tooltip.enabled && w.globals.axisCharts ? true : false; - }); - this.allTooltipSeriesGroups = []; - - if (!w.globals.axisCharts) { - this.showTooltipTitle = false; - } - - var tooltipEl = document.createElement('div'); - tooltipEl.classList.add('apexcharts-tooltip'); - - if (w.config.tooltip.cssClass) { - tooltipEl.classList.add(w.config.tooltip.cssClass); - } - - tooltipEl.classList.add("apexcharts-theme-".concat(this.tConfig.theme)); - w.globals.dom.elWrap.appendChild(tooltipEl); - - if (w.globals.axisCharts) { - this.axesTooltip.drawXaxisTooltip(); - this.axesTooltip.drawYaxisTooltip(); - this.axesTooltip.setXCrosshairWidth(); - this.axesTooltip.handleYCrosshair(); - var xAxis = new XAxis(this.ctx); - this.xAxisTicksPositions = xAxis.getXAxisTicksPositions(); - } // we forcefully set intersect true for these conditions - - - if ((w.globals.comboCharts || this.tConfig.intersect || w.config.chart.type === 'rangeBar') && !this.tConfig.shared) { - this.showOnIntersect = true; - } - - if (w.config.markers.size === 0 || w.globals.markers.largestSize === 0) { - // when user don't want to show points all the time, but only on when hovering on series - this.marker.drawDynamicPoints(this); - } // no visible series, exit - - - if (w.globals.collapsedSeries.length === w.globals.series.length) return; - this.dataPointsDividedHeight = w.globals.gridHeight / w.globals.dataPoints; - this.dataPointsDividedWidth = w.globals.gridWidth / w.globals.dataPoints; - - if (this.showTooltipTitle) { - this.tooltipTitle = document.createElement('div'); - this.tooltipTitle.classList.add('apexcharts-tooltip-title'); - this.tooltipTitle.style.fontFamily = this.tConfig.style.fontFamily || w.config.chart.fontFamily; - this.tooltipTitle.style.fontSize = this.tConfig.style.fontSize; - tooltipEl.appendChild(this.tooltipTitle); - } - - var ttItemsCnt = w.globals.series.length; // whether shared or not, default is shared - - if ((w.globals.xyCharts || w.globals.comboCharts) && this.tConfig.shared) { - if (!this.showOnIntersect) { - ttItemsCnt = w.globals.series.length; - } else { - ttItemsCnt = 1; - } - } - - this.legendLabels = w.globals.dom.baseEl.querySelectorAll('.apexcharts-legend-text'); - this.ttItems = this.createTTElements(ttItemsCnt); - this.addSVGEvents(); - } - }, { - key: "createTTElements", - value: function createTTElements(ttItemsCnt) { - var _this = this; - - var w = this.w; - var ttItems = []; - var tooltipEl = this.getElTooltip(); - - var _loop = function _loop(i) { - var gTxt = document.createElement('div'); - gTxt.classList.add('apexcharts-tooltip-series-group'); - gTxt.style.order = w.config.tooltip.inverseOrder ? ttItemsCnt - i : i + 1; - - if (_this.tConfig.shared && _this.tConfig.enabledOnSeries && Array.isArray(_this.tConfig.enabledOnSeries)) { - if (_this.tConfig.enabledOnSeries.indexOf(i) < 0) { - gTxt.classList.add('apexcharts-tooltip-series-group-hidden'); - } - } - - var point = document.createElement('span'); - point.classList.add('apexcharts-tooltip-marker'); - point.style.backgroundColor = w.globals.colors[i]; - gTxt.appendChild(point); - var gYZ = document.createElement('div'); - gYZ.classList.add('apexcharts-tooltip-text'); - gYZ.style.fontFamily = _this.tConfig.style.fontFamily || w.config.chart.fontFamily; - gYZ.style.fontSize = _this.tConfig.style.fontSize; - ['y', 'goals', 'z'].forEach(function (g) { - var gValText = document.createElement('div'); - gValText.classList.add("apexcharts-tooltip-".concat(g, "-group")); - var txtLabel = document.createElement('span'); - txtLabel.classList.add("apexcharts-tooltip-text-".concat(g, "-label")); - gValText.appendChild(txtLabel); - var txtValue = document.createElement('span'); - txtValue.classList.add("apexcharts-tooltip-text-".concat(g, "-value")); - gValText.appendChild(txtValue); - gYZ.appendChild(gValText); - }); - gTxt.appendChild(gYZ); - tooltipEl.appendChild(gTxt); - ttItems.push(gTxt); - }; - - for (var i = 0; i < ttItemsCnt; i++) { - _loop(i); - } - - return ttItems; - } - }, { - key: "addSVGEvents", - value: function addSVGEvents() { - var w = this.w; - var type = w.config.chart.type; - var tooltipEl = this.getElTooltip(); - var commonBar = !!(type === 'bar' || type === 'candlestick' || type === 'boxPlot' || type === 'rangeBar'); - var chartWithmarkers = type === 'area' || type === 'line' || type === 'scatter' || type === 'bubble' || type === 'radar'; - var hoverArea = w.globals.dom.Paper.node; - var elGrid = this.getElGrid(); - - if (elGrid) { - this.seriesBound = elGrid.getBoundingClientRect(); - } - - var tooltipY = []; - var tooltipX = []; - var seriesHoverParams = { - hoverArea: hoverArea, - elGrid: elGrid, - tooltipEl: tooltipEl, - tooltipY: tooltipY, - tooltipX: tooltipX, - ttItems: this.ttItems - }; - var points; - - if (w.globals.axisCharts) { - if (chartWithmarkers) { - points = w.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:longestSeries='true'] .apexcharts-marker"); - } else if (commonBar) { - points = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series .apexcharts-bar-area, .apexcharts-series .apexcharts-candlestick-area, .apexcharts-series .apexcharts-boxPlot-area, .apexcharts-series .apexcharts-rangebar-area'); - } else if (type === 'heatmap' || type === 'treemap') { - points = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series .apexcharts-heatmap, .apexcharts-series .apexcharts-treemap'); - } - - if (points && points.length) { - for (var p = 0; p < points.length; p++) { - tooltipY.push(points[p].getAttribute('cy')); - tooltipX.push(points[p].getAttribute('cx')); - } - } - } - - var validSharedChartTypes = w.globals.xyCharts && !this.showOnIntersect || w.globals.comboCharts && !this.showOnIntersect || commonBar && this.tooltipUtil.hasBars() && this.tConfig.shared; - - if (validSharedChartTypes) { - this.addPathsEventListeners([hoverArea], seriesHoverParams); - } else if (commonBar && !w.globals.comboCharts || chartWithmarkers && this.showOnIntersect) { - this.addDatapointEventsListeners(seriesHoverParams); - } else if (!w.globals.axisCharts || type === 'heatmap' || type === 'treemap') { - var seriesAll = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series'); - this.addPathsEventListeners(seriesAll, seriesHoverParams); - } - - if (this.showOnIntersect) { - var lineAreaPoints = w.globals.dom.baseEl.querySelectorAll('.apexcharts-line-series .apexcharts-marker, .apexcharts-area-series .apexcharts-marker'); - - if (lineAreaPoints.length > 0) { - // if we find any lineSeries, addEventListeners for them - this.addPathsEventListeners(lineAreaPoints, seriesHoverParams); - } // combo charts may have bars, so add event listeners here too - - - if (this.tooltipUtil.hasBars() && !this.tConfig.shared) { - this.addDatapointEventsListeners(seriesHoverParams); - } - } - } - }, { - key: "drawFixedTooltipRect", - value: function drawFixedTooltipRect() { - var w = this.w; - var tooltipEl = this.getElTooltip(); - var tooltipRect = tooltipEl.getBoundingClientRect(); - var ttWidth = tooltipRect.width + 10; - var ttHeight = tooltipRect.height + 10; - var x = this.tConfig.fixed.offsetX; - var y = this.tConfig.fixed.offsetY; - var fixed = this.tConfig.fixed.position.toLowerCase(); - - if (fixed.indexOf('right') > -1) { - x = x + w.globals.svgWidth - ttWidth + 10; - } - - if (fixed.indexOf('bottom') > -1) { - y = y + w.globals.svgHeight - ttHeight - 10; - } - - tooltipEl.style.left = x + 'px'; - tooltipEl.style.top = y + 'px'; - return { - x: x, - y: y, - ttWidth: ttWidth, - ttHeight: ttHeight - }; - } - }, { - key: "addDatapointEventsListeners", - value: function addDatapointEventsListeners(seriesHoverParams) { - var w = this.w; - var points = w.globals.dom.baseEl.querySelectorAll('.apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area'); - this.addPathsEventListeners(points, seriesHoverParams); - } - }, { - key: "addPathsEventListeners", - value: function addPathsEventListeners(paths, opts) { - var self = this; - - var _loop2 = function _loop2(p) { - var extendedOpts = { - paths: paths[p], - tooltipEl: opts.tooltipEl, - tooltipY: opts.tooltipY, - tooltipX: opts.tooltipX, - elGrid: opts.elGrid, - hoverArea: opts.hoverArea, - ttItems: opts.ttItems - }; - var events = ['mousemove', 'mouseup', 'touchmove', 'mouseout', 'touchend']; - events.map(function (ev) { - return paths[p].addEventListener(ev, self.onSeriesHover.bind(self, extendedOpts), { - capture: false, - passive: true - }); - }); - }; - - for (var p = 0; p < paths.length; p++) { - _loop2(p); - } - } - /* - ** Check to see if the tooltips should be updated based on a mouse / touch event - */ - - }, { - key: "onSeriesHover", - value: function onSeriesHover(opt, e) { - var _this2 = this; - - // If a user is moving their mouse quickly, don't bother updating the tooltip every single frame - var targetDelay = 100; - var timeSinceLastUpdate = Date.now() - this.lastHoverTime; - - if (timeSinceLastUpdate >= targetDelay) { - // The tooltip was last updated over 100ms ago - redraw it even if the user is still moving their - // mouse so they get some feedback that their moves are being registered - this.seriesHover(opt, e); - } else { - // The tooltip was last updated less than 100ms ago - // Cancel any other delayed draw, so we don't show stale data - clearTimeout(this.seriesHoverTimeout); // Schedule the next draw so that it happens about 100ms after the last update - - this.seriesHoverTimeout = setTimeout(function () { - _this2.seriesHover(opt, e); - }, targetDelay - timeSinceLastUpdate); - } - } - /* - ** The actual series hover function - */ - - }, { - key: "seriesHover", - value: function seriesHover(opt, e) { - var _this3 = this; - - this.lastHoverTime = Date.now(); - var chartGroups = []; - var w = this.w; // if user has more than one charts in group, we need to sync - - if (w.config.chart.group) { - chartGroups = this.ctx.getGroupedCharts(); - } - - if (w.globals.axisCharts && (w.globals.minX === -Infinity && w.globals.maxX === Infinity || w.globals.dataPoints === 0)) { - return; - } - - if (chartGroups.length) { - chartGroups.forEach(function (ch) { - var tooltipEl = _this3.getElTooltip(ch); - - var newOpts = { - paths: opt.paths, - tooltipEl: tooltipEl, - tooltipY: opt.tooltipY, - tooltipX: opt.tooltipX, - elGrid: opt.elGrid, - hoverArea: opt.hoverArea, - ttItems: ch.w.globals.tooltip.ttItems - }; // all the charts should have the same minX and maxX (same xaxis) for multiple tooltips to work correctly - - if (ch.w.globals.minX === _this3.w.globals.minX && ch.w.globals.maxX === _this3.w.globals.maxX) { - ch.w.globals.tooltip.seriesHoverByContext({ - chartCtx: ch, - ttCtx: ch.w.globals.tooltip, - opt: newOpts, - e: e - }); - } - }); - } else { - this.seriesHoverByContext({ - chartCtx: this.ctx, - ttCtx: this.w.globals.tooltip, - opt: opt, - e: e - }); - } - } - }, { - key: "seriesHoverByContext", - value: function seriesHoverByContext(_ref) { - var chartCtx = _ref.chartCtx, - ttCtx = _ref.ttCtx, - opt = _ref.opt, - e = _ref.e; - var w = chartCtx.w; - var tooltipEl = this.getElTooltip(); - if (!tooltipEl) return; // tooltipRect is calculated on every mousemove, because the text is dynamic - - ttCtx.tooltipRect = { - x: 0, - y: 0, - ttWidth: tooltipEl.getBoundingClientRect().width, - ttHeight: tooltipEl.getBoundingClientRect().height - }; - ttCtx.e = e; // highlight the current hovered bars - - if (ttCtx.tooltipUtil.hasBars() && !w.globals.comboCharts && !ttCtx.isBarShared) { - if (this.tConfig.onDatasetHover.highlightDataSeries) { - var series = new Series(chartCtx); - series.toggleSeriesOnHover(e, e.target.parentNode); - } - } - - if (ttCtx.fixedTooltip) { - ttCtx.drawFixedTooltipRect(); - } - - if (w.globals.axisCharts) { - ttCtx.axisChartsTooltips({ - e: e, - opt: opt, - tooltipRect: ttCtx.tooltipRect - }); - } else { - // non-plot charts i.e pie/donut/circle - ttCtx.nonAxisChartsTooltips({ - e: e, - opt: opt, - tooltipRect: ttCtx.tooltipRect - }); - } - } // tooltip handling for line/area/bar/columns/scatter - - }, { - key: "axisChartsTooltips", - value: function axisChartsTooltips(_ref2) { - var e = _ref2.e, - opt = _ref2.opt; - var w = this.w; - var x, y; - var seriesBound = opt.elGrid.getBoundingClientRect(); - var clientX = e.type === 'touchmove' ? e.touches[0].clientX : e.clientX; - var clientY = e.type === 'touchmove' ? e.touches[0].clientY : e.clientY; - this.clientY = clientY; - this.clientX = clientX; - w.globals.capturedSeriesIndex = -1; - w.globals.capturedDataPointIndex = -1; - - if (clientY < seriesBound.top || clientY > seriesBound.top + seriesBound.height) { - this.handleMouseOut(opt); - return; - } - - if (Array.isArray(this.tConfig.enabledOnSeries) && !w.config.tooltip.shared) { - var index = parseInt(opt.paths.getAttribute('index'), 10); - - if (this.tConfig.enabledOnSeries.indexOf(index) < 0) { - this.handleMouseOut(opt); - return; - } - } - - var tooltipEl = this.getElTooltip(); - var xcrosshairs = this.getElXCrosshairs(); - var isStickyTooltip = w.globals.xyCharts || w.config.chart.type === 'bar' && !w.globals.isBarHorizontal && this.tooltipUtil.hasBars() && this.tConfig.shared || w.globals.comboCharts && this.tooltipUtil.hasBars(); - - if (e.type === 'mousemove' || e.type === 'touchmove' || e.type === 'mouseup') { - // there is no series to hover over - if (w.globals.collapsedSeries.length + w.globals.ancillaryCollapsedSeries.length === w.globals.series.length) { - return; - } - - if (xcrosshairs !== null) { - xcrosshairs.classList.add('apexcharts-active'); - } - - var hasYAxisTooltip = this.yaxisTooltips.filter(function (b) { - return b === true; - }); - - if (this.ycrosshairs !== null && hasYAxisTooltip.length) { - this.ycrosshairs.classList.add('apexcharts-active'); - } - - if (isStickyTooltip && !this.showOnIntersect) { - this.handleStickyTooltip(e, clientX, clientY, opt); - } else { - if (w.config.chart.type === 'heatmap' || w.config.chart.type === 'treemap') { - var markerXY = this.intersect.handleHeatTreeTooltip({ - e: e, - opt: opt, - x: x, - y: y, - type: w.config.chart.type - }); - x = markerXY.x; - y = markerXY.y; - tooltipEl.style.left = x + 'px'; - tooltipEl.style.top = y + 'px'; - } else { - if (this.tooltipUtil.hasBars()) { - this.intersect.handleBarTooltip({ - e: e, - opt: opt - }); - } - - if (this.tooltipUtil.hasMarkers()) { - // intersect - line/area/scatter/bubble - this.intersect.handleMarkerTooltip({ - e: e, - opt: opt, - x: x, - y: y - }); - } - } - } - - if (this.yaxisTooltips.length) { - for (var yt = 0; yt < w.config.yaxis.length; yt++) { - this.axesTooltip.drawYaxisTooltipText(yt, clientY, this.xyRatios); - } - } - - opt.tooltipEl.classList.add('apexcharts-active'); - } else if (e.type === 'mouseout' || e.type === 'touchend') { - this.handleMouseOut(opt); - } - } // tooltip handling for pie/donuts - - }, { - key: "nonAxisChartsTooltips", - value: function nonAxisChartsTooltips(_ref3) { - var e = _ref3.e, - opt = _ref3.opt, - tooltipRect = _ref3.tooltipRect; - var w = this.w; - var rel = opt.paths.getAttribute('rel'); - var tooltipEl = this.getElTooltip(); - var seriesBound = w.globals.dom.elWrap.getBoundingClientRect(); - - if (e.type === 'mousemove' || e.type === 'touchmove') { - tooltipEl.classList.add('apexcharts-active'); - this.tooltipLabels.drawSeriesTexts({ - ttItems: opt.ttItems, - i: parseInt(rel, 10) - 1, - shared: false - }); - var x = w.globals.clientX - seriesBound.left - tooltipRect.ttWidth / 2; - var y = w.globals.clientY - seriesBound.top - tooltipRect.ttHeight - 10; - tooltipEl.style.left = x + 'px'; - tooltipEl.style.top = y + 'px'; - - if (w.config.legend.tooltipHoverFormatter) { - var legendFormatter = w.config.legend.tooltipHoverFormatter; - var i = rel - 1; - var legendName = this.legendLabels[i].getAttribute('data:default-text'); - var text = legendFormatter(legendName, { - seriesIndex: i, - dataPointIndex: i, - w: w - }); - this.legendLabels[i].innerHTML = text; - } - } else if (e.type === 'mouseout' || e.type === 'touchend') { - tooltipEl.classList.remove('apexcharts-active'); - - if (w.config.legend.tooltipHoverFormatter) { - this.legendLabels.forEach(function (l) { - var defaultText = l.getAttribute('data:default-text'); - l.innerHTML = decodeURIComponent(defaultText); - }); - } - } - } - }, { - key: "handleStickyTooltip", - value: function handleStickyTooltip(e, clientX, clientY, opt) { - var w = this.w; - var capj = this.tooltipUtil.getNearestValues({ - context: this, - hoverArea: opt.hoverArea, - elGrid: opt.elGrid, - clientX: clientX, - clientY: clientY - }); - var j = capj.j; - var capturedSeries = capj.capturedSeries; - var bounds = opt.elGrid.getBoundingClientRect(); - - if (capj.hoverX < 0 || capj.hoverX > bounds.width) { - this.handleMouseOut(opt); - return; - } - - if (capturedSeries !== null) { - this.handleStickyCapturedSeries(e, capturedSeries, opt, j); - } else { - // couldn't capture any series. check if shared X is same, - // if yes, draw a grouped tooltip - if (this.tooltipUtil.isXoverlap(j) || w.globals.isBarHorizontal) { - this.create(e, this, 0, j, opt.ttItems); - } - } - } - }, { - key: "handleStickyCapturedSeries", - value: function handleStickyCapturedSeries(e, capturedSeries, opt, j) { - var w = this.w; - - if (!this.tConfig.shared) { - var ignoreNull = w.globals.series[capturedSeries][j] === null; - - if (ignoreNull) { - this.handleMouseOut(opt); - return; - } - } - - if (typeof w.globals.series[capturedSeries][j] !== 'undefined') { - if (this.tConfig.shared && this.tooltipUtil.isXoverlap(j) && this.tooltipUtil.isInitialSeriesSameLen()) { - this.create(e, this, capturedSeries, j, opt.ttItems); - } else { - this.create(e, this, capturedSeries, j, opt.ttItems, false); - } - } else { - if (this.tooltipUtil.isXoverlap(j)) { - this.create(e, this, 0, j, opt.ttItems); - } - } - } - }, { - key: "deactivateHoverFilter", - value: function deactivateHoverFilter() { - var w = this.w; - var graphics = new Graphics(this.ctx); - var allPaths = w.globals.dom.Paper.select(".apexcharts-bar-area"); - - for (var b = 0; b < allPaths.length; b++) { - graphics.pathMouseLeave(allPaths[b]); - } - } - }, { - key: "handleMouseOut", - value: function handleMouseOut(opt) { - var w = this.w; - var xcrosshairs = this.getElXCrosshairs(); - opt.tooltipEl.classList.remove('apexcharts-active'); - this.deactivateHoverFilter(); - - if (w.config.chart.type !== 'bubble') { - this.marker.resetPointsSize(); - } - - if (xcrosshairs !== null) { - xcrosshairs.classList.remove('apexcharts-active'); - } - - if (this.ycrosshairs !== null) { - this.ycrosshairs.classList.remove('apexcharts-active'); - } - - if (this.isXAxisTooltipEnabled) { - this.xaxisTooltip.classList.remove('apexcharts-active'); - } - - if (this.yaxisTooltips.length) { - if (this.yaxisTTEls === null) { - this.yaxisTTEls = w.globals.dom.baseEl.querySelectorAll('.apexcharts-yaxistooltip'); - } - - for (var i = 0; i < this.yaxisTTEls.length; i++) { - this.yaxisTTEls[i].classList.remove('apexcharts-active'); - } - } - - if (w.config.legend.tooltipHoverFormatter) { - this.legendLabels.forEach(function (l) { - var defaultText = l.getAttribute('data:default-text'); - l.innerHTML = decodeURIComponent(defaultText); - }); - } - } - }, { - key: "markerClick", - value: function markerClick(e, seriesIndex, dataPointIndex) { - var w = this.w; - - if (typeof w.config.chart.events.markerClick === 'function') { - w.config.chart.events.markerClick(e, this.ctx, { - seriesIndex: seriesIndex, - dataPointIndex: dataPointIndex, - w: w - }); - } - - this.ctx.events.fireEvent('markerClick', [e, this.ctx, { - seriesIndex: seriesIndex, - dataPointIndex: dataPointIndex, - w: w - }]); - } - }, { - key: "create", - value: function create(e, context, capturedSeries, j, ttItems) { - var shared = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null; - var w = this.w; - var ttCtx = context; - - if (e.type === 'mouseup') { - this.markerClick(e, capturedSeries, j); - } - - if (shared === null) shared = this.tConfig.shared; - var hasMarkers = this.tooltipUtil.hasMarkers(); - var bars = this.tooltipUtil.getElBars(); - - if (w.config.legend.tooltipHoverFormatter) { - var legendFormatter = w.config.legend.tooltipHoverFormatter; - var els = Array.from(this.legendLabels); // reset all legend values first - - els.forEach(function (l) { - var legendName = l.getAttribute('data:default-text'); - l.innerHTML = decodeURIComponent(legendName); - }); // for irregular time series - - for (var i = 0; i < els.length; i++) { - var l = els[i]; - var lsIndex = parseInt(l.getAttribute('i'), 10); - var legendName = decodeURIComponent(l.getAttribute('data:default-text')); - var text = legendFormatter(legendName, { - seriesIndex: shared ? lsIndex : capturedSeries, - dataPointIndex: j, - w: w - }); - - if (!shared) { - l.innerHTML = lsIndex === capturedSeries ? text : legendName; - - if (capturedSeries === lsIndex) { - break; - } - } else { - l.innerHTML = w.globals.collapsedSeriesIndices.indexOf(lsIndex) < 0 ? text : legendName; - } - } - } - - if (shared) { - ttCtx.tooltipLabels.drawSeriesTexts({ - ttItems: ttItems, - i: capturedSeries, - j: j, - shared: this.showOnIntersect ? false : this.tConfig.shared - }); - - if (hasMarkers) { - if (w.globals.markers.largestSize > 0) { - ttCtx.marker.enlargePoints(j); - } else { - ttCtx.tooltipPosition.moveDynamicPointsOnHover(j); - } - } - - if (this.tooltipUtil.hasBars()) { - this.barSeriesHeight = this.tooltipUtil.getBarsHeight(bars); - - if (this.barSeriesHeight > 0) { - // hover state, activate snap filter - var graphics = new Graphics(this.ctx); - var paths = w.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(j, "']")); // de-activate first - - this.deactivateHoverFilter(); - this.tooltipPosition.moveStickyTooltipOverBars(j); - - for (var b = 0; b < paths.length; b++) { - graphics.pathMouseEnter(paths[b]); - } - } - } - } else { - ttCtx.tooltipLabels.drawSeriesTexts({ - shared: false, - ttItems: ttItems, - i: capturedSeries, - j: j - }); - - if (this.tooltipUtil.hasBars()) { - ttCtx.tooltipPosition.moveStickyTooltipOverBars(j); - } - - if (hasMarkers) { - ttCtx.tooltipPosition.moveMarkers(capturedSeries, j); - } - } - } - }]); - - return Tooltip; - }(); - - /** - * ApexCharts BarStacked Class responsible for drawing both Stacked Columns and Bars. - * - * @module BarStacked - * The whole calculation for stacked bar/column is different from normal bar/column, - * hence it makes sense to derive a new class for it extending most of the props of Parent Bar - **/ - - var BarStacked = /*#__PURE__*/function (_Bar) { - _inherits(BarStacked, _Bar); - - var _super = _createSuper(BarStacked); - - function BarStacked() { - _classCallCheck(this, BarStacked); - - return _super.apply(this, arguments); - } - - _createClass(BarStacked, [{ - key: "draw", - value: function draw(series, seriesIndex) { - var _this = this; - - var w = this.w; - this.graphics = new Graphics(this.ctx); - this.bar = new Bar(this.ctx, this.xyRatios); - var coreUtils = new CoreUtils(this.ctx, w); - series = coreUtils.getLogSeries(series); - this.yRatio = coreUtils.getLogYRatios(this.yRatio); - this.barHelpers.initVariables(series); - - if (w.config.chart.stackType === '100%') { - series = w.globals.seriesPercent.slice(); - } - - this.series = series; - this.totalItems = 0; - this.prevY = []; // y position on chart - - this.prevX = []; // x position on chart - - this.prevYF = []; // y position including shapes on chart - - this.prevXF = []; // x position including shapes on chart - - this.prevYVal = []; // y values (series[i][j]) in columns - - this.prevXVal = []; // x values (series[i][j]) in bars - - this.xArrj = []; // xj indicates x position on graph in bars - - this.xArrjF = []; // xjF indicates bar's x position + roundedShape's positions in bars - - this.xArrjVal = []; // x val means the actual series's y values in horizontal/bars - - this.yArrj = []; // yj indicates y position on graph in columns - - this.yArrjF = []; // yjF indicates bar's y position + roundedShape's positions in columns - - this.yArrjVal = []; // y val means the actual series's y values in columns - - for (var sl = 0; sl < series.length; sl++) { - if (series[sl].length > 0) { - this.totalItems += series[sl].length; - } - } - - var ret = this.graphics.group({ - class: 'apexcharts-bar-series apexcharts-plot-series' - }); - var x = 0; - var y = 0; - - var _loop = function _loop(i, bc) { - var xDivision = void 0; // xDivision is the GRIDWIDTH divided by number of datapoints (columns) - - var yDivision = void 0; // yDivision is the GRIDHEIGHT divided by number of datapoints (bars) - - var zeroH = void 0; // zeroH is the baseline where 0 meets y axis - - var zeroW = void 0; // zeroW is the baseline where 0 meets x axis - - var xArrValues = []; - var yArrValues = []; - var realIndex = w.globals.comboCharts ? seriesIndex[i] : i; - - if (_this.yRatio.length > 1) { - _this.yaxisIndex = realIndex; - } - - _this.isReversed = w.config.yaxis[_this.yaxisIndex] && w.config.yaxis[_this.yaxisIndex].reversed; // el to which series will be drawn - - var elSeries = _this.graphics.group({ - class: "apexcharts-series", - seriesName: Utils$1.escapeString(w.globals.seriesNames[realIndex]), - rel: i + 1, - 'data:realIndex': realIndex - }); - - _this.ctx.series.addCollapsedClassToSeries(elSeries, realIndex); // eldatalabels - - - var elDataLabelsWrap = _this.graphics.group({ - class: 'apexcharts-datalabels', - 'data:realIndex': realIndex - }); - - var barHeight = 0; - var barWidth = 0; - - var initPositions = _this.initialPositions(x, y, xDivision, yDivision, zeroH, zeroW); - - y = initPositions.y; - barHeight = initPositions.barHeight; - yDivision = initPositions.yDivision; - zeroW = initPositions.zeroW; - x = initPositions.x; - barWidth = initPositions.barWidth; - xDivision = initPositions.xDivision; - zeroH = initPositions.zeroH; - _this.yArrj = []; - _this.yArrjF = []; - _this.yArrjVal = []; - _this.xArrj = []; - _this.xArrjF = []; - _this.xArrjVal = []; // if (!this.horizontal) { - // this.xArrj.push(x + barWidth / 2) - // } - // fix issue #1215; - // where all stack bar disappear after collapsing the first series - // sol: if only 1 arr in this.prevY(this.prevY.length === 1) and all are NaN - - if (_this.prevY.length === 1 && _this.prevY[0].every(function (val) { - return isNaN(val); - })) { - // make this.prevY[0] all zeroH - _this.prevY[0] = _this.prevY[0].map(function (val) { - return zeroH; - }); // make this.prevYF[0] all 0 - - _this.prevYF[0] = _this.prevYF[0].map(function (val) { - return 0; - }); - } - - for (var j = 0; j < w.globals.dataPoints; j++) { - var strokeWidth = _this.barHelpers.getStrokeWidth(i, j, realIndex); - - var commonPathOpts = { - indexes: { - i: i, - j: j, - realIndex: realIndex, - bc: bc - }, - strokeWidth: strokeWidth, - x: x, - y: y, - elSeries: elSeries - }; - var paths = null; - - if (_this.isHorizontal) { - paths = _this.drawStackedBarPaths(_objectSpread2(_objectSpread2({}, commonPathOpts), {}, { - zeroW: zeroW, - barHeight: barHeight, - yDivision: yDivision - })); - barWidth = _this.series[i][j] / _this.invertedYRatio; - } else { - paths = _this.drawStackedColumnPaths(_objectSpread2(_objectSpread2({}, commonPathOpts), {}, { - xDivision: xDivision, - barWidth: barWidth, - zeroH: zeroH - })); - barHeight = _this.series[i][j] / _this.yRatio[_this.yaxisIndex]; - } - - y = paths.y; - x = paths.x; - xArrValues.push(x); - yArrValues.push(y); - - var pathFill = _this.barHelpers.getPathFillColor(series, i, j, realIndex); - - elSeries = _this.renderSeries({ - realIndex: realIndex, - pathFill: pathFill, - j: j, - i: i, - pathFrom: paths.pathFrom, - pathTo: paths.pathTo, - strokeWidth: strokeWidth, - elSeries: elSeries, - x: x, - y: y, - series: series, - barHeight: barHeight, - barWidth: barWidth, - elDataLabelsWrap: elDataLabelsWrap, - type: 'bar', - visibleSeries: 0 - }); - } // push all x val arrays into main xArr - - - w.globals.seriesXvalues[realIndex] = xArrValues; - w.globals.seriesYvalues[realIndex] = yArrValues; // push all current y values array to main PrevY Array - - _this.prevY.push(_this.yArrj); - - _this.prevYF.push(_this.yArrjF); - - _this.prevYVal.push(_this.yArrjVal); - - _this.prevX.push(_this.xArrj); - - _this.prevXF.push(_this.xArrjF); - - _this.prevXVal.push(_this.xArrjVal); - - ret.add(elSeries); - }; - - for (var i = 0, bc = 0; i < series.length; i++, bc++) { - _loop(i, bc); - } - - return ret; - } - }, { - key: "initialPositions", - value: function initialPositions(x, y, xDivision, yDivision, zeroH, zeroW) { - var w = this.w; - var barHeight, barWidth; - - if (this.isHorizontal) { - // height divided into equal parts - yDivision = w.globals.gridHeight / w.globals.dataPoints; - barHeight = yDivision; - barHeight = barHeight * parseInt(w.config.plotOptions.bar.barHeight, 10) / 100; - zeroW = this.baseLineInvertedY + w.globals.padHorizontal + (this.isReversed ? w.globals.gridWidth : 0) - (this.isReversed ? this.baseLineInvertedY * 2 : 0); // initial y position is half of barHeight * half of number of Bars - - y = (yDivision - barHeight) / 2; - } else { - // width divided into equal parts - xDivision = w.globals.gridWidth / w.globals.dataPoints; - barWidth = xDivision; - - if (w.globals.isXNumeric && w.globals.dataPoints > 1) { - // the check (w.globals.dataPoints > 1) fixes apexcharts.js #1617 - xDivision = w.globals.minXDiff / this.xRatio; - barWidth = xDivision * parseInt(this.barOptions.columnWidth, 10) / 100; - } else { - barWidth = barWidth * parseInt(w.config.plotOptions.bar.columnWidth, 10) / 100; - } - - zeroH = this.baseLineY[this.yaxisIndex] + (this.isReversed ? w.globals.gridHeight : 0) - (this.isReversed ? this.baseLineY[this.yaxisIndex] * 2 : 0); // initial x position is one third of barWidth - - x = w.globals.padHorizontal + (xDivision - barWidth) / 2; - } - - return { - x: x, - y: y, - yDivision: yDivision, - xDivision: xDivision, - barHeight: barHeight, - barWidth: barWidth, - zeroH: zeroH, - zeroW: zeroW - }; - } - }, { - key: "drawStackedBarPaths", - value: function drawStackedBarPaths(_ref) { - var indexes = _ref.indexes, - barHeight = _ref.barHeight, - strokeWidth = _ref.strokeWidth, - zeroW = _ref.zeroW, - x = _ref.x, - y = _ref.y, - yDivision = _ref.yDivision, - elSeries = _ref.elSeries; - var w = this.w; - var barYPosition = y; - var barXPosition; - var i = indexes.i; - var j = indexes.j; - var prevBarW = 0; - - for (var k = 0; k < this.prevXF.length; k++) { - prevBarW = prevBarW + this.prevXF[k][j]; - } - - if (i > 0) { - var bXP = zeroW; - - if (this.prevXVal[i - 1][j] < 0) { - bXP = this.series[i][j] >= 0 ? this.prevX[i - 1][j] + prevBarW - (this.isReversed ? prevBarW : 0) * 2 : this.prevX[i - 1][j]; - } else if (this.prevXVal[i - 1][j] >= 0) { - bXP = this.series[i][j] >= 0 ? this.prevX[i - 1][j] : this.prevX[i - 1][j] - prevBarW + (this.isReversed ? prevBarW : 0) * 2; - } - - barXPosition = bXP; - } else { - // the first series will not have prevX values - barXPosition = zeroW; - } - - if (this.series[i][j] === null) { - x = barXPosition; - } else { - x = barXPosition + this.series[i][j] / this.invertedYRatio - (this.isReversed ? this.series[i][j] / this.invertedYRatio : 0) * 2; - } - - var paths = this.barHelpers.getBarpaths({ - barYPosition: barYPosition, - barHeight: barHeight, - x1: barXPosition, - x2: x, - strokeWidth: strokeWidth, - series: this.series, - realIndex: indexes.realIndex, - i: i, - j: j, - w: w - }); - this.barHelpers.barBackground({ - j: j, - i: i, - y1: barYPosition, - y2: barHeight, - elSeries: elSeries - }); - y = y + yDivision; - return { - pathTo: paths.pathTo, - pathFrom: paths.pathFrom, - x: x, - y: y - }; - } - }, { - key: "drawStackedColumnPaths", - value: function drawStackedColumnPaths(_ref2) { - var indexes = _ref2.indexes, - x = _ref2.x, - y = _ref2.y, - xDivision = _ref2.xDivision, - barWidth = _ref2.barWidth, - zeroH = _ref2.zeroH; - _ref2.strokeWidth; - var elSeries = _ref2.elSeries; - var w = this.w; - var i = indexes.i; - var j = indexes.j; - var bc = indexes.bc; - - if (w.globals.isXNumeric) { - var seriesVal = w.globals.seriesX[i][j]; - if (!seriesVal) seriesVal = 0; - x = (seriesVal - w.globals.minX) / this.xRatio - barWidth / 2; - } - - var barXPosition = x; - var barYPosition; - var prevBarH = 0; - - for (var k = 0; k < this.prevYF.length; k++) { - // fix issue #1215 - // in case where this.prevYF[k][j] is NaN, use 0 instead - prevBarH = prevBarH + (!isNaN(this.prevYF[k][j]) ? this.prevYF[k][j] : 0); - } - - if (i > 0 && !w.globals.isXNumeric || i > 0 && w.globals.isXNumeric && w.globals.seriesX[i - 1][j] === w.globals.seriesX[i][j]) { - var bYP; - var prevYValue; - var p = Math.min(this.yRatio.length + 1, i + 1); - - if (this.prevY[i - 1] !== undefined) { - for (var ii = 1; ii < p; ii++) { - if (!isNaN(this.prevY[i - ii][j])) { - // find the previous available value to give prevYValue - prevYValue = this.prevY[i - ii][j]; // if found it, break the loop - - break; - } - } - } - - for (var _ii = 1; _ii < p; _ii++) { - // find the previous available value(non-NaN) to give bYP - if (this.prevYVal[i - _ii][j] < 0) { - bYP = this.series[i][j] >= 0 ? prevYValue - prevBarH + (this.isReversed ? prevBarH : 0) * 2 : prevYValue; // found it? break the loop - - break; - } else if (this.prevYVal[i - _ii][j] >= 0) { - bYP = this.series[i][j] >= 0 ? prevYValue : prevYValue + prevBarH - (this.isReversed ? prevBarH : 0) * 2; // found it? break the loop - - break; - } - } - - if (typeof bYP === 'undefined') bYP = w.globals.gridHeight; // if this.prevYF[0] is all 0 resulted from line #486 - // AND every arr starting from the second only contains NaN - - if (this.prevYF[0].every(function (val) { - return val === 0; - }) && this.prevYF.slice(1, i).every(function (arr) { - return arr.every(function (val) { - return isNaN(val); - }); - })) { - // Use the same calc way as line #485 - barYPosition = w.globals.gridHeight - zeroH; - } else { - // Nothing special - barYPosition = bYP; - } - } else { - // the first series will not have prevY values, also if the prev index's series X doesn't matches the current index's series X, then start from zero - barYPosition = w.globals.gridHeight - zeroH; - } - - y = barYPosition - this.series[i][j] / this.yRatio[this.yaxisIndex] + (this.isReversed ? this.series[i][j] / this.yRatio[this.yaxisIndex] : 0) * 2; - var paths = this.barHelpers.getColumnPaths({ - barXPosition: barXPosition, - barWidth: barWidth, - y1: barYPosition, - y2: y, - yRatio: this.yRatio[this.yaxisIndex], - strokeWidth: this.strokeWidth, - series: this.series, - realIndex: indexes.realIndex, - i: i, - j: j, - w: w - }); - this.barHelpers.barBackground({ - bc: bc, - j: j, - i: i, - x1: barXPosition, - x2: barWidth, - elSeries: elSeries - }); - x = x + xDivision; - return { - pathTo: paths.pathTo, - pathFrom: paths.pathFrom, - x: w.globals.isXNumeric ? x - xDivision : x, - y: y - }; - } - }]); - - return BarStacked; - }(Bar); - - /** - * ApexCharts BoxCandleStick Class responsible for drawing both Stacked Columns and Bars. - * - * @module BoxCandleStick - **/ - - var BoxCandleStick = /*#__PURE__*/function (_Bar) { - _inherits(BoxCandleStick, _Bar); - - var _super = _createSuper(BoxCandleStick); - - function BoxCandleStick() { - _classCallCheck(this, BoxCandleStick); - - return _super.apply(this, arguments); - } - - _createClass(BoxCandleStick, [{ - key: "draw", - value: function draw(series, seriesIndex) { - var _this = this; - - var w = this.w; - var graphics = new Graphics(this.ctx); - var fill = new Fill(this.ctx); - this.candlestickOptions = this.w.config.plotOptions.candlestick; - this.boxOptions = this.w.config.plotOptions.boxPlot; - this.isHorizontal = w.config.plotOptions.bar.horizontal; - var coreUtils = new CoreUtils(this.ctx, w); - series = coreUtils.getLogSeries(series); - this.series = series; - this.yRatio = coreUtils.getLogYRatios(this.yRatio); - this.barHelpers.initVariables(series); - var ret = graphics.group({ - class: "apexcharts-".concat(w.config.chart.type, "-series apexcharts-plot-series") - }); - - var _loop = function _loop(i) { - _this.isBoxPlot = w.config.chart.type === 'boxPlot' || w.config.series[i].type === 'boxPlot'; - var x = void 0, - y = void 0, - xDivision = void 0, - // xDivision is the GRIDWIDTH divided by number of datapoints (columns) - yDivision = void 0, - // yDivision is the GRIDHEIGHT divided by number of datapoints (bars) - zeroH = void 0, - // zeroH is the baseline where 0 meets y axis - zeroW = void 0; // zeroW is the baseline where 0 meets x axis - - var yArrj = []; // hold y values of current iterating series - - var xArrj = []; // hold x values of current iterating series - - var realIndex = w.globals.comboCharts ? seriesIndex[i] : i; // el to which series will be drawn - - var elSeries = graphics.group({ - class: "apexcharts-series", - seriesName: Utils$1.escapeString(w.globals.seriesNames[realIndex]), - rel: i + 1, - 'data:realIndex': realIndex - }); - - _this.ctx.series.addCollapsedClassToSeries(elSeries, realIndex); - - if (series[i].length > 0) { - _this.visibleI = _this.visibleI + 1; - } - - var barHeight = 0; - var barWidth = 0; - - if (_this.yRatio.length > 1) { - _this.yaxisIndex = realIndex; - } - - var initPositions = _this.barHelpers.initialPositions(); - - y = initPositions.y; - barHeight = initPositions.barHeight; - yDivision = initPositions.yDivision; - zeroW = initPositions.zeroW; - x = initPositions.x; - barWidth = initPositions.barWidth; - xDivision = initPositions.xDivision; - zeroH = initPositions.zeroH; - xArrj.push(x + barWidth / 2); // eldatalabels - - var elDataLabelsWrap = graphics.group({ - class: 'apexcharts-datalabels', - 'data:realIndex': realIndex - }); - - var _loop2 = function _loop2(j) { - var strokeWidth = _this.barHelpers.getStrokeWidth(i, j, realIndex); - - var paths = null; - var pathsParams = { - indexes: { - i: i, - j: j, - realIndex: realIndex - }, - x: x, - y: y, - strokeWidth: strokeWidth, - elSeries: elSeries - }; - - if (_this.isHorizontal) { - paths = _this.drawHorizontalBoxPaths(_objectSpread2(_objectSpread2({}, pathsParams), {}, { - yDivision: yDivision, - barHeight: barHeight, - zeroW: zeroW - })); - } else { - paths = _this.drawVerticalBoxPaths(_objectSpread2(_objectSpread2({}, pathsParams), {}, { - xDivision: xDivision, - barWidth: barWidth, - zeroH: zeroH - })); - } - - y = paths.y; - x = paths.x; // push current X - - if (j > 0) { - xArrj.push(x + barWidth / 2); - } - - yArrj.push(y); - paths.pathTo.forEach(function (pathTo, pi) { - var lineFill = !_this.isBoxPlot && _this.candlestickOptions.wick.useFillColor ? paths.color[pi] : w.globals.stroke.colors[i]; - var pathFill = fill.fillPath({ - seriesNumber: realIndex, - dataPointIndex: j, - color: paths.color[pi], - value: series[i][j] - }); - - _this.renderSeries({ - realIndex: realIndex, - pathFill: pathFill, - lineFill: lineFill, - j: j, - i: i, - pathFrom: paths.pathFrom, - pathTo: pathTo, - strokeWidth: strokeWidth, - elSeries: elSeries, - x: x, - y: y, - series: series, - barHeight: barHeight, - barWidth: barWidth, - elDataLabelsWrap: elDataLabelsWrap, - visibleSeries: _this.visibleI, - type: w.config.chart.type - }); - }); - }; - - for (var j = 0; j < w.globals.dataPoints; j++) { - _loop2(j); - } // push all x val arrays into main xArr - - - w.globals.seriesXvalues[realIndex] = xArrj; - w.globals.seriesYvalues[realIndex] = yArrj; - ret.add(elSeries); - }; - - for (var i = 0; i < series.length; i++) { - _loop(i); - } - - return ret; - } - }, { - key: "drawVerticalBoxPaths", - value: function drawVerticalBoxPaths(_ref) { - var indexes = _ref.indexes, - x = _ref.x; - _ref.y; - var xDivision = _ref.xDivision, - barWidth = _ref.barWidth, - zeroH = _ref.zeroH, - strokeWidth = _ref.strokeWidth; - var w = this.w; - var graphics = new Graphics(this.ctx); - var i = indexes.i; - var j = indexes.j; - var isPositive = true; - var colorPos = w.config.plotOptions.candlestick.colors.upward; - var colorNeg = w.config.plotOptions.candlestick.colors.downward; - var color = ''; - - if (this.isBoxPlot) { - color = [this.boxOptions.colors.lower, this.boxOptions.colors.upper]; - } - - var yRatio = this.yRatio[this.yaxisIndex]; - var realIndex = indexes.realIndex; - var ohlc = this.getOHLCValue(realIndex, j); - var l1 = zeroH; - var l2 = zeroH; - - if (ohlc.o > ohlc.c) { - isPositive = false; - } - - var y1 = Math.min(ohlc.o, ohlc.c); - var y2 = Math.max(ohlc.o, ohlc.c); - var m = ohlc.m; - - if (w.globals.isXNumeric) { - x = (w.globals.seriesX[realIndex][j] - w.globals.minX) / this.xRatio - barWidth / 2; - } - - var barXPosition = x + barWidth * this.visibleI; - - if (typeof this.series[i][j] === 'undefined' || this.series[i][j] === null) { - y1 = zeroH; - y2 = zeroH; - } else { - y1 = zeroH - y1 / yRatio; - y2 = zeroH - y2 / yRatio; - l1 = zeroH - ohlc.h / yRatio; - l2 = zeroH - ohlc.l / yRatio; - m = zeroH - ohlc.m / yRatio; - } - - var pathTo = graphics.move(barXPosition, zeroH); - var pathFrom = graphics.move(barXPosition + barWidth / 2, y1); - - if (w.globals.previousPaths.length > 0) { - pathFrom = this.getPreviousPath(realIndex, j, true); - } - - if (this.isBoxPlot) { - pathTo = [graphics.move(barXPosition, y1) + graphics.line(barXPosition + barWidth / 2, y1) + graphics.line(barXPosition + barWidth / 2, l1) + graphics.line(barXPosition + barWidth / 4, l1) + graphics.line(barXPosition + barWidth - barWidth / 4, l1) + graphics.line(barXPosition + barWidth / 2, l1) + graphics.line(barXPosition + barWidth / 2, y1) + graphics.line(barXPosition + barWidth, y1) + graphics.line(barXPosition + barWidth, m) + graphics.line(barXPosition, m) + graphics.line(barXPosition, y1 + strokeWidth / 2), graphics.move(barXPosition, m) + graphics.line(barXPosition + barWidth, m) + graphics.line(barXPosition + barWidth, y2) + graphics.line(barXPosition + barWidth / 2, y2) + graphics.line(barXPosition + barWidth / 2, l2) + graphics.line(barXPosition + barWidth - barWidth / 4, l2) + graphics.line(barXPosition + barWidth / 4, l2) + graphics.line(barXPosition + barWidth / 2, l2) + graphics.line(barXPosition + barWidth / 2, y2) + graphics.line(barXPosition, y2) + graphics.line(barXPosition, m) + 'z']; - } else { - // candlestick - pathTo = [graphics.move(barXPosition, y2) + graphics.line(barXPosition + barWidth / 2, y2) + graphics.line(barXPosition + barWidth / 2, l1) + graphics.line(barXPosition + barWidth / 2, y2) + graphics.line(barXPosition + barWidth, y2) + graphics.line(barXPosition + barWidth, y1) + graphics.line(barXPosition + barWidth / 2, y1) + graphics.line(barXPosition + barWidth / 2, l2) + graphics.line(barXPosition + barWidth / 2, y1) + graphics.line(barXPosition, y1) + graphics.line(barXPosition, y2 - strokeWidth / 2)]; - } - - pathFrom = pathFrom + graphics.move(barXPosition, y1); - - if (!w.globals.isXNumeric) { - x = x + xDivision; - } - - return { - pathTo: pathTo, - pathFrom: pathFrom, - x: x, - y: y2, - barXPosition: barXPosition, - color: this.isBoxPlot ? color : isPositive ? [colorPos] : [colorNeg] - }; - } - }, { - key: "drawHorizontalBoxPaths", - value: function drawHorizontalBoxPaths(_ref2) { - var indexes = _ref2.indexes; - _ref2.x; - var y = _ref2.y, - yDivision = _ref2.yDivision, - barHeight = _ref2.barHeight, - zeroW = _ref2.zeroW, - strokeWidth = _ref2.strokeWidth; - var w = this.w; - var graphics = new Graphics(this.ctx); - var i = indexes.i; - var j = indexes.j; - var color = this.boxOptions.colors.lower; - - if (this.isBoxPlot) { - color = [this.boxOptions.colors.lower, this.boxOptions.colors.upper]; - } - - var yRatio = this.invertedYRatio; - var realIndex = indexes.realIndex; - var ohlc = this.getOHLCValue(realIndex, j); - var l1 = zeroW; - var l2 = zeroW; - var x1 = Math.min(ohlc.o, ohlc.c); - var x2 = Math.max(ohlc.o, ohlc.c); - var m = ohlc.m; - - if (w.globals.isXNumeric) { - y = (w.globals.seriesX[realIndex][j] - w.globals.minX) / this.invertedXRatio - barHeight / 2; - } - - var barYPosition = y + barHeight * this.visibleI; - - if (typeof this.series[i][j] === 'undefined' || this.series[i][j] === null) { - x1 = zeroW; - x2 = zeroW; - } else { - x1 = zeroW + x1 / yRatio; - x2 = zeroW + x2 / yRatio; - l1 = zeroW + ohlc.h / yRatio; - l2 = zeroW + ohlc.l / yRatio; - m = zeroW + ohlc.m / yRatio; - } - - var pathTo = graphics.move(zeroW, barYPosition); - var pathFrom = graphics.move(x1, barYPosition + barHeight / 2); - - if (w.globals.previousPaths.length > 0) { - pathFrom = this.getPreviousPath(realIndex, j, true); - } - - pathTo = [graphics.move(x1, barYPosition) + graphics.line(x1, barYPosition + barHeight / 2) + graphics.line(l1, barYPosition + barHeight / 2) + graphics.line(l1, barYPosition + barHeight / 2 - barHeight / 4) + graphics.line(l1, barYPosition + barHeight / 2 + barHeight / 4) + graphics.line(l1, barYPosition + barHeight / 2) + graphics.line(x1, barYPosition + barHeight / 2) + graphics.line(x1, barYPosition + barHeight) + graphics.line(m, barYPosition + barHeight) + graphics.line(m, barYPosition) + graphics.line(x1 + strokeWidth / 2, barYPosition), graphics.move(m, barYPosition) + graphics.line(m, barYPosition + barHeight) + graphics.line(x2, barYPosition + barHeight) + graphics.line(x2, barYPosition + barHeight / 2) + graphics.line(l2, barYPosition + barHeight / 2) + graphics.line(l2, barYPosition + barHeight - barHeight / 4) + graphics.line(l2, barYPosition + barHeight / 4) + graphics.line(l2, barYPosition + barHeight / 2) + graphics.line(x2, barYPosition + barHeight / 2) + graphics.line(x2, barYPosition) + graphics.line(m, barYPosition) + 'z']; - pathFrom = pathFrom + graphics.move(x1, barYPosition); - - if (!w.globals.isXNumeric) { - y = y + yDivision; - } - - return { - pathTo: pathTo, - pathFrom: pathFrom, - x: x2, - y: y, - barYPosition: barYPosition, - color: color - }; - } - }, { - key: "getOHLCValue", - value: function getOHLCValue(i, j) { - var w = this.w; - return { - o: this.isBoxPlot ? w.globals.seriesCandleH[i][j] : w.globals.seriesCandleO[i][j], - h: this.isBoxPlot ? w.globals.seriesCandleO[i][j] : w.globals.seriesCandleH[i][j], - m: w.globals.seriesCandleM[i][j], - l: this.isBoxPlot ? w.globals.seriesCandleC[i][j] : w.globals.seriesCandleL[i][j], - c: this.isBoxPlot ? w.globals.seriesCandleL[i][j] : w.globals.seriesCandleC[i][j] - }; - } - }]); - - return BoxCandleStick; - }(Bar); - - var TreemapHelpers = /*#__PURE__*/function () { - function TreemapHelpers(ctx) { - _classCallCheck(this, TreemapHelpers); - - this.ctx = ctx; - this.w = ctx.w; - } - - _createClass(TreemapHelpers, [{ - key: "checkColorRange", - value: function checkColorRange() { - var w = this.w; - var negRange = false; - var chartOpts = w.config.plotOptions[w.config.chart.type]; - - if (chartOpts.colorScale.ranges.length > 0) { - chartOpts.colorScale.ranges.map(function (range, index) { - if (range.from <= 0) { - negRange = true; - } - }); - } - - return negRange; - } - }, { - key: "getShadeColor", - value: function getShadeColor(chartType, i, j, negRange) { - var w = this.w; - var colorShadePercent = 1; - var shadeIntensity = w.config.plotOptions[chartType].shadeIntensity; - var colorProps = this.determineColor(chartType, i, j); - - if (w.globals.hasNegs || negRange) { - if (w.config.plotOptions[chartType].reverseNegativeShade) { - if (colorProps.percent < 0) { - colorShadePercent = colorProps.percent / 100 * (shadeIntensity * 1.25); - } else { - colorShadePercent = (1 - colorProps.percent / 100) * (shadeIntensity * 1.25); - } - } else { - if (colorProps.percent <= 0) { - colorShadePercent = 1 - (1 + colorProps.percent / 100) * shadeIntensity; - } else { - colorShadePercent = (1 - colorProps.percent / 100) * shadeIntensity; - } - } - } else { - colorShadePercent = 1 - colorProps.percent / 100; - - if (chartType === 'treemap') { - colorShadePercent = (1 - colorProps.percent / 100) * (shadeIntensity * 1.25); - } - } - - var color = colorProps.color; - var utils = new Utils$1(); - - if (w.config.plotOptions[chartType].enableShades) { - if (this.w.config.theme.mode === 'dark') { - color = Utils$1.hexToRgba(utils.shadeColor(colorShadePercent * -1, colorProps.color), w.config.fill.opacity); - } else { - color = Utils$1.hexToRgba(utils.shadeColor(colorShadePercent, colorProps.color), w.config.fill.opacity); - } - } - - return { - color: color, - colorProps: colorProps - }; - } - }, { - key: "determineColor", - value: function determineColor(chartType, i, j) { - var w = this.w; - var val = w.globals.series[i][j]; - var chartOpts = w.config.plotOptions[chartType]; - var seriesNumber = chartOpts.colorScale.inverse ? j : i; - - if (chartOpts.distributed && w.config.chart.type === 'treemap') { - seriesNumber = j; - } - - var color = w.globals.colors[seriesNumber]; - var foreColor = null; - var min = Math.min.apply(Math, _toConsumableArray(w.globals.series[i])); - var max = Math.max.apply(Math, _toConsumableArray(w.globals.series[i])); - - if (!chartOpts.distributed && chartType === 'heatmap') { - min = w.globals.minY; - max = w.globals.maxY; - } - - if (typeof chartOpts.colorScale.min !== 'undefined') { - min = chartOpts.colorScale.min < w.globals.minY ? chartOpts.colorScale.min : w.globals.minY; - max = chartOpts.colorScale.max > w.globals.maxY ? chartOpts.colorScale.max : w.globals.maxY; - } - - var total = Math.abs(max) + Math.abs(min); - var percent = 100 * val / (total === 0 ? total - 0.000001 : total); - - if (chartOpts.colorScale.ranges.length > 0) { - var colorRange = chartOpts.colorScale.ranges; - colorRange.map(function (range, index) { - if (val >= range.from && val <= range.to) { - color = range.color; - foreColor = range.foreColor ? range.foreColor : null; - min = range.from; - max = range.to; - var rTotal = Math.abs(max) + Math.abs(min); - percent = 100 * val / (rTotal === 0 ? rTotal - 0.000001 : rTotal); - } - }); - } - - return { - color: color, - foreColor: foreColor, - percent: percent - }; - } - }, { - key: "calculateDataLabels", - value: function calculateDataLabels(_ref) { - var text = _ref.text, - x = _ref.x, - y = _ref.y, - i = _ref.i, - j = _ref.j, - colorProps = _ref.colorProps, - fontSize = _ref.fontSize; - var w = this.w; - var dataLabelsConfig = w.config.dataLabels; - var graphics = new Graphics(this.ctx); - var dataLabels = new DataLabels(this.ctx); - var elDataLabelsWrap = null; - - if (dataLabelsConfig.enabled) { - elDataLabelsWrap = graphics.group({ - class: 'apexcharts-data-labels' - }); - var offX = dataLabelsConfig.offsetX; - var offY = dataLabelsConfig.offsetY; - var dataLabelsX = x + offX; - var dataLabelsY = y + parseFloat(dataLabelsConfig.style.fontSize) / 3 + offY; - dataLabels.plotDataLabelsText({ - x: dataLabelsX, - y: dataLabelsY, - text: text, - i: i, - j: j, - color: colorProps.foreColor, - parent: elDataLabelsWrap, - fontSize: fontSize, - dataLabelsConfig: dataLabelsConfig - }); - } - - return elDataLabelsWrap; - } - }, { - key: "addListeners", - value: function addListeners(elRect) { - var graphics = new Graphics(this.ctx); - elRect.node.addEventListener('mouseenter', graphics.pathMouseEnter.bind(this, elRect)); - elRect.node.addEventListener('mouseleave', graphics.pathMouseLeave.bind(this, elRect)); - elRect.node.addEventListener('mousedown', graphics.pathMouseDown.bind(this, elRect)); - } - }]); - - return TreemapHelpers; - }(); - - /** - * ApexCharts HeatMap Class. - * @module HeatMap - **/ - - var HeatMap = /*#__PURE__*/function () { - function HeatMap(ctx, xyRatios) { - _classCallCheck(this, HeatMap); - - this.ctx = ctx; - this.w = ctx.w; - this.xRatio = xyRatios.xRatio; - this.yRatio = xyRatios.yRatio; - this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation; - this.helpers = new TreemapHelpers(ctx); - this.rectRadius = this.w.config.plotOptions.heatmap.radius; - this.strokeWidth = this.w.config.stroke.show ? this.w.config.stroke.width : 0; - } - - _createClass(HeatMap, [{ - key: "draw", - value: function draw(series) { - var w = this.w; - var graphics = new Graphics(this.ctx); - var ret = graphics.group({ - class: 'apexcharts-heatmap' - }); - ret.attr('clip-path', "url(#gridRectMask".concat(w.globals.cuid, ")")); // width divided into equal parts - - var xDivision = w.globals.gridWidth / w.globals.dataPoints; - var yDivision = w.globals.gridHeight / w.globals.series.length; - var y1 = 0; - var rev = false; - this.negRange = this.helpers.checkColorRange(); - var heatSeries = series.slice(); - - if (w.config.yaxis[0].reversed) { - rev = true; - heatSeries.reverse(); - } - - for (var i = rev ? 0 : heatSeries.length - 1; rev ? i < heatSeries.length : i >= 0; rev ? i++ : i--) { - // el to which series will be drawn - var elSeries = graphics.group({ - class: "apexcharts-series apexcharts-heatmap-series", - seriesName: Utils$1.escapeString(w.globals.seriesNames[i]), - rel: i + 1, - 'data:realIndex': i - }); - this.ctx.series.addCollapsedClassToSeries(elSeries, i); - - if (w.config.chart.dropShadow.enabled) { - var shadow = w.config.chart.dropShadow; - var filters = new Filters(this.ctx); - filters.dropShadow(elSeries, shadow, i); - } - - var x1 = 0; - var shadeIntensity = w.config.plotOptions.heatmap.shadeIntensity; - - for (var j = 0; j < heatSeries[i].length; j++) { - var heatColor = this.helpers.getShadeColor(w.config.chart.type, i, j, this.negRange); - var color = heatColor.color; - var heatColorProps = heatColor.colorProps; - - if (w.config.fill.type === 'image') { - var fill = new Fill(this.ctx); - color = fill.fillPath({ - seriesNumber: i, - dataPointIndex: j, - opacity: w.globals.hasNegs ? heatColorProps.percent < 0 ? 1 - (1 + heatColorProps.percent / 100) : shadeIntensity + heatColorProps.percent / 100 : heatColorProps.percent / 100, - patternID: Utils$1.randomId(), - width: w.config.fill.image.width ? w.config.fill.image.width : xDivision, - height: w.config.fill.image.height ? w.config.fill.image.height : yDivision - }); - } - - var radius = this.rectRadius; - var rect = graphics.drawRect(x1, y1, xDivision, yDivision, radius); - rect.attr({ - cx: x1, - cy: y1 - }); - rect.node.classList.add('apexcharts-heatmap-rect'); - elSeries.add(rect); - rect.attr({ - fill: color, - i: i, - index: i, - j: j, - val: heatSeries[i][j], - 'stroke-width': this.strokeWidth, - stroke: w.config.plotOptions.heatmap.useFillColorAsStroke ? color : w.globals.stroke.colors[0], - color: color - }); - this.helpers.addListeners(rect); - - if (w.config.chart.animations.enabled && !w.globals.dataChanged) { - var speed = 1; - - if (!w.globals.resized) { - speed = w.config.chart.animations.speed; - } - - this.animateHeatMap(rect, x1, y1, xDivision, yDivision, speed); - } - - if (w.globals.dataChanged) { - var _speed = 1; - - if (this.dynamicAnim.enabled && w.globals.shouldAnimate) { - _speed = this.dynamicAnim.speed; - var colorFrom = w.globals.previousPaths[i] && w.globals.previousPaths[i][j] && w.globals.previousPaths[i][j].color; - if (!colorFrom) colorFrom = 'rgba(255, 255, 255, 0)'; - this.animateHeatColor(rect, Utils$1.isColorHex(colorFrom) ? colorFrom : Utils$1.rgb2hex(colorFrom), Utils$1.isColorHex(color) ? color : Utils$1.rgb2hex(color), _speed); - } - } - - var formatter = w.config.dataLabels.formatter; - var formattedText = formatter(w.globals.series[i][j], { - value: w.globals.series[i][j], - seriesIndex: i, - dataPointIndex: j, - w: w - }); - var dataLabels = this.helpers.calculateDataLabels({ - text: formattedText, - x: x1 + xDivision / 2, - y: y1 + yDivision / 2, - i: i, - j: j, - colorProps: heatColorProps, - series: heatSeries - }); - - if (dataLabels !== null) { - elSeries.add(dataLabels); - } - - x1 = x1 + xDivision; - } - - y1 = y1 + yDivision; - ret.add(elSeries); - } // adjust yaxis labels for heatmap - - - var yAxisScale = w.globals.yAxisScale[0].result.slice(); - - if (w.config.yaxis[0].reversed) { - yAxisScale.unshift(''); - } else { - yAxisScale.push(''); - } - - w.globals.yAxisScale[0].result = yAxisScale; - var divisor = w.globals.gridHeight / w.globals.series.length; - w.config.yaxis[0].labels.offsetY = -(divisor / 2); - return ret; - } - }, { - key: "animateHeatMap", - value: function animateHeatMap(el, x, y, width, height, speed) { - var animations = new Animations(this.ctx); - animations.animateRect(el, { - x: x + width / 2, - y: y + height / 2, - width: 0, - height: 0 - }, { - x: x, - y: y, - width: width, - height: height - }, speed, function () { - animations.animationCompleted(el); - }); - } - }, { - key: "animateHeatColor", - value: function animateHeatColor(el, colorFrom, colorTo, speed) { - el.attr({ - fill: colorFrom - }).animate(speed).attr({ - fill: colorTo - }); - } - }]); - - return HeatMap; - }(); - - var CircularChartsHelpers = /*#__PURE__*/function () { - function CircularChartsHelpers(ctx) { - _classCallCheck(this, CircularChartsHelpers); - - this.ctx = ctx; - this.w = ctx.w; - } - - _createClass(CircularChartsHelpers, [{ - key: "drawYAxisTexts", - value: function drawYAxisTexts(x, y, i, text) { - var w = this.w; - var yaxisConfig = w.config.yaxis[0]; - var formatter = w.globals.yLabelFormatters[0]; - var graphics = new Graphics(this.ctx); - var yaxisLabel = graphics.drawText({ - x: x + yaxisConfig.labels.offsetX, - y: y + yaxisConfig.labels.offsetY, - text: formatter(text, i), - textAnchor: 'middle', - fontSize: yaxisConfig.labels.style.fontSize, - fontFamily: yaxisConfig.labels.style.fontFamily, - foreColor: Array.isArray(yaxisConfig.labels.style.colors) ? yaxisConfig.labels.style.colors[i] : yaxisConfig.labels.style.colors - }); - return yaxisLabel; - } - }]); - - return CircularChartsHelpers; - }(); - - /** - * ApexCharts Pie Class for drawing Pie / Donut Charts. - * @module Pie - **/ - - var Pie = /*#__PURE__*/function () { - function Pie(ctx) { - _classCallCheck(this, Pie); - - this.ctx = ctx; - this.w = ctx.w; - var w = this.w; - this.chartType = this.w.config.chart.type; - this.initialAnim = this.w.config.chart.animations.enabled; - this.dynamicAnim = this.initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled; - this.animBeginArr = [0]; - this.animDur = 0; - this.donutDataLabels = this.w.config.plotOptions.pie.donut.labels; - this.lineColorArr = w.globals.stroke.colors !== undefined ? w.globals.stroke.colors : w.globals.colors; - this.defaultSize = Math.min(w.globals.gridWidth, w.globals.gridHeight); - this.centerY = this.defaultSize / 2; - this.centerX = w.globals.gridWidth / 2; - - if (w.config.chart.type === 'radialBar') { - this.fullAngle = 360; - } else { - this.fullAngle = Math.abs(w.config.plotOptions.pie.endAngle - w.config.plotOptions.pie.startAngle); - } - - this.initialAngle = w.config.plotOptions.pie.startAngle % this.fullAngle; - w.globals.radialSize = this.defaultSize / 2.05 - w.config.stroke.width - (!w.config.chart.sparkline.enabled ? w.config.chart.dropShadow.blur : 0); - this.donutSize = w.globals.radialSize * parseInt(w.config.plotOptions.pie.donut.size, 10) / 100; - this.maxY = 0; - this.sliceLabels = []; - this.sliceSizes = []; - this.prevSectorAngleArr = []; // for dynamic animations - } - - _createClass(Pie, [{ - key: "draw", - value: function draw(series) { - var _this = this; - - var self = this; - var w = this.w; - var graphics = new Graphics(this.ctx); - this.ret = graphics.group({ - class: 'apexcharts-pie' - }); - if (w.globals.noData) return this.ret; - var total = 0; - - for (var k = 0; k < series.length; k++) { - // CALCULATE THE TOTAL - total += Utils$1.negToZero(series[k]); - } - - var sectorAngleArr = []; // el to which series will be drawn - - var elSeries = graphics.group(); // prevent division by zero error if there is no data - - if (total === 0) { - total = 0.00001; - } - - series.forEach(function (m) { - _this.maxY = Math.max(_this.maxY, m); - }); // override maxY if user provided in config - - if (w.config.yaxis[0].max) { - this.maxY = w.config.yaxis[0].max; - } - - if (w.config.grid.position === 'back' && this.chartType === 'polarArea') { - this.drawPolarElements(this.ret); - } - - for (var i = 0; i < series.length; i++) { - // CALCULATE THE ANGLES - var angle = this.fullAngle * Utils$1.negToZero(series[i]) / total; - sectorAngleArr.push(angle); - - if (this.chartType === 'polarArea') { - sectorAngleArr[i] = this.fullAngle / series.length; - this.sliceSizes.push(w.globals.radialSize * series[i] / this.maxY); - } else { - this.sliceSizes.push(w.globals.radialSize); - } - } - - if (w.globals.dataChanged) { - var prevTotal = 0; - - for (var _k = 0; _k < w.globals.previousPaths.length; _k++) { - // CALCULATE THE PREV TOTAL - prevTotal += Utils$1.negToZero(w.globals.previousPaths[_k]); - } - - var previousAngle; - - for (var _i = 0; _i < w.globals.previousPaths.length; _i++) { - // CALCULATE THE PREVIOUS ANGLES - previousAngle = this.fullAngle * Utils$1.negToZero(w.globals.previousPaths[_i]) / prevTotal; - this.prevSectorAngleArr.push(previousAngle); - } - } // on small chart size after few count of resizes browser window donutSize can be negative - - - if (this.donutSize < 0) { - this.donutSize = 0; - } - - var scaleSize = w.config.plotOptions.pie.customScale; - var halfW = w.globals.gridWidth / 2; - var halfH = w.globals.gridHeight / 2; - var translateX = halfW - w.globals.gridWidth / 2 * scaleSize; - var translateY = halfH - w.globals.gridHeight / 2 * scaleSize; - - if (this.chartType === 'donut') { - // draw the inner circle and add some text to it - var circle = graphics.drawCircle(this.donutSize); - circle.attr({ - cx: this.centerX, - cy: this.centerY, - fill: w.config.plotOptions.pie.donut.background ? w.config.plotOptions.pie.donut.background : 'transparent' - }); - elSeries.add(circle); - } - - var elG = self.drawArcs(sectorAngleArr, series); // add slice dataLabels at the end - - this.sliceLabels.forEach(function (s) { - elG.add(s); - }); - elSeries.attr({ - transform: "translate(".concat(translateX, ", ").concat(translateY, ") scale(").concat(scaleSize, ")") - }); - elSeries.add(elG); - this.ret.add(elSeries); - - if (this.donutDataLabels.show) { - var dataLabels = this.renderInnerDataLabels(this.donutDataLabels, { - hollowSize: this.donutSize, - centerX: this.centerX, - centerY: this.centerY, - opacity: this.donutDataLabels.show, - translateX: translateX, - translateY: translateY - }); - this.ret.add(dataLabels); - } - - if (w.config.grid.position === 'front' && this.chartType === 'polarArea') { - this.drawPolarElements(this.ret); - } - - return this.ret; - } // core function for drawing pie arcs - - }, { - key: "drawArcs", - value: function drawArcs(sectorAngleArr, series) { - var w = this.w; - var filters = new Filters(this.ctx); - var graphics = new Graphics(this.ctx); - var fill = new Fill(this.ctx); - var g = graphics.group({ - class: 'apexcharts-slices' - }); - var startAngle = this.initialAngle; - var prevStartAngle = this.initialAngle; - var endAngle = this.initialAngle; - var prevEndAngle = this.initialAngle; - this.strokeWidth = w.config.stroke.show ? w.config.stroke.width : 0; - - for (var i = 0; i < sectorAngleArr.length; i++) { - var elPieArc = graphics.group({ - class: "apexcharts-series apexcharts-pie-series", - seriesName: Utils$1.escapeString(w.globals.seriesNames[i]), - rel: i + 1, - 'data:realIndex': i - }); - g.add(elPieArc); - startAngle = endAngle; - prevStartAngle = prevEndAngle; - endAngle = startAngle + sectorAngleArr[i]; - prevEndAngle = prevStartAngle + this.prevSectorAngleArr[i]; - var angle = endAngle < startAngle ? this.fullAngle + endAngle - startAngle : endAngle - startAngle; - var pathFill = fill.fillPath({ - seriesNumber: i, - size: this.sliceSizes[i], - value: series[i] - }); // additionally, pass size for gradient drawing in the fillPath function - - var path = this.getChangedPath(prevStartAngle, prevEndAngle); - var elPath = graphics.drawPath({ - d: path, - stroke: Array.isArray(this.lineColorArr) ? this.lineColorArr[i] : this.lineColorArr, - strokeWidth: 0, - fill: pathFill, - fillOpacity: w.config.fill.opacity, - classes: "apexcharts-pie-area apexcharts-".concat(this.chartType.toLowerCase(), "-slice-").concat(i) - }); - elPath.attr({ - index: 0, - j: i - }); - filters.setSelectionFilter(elPath, 0, i); - - if (w.config.chart.dropShadow.enabled) { - var shadow = w.config.chart.dropShadow; - filters.dropShadow(elPath, shadow, i); - } - - this.addListeners(elPath, this.donutDataLabels); - Graphics.setAttrs(elPath.node, { - 'data:angle': angle, - 'data:startAngle': startAngle, - 'data:strokeWidth': this.strokeWidth, - 'data:value': series[i] - }); - var labelPosition = { - x: 0, - y: 0 - }; - - if (this.chartType === 'pie' || this.chartType === 'polarArea') { - labelPosition = Utils$1.polarToCartesian(this.centerX, this.centerY, w.globals.radialSize / 1.25 + w.config.plotOptions.pie.dataLabels.offset, (startAngle + angle / 2) % this.fullAngle); - } else if (this.chartType === 'donut') { - labelPosition = Utils$1.polarToCartesian(this.centerX, this.centerY, (w.globals.radialSize + this.donutSize) / 2 + w.config.plotOptions.pie.dataLabels.offset, (startAngle + angle / 2) % this.fullAngle); - } - - elPieArc.add(elPath); // Animation code starts - - var dur = 0; - - if (this.initialAnim && !w.globals.resized && !w.globals.dataChanged) { - dur = angle / this.fullAngle * w.config.chart.animations.speed; - if (dur === 0) dur = 1; - this.animDur = dur + this.animDur; - this.animBeginArr.push(this.animDur); - } else { - this.animBeginArr.push(0); - } - - if (this.dynamicAnim && w.globals.dataChanged) { - this.animatePaths(elPath, { - size: this.sliceSizes[i], - endAngle: endAngle, - startAngle: startAngle, - prevStartAngle: prevStartAngle, - prevEndAngle: prevEndAngle, - animateStartingPos: true, - i: i, - animBeginArr: this.animBeginArr, - shouldSetPrevPaths: true, - dur: w.config.chart.animations.dynamicAnimation.speed - }); - } else { - this.animatePaths(elPath, { - size: this.sliceSizes[i], - endAngle: endAngle, - startAngle: startAngle, - i: i, - totalItems: sectorAngleArr.length - 1, - animBeginArr: this.animBeginArr, - dur: dur - }); - } // animation code ends - - - if (w.config.plotOptions.pie.expandOnClick && this.chartType !== 'polarArea') { - elPath.click(this.pieClicked.bind(this, i)); - } - - if (typeof w.globals.selectedDataPoints[0] !== 'undefined' && w.globals.selectedDataPoints[0].indexOf(i) > -1) { - this.pieClicked(i); - } - - if (w.config.dataLabels.enabled) { - var xPos = labelPosition.x; - var yPos = labelPosition.y; - var text = 100 * angle / this.fullAngle + '%'; - - if (angle !== 0 && w.config.plotOptions.pie.dataLabels.minAngleToShowLabel < sectorAngleArr[i]) { - var formatter = w.config.dataLabels.formatter; - - if (formatter !== undefined) { - text = formatter(w.globals.seriesPercent[i][0], { - seriesIndex: i, - w: w - }); - } - - var foreColor = w.globals.dataLabels.style.colors[i]; - var elPieLabelWrap = graphics.group({ - class: "apexcharts-datalabels" - }); - var elPieLabel = graphics.drawText({ - x: xPos, - y: yPos, - text: text, - textAnchor: 'middle', - fontSize: w.config.dataLabels.style.fontSize, - fontFamily: w.config.dataLabels.style.fontFamily, - fontWeight: w.config.dataLabels.style.fontWeight, - foreColor: foreColor - }); - elPieLabelWrap.add(elPieLabel); - - if (w.config.dataLabels.dropShadow.enabled) { - var textShadow = w.config.dataLabels.dropShadow; - filters.dropShadow(elPieLabel, textShadow); - } - - elPieLabel.node.classList.add('apexcharts-pie-label'); - - if (w.config.chart.animations.animate && w.globals.resized === false) { - elPieLabel.node.classList.add('apexcharts-pie-label-delay'); - elPieLabel.node.style.animationDelay = w.config.chart.animations.speed / 940 + 's'; - } - - this.sliceLabels.push(elPieLabelWrap); - } - } - } - - return g; - } - }, { - key: "addListeners", - value: function addListeners(elPath, dataLabels) { - var graphics = new Graphics(this.ctx); // append filters on mouseenter and mouseleave - - elPath.node.addEventListener('mouseenter', graphics.pathMouseEnter.bind(this, elPath)); - elPath.node.addEventListener('mouseleave', graphics.pathMouseLeave.bind(this, elPath)); - elPath.node.addEventListener('mouseleave', this.revertDataLabelsInner.bind(this, elPath.node, dataLabels)); - elPath.node.addEventListener('mousedown', graphics.pathMouseDown.bind(this, elPath)); - - if (!this.donutDataLabels.total.showAlways) { - elPath.node.addEventListener('mouseenter', this.printDataLabelsInner.bind(this, elPath.node, dataLabels)); - elPath.node.addEventListener('mousedown', this.printDataLabelsInner.bind(this, elPath.node, dataLabels)); - } - } // This function can be used for other circle charts too - - }, { - key: "animatePaths", - value: function animatePaths(el, opts) { - var w = this.w; - var me = this; - var angle = opts.endAngle < opts.startAngle ? this.fullAngle + opts.endAngle - opts.startAngle : opts.endAngle - opts.startAngle; - var prevAngle = angle; - var fromStartAngle = opts.startAngle; - var toStartAngle = opts.startAngle; - - if (opts.prevStartAngle !== undefined && opts.prevEndAngle !== undefined) { - fromStartAngle = opts.prevEndAngle; - prevAngle = opts.prevEndAngle < opts.prevStartAngle ? this.fullAngle + opts.prevEndAngle - opts.prevStartAngle : opts.prevEndAngle - opts.prevStartAngle; - } - - if (opts.i === w.config.series.length - 1) { - // some adjustments for the last overlapping paths - if (angle + toStartAngle > this.fullAngle) { - opts.endAngle = opts.endAngle - (angle + toStartAngle); - } else if (angle + toStartAngle < this.fullAngle) { - opts.endAngle = opts.endAngle + (this.fullAngle - (angle + toStartAngle)); - } - } - - if (angle === this.fullAngle) angle = this.fullAngle - 0.01; - me.animateArc(el, fromStartAngle, toStartAngle, angle, prevAngle, opts); - } - }, { - key: "animateArc", - value: function animateArc(el, fromStartAngle, toStartAngle, angle, prevAngle, opts) { - var me = this; - var w = this.w; - var animations = new Animations(this.ctx); - var size = opts.size; - var path; - - if (isNaN(fromStartAngle) || isNaN(prevAngle)) { - fromStartAngle = toStartAngle; - prevAngle = angle; - opts.dur = 0; - } - - var currAngle = angle; - var startAngle = toStartAngle; - var fromAngle = fromStartAngle < toStartAngle ? this.fullAngle + fromStartAngle - toStartAngle : fromStartAngle - toStartAngle; - - if (w.globals.dataChanged && opts.shouldSetPrevPaths) { - // to avoid flicker when updating, set prev path first and then animate from there - if (opts.prevEndAngle) { - path = me.getPiePath({ - me: me, - startAngle: opts.prevStartAngle, - angle: opts.prevEndAngle < opts.prevStartAngle ? this.fullAngle + opts.prevEndAngle - opts.prevStartAngle : opts.prevEndAngle - opts.prevStartAngle, - size: size - }); - el.attr({ - d: path - }); - } - } - - if (opts.dur !== 0) { - el.animate(opts.dur, w.globals.easing, opts.animBeginArr[opts.i]).afterAll(function () { - if (me.chartType === 'pie' || me.chartType === 'donut' || me.chartType === 'polarArea') { - this.animate(w.config.chart.animations.dynamicAnimation.speed).attr({ - 'stroke-width': me.strokeWidth - }); - } - - if (opts.i === w.config.series.length - 1) { - animations.animationCompleted(el); - } - }).during(function (pos) { - currAngle = fromAngle + (angle - fromAngle) * pos; - - if (opts.animateStartingPos) { - currAngle = prevAngle + (angle - prevAngle) * pos; - startAngle = fromStartAngle - prevAngle + (toStartAngle - (fromStartAngle - prevAngle)) * pos; - } - - path = me.getPiePath({ - me: me, - startAngle: startAngle, - angle: currAngle, - size: size - }); - el.node.setAttribute('data:pathOrig', path); - el.attr({ - d: path - }); - }); - } else { - path = me.getPiePath({ - me: me, - startAngle: startAngle, - angle: angle, - size: size - }); - - if (!opts.isTrack) { - w.globals.animationEnded = true; - } - - el.node.setAttribute('data:pathOrig', path); - el.attr({ - d: path, - 'stroke-width': me.strokeWidth - }); - } - } - }, { - key: "pieClicked", - value: function pieClicked(i) { - var w = this.w; - var me = this; - var path; - var size = me.sliceSizes[i] + (w.config.plotOptions.pie.expandOnClick ? 4 : 0); - var elPath = w.globals.dom.Paper.select(".apexcharts-".concat(me.chartType.toLowerCase(), "-slice-").concat(i)).members[0]; - - if (elPath.attr('data:pieClicked') === 'true') { - elPath.attr({ - 'data:pieClicked': 'false' - }); - this.revertDataLabelsInner(elPath.node, this.donutDataLabels); - var origPath = elPath.attr('data:pathOrig'); - elPath.attr({ - d: origPath - }); - return; - } else { - // reset all elems - var allEls = w.globals.dom.baseEl.getElementsByClassName('apexcharts-pie-area'); - Array.prototype.forEach.call(allEls, function (pieSlice) { - pieSlice.setAttribute('data:pieClicked', 'false'); - var origPath = pieSlice.getAttribute('data:pathOrig'); - pieSlice.setAttribute('d', origPath); - }); - elPath.attr('data:pieClicked', 'true'); - } - - var startAngle = parseInt(elPath.attr('data:startAngle'), 10); - var angle = parseInt(elPath.attr('data:angle'), 10); - path = me.getPiePath({ - me: me, - startAngle: startAngle, - angle: angle, - size: size - }); - if (angle === 360) return; - elPath.plot(path); - } - }, { - key: "getChangedPath", - value: function getChangedPath(prevStartAngle, prevEndAngle) { - var path = ''; - - if (this.dynamicAnim && this.w.globals.dataChanged) { - path = this.getPiePath({ - me: this, - startAngle: prevStartAngle, - angle: prevEndAngle - prevStartAngle, - size: this.size - }); - } - - return path; - } - }, { - key: "getPiePath", - value: function getPiePath(_ref) { - var me = _ref.me, - startAngle = _ref.startAngle, - angle = _ref.angle, - size = _ref.size; - var path; - var startDeg = startAngle; - var startRadians = Math.PI * (startDeg - 90) / 180; - var endDeg = angle + startAngle; // prevent overlap - - if (Math.ceil(endDeg) >= this.fullAngle + this.w.config.plotOptions.pie.startAngle % this.fullAngle) { - endDeg = this.fullAngle + this.w.config.plotOptions.pie.startAngle % this.fullAngle - 0.01; - } - - if (Math.ceil(endDeg) > this.fullAngle) endDeg -= this.fullAngle; - var endRadians = Math.PI * (endDeg - 90) / 180; - var x1 = me.centerX + size * Math.cos(startRadians); - var y1 = me.centerY + size * Math.sin(startRadians); - var x2 = me.centerX + size * Math.cos(endRadians); - var y2 = me.centerY + size * Math.sin(endRadians); - var startInner = Utils$1.polarToCartesian(me.centerX, me.centerY, me.donutSize, endDeg); - var endInner = Utils$1.polarToCartesian(me.centerX, me.centerY, me.donutSize, startDeg); - var largeArc = angle > 180 ? 1 : 0; - var pathBeginning = ['M', x1, y1, 'A', size, size, 0, largeArc, 1, x2, y2]; - - if (me.chartType === 'donut') { - path = [].concat(pathBeginning, ['L', startInner.x, startInner.y, 'A', me.donutSize, me.donutSize, 0, largeArc, 0, endInner.x, endInner.y, 'L', x1, y1, 'z']).join(' '); - } else if (me.chartType === 'pie' || me.chartType === 'polarArea') { - path = [].concat(pathBeginning, ['L', me.centerX, me.centerY, 'L', x1, y1]).join(' '); - } else { - path = [].concat(pathBeginning).join(' '); - } - - return path; - } - }, { - key: "drawPolarElements", - value: function drawPolarElements(parent) { - var w = this.w; - var scale = new Range$1(this.ctx); - var graphics = new Graphics(this.ctx); - var helpers = new CircularChartsHelpers(this.ctx); - var gCircles = graphics.group(); - var gYAxis = graphics.group(); - var yScale = scale.niceScale(0, Math.ceil(this.maxY), w.config.yaxis[0].tickAmount, 0, true); - var yTexts = yScale.result.reverse(); - var len = yScale.result.length; - this.maxY = yScale.niceMax; - var circleSize = w.globals.radialSize; - var diff = circleSize / (len - 1); - - for (var i = 0; i < len - 1; i++) { - var circle = graphics.drawCircle(circleSize); - circle.attr({ - cx: this.centerX, - cy: this.centerY, - fill: 'none', - 'stroke-width': w.config.plotOptions.polarArea.rings.strokeWidth, - stroke: w.config.plotOptions.polarArea.rings.strokeColor - }); - - if (w.config.yaxis[0].show) { - var yLabel = helpers.drawYAxisTexts(this.centerX, this.centerY - circleSize + parseInt(w.config.yaxis[0].labels.style.fontSize, 10) / 2, i, yTexts[i]); - gYAxis.add(yLabel); - } - - gCircles.add(circle); - circleSize = circleSize - diff; - } - - this.drawSpokes(parent); - parent.add(gCircles); - parent.add(gYAxis); - } - }, { - key: "renderInnerDataLabels", - value: function renderInnerDataLabels(dataLabelsConfig, opts) { - var w = this.w; - var graphics = new Graphics(this.ctx); - var g = graphics.group({ - class: 'apexcharts-datalabels-group', - transform: "translate(".concat(opts.translateX ? opts.translateX : 0, ", ").concat(opts.translateY ? opts.translateY : 0, ") scale(").concat(w.config.plotOptions.pie.customScale, ")") - }); - var showTotal = dataLabelsConfig.total.show; - g.node.style.opacity = opts.opacity; - var x = opts.centerX; - var y = opts.centerY; - var labelColor, valueColor; - - if (dataLabelsConfig.name.color === undefined) { - labelColor = w.globals.colors[0]; - } else { - labelColor = dataLabelsConfig.name.color; - } - - var labelFontSize = dataLabelsConfig.name.fontSize; - var labelFontFamily = dataLabelsConfig.name.fontFamily; - var labelFontWeight = dataLabelsConfig.name.fontWeight; - - if (dataLabelsConfig.value.color === undefined) { - valueColor = w.config.chart.foreColor; - } else { - valueColor = dataLabelsConfig.value.color; - } - - var lbFormatter = dataLabelsConfig.value.formatter; - var val = ''; - var name = ''; - - if (showTotal) { - labelColor = dataLabelsConfig.total.color; - labelFontSize = dataLabelsConfig.total.fontSize; - labelFontFamily = dataLabelsConfig.total.fontFamily; - labelFontWeight = dataLabelsConfig.total.fontWeight; - name = dataLabelsConfig.total.label; - val = dataLabelsConfig.total.formatter(w); - } else { - if (w.globals.series.length === 1) { - val = lbFormatter(w.globals.series[0], w); - name = w.globals.seriesNames[0]; - } - } - - if (name) { - name = dataLabelsConfig.name.formatter(name, dataLabelsConfig.total.show, w); - } - - if (dataLabelsConfig.name.show) { - var elLabel = graphics.drawText({ - x: x, - y: y + parseFloat(dataLabelsConfig.name.offsetY), - text: name, - textAnchor: 'middle', - foreColor: labelColor, - fontSize: labelFontSize, - fontWeight: labelFontWeight, - fontFamily: labelFontFamily - }); - elLabel.node.classList.add('apexcharts-datalabel-label'); - g.add(elLabel); - } - - if (dataLabelsConfig.value.show) { - var valOffset = dataLabelsConfig.name.show ? parseFloat(dataLabelsConfig.value.offsetY) + 16 : dataLabelsConfig.value.offsetY; - var elValue = graphics.drawText({ - x: x, - y: y + valOffset, - text: val, - textAnchor: 'middle', - foreColor: valueColor, - fontWeight: dataLabelsConfig.value.fontWeight, - fontSize: dataLabelsConfig.value.fontSize, - fontFamily: dataLabelsConfig.value.fontFamily - }); - elValue.node.classList.add('apexcharts-datalabel-value'); - g.add(elValue); - } // for a multi-series circle chart, we need to show total value instead of first series labels - - - return g; - } - /** - * - * @param {string} name - The name of the series - * @param {string} val - The value of that series - * @param {object} el - Optional el (indicates which series was hovered/clicked). If this param is not present, means we need to show total - */ - - }, { - key: "printInnerLabels", - value: function printInnerLabels(labelsConfig, name, val, el) { - var w = this.w; - var labelColor; - - if (el) { - if (labelsConfig.name.color === undefined) { - labelColor = w.globals.colors[parseInt(el.parentNode.getAttribute('rel'), 10) - 1]; - } else { - labelColor = labelsConfig.name.color; - } - } else { - if (w.globals.series.length > 1 && labelsConfig.total.show) { - labelColor = labelsConfig.total.color; - } - } - - var elLabel = w.globals.dom.baseEl.querySelector('.apexcharts-datalabel-label'); - var elValue = w.globals.dom.baseEl.querySelector('.apexcharts-datalabel-value'); - var lbFormatter = labelsConfig.value.formatter; - val = lbFormatter(val, w); // we need to show Total Val - so get the formatter of it - - if (!el && typeof labelsConfig.total.formatter === 'function') { - val = labelsConfig.total.formatter(w); - } - - var isTotal = name === labelsConfig.total.label; - name = labelsConfig.name.formatter(name, isTotal, w); - - if (elLabel !== null) { - elLabel.textContent = name; - } - - if (elValue !== null) { - elValue.textContent = val; - } - - if (elLabel !== null) { - elLabel.style.fill = labelColor; - } - } - }, { - key: "printDataLabelsInner", - value: function printDataLabelsInner(el, dataLabelsConfig) { - var w = this.w; - var val = el.getAttribute('data:value'); - var name = w.globals.seriesNames[parseInt(el.parentNode.getAttribute('rel'), 10) - 1]; - - if (w.globals.series.length > 1) { - this.printInnerLabels(dataLabelsConfig, name, val, el); - } - - var dataLabelsGroup = w.globals.dom.baseEl.querySelector('.apexcharts-datalabels-group'); - - if (dataLabelsGroup !== null) { - dataLabelsGroup.style.opacity = 1; - } - } - }, { - key: "drawSpokes", - value: function drawSpokes(parent) { - var _this2 = this; - - var w = this.w; - var graphics = new Graphics(this.ctx); - var spokeConfig = w.config.plotOptions.polarArea.spokes; - if (spokeConfig.strokeWidth === 0) return; - var spokes = []; - var angleDivision = 360 / w.globals.series.length; - - for (var i = 0; i < w.globals.series.length; i++) { - spokes.push(Utils$1.polarToCartesian(this.centerX, this.centerY, w.globals.radialSize, w.config.plotOptions.pie.startAngle + angleDivision * i)); - } - - spokes.forEach(function (p, i) { - var line = graphics.drawLine(p.x, p.y, _this2.centerX, _this2.centerY, Array.isArray(spokeConfig.connectorColors) ? spokeConfig.connectorColors[i] : spokeConfig.connectorColors); - parent.add(line); - }); - } - }, { - key: "revertDataLabelsInner", - value: function revertDataLabelsInner(elem, dataLabelsConfig, event) { - var _this3 = this; - - var w = this.w; - var dataLabelsGroup = w.globals.dom.baseEl.querySelector('.apexcharts-datalabels-group'); - var sliceOut = false; - var slices = w.globals.dom.baseEl.getElementsByClassName("apexcharts-pie-area"); - - var selectSlice = function selectSlice(_ref2) { - var makeSliceOut = _ref2.makeSliceOut, - printLabel = _ref2.printLabel; - Array.prototype.forEach.call(slices, function (s) { - if (s.getAttribute('data:pieClicked') === 'true') { - if (makeSliceOut) { - sliceOut = true; - } - - if (printLabel) { - _this3.printDataLabelsInner(s, dataLabelsConfig); - } - } - }); - }; - - selectSlice({ - makeSliceOut: true, - printLabel: false - }); - - if (dataLabelsConfig.total.show && w.globals.series.length > 1) { - if (sliceOut && !dataLabelsConfig.total.showAlways) { - selectSlice({ - makeSliceOut: false, - printLabel: true - }); - } else { - this.printInnerLabels(dataLabelsConfig, dataLabelsConfig.total.label, dataLabelsConfig.total.formatter(w)); - } - } else { - selectSlice({ - makeSliceOut: false, - printLabel: true - }); - - if (!sliceOut) { - if (w.globals.selectedDataPoints.length && w.globals.series.length > 1) { - if (w.globals.selectedDataPoints[0].length > 0) { - var index = w.globals.selectedDataPoints[0]; - var el = w.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(), "-slice-").concat(index)); - this.printDataLabelsInner(el, dataLabelsConfig); - } else if (dataLabelsGroup && w.globals.selectedDataPoints.length && w.globals.selectedDataPoints[0].length === 0) { - dataLabelsGroup.style.opacity = 0; - } - } else { - if (dataLabelsGroup && w.globals.series.length > 1) { - dataLabelsGroup.style.opacity = 0; - } - } - } - } - } - }]); - - return Pie; - }(); - - /** - * ApexCharts Radar Class for Spider/Radar Charts. - * @module Radar - **/ - - var Radar = /*#__PURE__*/function () { - function Radar(ctx) { - _classCallCheck(this, Radar); - - this.ctx = ctx; - this.w = ctx.w; - this.chartType = this.w.config.chart.type; - this.initialAnim = this.w.config.chart.animations.enabled; - this.dynamicAnim = this.initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled; - this.animDur = 0; - var w = this.w; - this.graphics = new Graphics(this.ctx); - this.lineColorArr = w.globals.stroke.colors !== undefined ? w.globals.stroke.colors : w.globals.colors; - this.defaultSize = w.globals.svgHeight < w.globals.svgWidth ? w.globals.gridHeight + w.globals.goldenPadding * 1.5 : w.globals.gridWidth; - this.isLog = w.config.yaxis[0].logarithmic; - this.coreUtils = new CoreUtils(this.ctx); - this.maxValue = this.isLog ? this.coreUtils.getLogVal(w.globals.maxY, 0) : w.globals.maxY; - this.minValue = this.isLog ? this.coreUtils.getLogVal(this.w.globals.minY, 0) : w.globals.minY; - this.polygons = w.config.plotOptions.radar.polygons; - this.strokeWidth = w.config.stroke.show ? w.config.stroke.width : 0; - this.size = this.defaultSize / 2.1 - this.strokeWidth - w.config.chart.dropShadow.blur; - - if (w.config.xaxis.labels.show) { - this.size = this.size - w.globals.xAxisLabelsWidth / 1.75; - } - - if (w.config.plotOptions.radar.size !== undefined) { - this.size = w.config.plotOptions.radar.size; - } - - this.dataRadiusOfPercent = []; - this.dataRadius = []; - this.angleArr = []; - this.yaxisLabelsTextsPos = []; - } - - _createClass(Radar, [{ - key: "draw", - value: function draw(series) { - var _this = this; - - var w = this.w; - var fill = new Fill(this.ctx); - var allSeries = []; - var dataLabels = new DataLabels(this.ctx); - - if (series.length) { - this.dataPointsLen = series[w.globals.maxValsInArrayIndex].length; - } - - this.disAngle = Math.PI * 2 / this.dataPointsLen; - var halfW = w.globals.gridWidth / 2; - var halfH = w.globals.gridHeight / 2; - var translateX = halfW + w.config.plotOptions.radar.offsetX; - var translateY = halfH + w.config.plotOptions.radar.offsetY; - var ret = this.graphics.group({ - class: 'apexcharts-radar-series apexcharts-plot-series', - transform: "translate(".concat(translateX || 0, ", ").concat(translateY || 0, ")") - }); - var dataPointsPos = []; - var elPointsMain = null; - var elDataPointsMain = null; - this.yaxisLabels = this.graphics.group({ - class: 'apexcharts-yaxis' - }); - series.forEach(function (s, i) { - var longestSeries = s.length === w.globals.dataPoints; // el to which series will be drawn - - var elSeries = _this.graphics.group().attr({ - class: "apexcharts-series", - 'data:longestSeries': longestSeries, - seriesName: Utils$1.escapeString(w.globals.seriesNames[i]), - rel: i + 1, - 'data:realIndex': i - }); - - _this.dataRadiusOfPercent[i] = []; - _this.dataRadius[i] = []; - _this.angleArr[i] = []; - s.forEach(function (dv, j) { - var range = Math.abs(_this.maxValue - _this.minValue); - dv = dv + Math.abs(_this.minValue); - - if (_this.isLog) { - dv = _this.coreUtils.getLogVal(dv, 0); - } - - _this.dataRadiusOfPercent[i][j] = dv / range; - _this.dataRadius[i][j] = _this.dataRadiusOfPercent[i][j] * _this.size; - _this.angleArr[i][j] = j * _this.disAngle; - }); - dataPointsPos = _this.getDataPointsPos(_this.dataRadius[i], _this.angleArr[i]); - - var paths = _this.createPaths(dataPointsPos, { - x: 0, - y: 0 - }); // points - - - elPointsMain = _this.graphics.group({ - class: 'apexcharts-series-markers-wrap apexcharts-element-hidden' - }); // datapoints - - elDataPointsMain = _this.graphics.group({ - class: "apexcharts-datalabels", - 'data:realIndex': i - }); - w.globals.delayedElements.push({ - el: elPointsMain.node, - index: i - }); - var defaultRenderedPathOptions = { - i: i, - realIndex: i, - animationDelay: i, - initialSpeed: w.config.chart.animations.speed, - dataChangeSpeed: w.config.chart.animations.dynamicAnimation.speed, - className: "apexcharts-radar", - shouldClipToGrid: false, - bindEventsOnPaths: false, - stroke: w.globals.stroke.colors[i], - strokeLineCap: w.config.stroke.lineCap - }; - var pathFrom = null; - - if (w.globals.previousPaths.length > 0) { - pathFrom = _this.getPreviousPath(i); - } - - for (var p = 0; p < paths.linePathsTo.length; p++) { - var renderedLinePath = _this.graphics.renderPaths(_objectSpread2(_objectSpread2({}, defaultRenderedPathOptions), {}, { - pathFrom: pathFrom === null ? paths.linePathsFrom[p] : pathFrom, - pathTo: paths.linePathsTo[p], - strokeWidth: Array.isArray(_this.strokeWidth) ? _this.strokeWidth[i] : _this.strokeWidth, - fill: 'none', - drawShadow: false - })); - - elSeries.add(renderedLinePath); - var pathFill = fill.fillPath({ - seriesNumber: i - }); - - var renderedAreaPath = _this.graphics.renderPaths(_objectSpread2(_objectSpread2({}, defaultRenderedPathOptions), {}, { - pathFrom: pathFrom === null ? paths.areaPathsFrom[p] : pathFrom, - pathTo: paths.areaPathsTo[p], - strokeWidth: 0, - fill: pathFill, - drawShadow: false - })); - - if (w.config.chart.dropShadow.enabled) { - var filters = new Filters(_this.ctx); - var shadow = w.config.chart.dropShadow; - filters.dropShadow(renderedAreaPath, Object.assign({}, shadow, { - noUserSpaceOnUse: true - }), i); - } - - elSeries.add(renderedAreaPath); - } - - s.forEach(function (sj, j) { - var markers = new Markers(_this.ctx); - var opts = markers.getMarkerConfig({ - cssClass: 'apexcharts-marker', - seriesIndex: i, - dataPointIndex: j - }); - - var point = _this.graphics.drawMarker(dataPointsPos[j].x, dataPointsPos[j].y, opts); - - point.attr('rel', j); - point.attr('j', j); - point.attr('index', i); - point.node.setAttribute('default-marker-size', opts.pSize); - - var elPointsWrap = _this.graphics.group({ - class: 'apexcharts-series-markers' - }); - - if (elPointsWrap) { - elPointsWrap.add(point); - } - - elPointsMain.add(elPointsWrap); - elSeries.add(elPointsMain); - var dataLabelsConfig = w.config.dataLabels; - - if (dataLabelsConfig.enabled) { - var text = dataLabelsConfig.formatter(w.globals.series[i][j], { - seriesIndex: i, - dataPointIndex: j, - w: w - }); - dataLabels.plotDataLabelsText({ - x: dataPointsPos[j].x, - y: dataPointsPos[j].y, - text: text, - textAnchor: 'middle', - i: i, - j: i, - parent: elDataPointsMain, - offsetCorrection: false, - dataLabelsConfig: _objectSpread2({}, dataLabelsConfig) - }); - } - - elSeries.add(elDataPointsMain); - }); - allSeries.push(elSeries); - }); - this.drawPolygons({ - parent: ret - }); - - if (w.config.xaxis.labels.show) { - var xaxisTexts = this.drawXAxisTexts(); - ret.add(xaxisTexts); - } - - allSeries.forEach(function (elS) { - ret.add(elS); - }); - ret.add(this.yaxisLabels); - return ret; - } - }, { - key: "drawPolygons", - value: function drawPolygons(opts) { - var _this2 = this; - - var w = this.w; - var parent = opts.parent; - var helpers = new CircularChartsHelpers(this.ctx); - var yaxisTexts = w.globals.yAxisScale[0].result.reverse(); - var layers = yaxisTexts.length; - var radiusSizes = []; - var layerDis = this.size / (layers - 1); - - for (var i = 0; i < layers; i++) { - radiusSizes[i] = layerDis * i; - } - - radiusSizes.reverse(); - var polygonStrings = []; - var lines = []; - radiusSizes.forEach(function (radiusSize, r) { - var polygon = Utils$1.getPolygonPos(radiusSize, _this2.dataPointsLen); - var string = ''; - polygon.forEach(function (p, i) { - if (r === 0) { - var line = _this2.graphics.drawLine(p.x, p.y, 0, 0, Array.isArray(_this2.polygons.connectorColors) ? _this2.polygons.connectorColors[i] : _this2.polygons.connectorColors); - - lines.push(line); - } - - if (i === 0) { - _this2.yaxisLabelsTextsPos.push({ - x: p.x, - y: p.y - }); - } - - string += p.x + ',' + p.y + ' '; - }); - polygonStrings.push(string); - }); - polygonStrings.forEach(function (p, i) { - var strokeColors = _this2.polygons.strokeColors; - var strokeWidth = _this2.polygons.strokeWidth; - - var polygon = _this2.graphics.drawPolygon(p, Array.isArray(strokeColors) ? strokeColors[i] : strokeColors, Array.isArray(strokeWidth) ? strokeWidth[i] : strokeWidth, w.globals.radarPolygons.fill.colors[i]); - - parent.add(polygon); - }); - lines.forEach(function (l) { - parent.add(l); - }); - - if (w.config.yaxis[0].show) { - this.yaxisLabelsTextsPos.forEach(function (p, i) { - var yText = helpers.drawYAxisTexts(p.x, p.y, i, yaxisTexts[i]); - - _this2.yaxisLabels.add(yText); - }); - } - } - }, { - key: "drawXAxisTexts", - value: function drawXAxisTexts() { - var _this3 = this; - - var w = this.w; - var xaxisLabelsConfig = w.config.xaxis.labels; - var elXAxisWrap = this.graphics.group({ - class: 'apexcharts-xaxis' - }); - var polygonPos = Utils$1.getPolygonPos(this.size, this.dataPointsLen); - w.globals.labels.forEach(function (label, i) { - var formatter = w.config.xaxis.labels.formatter; - var dataLabels = new DataLabels(_this3.ctx); - - if (polygonPos[i]) { - var textPos = _this3.getTextPos(polygonPos[i], _this3.size); - - var text = formatter(label, { - seriesIndex: -1, - dataPointIndex: i, - w: w - }); - dataLabels.plotDataLabelsText({ - x: textPos.newX, - y: textPos.newY, - text: text, - textAnchor: textPos.textAnchor, - i: i, - j: i, - parent: elXAxisWrap, - color: Array.isArray(xaxisLabelsConfig.style.colors) && xaxisLabelsConfig.style.colors[i] ? xaxisLabelsConfig.style.colors[i] : '#a8a8a8', - dataLabelsConfig: _objectSpread2({ - textAnchor: textPos.textAnchor, - dropShadow: { - enabled: false - } - }, xaxisLabelsConfig), - offsetCorrection: false - }); - } - }); - return elXAxisWrap; - } - }, { - key: "createPaths", - value: function createPaths(pos, origin) { - var _this4 = this; - - var linePathsTo = []; - var linePathsFrom = []; - var areaPathsTo = []; - var areaPathsFrom = []; - - if (pos.length) { - linePathsFrom = [this.graphics.move(origin.x, origin.y)]; - areaPathsFrom = [this.graphics.move(origin.x, origin.y)]; - var linePathTo = this.graphics.move(pos[0].x, pos[0].y); - var areaPathTo = this.graphics.move(pos[0].x, pos[0].y); - pos.forEach(function (p, i) { - linePathTo += _this4.graphics.line(p.x, p.y); - areaPathTo += _this4.graphics.line(p.x, p.y); - - if (i === pos.length - 1) { - linePathTo += 'Z'; - areaPathTo += 'Z'; - } - }); - linePathsTo.push(linePathTo); - areaPathsTo.push(areaPathTo); - } - - return { - linePathsFrom: linePathsFrom, - linePathsTo: linePathsTo, - areaPathsFrom: areaPathsFrom, - areaPathsTo: areaPathsTo - }; - } - }, { - key: "getTextPos", - value: function getTextPos(pos, polygonSize) { - var limit = 10; - var textAnchor = 'middle'; - var newX = pos.x; - var newY = pos.y; - - if (Math.abs(pos.x) >= limit) { - if (pos.x > 0) { - textAnchor = 'start'; - newX += 10; - } else if (pos.x < 0) { - textAnchor = 'end'; - newX -= 10; - } - } else { - textAnchor = 'middle'; - } - - if (Math.abs(pos.y) >= polygonSize - limit) { - if (pos.y < 0) { - newY -= 10; - } else if (pos.y > 0) { - newY += 10; - } - } - - return { - textAnchor: textAnchor, - newX: newX, - newY: newY - }; - } - }, { - key: "getPreviousPath", - value: function getPreviousPath(realIndex) { - var w = this.w; - var pathFrom = null; - - for (var pp = 0; pp < w.globals.previousPaths.length; pp++) { - var gpp = w.globals.previousPaths[pp]; - - if (gpp.paths.length > 0 && parseInt(gpp.realIndex, 10) === parseInt(realIndex, 10)) { - if (typeof w.globals.previousPaths[pp].paths[0] !== 'undefined') { - pathFrom = w.globals.previousPaths[pp].paths[0].d; - } - } - } - - return pathFrom; - } - }, { - key: "getDataPointsPos", - value: function getDataPointsPos(dataRadiusArr, angleArr) { - var dataPointsLen = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.dataPointsLen; - dataRadiusArr = dataRadiusArr || []; - angleArr = angleArr || []; - var dataPointsPosArray = []; - - for (var j = 0; j < dataPointsLen; j++) { - var curPointPos = {}; - curPointPos.x = dataRadiusArr[j] * Math.sin(angleArr[j]); - curPointPos.y = -dataRadiusArr[j] * Math.cos(angleArr[j]); - dataPointsPosArray.push(curPointPos); - } - - return dataPointsPosArray; - } - }]); - - return Radar; - }(); - - /** - * ApexCharts Radial Class for drawing Circle / Semi Circle Charts. - * @module Radial - **/ - - var Radial = /*#__PURE__*/function (_Pie) { - _inherits(Radial, _Pie); - - var _super = _createSuper(Radial); - - function Radial(ctx) { - var _this; - - _classCallCheck(this, Radial); - - _this = _super.call(this, ctx); - _this.ctx = ctx; - _this.w = ctx.w; - _this.animBeginArr = [0]; - _this.animDur = 0; - var w = _this.w; - _this.startAngle = w.config.plotOptions.radialBar.startAngle; - _this.endAngle = w.config.plotOptions.radialBar.endAngle; - _this.totalAngle = Math.abs(w.config.plotOptions.radialBar.endAngle - w.config.plotOptions.radialBar.startAngle); - _this.trackStartAngle = w.config.plotOptions.radialBar.track.startAngle; - _this.trackEndAngle = w.config.plotOptions.radialBar.track.endAngle; - _this.donutDataLabels = _this.w.config.plotOptions.radialBar.dataLabels; - _this.radialDataLabels = _this.donutDataLabels; // make a copy for easy reference - - if (!_this.trackStartAngle) _this.trackStartAngle = _this.startAngle; - if (!_this.trackEndAngle) _this.trackEndAngle = _this.endAngle; - if (_this.endAngle === 360) _this.endAngle = 359.99; - _this.margin = parseInt(w.config.plotOptions.radialBar.track.margin, 10); - return _this; - } - - _createClass(Radial, [{ - key: "draw", - value: function draw(series) { - var w = this.w; - var graphics = new Graphics(this.ctx); - var ret = graphics.group({ - class: 'apexcharts-radialbar' - }); - if (w.globals.noData) return ret; - var elSeries = graphics.group(); - var centerY = this.defaultSize / 2; - var centerX = w.globals.gridWidth / 2; - var size = this.defaultSize / 2.05; - - if (!w.config.chart.sparkline.enabled) { - size = size - w.config.stroke.width - w.config.chart.dropShadow.blur; - } - - var colorArr = w.globals.fill.colors; - - if (w.config.plotOptions.radialBar.track.show) { - var elTracks = this.drawTracks({ - size: size, - centerX: centerX, - centerY: centerY, - colorArr: colorArr, - series: series - }); - elSeries.add(elTracks); - } - - var elG = this.drawArcs({ - size: size, - centerX: centerX, - centerY: centerY, - colorArr: colorArr, - series: series - }); - var totalAngle = 360; - - if (w.config.plotOptions.radialBar.startAngle < 0) { - totalAngle = this.totalAngle; - } - - var angleRatio = (360 - totalAngle) / 360; - w.globals.radialSize = size - size * angleRatio; - - if (this.radialDataLabels.value.show) { - var offset = Math.max(this.radialDataLabels.value.offsetY, this.radialDataLabels.name.offsetY); - w.globals.radialSize += offset * angleRatio; - } - - elSeries.add(elG.g); - - if (w.config.plotOptions.radialBar.hollow.position === 'front') { - elG.g.add(elG.elHollow); - - if (elG.dataLabels) { - elG.g.add(elG.dataLabels); - } - } - - ret.add(elSeries); - return ret; - } - }, { - key: "drawTracks", - value: function drawTracks(opts) { - var w = this.w; - var graphics = new Graphics(this.ctx); - var g = graphics.group({ - class: 'apexcharts-tracks' - }); - var filters = new Filters(this.ctx); - var fill = new Fill(this.ctx); - var strokeWidth = this.getStrokeWidth(opts); - opts.size = opts.size - strokeWidth / 2; - - for (var i = 0; i < opts.series.length; i++) { - var elRadialBarTrack = graphics.group({ - class: 'apexcharts-radialbar-track apexcharts-track' - }); - g.add(elRadialBarTrack); - elRadialBarTrack.attr({ - rel: i + 1 - }); - opts.size = opts.size - strokeWidth - this.margin; - var trackConfig = w.config.plotOptions.radialBar.track; - var pathFill = fill.fillPath({ - seriesNumber: 0, - size: opts.size, - fillColors: Array.isArray(trackConfig.background) ? trackConfig.background[i] : trackConfig.background, - solid: true - }); - var startAngle = this.trackStartAngle; - var endAngle = this.trackEndAngle; - if (Math.abs(endAngle) + Math.abs(startAngle) >= 360) endAngle = 360 - Math.abs(this.startAngle) - 0.1; - var elPath = graphics.drawPath({ - d: '', - stroke: pathFill, - strokeWidth: strokeWidth * parseInt(trackConfig.strokeWidth, 10) / 100, - fill: 'none', - strokeOpacity: trackConfig.opacity, - classes: 'apexcharts-radialbar-area' - }); - - if (trackConfig.dropShadow.enabled) { - var shadow = trackConfig.dropShadow; - filters.dropShadow(elPath, shadow); - } - - elRadialBarTrack.add(elPath); - elPath.attr('id', 'apexcharts-radialbarTrack-' + i); - this.animatePaths(elPath, { - centerX: opts.centerX, - centerY: opts.centerY, - endAngle: endAngle, - startAngle: startAngle, - size: opts.size, - i: i, - totalItems: 2, - animBeginArr: 0, - dur: 0, - isTrack: true, - easing: w.globals.easing - }); - } - - return g; - } - }, { - key: "drawArcs", - value: function drawArcs(opts) { - var w = this.w; // size, donutSize, centerX, centerY, colorArr, lineColorArr, sectorAngleArr, series - - var graphics = new Graphics(this.ctx); - var fill = new Fill(this.ctx); - var filters = new Filters(this.ctx); - var g = graphics.group(); - var strokeWidth = this.getStrokeWidth(opts); - opts.size = opts.size - strokeWidth / 2; - var hollowFillID = w.config.plotOptions.radialBar.hollow.background; - var hollowSize = opts.size - strokeWidth * opts.series.length - this.margin * opts.series.length - strokeWidth * parseInt(w.config.plotOptions.radialBar.track.strokeWidth, 10) / 100 / 2; - var hollowRadius = hollowSize - w.config.plotOptions.radialBar.hollow.margin; - - if (w.config.plotOptions.radialBar.hollow.image !== undefined) { - hollowFillID = this.drawHollowImage(opts, g, hollowSize, hollowFillID); - } - - var elHollow = this.drawHollow({ - size: hollowRadius, - centerX: opts.centerX, - centerY: opts.centerY, - fill: hollowFillID ? hollowFillID : 'transparent' - }); - - if (w.config.plotOptions.radialBar.hollow.dropShadow.enabled) { - var shadow = w.config.plotOptions.radialBar.hollow.dropShadow; - filters.dropShadow(elHollow, shadow); - } - - var shown = 1; - - if (!this.radialDataLabels.total.show && w.globals.series.length > 1) { - shown = 0; - } - - var dataLabels = null; - - if (this.radialDataLabels.show) { - dataLabels = this.renderInnerDataLabels(this.radialDataLabels, { - hollowSize: hollowSize, - centerX: opts.centerX, - centerY: opts.centerY, - opacity: shown - }); - } - - if (w.config.plotOptions.radialBar.hollow.position === 'back') { - g.add(elHollow); - - if (dataLabels) { - g.add(dataLabels); - } - } - - var reverseLoop = false; - - if (w.config.plotOptions.radialBar.inverseOrder) { - reverseLoop = true; - } - - for (var i = reverseLoop ? opts.series.length - 1 : 0; reverseLoop ? i >= 0 : i < opts.series.length; reverseLoop ? i-- : i++) { - var elRadialBarArc = graphics.group({ - class: "apexcharts-series apexcharts-radial-series", - seriesName: Utils$1.escapeString(w.globals.seriesNames[i]) - }); - g.add(elRadialBarArc); - elRadialBarArc.attr({ - rel: i + 1, - 'data:realIndex': i - }); - this.ctx.series.addCollapsedClassToSeries(elRadialBarArc, i); - opts.size = opts.size - strokeWidth - this.margin; - var pathFill = fill.fillPath({ - seriesNumber: i, - size: opts.size, - value: opts.series[i] - }); - var startAngle = this.startAngle; - var prevStartAngle = void 0; // if data exceeds 100, make it 100 - - var dataValue = Utils$1.negToZero(opts.series[i] > 100 ? 100 : opts.series[i]) / 100; - var endAngle = Math.round(this.totalAngle * dataValue) + this.startAngle; - var prevEndAngle = void 0; - - if (w.globals.dataChanged) { - prevStartAngle = this.startAngle; - prevEndAngle = Math.round(this.totalAngle * Utils$1.negToZero(w.globals.previousPaths[i]) / 100) + prevStartAngle; - } - - var currFullAngle = Math.abs(endAngle) + Math.abs(startAngle); - - if (currFullAngle >= 360) { - endAngle = endAngle - 0.01; - } - - var prevFullAngle = Math.abs(prevEndAngle) + Math.abs(prevStartAngle); - - if (prevFullAngle >= 360) { - prevEndAngle = prevEndAngle - 0.01; - } - - var angle = endAngle - startAngle; - var dashArray = Array.isArray(w.config.stroke.dashArray) ? w.config.stroke.dashArray[i] : w.config.stroke.dashArray; - var elPath = graphics.drawPath({ - d: '', - stroke: pathFill, - strokeWidth: strokeWidth, - fill: 'none', - fillOpacity: w.config.fill.opacity, - classes: 'apexcharts-radialbar-area apexcharts-radialbar-slice-' + i, - strokeDashArray: dashArray - }); - Graphics.setAttrs(elPath.node, { - 'data:angle': angle, - 'data:value': opts.series[i] - }); - - if (w.config.chart.dropShadow.enabled) { - var _shadow = w.config.chart.dropShadow; - filters.dropShadow(elPath, _shadow, i); - } - - filters.setSelectionFilter(elPath, 0, i); - this.addListeners(elPath, this.radialDataLabels); - elRadialBarArc.add(elPath); - elPath.attr({ - index: 0, - j: i - }); - var dur = 0; - - if (this.initialAnim && !w.globals.resized && !w.globals.dataChanged) { - dur = w.config.chart.animations.speed; - } - - if (w.globals.dataChanged) { - dur = w.config.chart.animations.dynamicAnimation.speed; - } - - this.animDur = dur / (opts.series.length * 1.2) + this.animDur; - this.animBeginArr.push(this.animDur); - this.animatePaths(elPath, { - centerX: opts.centerX, - centerY: opts.centerY, - endAngle: endAngle, - startAngle: startAngle, - prevEndAngle: prevEndAngle, - prevStartAngle: prevStartAngle, - size: opts.size, - i: i, - totalItems: 2, - animBeginArr: this.animBeginArr, - dur: dur, - shouldSetPrevPaths: true, - easing: w.globals.easing - }); - } - - return { - g: g, - elHollow: elHollow, - dataLabels: dataLabels - }; - } - }, { - key: "drawHollow", - value: function drawHollow(opts) { - var graphics = new Graphics(this.ctx); - var circle = graphics.drawCircle(opts.size * 2); - circle.attr({ - class: 'apexcharts-radialbar-hollow', - cx: opts.centerX, - cy: opts.centerY, - r: opts.size, - fill: opts.fill - }); - return circle; - } - }, { - key: "drawHollowImage", - value: function drawHollowImage(opts, g, hollowSize, hollowFillID) { - var w = this.w; - var fill = new Fill(this.ctx); - var randID = Utils$1.randomId(); - var hollowFillImg = w.config.plotOptions.radialBar.hollow.image; - - if (w.config.plotOptions.radialBar.hollow.imageClipped) { - fill.clippedImgArea({ - width: hollowSize, - height: hollowSize, - image: hollowFillImg, - patternID: "pattern".concat(w.globals.cuid).concat(randID) - }); - hollowFillID = "url(#pattern".concat(w.globals.cuid).concat(randID, ")"); - } else { - var imgWidth = w.config.plotOptions.radialBar.hollow.imageWidth; - var imgHeight = w.config.plotOptions.radialBar.hollow.imageHeight; - - if (imgWidth === undefined && imgHeight === undefined) { - var image = w.globals.dom.Paper.image(hollowFillImg).loaded(function (loader) { - this.move(opts.centerX - loader.width / 2 + w.config.plotOptions.radialBar.hollow.imageOffsetX, opts.centerY - loader.height / 2 + w.config.plotOptions.radialBar.hollow.imageOffsetY); - }); - g.add(image); - } else { - var _image = w.globals.dom.Paper.image(hollowFillImg).loaded(function (loader) { - this.move(opts.centerX - imgWidth / 2 + w.config.plotOptions.radialBar.hollow.imageOffsetX, opts.centerY - imgHeight / 2 + w.config.plotOptions.radialBar.hollow.imageOffsetY); - this.size(imgWidth, imgHeight); - }); - - g.add(_image); - } - } - - return hollowFillID; - } - }, { - key: "getStrokeWidth", - value: function getStrokeWidth(opts) { - var w = this.w; - return opts.size * (100 - parseInt(w.config.plotOptions.radialBar.hollow.size, 10)) / 100 / (opts.series.length + 1) - this.margin; - } - }]); - - return Radial; - }(Pie); - - var Helpers = /*#__PURE__*/function () { - function Helpers(lineCtx) { - _classCallCheck(this, Helpers); - - this.w = lineCtx.w; - this.lineCtx = lineCtx; - } - - _createClass(Helpers, [{ - key: "sameValueSeriesFix", - value: function sameValueSeriesFix(i, series) { - var w = this.w; - - if (w.config.chart.type === 'line' && (w.config.fill.type === 'gradient' || w.config.fill.type[i] === 'gradient')) { - var coreUtils = new CoreUtils(this.lineCtx.ctx, w); // a small adjustment to allow gradient line to draw correctly for all same values - - /* #fix https://github.com/apexcharts/apexcharts.js/issues/358 */ - - if (coreUtils.seriesHaveSameValues(i)) { - var gSeries = series[i].slice(); - gSeries[gSeries.length - 1] = gSeries[gSeries.length - 1] + 0.000001; - series[i] = gSeries; - } - } - - return series; - } - }, { - key: "calculatePoints", - value: function calculatePoints(_ref) { - var series = _ref.series, - realIndex = _ref.realIndex, - x = _ref.x, - y = _ref.y, - i = _ref.i, - j = _ref.j, - prevY = _ref.prevY; - var w = this.w; - var ptX = []; - var ptY = []; - - if (j === 0) { - var xPT1st = this.lineCtx.categoryAxisCorrection + w.config.markers.offsetX; // the first point for line series - // we need to check whether it's not a time series, because a time series may - // start from the middle of the x axis - - if (w.globals.isXNumeric) { - xPT1st = (w.globals.seriesX[realIndex][0] - w.globals.minX) / this.lineCtx.xRatio + w.config.markers.offsetX; - } // push 2 points for the first data values - - - ptX.push(xPT1st); - ptY.push(Utils$1.isNumber(series[i][0]) ? prevY + w.config.markers.offsetY : null); - ptX.push(x + w.config.markers.offsetX); - ptY.push(Utils$1.isNumber(series[i][j + 1]) ? y + w.config.markers.offsetY : null); - } else { - ptX.push(x + w.config.markers.offsetX); - ptY.push(Utils$1.isNumber(series[i][j + 1]) ? y + w.config.markers.offsetY : null); - } - - var pointsPos = { - x: ptX, - y: ptY - }; - return pointsPos; - } - }, { - key: "checkPreviousPaths", - value: function checkPreviousPaths(_ref2) { - var pathFromLine = _ref2.pathFromLine, - pathFromArea = _ref2.pathFromArea, - realIndex = _ref2.realIndex; - var w = this.w; - - for (var pp = 0; pp < w.globals.previousPaths.length; pp++) { - var gpp = w.globals.previousPaths[pp]; - - if ((gpp.type === 'line' || gpp.type === 'area') && gpp.paths.length > 0 && parseInt(gpp.realIndex, 10) === parseInt(realIndex, 10)) { - if (gpp.type === 'line') { - this.lineCtx.appendPathFrom = false; - pathFromLine = w.globals.previousPaths[pp].paths[0].d; - } else if (gpp.type === 'area') { - this.lineCtx.appendPathFrom = false; - pathFromArea = w.globals.previousPaths[pp].paths[0].d; - - if (w.config.stroke.show && w.globals.previousPaths[pp].paths[1]) { - pathFromLine = w.globals.previousPaths[pp].paths[1].d; - } - } - } - } - - return { - pathFromLine: pathFromLine, - pathFromArea: pathFromArea - }; - } - }, { - key: "determineFirstPrevY", - value: function determineFirstPrevY(_ref3) { - var i = _ref3.i, - series = _ref3.series, - prevY = _ref3.prevY, - lineYPosition = _ref3.lineYPosition; - var w = this.w; - - if (typeof series[i][0] !== 'undefined') { - if (w.config.chart.stacked) { - if (i > 0) { - // 1st y value of previous series - lineYPosition = this.lineCtx.prevSeriesY[i - 1][0]; - } else { - // the first series will not have prevY values - lineYPosition = this.lineCtx.zeroY; - } - } else { - lineYPosition = this.lineCtx.zeroY; - } - - prevY = lineYPosition - series[i][0] / this.lineCtx.yRatio[this.lineCtx.yaxisIndex] + (this.lineCtx.isReversed ? series[i][0] / this.lineCtx.yRatio[this.lineCtx.yaxisIndex] : 0) * 2; - } else { - // the first value in the current series is null - if (w.config.chart.stacked && i > 0 && typeof series[i][0] === 'undefined') { - // check for undefined value (undefined value will occur when we clear the series while user clicks on legend to hide serieses) - for (var s = i - 1; s >= 0; s--) { - // for loop to get to 1st previous value until we get it - if (series[s][0] !== null && typeof series[s][0] !== 'undefined') { - lineYPosition = this.lineCtx.prevSeriesY[s][0]; - prevY = lineYPosition; - break; - } - } - } - } - - return { - prevY: prevY, - lineYPosition: lineYPosition - }; - } - }]); - - return Helpers; - }(); - - /** - * ApexCharts Line Class responsible for drawing Line / Area Charts. - * This class is also responsible for generating values for Bubble/Scatter charts, so need to rename it to Axis Charts to avoid confusions - * @module Line - **/ - - var Line = /*#__PURE__*/function () { - function Line(ctx, xyRatios, isPointsChart) { - _classCallCheck(this, Line); - - this.ctx = ctx; - this.w = ctx.w; - this.xyRatios = xyRatios; - this.pointsChart = !(this.w.config.chart.type !== 'bubble' && this.w.config.chart.type !== 'scatter') || isPointsChart; - this.scatter = new Scatter(this.ctx); - this.noNegatives = this.w.globals.minX === Number.MAX_VALUE; - this.lineHelpers = new Helpers(this); - this.markers = new Markers(this.ctx); - this.prevSeriesY = []; - this.categoryAxisCorrection = 0; - this.yaxisIndex = 0; - } - - _createClass(Line, [{ - key: "draw", - value: function draw(series, ptype, seriesIndex) { - var w = this.w; - var graphics = new Graphics(this.ctx); - var type = w.globals.comboCharts ? ptype : w.config.chart.type; - var ret = graphics.group({ - class: "apexcharts-".concat(type, "-series apexcharts-plot-series") - }); - var coreUtils = new CoreUtils(this.ctx, w); - this.yRatio = this.xyRatios.yRatio; - this.zRatio = this.xyRatios.zRatio; - this.xRatio = this.xyRatios.xRatio; - this.baseLineY = this.xyRatios.baseLineY; - series = coreUtils.getLogSeries(series); - this.yRatio = coreUtils.getLogYRatios(this.yRatio); // push all series in an array, so we can draw in reverse order (for stacked charts) - - var allSeries = []; - - for (var i = 0; i < series.length; i++) { - series = this.lineHelpers.sameValueSeriesFix(i, series); - var realIndex = w.globals.comboCharts ? seriesIndex[i] : i; - - this._initSerieVariables(series, i, realIndex); - - var yArrj = []; // hold y values of current iterating series - - var xArrj = []; // hold x values of current iterating series - - var x = w.globals.padHorizontal + this.categoryAxisCorrection; - var y = 1; - var linePaths = []; - var areaPaths = []; - this.ctx.series.addCollapsedClassToSeries(this.elSeries, realIndex); - - if (w.globals.isXNumeric && w.globals.seriesX.length > 0) { - x = (w.globals.seriesX[realIndex][0] - w.globals.minX) / this.xRatio; - } - - xArrj.push(x); - var pX = x; - var pY = void 0; - var prevX = pX; - var prevY = this.zeroY; - var lineYPosition = 0; // the first value in the current series is not null or undefined - - var firstPrevY = this.lineHelpers.determineFirstPrevY({ - i: i, - series: series, - prevY: prevY, - lineYPosition: lineYPosition - }); - prevY = firstPrevY.prevY; - yArrj.push(prevY); - pY = prevY; - - var pathsFrom = this._calculatePathsFrom({ - series: series, - i: i, - realIndex: realIndex, - prevX: prevX, - prevY: prevY - }); - - var paths = this._iterateOverDataPoints({ - series: series, - realIndex: realIndex, - i: i, - x: x, - y: y, - pX: pX, - pY: pY, - pathsFrom: pathsFrom, - linePaths: linePaths, - areaPaths: areaPaths, - seriesIndex: seriesIndex, - lineYPosition: lineYPosition, - xArrj: xArrj, - yArrj: yArrj - }); - - this._handlePaths({ - type: type, - realIndex: realIndex, - i: i, - paths: paths - }); - - this.elSeries.add(this.elPointsMain); - this.elSeries.add(this.elDataLabelsWrap); - allSeries.push(this.elSeries); - } - - if (w.config.chart.stacked) { - for (var s = allSeries.length; s > 0; s--) { - ret.add(allSeries[s - 1]); - } - } else { - for (var _s = 0; _s < allSeries.length; _s++) { - ret.add(allSeries[_s]); - } - } - - return ret; - } - }, { - key: "_initSerieVariables", - value: function _initSerieVariables(series, i, realIndex) { - var w = this.w; - var graphics = new Graphics(this.ctx); // width divided into equal parts - - this.xDivision = w.globals.gridWidth / (w.globals.dataPoints - (w.config.xaxis.tickPlacement === 'on' ? 1 : 0)); - this.strokeWidth = Array.isArray(w.config.stroke.width) ? w.config.stroke.width[realIndex] : w.config.stroke.width; - - if (this.yRatio.length > 1) { - this.yaxisIndex = realIndex; - } - - this.isReversed = w.config.yaxis[this.yaxisIndex] && w.config.yaxis[this.yaxisIndex].reversed; // zeroY is the 0 value in y series which can be used in negative charts - - this.zeroY = w.globals.gridHeight - this.baseLineY[this.yaxisIndex] - (this.isReversed ? w.globals.gridHeight : 0) + (this.isReversed ? this.baseLineY[this.yaxisIndex] * 2 : 0); - this.areaBottomY = this.zeroY; - - if (this.zeroY > w.globals.gridHeight || w.config.plotOptions.area.fillTo === 'end') { - this.areaBottomY = w.globals.gridHeight; - } - - this.categoryAxisCorrection = this.xDivision / 2; // el to which series will be drawn - - this.elSeries = graphics.group({ - class: "apexcharts-series", - seriesName: Utils$1.escapeString(w.globals.seriesNames[realIndex]) - }); // points - - this.elPointsMain = graphics.group({ - class: 'apexcharts-series-markers-wrap', - 'data:realIndex': realIndex - }); // eldatalabels - - this.elDataLabelsWrap = graphics.group({ - class: 'apexcharts-datalabels', - 'data:realIndex': realIndex - }); - var longestSeries = series[i].length === w.globals.dataPoints; - this.elSeries.attr({ - 'data:longestSeries': longestSeries, - rel: i + 1, - 'data:realIndex': realIndex - }); - this.appendPathFrom = true; - } - }, { - key: "_calculatePathsFrom", - value: function _calculatePathsFrom(_ref) { - var series = _ref.series, - i = _ref.i, - realIndex = _ref.realIndex, - prevX = _ref.prevX, - prevY = _ref.prevY; - var w = this.w; - var graphics = new Graphics(this.ctx); - var linePath, areaPath, pathFromLine, pathFromArea; - - if (series[i][0] === null) { - // when the first value itself is null, we need to move the pointer to a location where a null value is not found - for (var s = 0; s < series[i].length; s++) { - if (series[i][s] !== null) { - prevX = this.xDivision * s; - prevY = this.zeroY - series[i][s] / this.yRatio[this.yaxisIndex]; - linePath = graphics.move(prevX, prevY); - areaPath = graphics.move(prevX, this.areaBottomY); - break; - } - } - } else { - linePath = graphics.move(prevX, prevY); - areaPath = graphics.move(prevX, this.areaBottomY) + graphics.line(prevX, prevY); - } - - pathFromLine = graphics.move(-1, this.zeroY) + graphics.line(-1, this.zeroY); - pathFromArea = graphics.move(-1, this.zeroY) + graphics.line(-1, this.zeroY); - - if (w.globals.previousPaths.length > 0) { - var pathFrom = this.lineHelpers.checkPreviousPaths({ - pathFromLine: pathFromLine, - pathFromArea: pathFromArea, - realIndex: realIndex - }); - pathFromLine = pathFrom.pathFromLine; - pathFromArea = pathFrom.pathFromArea; - } - - return { - prevX: prevX, - prevY: prevY, - linePath: linePath, - areaPath: areaPath, - pathFromLine: pathFromLine, - pathFromArea: pathFromArea - }; - } - }, { - key: "_handlePaths", - value: function _handlePaths(_ref2) { - var type = _ref2.type, - realIndex = _ref2.realIndex, - i = _ref2.i, - paths = _ref2.paths; - var w = this.w; - var graphics = new Graphics(this.ctx); - var fill = new Fill(this.ctx); // push all current y values array to main PrevY Array - - this.prevSeriesY.push(paths.yArrj); // push all x val arrays into main xArr - - w.globals.seriesXvalues[realIndex] = paths.xArrj; - w.globals.seriesYvalues[realIndex] = paths.yArrj; - var forecast = w.config.forecastDataPoints; - - if (forecast.count > 0) { - var forecastCutoff = w.globals.seriesXvalues[realIndex][w.globals.seriesXvalues[realIndex].length - forecast.count - 1]; - var elForecastMask = graphics.drawRect(forecastCutoff, 0, w.globals.gridWidth, w.globals.gridHeight, 0); - w.globals.dom.elForecastMask.appendChild(elForecastMask.node); - var elNonForecastMask = graphics.drawRect(0, 0, forecastCutoff, w.globals.gridHeight, 0); - w.globals.dom.elNonForecastMask.appendChild(elNonForecastMask.node); - } // these elements will be shown after area path animation completes - - - if (!this.pointsChart) { - w.globals.delayedElements.push({ - el: this.elPointsMain.node, - index: realIndex - }); - } - - var defaultRenderedPathOptions = { - i: i, - realIndex: realIndex, - animationDelay: i, - initialSpeed: w.config.chart.animations.speed, - dataChangeSpeed: w.config.chart.animations.dynamicAnimation.speed, - className: "apexcharts-".concat(type) - }; - - if (type === 'area') { - var pathFill = fill.fillPath({ - seriesNumber: realIndex - }); - - for (var p = 0; p < paths.areaPaths.length; p++) { - var renderedPath = graphics.renderPaths(_objectSpread2(_objectSpread2({}, defaultRenderedPathOptions), {}, { - pathFrom: paths.pathFromArea, - pathTo: paths.areaPaths[p], - stroke: 'none', - strokeWidth: 0, - strokeLineCap: null, - fill: pathFill - })); - this.elSeries.add(renderedPath); - } - } - - if (w.config.stroke.show && !this.pointsChart) { - var lineFill = null; - - if (type === 'line') { - lineFill = fill.fillPath({ - seriesNumber: realIndex, - i: i - }); - } else { - if (w.config.stroke.fill.type === 'solid') { - lineFill = w.globals.stroke.colors[realIndex]; - } else { - var prevFill = w.config.fill; - w.config.fill = w.config.stroke.fill; - lineFill = fill.fillPath({ - seriesNumber: realIndex, - i: i - }); - w.config.fill = prevFill; - } - } - - for (var _p = 0; _p < paths.linePaths.length; _p++) { - var linePathCommonOpts = _objectSpread2(_objectSpread2({}, defaultRenderedPathOptions), {}, { - pathFrom: paths.pathFromLine, - pathTo: paths.linePaths[_p], - stroke: lineFill, - strokeWidth: this.strokeWidth, - strokeLineCap: w.config.stroke.lineCap, - fill: 'none' - }); - - var _renderedPath = graphics.renderPaths(linePathCommonOpts); - - this.elSeries.add(_renderedPath); - - if (forecast.count > 0) { - var renderedForecastPath = graphics.renderPaths(linePathCommonOpts); - renderedForecastPath.node.setAttribute('stroke-dasharray', forecast.dashArray); - - if (forecast.strokeWidth) { - renderedForecastPath.node.setAttribute('stroke-width', forecast.strokeWidth); - } - - this.elSeries.add(renderedForecastPath); - renderedForecastPath.attr('clip-path', "url(#forecastMask".concat(w.globals.cuid, ")")); - - _renderedPath.attr('clip-path', "url(#nonForecastMask".concat(w.globals.cuid, ")")); - } - } - } - } - }, { - key: "_iterateOverDataPoints", - value: function _iterateOverDataPoints(_ref3) { - var series = _ref3.series, - realIndex = _ref3.realIndex, - i = _ref3.i, - x = _ref3.x, - y = _ref3.y, - pX = _ref3.pX, - pY = _ref3.pY, - pathsFrom = _ref3.pathsFrom, - linePaths = _ref3.linePaths, - areaPaths = _ref3.areaPaths, - seriesIndex = _ref3.seriesIndex, - lineYPosition = _ref3.lineYPosition, - xArrj = _ref3.xArrj, - yArrj = _ref3.yArrj; - var w = this.w; - var graphics = new Graphics(this.ctx); - var yRatio = this.yRatio; - var prevY = pathsFrom.prevY, - linePath = pathsFrom.linePath, - areaPath = pathsFrom.areaPath, - pathFromLine = pathsFrom.pathFromLine, - pathFromArea = pathsFrom.pathFromArea; - var minY = Utils$1.isNumber(w.globals.minYArr[realIndex]) ? w.globals.minYArr[realIndex] : w.globals.minY; - var iterations = w.globals.dataPoints > 1 ? w.globals.dataPoints - 1 : w.globals.dataPoints; - - for (var j = 0; j < iterations; j++) { - var isNull = typeof series[i][j + 1] === 'undefined' || series[i][j + 1] === null; - - if (w.globals.isXNumeric) { - var sX = w.globals.seriesX[realIndex][j + 1]; - - if (typeof w.globals.seriesX[realIndex][j + 1] === 'undefined') { - /* fix #374 */ - sX = w.globals.seriesX[realIndex][iterations - 1]; - } - - x = (sX - w.globals.minX) / this.xRatio; - } else { - x = x + this.xDivision; - } - - if (w.config.chart.stacked) { - if (i > 0 && w.globals.collapsedSeries.length < w.config.series.length - 1) { - // a collapsed series in a stacked bar chart may provide wrong result for the next series, hence find the prevIndex of prev series which is not collapsed - fixes apexcharts.js#1372 - var prevIndex = function prevIndex(pi) { - var pii = pi; - - for (var cpi = 0; cpi < w.globals.series.length; cpi++) { - if (w.globals.collapsedSeriesIndices.indexOf(pi) > -1) { - pii--; - break; - } - } - - return pii >= 0 ? pii : 0; - }; - - lineYPosition = this.prevSeriesY[prevIndex(i - 1)][j + 1]; - } else { - // the first series will not have prevY values - lineYPosition = this.zeroY; - } - } else { - lineYPosition = this.zeroY; - } - - if (isNull) { - y = lineYPosition - minY / yRatio[this.yaxisIndex] + (this.isReversed ? minY / yRatio[this.yaxisIndex] : 0) * 2; - } else { - y = lineYPosition - series[i][j + 1] / yRatio[this.yaxisIndex] + (this.isReversed ? series[i][j + 1] / yRatio[this.yaxisIndex] : 0) * 2; - } // push current X - - - xArrj.push(x); // push current Y that will be used as next series's bottom position - - yArrj.push(y); - var pointsPos = this.lineHelpers.calculatePoints({ - series: series, - x: x, - y: y, - realIndex: realIndex, - i: i, - j: j, - prevY: prevY - }); - - var calculatedPaths = this._createPaths({ - series: series, - i: i, - realIndex: realIndex, - j: j, - x: x, - y: y, - pX: pX, - pY: pY, - linePath: linePath, - areaPath: areaPath, - linePaths: linePaths, - areaPaths: areaPaths, - seriesIndex: seriesIndex - }); - - areaPaths = calculatedPaths.areaPaths; - linePaths = calculatedPaths.linePaths; - pX = calculatedPaths.pX; - pY = calculatedPaths.pY; - areaPath = calculatedPaths.areaPath; - linePath = calculatedPaths.linePath; - - if (this.appendPathFrom) { - pathFromLine = pathFromLine + graphics.line(x, this.zeroY); - pathFromArea = pathFromArea + graphics.line(x, this.zeroY); - } - - this.handleNullDataPoints(series, pointsPos, i, j, realIndex); - - this._handleMarkersAndLabels({ - pointsPos: pointsPos, - series: series, - x: x, - y: y, - prevY: prevY, - i: i, - j: j, - realIndex: realIndex - }); - } - - return { - yArrj: yArrj, - xArrj: xArrj, - pathFromArea: pathFromArea, - areaPaths: areaPaths, - pathFromLine: pathFromLine, - linePaths: linePaths - }; - } - }, { - key: "_handleMarkersAndLabels", - value: function _handleMarkersAndLabels(_ref4) { - var pointsPos = _ref4.pointsPos; - _ref4.series; - _ref4.x; - _ref4.y; - _ref4.prevY; - var i = _ref4.i, - j = _ref4.j, - realIndex = _ref4.realIndex; - var w = this.w; - var dataLabels = new DataLabels(this.ctx); - - if (!this.pointsChart) { - if (w.globals.series[i].length > 1) { - this.elPointsMain.node.classList.add('apexcharts-element-hidden'); - } - - var elPointsWrap = this.markers.plotChartMarkers(pointsPos, realIndex, j + 1); - - if (elPointsWrap !== null) { - this.elPointsMain.add(elPointsWrap); - } - } else { - // scatter / bubble chart points creation - this.scatter.draw(this.elSeries, j, { - realIndex: realIndex, - pointsPos: pointsPos, - zRatio: this.zRatio, - elParent: this.elPointsMain - }); - } - - var drawnLabels = dataLabels.drawDataLabel(pointsPos, realIndex, j + 1, null); - - if (drawnLabels !== null) { - this.elDataLabelsWrap.add(drawnLabels); - } - } - }, { - key: "_createPaths", - value: function _createPaths(_ref5) { - var series = _ref5.series, - i = _ref5.i, - realIndex = _ref5.realIndex, - j = _ref5.j, - x = _ref5.x, - y = _ref5.y, - pX = _ref5.pX, - pY = _ref5.pY, - linePath = _ref5.linePath, - areaPath = _ref5.areaPath, - linePaths = _ref5.linePaths, - areaPaths = _ref5.areaPaths, - seriesIndex = _ref5.seriesIndex; - var w = this.w; - var graphics = new Graphics(this.ctx); - var curve = w.config.stroke.curve; - var areaBottomY = this.areaBottomY; - - if (Array.isArray(w.config.stroke.curve)) { - if (Array.isArray(seriesIndex)) { - curve = w.config.stroke.curve[seriesIndex[i]]; - } else { - curve = w.config.stroke.curve[i]; - } - } // logic of smooth curve derived from chartist - // CREDITS: https://gionkunz.github.io/chartist-js/ - - - if (curve === 'smooth') { - var length = (x - pX) * 0.35; - - if (w.globals.hasNullValues) { - if (series[i][j] !== null) { - if (series[i][j + 1] !== null) { - linePath = graphics.move(pX, pY) + graphics.curve(pX + length, pY, x - length, y, x + 1, y); - areaPath = graphics.move(pX + 1, pY) + graphics.curve(pX + length, pY, x - length, y, x + 1, y) + graphics.line(x, areaBottomY) + graphics.line(pX, areaBottomY) + 'z'; - } else { - linePath = graphics.move(pX, pY); - areaPath = graphics.move(pX, pY) + 'z'; - } - } - - linePaths.push(linePath); - areaPaths.push(areaPath); - } else { - linePath = linePath + graphics.curve(pX + length, pY, x - length, y, x, y); - areaPath = areaPath + graphics.curve(pX + length, pY, x - length, y, x, y); - } - - pX = x; - pY = y; - - if (j === series[i].length - 2) { - // last loop, close path - areaPath = areaPath + graphics.curve(pX, pY, x, y, x, areaBottomY) + graphics.move(x, y) + 'z'; - - if (!w.globals.hasNullValues) { - linePaths.push(linePath); - areaPaths.push(areaPath); - } - } - } else { - if (series[i][j + 1] === null) { - linePath = linePath + graphics.move(x, y); - var numericOrCatX = w.globals.isXNumeric ? (w.globals.seriesX[realIndex][j] - w.globals.minX) / this.xRatio : x - this.xDivision; - areaPath = areaPath + graphics.line(numericOrCatX, areaBottomY) + graphics.move(x, y) + 'z'; - } - - if (series[i][j] === null) { - linePath = linePath + graphics.move(x, y); - areaPath = areaPath + graphics.move(x, areaBottomY); - } - - if (curve === 'stepline') { - linePath = linePath + graphics.line(x, null, 'H') + graphics.line(null, y, 'V'); - areaPath = areaPath + graphics.line(x, null, 'H') + graphics.line(null, y, 'V'); - } else if (curve === 'straight') { - linePath = linePath + graphics.line(x, y); - areaPath = areaPath + graphics.line(x, y); - } - - if (j === series[i].length - 2) { - // last loop, close path - areaPath = areaPath + graphics.line(x, areaBottomY) + graphics.move(x, y) + 'z'; - linePaths.push(linePath); - areaPaths.push(areaPath); - } - } - - return { - linePaths: linePaths, - areaPaths: areaPaths, - pX: pX, - pY: pY, - linePath: linePath, - areaPath: areaPath - }; - } - }, { - key: "handleNullDataPoints", - value: function handleNullDataPoints(series, pointsPos, i, j, realIndex) { - var w = this.w; - - if (series[i][j] === null && w.config.markers.showNullDataPoints || series[i].length === 1) { - // fixes apexcharts.js#1282, #1252 - var elPointsWrap = this.markers.plotChartMarkers(pointsPos, realIndex, j + 1, this.strokeWidth - w.config.markers.strokeWidth / 2, true); - - if (elPointsWrap !== null) { - this.elPointsMain.add(elPointsWrap); - } - } - } - }]); - - return Line; - }(); - - /* - * treemap-squarify.js - open source implementation of squarified treemaps - * - * Treemap Squared 0.5 - Treemap Charting library - * - * https://github.com/imranghory/treemap-squared/ - * - * Copyright (c) 2012 Imran Ghory (imranghory@gmail.com) - * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. - * - * - * Implementation of the squarify treemap algorithm described in: - * - * Bruls, Mark; Huizing, Kees; van Wijk, Jarke J. (2000), "Squarified treemaps" - * in de Leeuw, W.; van Liere, R., Data Visualization 2000: - * Proc. Joint Eurographics and IEEE TCVG Symp. on Visualization, Springer-Verlag, pp. 33–42. - * - * Paper is available online at: http://www.win.tue.nl/~vanwijk/stm.pdf - * - * The code in this file is completeley decoupled from the drawing code so it should be trivial - * to port it to any other vector drawing library. Given an array of datapoints this library returns - * an array of cartesian coordinates that represent the rectangles that make up the treemap. - * - * The library also supports multidimensional data (nested treemaps) and performs normalization on the data. - * - * See the README file for more details. - */ - window.TreemapSquared = {}; - - (function () { - - window.TreemapSquared.generate = function () { - function Container(xoffset, yoffset, width, height) { - this.xoffset = xoffset; // offset from the the top left hand corner - - this.yoffset = yoffset; // ditto - - this.height = height; - this.width = width; - - this.shortestEdge = function () { - return Math.min(this.height, this.width); - }; // getCoordinates - for a row of boxes which we've placed - // return an array of their cartesian coordinates - - - this.getCoordinates = function (row) { - var coordinates = []; - var subxoffset = this.xoffset, - subyoffset = this.yoffset; //our offset within the container - - var areawidth = sumArray(row) / this.height; - var areaheight = sumArray(row) / this.width; - var i; - - if (this.width >= this.height) { - for (i = 0; i < row.length; i++) { - coordinates.push([subxoffset, subyoffset, subxoffset + areawidth, subyoffset + row[i] / areawidth]); - subyoffset = subyoffset + row[i] / areawidth; - } - } else { - for (i = 0; i < row.length; i++) { - coordinates.push([subxoffset, subyoffset, subxoffset + row[i] / areaheight, subyoffset + areaheight]); - subxoffset = subxoffset + row[i] / areaheight; - } - } - - return coordinates; - }; // cutArea - once we've placed some boxes into an row we then need to identify the remaining area, - // this function takes the area of the boxes we've placed and calculates the location and - // dimensions of the remaining space and returns a container box defined by the remaining area - - - this.cutArea = function (area) { - var newcontainer; - - if (this.width >= this.height) { - var areawidth = area / this.height; - var newwidth = this.width - areawidth; - newcontainer = new Container(this.xoffset + areawidth, this.yoffset, newwidth, this.height); - } else { - var areaheight = area / this.width; - var newheight = this.height - areaheight; - newcontainer = new Container(this.xoffset, this.yoffset + areaheight, this.width, newheight); - } - - return newcontainer; - }; - } // normalize - the Bruls algorithm assumes we're passing in areas that nicely fit into our - // container box, this method takes our raw data and normalizes the data values into - // area values so that this assumption is valid. - - - function normalize(data, area) { - var normalizeddata = []; - var sum = sumArray(data); - var multiplier = area / sum; - var i; - - for (i = 0; i < data.length; i++) { - normalizeddata[i] = data[i] * multiplier; - } - - return normalizeddata; - } // treemapMultidimensional - takes multidimensional data (aka [[23,11],[11,32]] - nested array) - // and recursively calls itself using treemapSingledimensional - // to create a patchwork of treemaps and merge them - - - function treemapMultidimensional(data, width, height, xoffset, yoffset) { - xoffset = typeof xoffset === 'undefined' ? 0 : xoffset; - yoffset = typeof yoffset === 'undefined' ? 0 : yoffset; - var mergeddata = []; - var mergedtreemap; - var results = []; - var i; - - if (isArray(data[0])) { - // if we've got more dimensions of depth - for (i = 0; i < data.length; i++) { - mergeddata[i] = sumMultidimensionalArray(data[i]); - } - - mergedtreemap = treemapSingledimensional(mergeddata, width, height, xoffset, yoffset); - - for (i = 0; i < data.length; i++) { - results.push(treemapMultidimensional(data[i], mergedtreemap[i][2] - mergedtreemap[i][0], mergedtreemap[i][3] - mergedtreemap[i][1], mergedtreemap[i][0], mergedtreemap[i][1])); - } - } else { - results = treemapSingledimensional(data, width, height, xoffset, yoffset); - } - - return results; - } // treemapSingledimensional - simple wrapper around squarify - - - function treemapSingledimensional(data, width, height, xoffset, yoffset) { - xoffset = typeof xoffset === 'undefined' ? 0 : xoffset; - yoffset = typeof yoffset === 'undefined' ? 0 : yoffset; - var rawtreemap = squarify(normalize(data, width * height), [], new Container(xoffset, yoffset, width, height), []); - return flattenTreemap(rawtreemap); - } // flattenTreemap - squarify implementation returns an array of arrays of coordinates - // because we have a new array everytime we switch to building a new row - // this converts it into an array of coordinates. - - - function flattenTreemap(rawtreemap) { - var flattreemap = []; - var i, j; - - for (i = 0; i < rawtreemap.length; i++) { - for (j = 0; j < rawtreemap[i].length; j++) { - flattreemap.push(rawtreemap[i][j]); - } - } - - return flattreemap; - } // squarify - as per the Bruls paper - // plus coordinates stack and containers so we get - // usable data out of it - - - function squarify(data, currentrow, container, stack) { - var length; - var nextdatapoint; - var newcontainer; - - if (data.length === 0) { - stack.push(container.getCoordinates(currentrow)); - return; - } - - length = container.shortestEdge(); - nextdatapoint = data[0]; - - if (improvesRatio(currentrow, nextdatapoint, length)) { - currentrow.push(nextdatapoint); - squarify(data.slice(1), currentrow, container, stack); - } else { - newcontainer = container.cutArea(sumArray(currentrow), stack); - stack.push(container.getCoordinates(currentrow)); - squarify(data, [], newcontainer, stack); - } - - return stack; - } // improveRatio - implements the worse calculation and comparision as given in Bruls - // (note the error in the original paper; fixed here) - - - function improvesRatio(currentrow, nextnode, length) { - var newrow; - - if (currentrow.length === 0) { - return true; - } - - newrow = currentrow.slice(); - newrow.push(nextnode); - var currentratio = calculateRatio(currentrow, length); - var newratio = calculateRatio(newrow, length); // the pseudocode in the Bruls paper has the direction of the comparison - // wrong, this is the correct one. - - return currentratio >= newratio; - } // calculateRatio - calculates the maximum width to height ratio of the - // boxes in this row - - - function calculateRatio(row, length) { - var min = Math.min.apply(Math, row); - var max = Math.max.apply(Math, row); - var sum = sumArray(row); - return Math.max(Math.pow(length, 2) * max / Math.pow(sum, 2), Math.pow(sum, 2) / (Math.pow(length, 2) * min)); - } // isArray - checks if arr is an array - - - function isArray(arr) { - return arr && arr.constructor === Array; - } // sumArray - sums a single dimensional array - - - function sumArray(arr) { - var sum = 0; - var i; - - for (i = 0; i < arr.length; i++) { - sum += arr[i]; - } - - return sum; - } // sumMultidimensionalArray - sums the values in a nested array (aka [[0,1],[[2,3]]]) - - - function sumMultidimensionalArray(arr) { - var i, - total = 0; - - if (isArray(arr[0])) { - for (i = 0; i < arr.length; i++) { - total += sumMultidimensionalArray(arr[i]); - } - } else { - total = sumArray(arr); - } - - return total; - } - - return treemapMultidimensional; - }(); - })(); - - /** - * ApexCharts TreemapChart Class. - * @module TreemapChart - **/ - - var TreemapChart = /*#__PURE__*/function () { - function TreemapChart(ctx, xyRatios) { - _classCallCheck(this, TreemapChart); - - this.ctx = ctx; - this.w = ctx.w; - this.strokeWidth = this.w.config.stroke.width; - this.helpers = new TreemapHelpers(ctx); - this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation; - this.labels = []; - } - - _createClass(TreemapChart, [{ - key: "draw", - value: function draw(series) { - var _this = this; - - var w = this.w; - var graphics = new Graphics(this.ctx); - var fill = new Fill(this.ctx); - var ret = graphics.group({ - class: 'apexcharts-treemap' - }); - if (w.globals.noData) return ret; - var ser = []; - series.forEach(function (s) { - var d = s.map(function (v) { - return Math.abs(v); - }); - ser.push(d); - }); - this.negRange = this.helpers.checkColorRange(); - w.config.series.forEach(function (s, i) { - s.data.forEach(function (l) { - if (!Array.isArray(_this.labels[i])) _this.labels[i] = []; - - _this.labels[i].push(l.x); - }); - }); - var nodes = window.TreemapSquared.generate(ser, w.globals.gridWidth, w.globals.gridHeight); - nodes.forEach(function (node, i) { - var elSeries = graphics.group({ - class: "apexcharts-series apexcharts-treemap-series", - seriesName: Utils$1.escapeString(w.globals.seriesNames[i]), - rel: i + 1, - 'data:realIndex': i - }); - - if (w.config.chart.dropShadow.enabled) { - var shadow = w.config.chart.dropShadow; - var filters = new Filters(_this.ctx); - filters.dropShadow(ret, shadow, i); - } - - var elDataLabelWrap = graphics.group({ - class: 'apexcharts-data-labels' - }); - node.forEach(function (r, j) { - var x1 = r[0]; - var y1 = r[1]; - var x2 = r[2]; - var y2 = r[3]; - var elRect = graphics.drawRect(x1, y1, x2 - x1, y2 - y1, 0, '#fff', 1, _this.strokeWidth, w.config.plotOptions.treemap.useFillColorAsStroke ? color : w.globals.stroke.colors[i]); - elRect.attr({ - cx: x1, - cy: y1, - index: i, - i: i, - j: j, - width: x2 - x1, - height: y2 - y1 - }); - - var colorProps = _this.helpers.getShadeColor(w.config.chart.type, i, j, _this.negRange); - - var color = colorProps.color; - - if (typeof w.config.series[i].data[j] !== 'undefined' && w.config.series[i].data[j].fillColor) { - color = w.config.series[i].data[j].fillColor; - } - - var pathFill = fill.fillPath({ - color: color, - seriesNumber: i, - dataPointIndex: j - }); - elRect.node.classList.add('apexcharts-treemap-rect'); - elRect.attr({ - fill: pathFill - }); - - _this.helpers.addListeners(elRect); - - var fromRect = { - x: x1 + (x2 - x1) / 2, - y: y1 + (y2 - y1) / 2, - width: 0, - height: 0 - }; - var toRect = { - x: x1, - y: y1, - width: x2 - x1, - height: y2 - y1 - }; - - if (w.config.chart.animations.enabled && !w.globals.dataChanged) { - var speed = 1; - - if (!w.globals.resized) { - speed = w.config.chart.animations.speed; - } - - _this.animateTreemap(elRect, fromRect, toRect, speed); - } - - if (w.globals.dataChanged) { - var _speed = 1; - - if (_this.dynamicAnim.enabled && w.globals.shouldAnimate) { - _speed = _this.dynamicAnim.speed; - - if (w.globals.previousPaths[i] && w.globals.previousPaths[i][j] && w.globals.previousPaths[i][j].rect) { - fromRect = w.globals.previousPaths[i][j].rect; - } - - _this.animateTreemap(elRect, fromRect, toRect, _speed); - } - } - - var fontSize = _this.getFontSize(r); - - var formattedText = w.config.dataLabels.formatter(_this.labels[i][j], { - value: w.globals.series[i][j], - seriesIndex: i, - dataPointIndex: j, - w: w - }); - - var dataLabels = _this.helpers.calculateDataLabels({ - text: formattedText, - x: (x1 + x2) / 2, - y: (y1 + y2) / 2 + _this.strokeWidth / 2 + fontSize / 3, - i: i, - j: j, - colorProps: colorProps, - fontSize: fontSize, - series: series - }); - - if (w.config.dataLabels.enabled && dataLabels) { - _this.rotateToFitLabel(dataLabels, fontSize, formattedText, x1, y1, x2, y2); - } - - elSeries.add(elRect); - - if (dataLabels !== null) { - elSeries.add(dataLabels); - } - }); - elSeries.add(elDataLabelWrap); - ret.add(elSeries); - }); - return ret; - } // This calculates a font-size based upon - // average label length and the size of the box the label is - // going into. The maximum font size is set in chart config. - - }, { - key: "getFontSize", - value: function getFontSize(coordinates) { - var w = this.w; // total length of labels (i.e [["Italy"],["Spain", "Greece"]] -> 16) - - function totalLabelLength(arr) { - var i, - total = 0; - - if (Array.isArray(arr[0])) { - for (i = 0; i < arr.length; i++) { - total += totalLabelLength(arr[i]); - } - } else { - for (i = 0; i < arr.length; i++) { - total += arr[i].length; - } - } - - return total; - } // count of labels (i.e [["Italy"],["Spain", "Greece"]] -> 3) - - - function countLabels(arr) { - var i, - total = 0; - - if (Array.isArray(arr[0])) { - for (i = 0; i < arr.length; i++) { - total += countLabels(arr[i]); - } - } else { - for (i = 0; i < arr.length; i++) { - total += 1; - } - } - - return total; - } - - var averagelabelsize = totalLabelLength(this.labels) / countLabels(this.labels); - - function fontSize(width, height) { - // the font size should be proportional to the size of the box (and the value) - // otherwise you can end up creating a visual distortion where two boxes of identical - // size have different sized labels, and thus make it look as if the two boxes - // represent different sizes - var area = width * height; - var arearoot = Math.pow(area, 0.5); - return Math.min(arearoot / averagelabelsize, parseInt(w.config.dataLabels.style.fontSize, 10)); - } - - return fontSize(coordinates[2] - coordinates[0], coordinates[3] - coordinates[1]); - } - }, { - key: "rotateToFitLabel", - value: function rotateToFitLabel(elText, fontSize, text, x1, y1, x2, y2) { - var graphics = new Graphics(this.ctx); - var textRect = graphics.getTextRects(text, fontSize); //if the label fits better sideways then rotate it - - if (textRect.width + this.w.config.stroke.width + 5 > x2 - x1 && textRect.width <= y2 - y1) { - var labelRotatingCenter = graphics.rotateAroundCenter(elText.node); - elText.node.setAttribute('transform', "rotate(-90 ".concat(labelRotatingCenter.x, " ").concat(labelRotatingCenter.y, ")")); - } - } - }, { - key: "animateTreemap", - value: function animateTreemap(el, fromRect, toRect, speed) { - var animations = new Animations(this.ctx); - animations.animateRect(el, { - x: fromRect.x, - y: fromRect.y, - width: fromRect.width, - height: fromRect.height - }, { - x: toRect.x, - y: toRect.y, - width: toRect.width, - height: toRect.height - }, speed, function () { - animations.animationCompleted(el); - }); - } - }]); - - return TreemapChart; - }(); - - var MINUTES_IN_DAY = 24 * 60; - var SECONDS_IN_DAY = MINUTES_IN_DAY * 60; - var MIN_ZOOM_DAYS = 10 / SECONDS_IN_DAY; - /** - * ApexCharts TimeScale Class for generating time ticks for x-axis. - * - * @module TimeScale - **/ - - var TimeScale = /*#__PURE__*/function () { - function TimeScale(ctx) { - _classCallCheck(this, TimeScale); - - this.ctx = ctx; - this.w = ctx.w; - this.timeScaleArray = []; - this.utc = this.w.config.xaxis.labels.datetimeUTC; - } - - _createClass(TimeScale, [{ - key: "calculateTimeScaleTicks", - value: function calculateTimeScaleTicks(minX, maxX) { - var _this = this; - - var w = this.w; // null check when no series to show - - if (w.globals.allSeriesCollapsed) { - w.globals.labels = []; - w.globals.timescaleLabels = []; - return []; - } - - var dt = new DateTime(this.ctx); - var daysDiff = (maxX - minX) / (1000 * SECONDS_IN_DAY); - this.determineInterval(daysDiff); - w.globals.disableZoomIn = false; - w.globals.disableZoomOut = false; - - if (daysDiff < MIN_ZOOM_DAYS) { - w.globals.disableZoomIn = true; - } else if (daysDiff > 50000) { - w.globals.disableZoomOut = true; - } - - var timeIntervals = dt.getTimeUnitsfromTimestamp(minX, maxX, this.utc); - var daysWidthOnXAxis = w.globals.gridWidth / daysDiff; - var hoursWidthOnXAxis = daysWidthOnXAxis / 24; - var minutesWidthOnXAxis = hoursWidthOnXAxis / 60; - var secondsWidthOnXAxis = minutesWidthOnXAxis / 60; - var numberOfHours = Math.floor(daysDiff * 24); - var numberOfMinutes = Math.floor(daysDiff * MINUTES_IN_DAY); - var numberOfSeconds = Math.floor(daysDiff * SECONDS_IN_DAY); - var numberOfDays = Math.floor(daysDiff); - var numberOfMonths = Math.floor(daysDiff / 30); - var numberOfYears = Math.floor(daysDiff / 365); - var firstVal = { - minMillisecond: timeIntervals.minMillisecond, - minSecond: timeIntervals.minSecond, - minMinute: timeIntervals.minMinute, - minHour: timeIntervals.minHour, - minDate: timeIntervals.minDate, - minMonth: timeIntervals.minMonth, - minYear: timeIntervals.minYear - }; - var currentMillisecond = firstVal.minMillisecond; - var currentSecond = firstVal.minSecond; - var currentMinute = firstVal.minMinute; - var currentHour = firstVal.minHour; - var currentMonthDate = firstVal.minDate; - var currentDate = firstVal.minDate; - var currentMonth = firstVal.minMonth; - var currentYear = firstVal.minYear; - var params = { - firstVal: firstVal, - currentMillisecond: currentMillisecond, - currentSecond: currentSecond, - currentMinute: currentMinute, - currentHour: currentHour, - currentMonthDate: currentMonthDate, - currentDate: currentDate, - currentMonth: currentMonth, - currentYear: currentYear, - daysWidthOnXAxis: daysWidthOnXAxis, - hoursWidthOnXAxis: hoursWidthOnXAxis, - minutesWidthOnXAxis: minutesWidthOnXAxis, - secondsWidthOnXAxis: secondsWidthOnXAxis, - numberOfSeconds: numberOfSeconds, - numberOfMinutes: numberOfMinutes, - numberOfHours: numberOfHours, - numberOfDays: numberOfDays, - numberOfMonths: numberOfMonths, - numberOfYears: numberOfYears - }; - - switch (this.tickInterval) { - case 'years': - { - this.generateYearScale(params); - break; - } - - case 'months': - case 'half_year': - { - this.generateMonthScale(params); - break; - } - - case 'months_days': - case 'months_fortnight': - case 'days': - case 'week_days': - { - this.generateDayScale(params); - break; - } - - case 'hours': - { - this.generateHourScale(params); - break; - } - - case 'minutes_fives': - case 'minutes': - this.generateMinuteScale(params); - break; - - case 'seconds_tens': - case 'seconds_fives': - case 'seconds': - this.generateSecondScale(params); - break; - } // first, we will adjust the month values index - // as in the upper function, it is starting from 0 - // we will start them from 1 - - - var adjustedMonthInTimeScaleArray = this.timeScaleArray.map(function (ts) { - var defaultReturn = { - position: ts.position, - unit: ts.unit, - year: ts.year, - day: ts.day ? ts.day : 1, - hour: ts.hour ? ts.hour : 0, - month: ts.month + 1 - }; - - if (ts.unit === 'month') { - return _objectSpread2(_objectSpread2({}, defaultReturn), {}, { - day: 1, - value: ts.value + 1 - }); - } else if (ts.unit === 'day' || ts.unit === 'hour') { - return _objectSpread2(_objectSpread2({}, defaultReturn), {}, { - value: ts.value - }); - } else if (ts.unit === 'minute') { - return _objectSpread2(_objectSpread2({}, defaultReturn), {}, { - value: ts.value, - minute: ts.value - }); - } else if (ts.unit === 'second') { - return _objectSpread2(_objectSpread2({}, defaultReturn), {}, { - value: ts.value, - minute: ts.minute, - second: ts.second - }); - } - - return ts; - }); - var filteredTimeScale = adjustedMonthInTimeScaleArray.filter(function (ts) { - var modulo = 1; - var ticks = Math.ceil(w.globals.gridWidth / 120); - var value = ts.value; - - if (w.config.xaxis.tickAmount !== undefined) { - ticks = w.config.xaxis.tickAmount; - } - - if (adjustedMonthInTimeScaleArray.length > ticks) { - modulo = Math.floor(adjustedMonthInTimeScaleArray.length / ticks); - } - - var shouldNotSkipUnit = false; // there is a big change in unit i.e days to months - - var shouldNotPrint = false; // should skip these values - - switch (_this.tickInterval) { - case 'years': - // make years label denser - if (ts.unit === 'year') { - shouldNotSkipUnit = true; - } - - break; - - case 'half_year': - modulo = 7; - - if (ts.unit === 'year') { - shouldNotSkipUnit = true; - } - - break; - - case 'months': - modulo = 1; - - if (ts.unit === 'year') { - shouldNotSkipUnit = true; - } - - break; - - case 'months_fortnight': - modulo = 15; - - if (ts.unit === 'year' || ts.unit === 'month') { - shouldNotSkipUnit = true; - } - - if (value === 30) { - shouldNotPrint = true; - } - - break; - - case 'months_days': - modulo = 10; - - if (ts.unit === 'month') { - shouldNotSkipUnit = true; - } - - if (value === 30) { - shouldNotPrint = true; - } - - break; - - case 'week_days': - modulo = 8; - - if (ts.unit === 'month') { - shouldNotSkipUnit = true; - } - - break; - - case 'days': - modulo = 1; - - if (ts.unit === 'month') { - shouldNotSkipUnit = true; - } - - break; - - case 'hours': - if (ts.unit === 'day') { - shouldNotSkipUnit = true; - } - - break; - - case 'minutes_fives': - if (value % 5 !== 0) { - shouldNotPrint = true; - } - - break; - - case 'seconds_tens': - if (value % 10 !== 0) { - shouldNotPrint = true; - } - - break; - - case 'seconds_fives': - if (value % 5 !== 0) { - shouldNotPrint = true; - } - - break; - } - - if (_this.tickInterval === 'hours' || _this.tickInterval === 'minutes_fives' || _this.tickInterval === 'seconds_tens' || _this.tickInterval === 'seconds_fives') { - if (!shouldNotPrint) { - return true; - } - } else { - if ((value % modulo === 0 || shouldNotSkipUnit) && !shouldNotPrint) { - return true; - } - } - }); - return filteredTimeScale; - } - }, { - key: "recalcDimensionsBasedOnFormat", - value: function recalcDimensionsBasedOnFormat(filteredTimeScale, inverted) { - var w = this.w; - var reformattedTimescaleArray = this.formatDates(filteredTimeScale); - var removedOverlappingTS = this.removeOverlappingTS(reformattedTimescaleArray); - w.globals.timescaleLabels = removedOverlappingTS.slice(); // at this stage, we need to re-calculate coords of the grid as timeline labels may have altered the xaxis labels coords - // The reason we can't do this prior to this stage is because timeline labels depends on gridWidth, and as the ticks are calculated based on available gridWidth, there can be unknown number of ticks generated for different minX and maxX - // Dependency on Dimensions(), need to refactor correctly - // TODO - find an alternate way to avoid calling this Heavy method twice - - var dimensions = new Dimensions(this.ctx); - dimensions.plotCoords(); - } - }, { - key: "determineInterval", - value: function determineInterval(daysDiff) { - var yearsDiff = daysDiff / 365; - var hoursDiff = daysDiff * 24; - var minutesDiff = hoursDiff * 60; - var secondsDiff = minutesDiff * 60; - - switch (true) { - case yearsDiff > 5: - this.tickInterval = 'years'; - break; - - case daysDiff > 800: - this.tickInterval = 'half_year'; - break; - - case daysDiff > 180: - this.tickInterval = 'months'; - break; - - case daysDiff > 90: - this.tickInterval = 'months_fortnight'; - break; - - case daysDiff > 60: - this.tickInterval = 'months_days'; - break; - - case daysDiff > 30: - this.tickInterval = 'week_days'; - break; - - case daysDiff > 2: - this.tickInterval = 'days'; - break; - - case hoursDiff > 2.4: - this.tickInterval = 'hours'; - break; - - case minutesDiff > 15: - this.tickInterval = 'minutes_fives'; - break; - - case minutesDiff > 5: - this.tickInterval = 'minutes'; - break; - - case minutesDiff > 1: - this.tickInterval = 'seconds_tens'; - break; - - case secondsDiff > 20: - this.tickInterval = 'seconds_fives'; - break; - - default: - this.tickInterval = 'seconds'; - break; - } - } - }, { - key: "generateYearScale", - value: function generateYearScale(_ref) { - var firstVal = _ref.firstVal, - currentMonth = _ref.currentMonth, - currentYear = _ref.currentYear, - daysWidthOnXAxis = _ref.daysWidthOnXAxis, - numberOfYears = _ref.numberOfYears; - var firstTickValue = firstVal.minYear; - var firstTickPosition = 0; - var dt = new DateTime(this.ctx); - var unit = 'year'; - - if (firstVal.minDate > 1 || firstVal.minMonth > 0) { - var remainingDays = dt.determineRemainingDaysOfYear(firstVal.minYear, firstVal.minMonth, firstVal.minDate); // remainingDaysofFirstMonth is used to reacht the 2nd tick position - - var remainingDaysOfFirstYear = dt.determineDaysOfYear(firstVal.minYear) - remainingDays + 1; // calculate the first tick position - - firstTickPosition = remainingDaysOfFirstYear * daysWidthOnXAxis; - firstTickValue = firstVal.minYear + 1; // push the first tick in the array - - this.timeScaleArray.push({ - position: firstTickPosition, - value: firstTickValue, - unit: unit, - year: firstTickValue, - month: Utils$1.monthMod(currentMonth + 1) - }); - } else if (firstVal.minDate === 1 && firstVal.minMonth === 0) { - // push the first tick in the array - this.timeScaleArray.push({ - position: firstTickPosition, - value: firstTickValue, - unit: unit, - year: currentYear, - month: Utils$1.monthMod(currentMonth + 1) - }); - } - - var year = firstTickValue; - var pos = firstTickPosition; // keep drawing rest of the ticks - - for (var i = 0; i < numberOfYears; i++) { - year++; - pos = dt.determineDaysOfYear(year - 1) * daysWidthOnXAxis + pos; - this.timeScaleArray.push({ - position: pos, - value: year, - unit: unit, - year: year, - month: 1 - }); - } - } - }, { - key: "generateMonthScale", - value: function generateMonthScale(_ref2) { - var firstVal = _ref2.firstVal, - currentMonthDate = _ref2.currentMonthDate, - currentMonth = _ref2.currentMonth, - currentYear = _ref2.currentYear, - daysWidthOnXAxis = _ref2.daysWidthOnXAxis, - numberOfMonths = _ref2.numberOfMonths; - var firstTickValue = currentMonth; - var firstTickPosition = 0; - var dt = new DateTime(this.ctx); - var unit = 'month'; - var yrCounter = 0; - - if (firstVal.minDate > 1) { - // remainingDaysofFirstMonth is used to reacht the 2nd tick position - var remainingDaysOfFirstMonth = dt.determineDaysOfMonths(currentMonth + 1, firstVal.minYear) - currentMonthDate + 1; // calculate the first tick position - - firstTickPosition = remainingDaysOfFirstMonth * daysWidthOnXAxis; - firstTickValue = Utils$1.monthMod(currentMonth + 1); - var year = currentYear + yrCounter; - - var _month = Utils$1.monthMod(firstTickValue); - - var value = firstTickValue; // it's Jan, so update the year - - if (firstTickValue === 0) { - unit = 'year'; - value = year; - _month = 1; - yrCounter += 1; - year = year + yrCounter; - } // push the first tick in the array - - - this.timeScaleArray.push({ - position: firstTickPosition, - value: value, - unit: unit, - year: year, - month: _month - }); - } else { - // push the first tick in the array - this.timeScaleArray.push({ - position: firstTickPosition, - value: firstTickValue, - unit: unit, - year: currentYear, - month: Utils$1.monthMod(currentMonth) - }); - } - - var month = firstTickValue + 1; - var pos = firstTickPosition; // keep drawing rest of the ticks - - for (var i = 0, j = 1; i < numberOfMonths; i++, j++) { - month = Utils$1.monthMod(month); - - if (month === 0) { - unit = 'year'; - yrCounter += 1; - } else { - unit = 'month'; - } - - var _year = this._getYear(currentYear, month, yrCounter); - - pos = dt.determineDaysOfMonths(month, _year) * daysWidthOnXAxis + pos; - var monthVal = month === 0 ? _year : month; - this.timeScaleArray.push({ - position: pos, - value: monthVal, - unit: unit, - year: _year, - month: month === 0 ? 1 : month - }); - month++; - } - } - }, { - key: "generateDayScale", - value: function generateDayScale(_ref3) { - var firstVal = _ref3.firstVal, - currentMonth = _ref3.currentMonth, - currentYear = _ref3.currentYear, - hoursWidthOnXAxis = _ref3.hoursWidthOnXAxis, - numberOfDays = _ref3.numberOfDays; - var dt = new DateTime(this.ctx); - var unit = 'day'; - var firstTickValue = firstVal.minDate + 1; - var date = firstTickValue; - - var changeMonth = function changeMonth(dateVal, month, year) { - var monthdays = dt.determineDaysOfMonths(month + 1, year); - - if (dateVal > monthdays) { - month = month + 1; - date = 1; - unit = 'month'; - val = month; - return month; - } - - return month; - }; - - var remainingHours = 24 - firstVal.minHour; - var yrCounter = 0; // calculate the first tick position - - var firstTickPosition = remainingHours * hoursWidthOnXAxis; - var val = firstTickValue; - var month = changeMonth(date, currentMonth, currentYear); - - if (firstVal.minHour === 0 && firstVal.minDate === 1) { - // the first value is the first day of month - firstTickPosition = 0; - val = Utils$1.monthMod(firstVal.minMonth); - unit = 'month'; - date = firstVal.minDate; - numberOfDays++; - } else if (firstVal.minDate !== 1 && firstVal.minHour === 0 && firstVal.minMinute === 0) { - // fixes apexcharts/apexcharts.js/issues/1730 - firstTickPosition = 0; - firstTickValue = firstVal.minDate; - date = firstTickValue; - val = firstTickValue; // in case it's the last date of month, we need to check it - - month = changeMonth(date, currentMonth, currentYear); - } // push the first tick in the array - - - this.timeScaleArray.push({ - position: firstTickPosition, - value: val, - unit: unit, - year: this._getYear(currentYear, month, yrCounter), - month: Utils$1.monthMod(month), - day: date - }); - var pos = firstTickPosition; // keep drawing rest of the ticks - - for (var i = 0; i < numberOfDays; i++) { - date += 1; - unit = 'day'; - month = changeMonth(date, month, this._getYear(currentYear, month, yrCounter)); - - var year = this._getYear(currentYear, month, yrCounter); - - pos = 24 * hoursWidthOnXAxis + pos; - var value = date === 1 ? Utils$1.monthMod(month) : date; - this.timeScaleArray.push({ - position: pos, - value: value, - unit: unit, - year: year, - month: Utils$1.monthMod(month), - day: value - }); - } - } - }, { - key: "generateHourScale", - value: function generateHourScale(_ref4) { - var firstVal = _ref4.firstVal, - currentDate = _ref4.currentDate, - currentMonth = _ref4.currentMonth, - currentYear = _ref4.currentYear, - minutesWidthOnXAxis = _ref4.minutesWidthOnXAxis, - numberOfHours = _ref4.numberOfHours; - var dt = new DateTime(this.ctx); - var yrCounter = 0; - var unit = 'hour'; - - var changeDate = function changeDate(dateVal, month) { - var monthdays = dt.determineDaysOfMonths(month + 1, currentYear); - - if (dateVal > monthdays) { - date = 1; - month = month + 1; - } - - return { - month: month, - date: date - }; - }; - - var changeMonth = function changeMonth(dateVal, month) { - var monthdays = dt.determineDaysOfMonths(month + 1, currentYear); - - if (dateVal > monthdays) { - month = month + 1; - return month; - } - - return month; - }; // factor in minSeconds as well - - - var remainingMins = 60 - (firstVal.minMinute + firstVal.minSecond / 60.0); - var firstTickPosition = remainingMins * minutesWidthOnXAxis; - var firstTickValue = firstVal.minHour + 1; - var hour = firstTickValue + 1; - - if (remainingMins === 60) { - firstTickPosition = 0; - firstTickValue = firstVal.minHour; - hour = firstTickValue + 1; - } - - var date = currentDate; - var month = changeMonth(date, currentMonth); // push the first tick in the array - - this.timeScaleArray.push({ - position: firstTickPosition, - value: firstTickValue, - unit: unit, - day: date, - hour: hour, - year: currentYear, - month: Utils$1.monthMod(month) - }); - var pos = firstTickPosition; // keep drawing rest of the ticks - - for (var i = 0; i < numberOfHours; i++) { - unit = 'hour'; - - if (hour >= 24) { - hour = 0; - date += 1; - unit = 'day'; - var checkNextMonth = changeDate(date, month); - month = checkNextMonth.month; - month = changeMonth(date, month); - } - - var year = this._getYear(currentYear, month, yrCounter); - - pos = hour === 0 && i === 0 ? remainingMins * minutesWidthOnXAxis : 60 * minutesWidthOnXAxis + pos; - var val = hour === 0 ? date : hour; - this.timeScaleArray.push({ - position: pos, - value: val, - unit: unit, - hour: hour, - day: date, - year: year, - month: Utils$1.monthMod(month) - }); - hour++; - } - } - }, { - key: "generateMinuteScale", - value: function generateMinuteScale(_ref5) { - var currentMillisecond = _ref5.currentMillisecond, - currentSecond = _ref5.currentSecond, - currentMinute = _ref5.currentMinute, - currentHour = _ref5.currentHour, - currentDate = _ref5.currentDate, - currentMonth = _ref5.currentMonth, - currentYear = _ref5.currentYear, - minutesWidthOnXAxis = _ref5.minutesWidthOnXAxis, - secondsWidthOnXAxis = _ref5.secondsWidthOnXAxis, - numberOfMinutes = _ref5.numberOfMinutes; - var yrCounter = 0; - var unit = 'minute'; - var remainingSecs = 60 - currentSecond; - var firstTickPosition = (remainingSecs - currentMillisecond / 1000) * secondsWidthOnXAxis; - var minute = currentMinute + 1; - var date = currentDate; - var month = currentMonth; - var year = currentYear; - var hour = currentHour; - var pos = firstTickPosition; - - for (var i = 0; i < numberOfMinutes; i++) { - if (minute >= 60) { - minute = 0; - hour += 1; - - if (hour === 24) { - hour = 0; - } - } - - this.timeScaleArray.push({ - position: pos, - value: minute, - unit: unit, - hour: hour, - minute: minute, - day: date, - year: this._getYear(year, month, yrCounter), - month: Utils$1.monthMod(month) - }); - pos += minutesWidthOnXAxis; - minute++; - } - } - }, { - key: "generateSecondScale", - value: function generateSecondScale(_ref6) { - var currentMillisecond = _ref6.currentMillisecond, - currentSecond = _ref6.currentSecond, - currentMinute = _ref6.currentMinute, - currentHour = _ref6.currentHour, - currentDate = _ref6.currentDate, - currentMonth = _ref6.currentMonth, - currentYear = _ref6.currentYear, - secondsWidthOnXAxis = _ref6.secondsWidthOnXAxis, - numberOfSeconds = _ref6.numberOfSeconds; - var yrCounter = 0; - var unit = 'second'; - var remainingMillisecs = 1000 - currentMillisecond; - var firstTickPosition = remainingMillisecs / 1000 * secondsWidthOnXAxis; - var second = currentSecond + 1; - var minute = currentMinute; - var date = currentDate; - var month = currentMonth; - var year = currentYear; - var hour = currentHour; - var pos = firstTickPosition; - - for (var i = 0; i < numberOfSeconds; i++) { - if (second >= 60) { - minute++; - second = 0; - - if (minute >= 60) { - hour++; - minute = 0; - - if (hour === 24) { - hour = 0; - } - } - } - - this.timeScaleArray.push({ - position: pos, - value: second, - unit: unit, - hour: hour, - minute: minute, - second: second, - day: date, - year: this._getYear(year, month, yrCounter), - month: Utils$1.monthMod(month) - }); - pos += secondsWidthOnXAxis; - second++; - } - } - }, { - key: "createRawDateString", - value: function createRawDateString(ts, value) { - var raw = ts.year; - - if (ts.month === 0) { - // invalid month, correct it - ts.month = 1; - } - - raw += '-' + ('0' + ts.month.toString()).slice(-2); // unit is day - - if (ts.unit === 'day') { - raw += ts.unit === 'day' ? '-' + ('0' + value).slice(-2) : '-01'; - } else { - raw += '-' + ('0' + (ts.day ? ts.day : '1')).slice(-2); - } // unit is hour - - - if (ts.unit === 'hour') { - raw += ts.unit === 'hour' ? 'T' + ('0' + value).slice(-2) : 'T00'; - } else { - raw += 'T' + ('0' + (ts.hour ? ts.hour : '0')).slice(-2); - } - - if (ts.unit === 'minute') { - raw += ':' + ('0' + value).slice(-2); - } else { - raw += ':' + (ts.minute ? ('0' + ts.minute).slice(-2) : '00'); - } - - if (ts.unit === 'second') { - raw += ':' + ('0' + value).slice(-2); - } else { - raw += ':00'; - } - - if (this.utc) { - raw += '.000Z'; - } - - return raw; - } - }, { - key: "formatDates", - value: function formatDates(filteredTimeScale) { - var _this2 = this; - - var w = this.w; - var reformattedTimescaleArray = filteredTimeScale.map(function (ts) { - var value = ts.value.toString(); - var dt = new DateTime(_this2.ctx); - - var raw = _this2.createRawDateString(ts, value); - - var dateToFormat = dt.getDate(dt.parseDate(raw)); - - if (!_this2.utc) { - // Fixes #1726, #1544, #1485, #1255 - dateToFormat = dt.getDate(dt.parseDateWithTimezone(raw)); - } - - if (w.config.xaxis.labels.format === undefined) { - var customFormat = 'dd MMM'; - var dtFormatter = w.config.xaxis.labels.datetimeFormatter; - if (ts.unit === 'year') customFormat = dtFormatter.year; - if (ts.unit === 'month') customFormat = dtFormatter.month; - if (ts.unit === 'day') customFormat = dtFormatter.day; - if (ts.unit === 'hour') customFormat = dtFormatter.hour; - if (ts.unit === 'minute') customFormat = dtFormatter.minute; - if (ts.unit === 'second') customFormat = dtFormatter.second; - value = dt.formatDate(dateToFormat, customFormat); - } else { - value = dt.formatDate(dateToFormat, w.config.xaxis.labels.format); - } - - return { - dateString: raw, - position: ts.position, - value: value, - unit: ts.unit, - year: ts.year, - month: ts.month - }; - }); - return reformattedTimescaleArray; - } - }, { - key: "removeOverlappingTS", - value: function removeOverlappingTS(arr) { - var _this3 = this; - - var graphics = new Graphics(this.ctx); - var equalLabelLengthFlag = false; // These labels got same length? - - var constantLabelWidth; // If true, what is the constant length to use - - if (arr.length > 0 && // check arr length - arr[0].value && // check arr[0] contains value - arr.every(function (lb) { - return lb.value.length === arr[0].value.length; - }) // check every arr label value is the same as the first one - ) { - equalLabelLengthFlag = true; // These labels got same length - - constantLabelWidth = graphics.getTextRects(arr[0].value).width; // The constant label width to use - } - - var lastDrawnIndex = 0; - var filteredArray = arr.map(function (item, index) { - if (index > 0 && _this3.w.config.xaxis.labels.hideOverlappingLabels) { - var prevLabelWidth = !equalLabelLengthFlag // if vary in label length - ? graphics.getTextRects(arr[lastDrawnIndex].value).width // get individual length - : constantLabelWidth; // else: use constant length - - var prevPos = arr[lastDrawnIndex].position; - var pos = item.position; - - if (pos > prevPos + prevLabelWidth + 10) { - lastDrawnIndex = index; - return item; - } else { - return null; - } - } else { - return item; - } - }); - filteredArray = filteredArray.filter(function (f) { - return f !== null; - }); - return filteredArray; - } - }, { - key: "_getYear", - value: function _getYear(currentYear, month, yrCounter) { - return currentYear + Math.floor(month / 12) + yrCounter; - } - }]); - - return TimeScale; - }(); - - /** - * ApexCharts Core Class responsible for major calculations and creating elements. - * - * @module Core - **/ - - var Core = /*#__PURE__*/function () { - function Core(el, ctx) { - _classCallCheck(this, Core); - - this.ctx = ctx; - this.w = ctx.w; - this.el = el; - } // get data and store into appropriate vars - - - _createClass(Core, [{ - key: "setupElements", - value: function setupElements() { - var gl = this.w.globals; - var cnf = this.w.config; // const graphics = new Graphics(this.ctx) - - var ct = cnf.chart.type; - var axisChartsArrTypes = ['line', 'area', 'bar', 'rangeBar', 'candlestick', 'boxPlot', 'scatter', 'bubble', 'radar', 'heatmap', 'treemap']; - var xyChartsArrTypes = ['line', 'area', 'bar', 'rangeBar', 'candlestick', 'boxPlot', 'scatter', 'bubble']; - gl.axisCharts = axisChartsArrTypes.indexOf(ct) > -1; - gl.xyCharts = xyChartsArrTypes.indexOf(ct) > -1; - gl.isBarHorizontal = (cnf.chart.type === 'bar' || cnf.chart.type === 'rangeBar' || cnf.chart.type === 'boxPlot') && cnf.plotOptions.bar.horizontal; - gl.chartClass = '.apexcharts' + gl.chartID; - gl.dom.baseEl = this.el; - gl.dom.elWrap = document.createElement('div'); - Graphics.setAttrs(gl.dom.elWrap, { - id: gl.chartClass.substring(1), - class: 'apexcharts-canvas ' + gl.chartClass.substring(1) - }); - this.el.appendChild(gl.dom.elWrap); - gl.dom.Paper = new window.SVG.Doc(gl.dom.elWrap); - gl.dom.Paper.attr({ - class: 'apexcharts-svg', - 'xmlns:data': 'ApexChartsNS', - transform: "translate(".concat(cnf.chart.offsetX, ", ").concat(cnf.chart.offsetY, ")") - }); - gl.dom.Paper.node.style.background = cnf.chart.background; - this.setSVGDimensions(); - gl.dom.elGraphical = gl.dom.Paper.group().attr({ - class: 'apexcharts-inner apexcharts-graphical' - }); - gl.dom.elAnnotations = gl.dom.Paper.group().attr({ - class: 'apexcharts-annotations' - }); - gl.dom.elDefs = gl.dom.Paper.defs(); - gl.dom.elLegendWrap = document.createElement('div'); - gl.dom.elLegendWrap.classList.add('apexcharts-legend'); - gl.dom.elWrap.appendChild(gl.dom.elLegendWrap); - gl.dom.Paper.add(gl.dom.elGraphical); - gl.dom.elGraphical.add(gl.dom.elDefs); - } - }, { - key: "plotChartType", - value: function plotChartType(ser, xyRatios) { - var w = this.w; - var cnf = w.config; - var gl = w.globals; - var lineSeries = { - series: [], - i: [] - }; - var areaSeries = { - series: [], - i: [] - }; - var scatterSeries = { - series: [], - i: [] - }; - var bubbleSeries = { - series: [], - i: [] - }; - var columnSeries = { - series: [], - i: [] - }; - var candlestickSeries = { - series: [], - i: [] - }; - var boxplotSeries = { - series: [], - i: [] - }; - gl.series.map(function (series, st) { - var comboCount = 0; // if user has specified a particular type for particular series - - if (typeof ser[st].type !== 'undefined') { - if (ser[st].type === 'column' || ser[st].type === 'bar') { - if (gl.series.length > 1 && cnf.plotOptions.bar.horizontal) { - // horizontal bars not supported in mixed charts, hence show a warning - console.warn('Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`'); - } - - columnSeries.series.push(series); - columnSeries.i.push(st); - comboCount++; - w.globals.columnSeries = columnSeries.series; - } else if (ser[st].type === 'area') { - areaSeries.series.push(series); - areaSeries.i.push(st); - comboCount++; - } else if (ser[st].type === 'line') { - lineSeries.series.push(series); - lineSeries.i.push(st); - comboCount++; - } else if (ser[st].type === 'scatter') { - scatterSeries.series.push(series); - scatterSeries.i.push(st); - } else if (ser[st].type === 'bubble') { - bubbleSeries.series.push(series); - bubbleSeries.i.push(st); - comboCount++; - } else if (ser[st].type === 'candlestick') { - candlestickSeries.series.push(series); - candlestickSeries.i.push(st); - comboCount++; - } else if (ser[st].type === 'boxPlot') { - boxplotSeries.series.push(series); - boxplotSeries.i.push(st); - comboCount++; - } else { - // user has specified type, but it is not valid (other than line/area/column) - console.warn('You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble'); - } - - if (comboCount > 1) { - gl.comboCharts = true; - } - } else { - lineSeries.series.push(series); - lineSeries.i.push(st); - } - }); - var line = new Line(this.ctx, xyRatios); - var boxCandlestick = new BoxCandleStick(this.ctx, xyRatios); - this.ctx.pie = new Pie(this.ctx); - var radialBar = new Radial(this.ctx); - this.ctx.rangeBar = new RangeBar(this.ctx, xyRatios); - var radar = new Radar(this.ctx); - var elGraph = []; - - if (gl.comboCharts) { - if (areaSeries.series.length > 0) { - elGraph.push(line.draw(areaSeries.series, 'area', areaSeries.i)); - } - - if (columnSeries.series.length > 0) { - if (w.config.chart.stacked) { - var barStacked = new BarStacked(this.ctx, xyRatios); - elGraph.push(barStacked.draw(columnSeries.series, columnSeries.i)); - } else { - this.ctx.bar = new Bar(this.ctx, xyRatios); - elGraph.push(this.ctx.bar.draw(columnSeries.series, columnSeries.i)); - } - } - - if (lineSeries.series.length > 0) { - elGraph.push(line.draw(lineSeries.series, 'line', lineSeries.i)); - } - - if (candlestickSeries.series.length > 0) { - elGraph.push(boxCandlestick.draw(candlestickSeries.series, candlestickSeries.i)); - } - - if (boxplotSeries.series.length > 0) { - elGraph.push(boxCandlestick.draw(boxplotSeries.series, boxplotSeries.i)); - } - - if (scatterSeries.series.length > 0) { - var scatterLine = new Line(this.ctx, xyRatios, true); - elGraph.push(scatterLine.draw(scatterSeries.series, 'scatter', scatterSeries.i)); - } - - if (bubbleSeries.series.length > 0) { - var bubbleLine = new Line(this.ctx, xyRatios, true); - elGraph.push(bubbleLine.draw(bubbleSeries.series, 'bubble', bubbleSeries.i)); - } - } else { - switch (cnf.chart.type) { - case 'line': - elGraph = line.draw(gl.series, 'line'); - break; - - case 'area': - elGraph = line.draw(gl.series, 'area'); - break; - - case 'bar': - if (cnf.chart.stacked) { - var _barStacked = new BarStacked(this.ctx, xyRatios); - - elGraph = _barStacked.draw(gl.series); - } else { - this.ctx.bar = new Bar(this.ctx, xyRatios); - elGraph = this.ctx.bar.draw(gl.series); - } - - break; - - case 'candlestick': - var candleStick = new BoxCandleStick(this.ctx, xyRatios); - elGraph = candleStick.draw(gl.series); - break; - - case 'boxPlot': - var boxPlot = new BoxCandleStick(this.ctx, xyRatios); - elGraph = boxPlot.draw(gl.series); - break; - - case 'rangeBar': - elGraph = this.ctx.rangeBar.draw(gl.series); - break; - - case 'heatmap': - var heatmap = new HeatMap(this.ctx, xyRatios); - elGraph = heatmap.draw(gl.series); - break; - - case 'treemap': - var treemap = new TreemapChart(this.ctx, xyRatios); - elGraph = treemap.draw(gl.series); - break; - - case 'pie': - case 'donut': - case 'polarArea': - elGraph = this.ctx.pie.draw(gl.series); - break; - - case 'radialBar': - elGraph = radialBar.draw(gl.series); - break; - - case 'radar': - elGraph = radar.draw(gl.series); - break; - - default: - elGraph = line.draw(gl.series); - } - } - - return elGraph; - } - }, { - key: "setSVGDimensions", - value: function setSVGDimensions() { - var gl = this.w.globals; - var cnf = this.w.config; - gl.svgWidth = cnf.chart.width; - gl.svgHeight = cnf.chart.height; - var elDim = Utils$1.getDimensions(this.el); - var widthUnit = cnf.chart.width.toString().split(/[0-9]+/g).pop(); - - if (widthUnit === '%') { - if (Utils$1.isNumber(elDim[0])) { - if (elDim[0].width === 0) { - elDim = Utils$1.getDimensions(this.el.parentNode); - } - - gl.svgWidth = elDim[0] * parseInt(cnf.chart.width, 10) / 100; - } - } else if (widthUnit === 'px' || widthUnit === '') { - gl.svgWidth = parseInt(cnf.chart.width, 10); - } - - var heightUnit = cnf.chart.height.toString().split(/[0-9]+/g).pop(); - - if (gl.svgHeight !== 'auto' && gl.svgHeight !== '') { - if (heightUnit === '%') { - var elParentDim = Utils$1.getDimensions(this.el.parentNode); - gl.svgHeight = elParentDim[1] * parseInt(cnf.chart.height, 10) / 100; - } else { - gl.svgHeight = parseInt(cnf.chart.height, 10); - } - } else { - if (gl.axisCharts) { - gl.svgHeight = gl.svgWidth / 1.61; - } else { - gl.svgHeight = gl.svgWidth / 1.2; - } - } - - if (gl.svgWidth < 0) gl.svgWidth = 0; - if (gl.svgHeight < 0) gl.svgHeight = 0; - Graphics.setAttrs(gl.dom.Paper.node, { - width: gl.svgWidth, - height: gl.svgHeight - }); - - if (heightUnit !== '%') { - // fixes https://github.com/apexcharts/apexcharts.js/issues/2059 - var offsetY = cnf.chart.sparkline.enabled ? 0 : gl.axisCharts ? cnf.chart.parentHeightOffset : 0; - gl.dom.Paper.node.parentNode.parentNode.style.minHeight = gl.svgHeight + offsetY + 'px'; - } - - gl.dom.elWrap.style.width = gl.svgWidth + 'px'; - gl.dom.elWrap.style.height = gl.svgHeight + 'px'; - } - }, { - key: "shiftGraphPosition", - value: function shiftGraphPosition() { - var gl = this.w.globals; - var tY = gl.translateY; - var tX = gl.translateX; - var scalingAttrs = { - transform: 'translate(' + tX + ', ' + tY + ')' - }; - Graphics.setAttrs(gl.dom.elGraphical.node, scalingAttrs); - } // To prevent extra spacings in the bottom of the chart, we need to recalculate the height for pie/donut/radialbar charts - - }, { - key: "resizeNonAxisCharts", - value: function resizeNonAxisCharts() { - var w = this.w; - var gl = w.globals; - var legendHeight = 0; - var offY = w.config.chart.sparkline.enabled ? 1 : 15; - offY = offY + w.config.grid.padding.bottom; - - if ((w.config.legend.position === 'top' || w.config.legend.position === 'bottom') && w.config.legend.show && !w.config.legend.floating) { - legendHeight = new Legend(this.ctx).legendHelpers.getLegendBBox().clwh + 10; - } - - var el = w.globals.dom.baseEl.querySelector('.apexcharts-radialbar, .apexcharts-pie'); - var chartInnerDimensions = w.globals.radialSize * 2.05; - - if (el && !w.config.chart.sparkline.enabled && w.config.plotOptions.radialBar.startAngle !== 0) { - var elRadialRect = Utils$1.getBoundingClientRect(el); - chartInnerDimensions = elRadialRect.bottom; - var maxHeight = elRadialRect.bottom - elRadialRect.top; - chartInnerDimensions = Math.max(w.globals.radialSize * 2.05, maxHeight); - } - - var newHeight = chartInnerDimensions + gl.translateY + legendHeight + offY; - - if (gl.dom.elLegendForeign) { - gl.dom.elLegendForeign.setAttribute('height', newHeight); - } // fix apexcharts/apexcharts.js/issues/3105 (when % is provided in height, it keeps increasing) - - - if (w.config.chart.height && String(w.config.chart.height).indexOf('%') > 0) return; - gl.dom.elWrap.style.height = newHeight + 'px'; - Graphics.setAttrs(gl.dom.Paper.node, { - height: newHeight - }); - gl.dom.Paper.node.parentNode.parentNode.style.minHeight = newHeight + 'px'; - } - /* - ** All the calculations for setting range in charts will be done here - */ - - }, { - key: "coreCalculations", - value: function coreCalculations() { - var range = new Range(this.ctx); - range.init(); - } - }, { - key: "resetGlobals", - value: function resetGlobals() { - var _this = this; - - var resetxyValues = function resetxyValues() { - return _this.w.config.series.map(function (s) { - return []; - }); - }; - - var globalObj = new Globals(); - var gl = this.w.globals; - globalObj.initGlobalVars(gl); - gl.seriesXvalues = resetxyValues(); - gl.seriesYvalues = resetxyValues(); - } - }, { - key: "isMultipleY", - value: function isMultipleY() { - // user has supplied an array in yaxis property. So, turn on multipleYAxis flag - if (this.w.config.yaxis.constructor === Array && this.w.config.yaxis.length > 1) { - this.w.globals.isMultipleYAxis = true; - return true; - } - } - }, { - key: "xySettings", - value: function xySettings() { - var xyRatios = null; - var w = this.w; - - if (w.globals.axisCharts) { - if (w.config.xaxis.crosshairs.position === 'back') { - var crosshairs = new Crosshairs(this.ctx); - crosshairs.drawXCrosshairs(); - } - - if (w.config.yaxis[0].crosshairs.position === 'back') { - var _crosshairs = new Crosshairs(this.ctx); - - _crosshairs.drawYCrosshairs(); - } - - if (w.config.xaxis.type === 'datetime' && w.config.xaxis.labels.formatter === undefined) { - this.ctx.timeScale = new TimeScale(this.ctx); - var formattedTimeScale = []; - - if (isFinite(w.globals.minX) && isFinite(w.globals.maxX) && !w.globals.isBarHorizontal) { - formattedTimeScale = this.ctx.timeScale.calculateTimeScaleTicks(w.globals.minX, w.globals.maxX); - } else if (w.globals.isBarHorizontal) { - formattedTimeScale = this.ctx.timeScale.calculateTimeScaleTicks(w.globals.minY, w.globals.maxY); - } - - this.ctx.timeScale.recalcDimensionsBasedOnFormat(formattedTimeScale); - } - - var coreUtils = new CoreUtils(this.ctx); - xyRatios = coreUtils.getCalculatedRatios(); - } - - return xyRatios; - } - }, { - key: "updateSourceChart", - value: function updateSourceChart(targetChart) { - this.ctx.w.globals.selection = undefined; - - this.ctx.updateHelpers._updateOptions({ - chart: { - selection: { - xaxis: { - min: targetChart.w.globals.minX, - max: targetChart.w.globals.maxX - } - } - } - }, false, false); - } - }, { - key: "setupBrushHandler", - value: function setupBrushHandler() { - var _this2 = this; - - var w = this.w; // only for brush charts - - if (!w.config.chart.brush.enabled) { - return; - } // if user has not defined a custom function for selection - we handle the brush chart - // otherwise we leave it to the user to define the functionality for selection - - - if (typeof w.config.chart.events.selection !== 'function') { - var targets = w.config.chart.brush.targets || [w.config.chart.brush.target]; // retro compatibility with single target option - - targets.forEach(function (target) { - var targetChart = ApexCharts.getChartByID(target); - targetChart.w.globals.brushSource = _this2.ctx; - - if (typeof targetChart.w.config.chart.events.zoomed !== 'function') { - targetChart.w.config.chart.events.zoomed = function () { - _this2.updateSourceChart(targetChart); - }; - } - - if (typeof targetChart.w.config.chart.events.scrolled !== 'function') { - targetChart.w.config.chart.events.scrolled = function () { - _this2.updateSourceChart(targetChart); - }; - } - }); - - w.config.chart.events.selection = function (chart, e) { - targets.forEach(function (target) { - var targetChart = ApexCharts.getChartByID(target); - var yaxis = Utils$1.clone(w.config.yaxis); - - if (w.config.chart.brush.autoScaleYaxis && targetChart.w.globals.series.length === 1) { - var scale = new Range$1(targetChart); - yaxis = scale.autoScaleY(targetChart, yaxis, e); - } - - var multipleYaxis = targetChart.w.config.yaxis.reduce(function (acc, curr, index) { - return [].concat(_toConsumableArray(acc), [_objectSpread2(_objectSpread2({}, targetChart.w.config.yaxis[index]), {}, { - min: yaxis[0].min, - max: yaxis[0].max - })]); - }, []); - - targetChart.ctx.updateHelpers._updateOptions({ - xaxis: { - min: e.xaxis.min, - max: e.xaxis.max - }, - yaxis: multipleYaxis - }, false, false, false, false); - }); - }; - } - } - }]); - - return Core; - }(); - - var UpdateHelpers = /*#__PURE__*/function () { - function UpdateHelpers(ctx) { - _classCallCheck(this, UpdateHelpers); - - this.ctx = ctx; - this.w = ctx.w; - } - /** - * private method to update Options. - * - * @param {object} options - A new config object can be passed which will be merged with the existing config object - * @param {boolean} redraw - should redraw from beginning or should use existing paths and redraw from there - * @param {boolean} animate - should animate or not on updating Options - * @param {boolean} overwriteInitialConfig - should update the initial config or not - */ - - - _createClass(UpdateHelpers, [{ - key: "_updateOptions", - value: function _updateOptions(options) { - var _this = this; - - var redraw = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - var updateSyncedCharts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; - var overwriteInitialConfig = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; - return new Promise(function (resolve) { - var charts = [_this.ctx]; - - if (updateSyncedCharts) { - charts = _this.ctx.getSyncedCharts(); - } - - if (_this.ctx.w.globals.isExecCalled) { - // If the user called exec method, we don't want to get grouped charts as user specifically provided a chartID to update - charts = [_this.ctx]; - _this.ctx.w.globals.isExecCalled = false; - } - - charts.forEach(function (ch, chartIndex) { - var w = ch.w; - w.globals.shouldAnimate = animate; - - if (!redraw) { - w.globals.resized = true; - w.globals.dataChanged = true; - - if (animate) { - ch.series.getPreviousPaths(); - } - } - - if (options && _typeof(options) === 'object') { - ch.config = new Config(options); - options = CoreUtils.extendArrayProps(ch.config, options, w); // fixes #914, #623 - - if (ch.w.globals.chartID !== _this.ctx.w.globals.chartID) { - // don't overwrite series of synchronized charts - delete options.series; - } - - w.config = Utils$1.extend(w.config, options); - - if (overwriteInitialConfig) { - // we need to forget the lastXAxis and lastYAxis as user forcefully overwriteInitialConfig. If we do not do this, and next time when user zooms the chart after setting yaxis.min/max or xaxis.min/max - the stored lastXAxis will never allow the chart to use the updated min/max by user. - w.globals.lastXAxis = options.xaxis ? Utils$1.clone(options.xaxis) : []; - w.globals.lastYAxis = options.yaxis ? Utils$1.clone(options.yaxis) : []; // After forgetting lastAxes, we need to restore the new config in initialConfig/initialSeries - - w.globals.initialConfig = Utils$1.extend({}, w.config); - w.globals.initialSeries = Utils$1.clone(w.config.series); - - if (options.series) { - // Replace the collapsed series data - for (var i = 0; i < w.globals.collapsedSeriesIndices.length; i++) { - var series = w.config.series[w.globals.collapsedSeriesIndices[i]]; - w.globals.collapsedSeries[i].data = w.globals.axisCharts ? series.data.slice() : series; - } - - for (var _i = 0; _i < w.globals.ancillaryCollapsedSeriesIndices.length; _i++) { - var _series = w.config.series[w.globals.ancillaryCollapsedSeriesIndices[_i]]; - w.globals.ancillaryCollapsedSeries[_i].data = w.globals.axisCharts ? _series.data.slice() : _series; - } // Ensure that auto-generated axes are scaled to the visible data - - - ch.series.emptyCollapsedSeries(w.config.series); - } - } - } - - return ch.update(options).then(function () { - if (chartIndex === charts.length - 1) { - resolve(ch); - } - }); - }); - }); - } - /** - * Private method to update Series. - * - * @param {array} series - New series which will override the existing - */ - - }, { - key: "_updateSeries", - value: function _updateSeries(newSeries, animate) { - var _this2 = this; - - var overwriteInitialSeries = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - return new Promise(function (resolve) { - var w = _this2.w; - w.globals.shouldAnimate = animate; - w.globals.dataChanged = true; - - if (animate) { - _this2.ctx.series.getPreviousPaths(); - } - - var existingSeries; // axis charts - - if (w.globals.axisCharts) { - existingSeries = newSeries.map(function (s, i) { - return _this2._extendSeries(s, i); - }); - - if (existingSeries.length === 0) { - existingSeries = [{ - data: [] - }]; - } - - w.config.series = existingSeries; - } else { - // non-axis chart (pie/radialbar) - w.config.series = newSeries.slice(); - } - - if (overwriteInitialSeries) { - w.globals.initialConfig.series = Utils$1.clone(w.config.series); - w.globals.initialSeries = Utils$1.clone(w.config.series); - } - - return _this2.ctx.update().then(function () { - resolve(_this2.ctx); - }); - }); - } - }, { - key: "_extendSeries", - value: function _extendSeries(s, i) { - var w = this.w; - var ser = w.config.series[i]; - return _objectSpread2(_objectSpread2({}, w.config.series[i]), {}, { - name: s.name ? s.name : ser && ser.name, - color: s.color ? s.color : ser && ser.color, - type: s.type ? s.type : ser && ser.type, - data: s.data ? s.data : ser && ser.data - }); - } - }, { - key: "toggleDataPointSelection", - value: function toggleDataPointSelection(seriesIndex, dataPointIndex) { - var w = this.w; - var elPath = null; - var parent = ".apexcharts-series[data\\:realIndex='".concat(seriesIndex, "']"); - - if (w.globals.axisCharts) { - elPath = w.globals.dom.Paper.select("".concat(parent, " path[j='").concat(dataPointIndex, "'], ").concat(parent, " circle[j='").concat(dataPointIndex, "'], ").concat(parent, " rect[j='").concat(dataPointIndex, "']")).members[0]; - } else { - // dataPointIndex will be undefined here, hence using seriesIndex - if (typeof dataPointIndex === 'undefined') { - elPath = w.globals.dom.Paper.select("".concat(parent, " path[j='").concat(seriesIndex, "']")).members[0]; - - if (w.config.chart.type === 'pie' || w.config.chart.type === 'polarArea' || w.config.chart.type === 'donut') { - this.ctx.pie.pieClicked(seriesIndex); - } - } - } - - if (elPath) { - var graphics = new Graphics(this.ctx); - graphics.pathMouseDown(elPath, null); - } else { - console.warn('toggleDataPointSelection: Element not found'); - return null; - } - - return elPath.node ? elPath.node : null; - } - }, { - key: "forceXAxisUpdate", - value: function forceXAxisUpdate(options) { - var w = this.w; - var minmax = ['min', 'max']; - minmax.forEach(function (a) { - if (typeof options.xaxis[a] !== 'undefined') { - w.config.xaxis[a] = options.xaxis[a]; - w.globals.lastXAxis[a] = options.xaxis[a]; - } - }); - - if (options.xaxis.categories && options.xaxis.categories.length) { - w.config.xaxis.categories = options.xaxis.categories; - } - - if (w.config.xaxis.convertedCatToNumeric) { - var defaults = new Defaults(options); - options = defaults.convertCatToNumericXaxis(options, this.ctx); - } - - return options; - } - }, { - key: "forceYAxisUpdate", - value: function forceYAxisUpdate(options) { - if (options.chart && options.chart.stacked && options.chart.stackType === '100%') { - if (Array.isArray(options.yaxis)) { - options.yaxis.forEach(function (yaxe, index) { - options.yaxis[index].min = 0; - options.yaxis[index].max = 100; - }); - } else { - options.yaxis.min = 0; - options.yaxis.max = 100; - } - } - - return options; - } - /** - * This function reverts the yaxis and xaxis min/max values to what it was when the chart was defined. - * This function fixes an important bug where a user might load a new series after zooming in/out of previous series which resulted in wrong min/max - * Also, this should never be called internally on zoom/pan - the reset should only happen when user calls the updateSeries() function externally - * The function also accepts an object {xaxis, yaxis} which when present is set as the new xaxis/yaxis - */ - - }, { - key: "revertDefaultAxisMinMax", - value: function revertDefaultAxisMinMax(opts) { - var _this3 = this; - - var w = this.w; - var xaxis = w.globals.lastXAxis; - var yaxis = w.globals.lastYAxis; - - if (opts && opts.xaxis) { - xaxis = opts.xaxis; - } - - if (opts && opts.yaxis) { - yaxis = opts.yaxis; - } - - w.config.xaxis.min = xaxis.min; - w.config.xaxis.max = xaxis.max; - - var getLastYAxis = function getLastYAxis(index) { - if (typeof yaxis[index] !== 'undefined') { - w.config.yaxis[index].min = yaxis[index].min; - w.config.yaxis[index].max = yaxis[index].max; - } - }; - - w.config.yaxis.map(function (yaxe, index) { - if (w.globals.zoomed) { - // user has zoomed, check the last yaxis - getLastYAxis(index); - } else { - // user hasn't zoomed, check the last yaxis first - if (typeof yaxis[index] !== 'undefined') { - getLastYAxis(index); - } else { - // if last y-axis don't exist, check the original yaxis - if (typeof _this3.ctx.opts.yaxis[index] !== 'undefined') { - yaxe.min = _this3.ctx.opts.yaxis[index].min; - yaxe.max = _this3.ctx.opts.yaxis[index].max; - } - } - } - }); - } - }]); - - return UpdateHelpers; - }(); - - (function (root, factory) { - /* istanbul ignore next */ - if (typeof define === 'function' && define.amd) { - define(function () { - return factory(root, root.document); - }); - /* below check fixes #412 */ - } else if ((typeof exports === "undefined" ? "undefined" : _typeof(exports)) === 'object' && typeof module !== 'undefined') { - module.exports = root.document ? factory(root, root.document) : function (w) { - return factory(w, w.document); - }; - } else { - root.SVG = factory(root, root.document); - } - })(typeof window !== 'undefined' ? window : undefined, function (window, document) { - // Find global reference - uses 'this' by default when available, - // falls back to 'window' otherwise (for bundlers like Webpack) - var globalRef = typeof this !== 'undefined' ? this : window; // The main wrapping element - - var SVG = globalRef.SVG = function (element) { - if (SVG.supported) { - element = new SVG.Doc(element); - - if (!SVG.parser.draw) { - SVG.prepare(); - } - - return element; - } - }; // Default namespaces - - - SVG.ns = 'http://www.w3.org/2000/svg'; - SVG.xmlns = 'http://www.w3.org/2000/xmlns/'; - SVG.xlink = 'http://www.w3.org/1999/xlink'; - SVG.svgjs = 'http://svgjs.dev'; // Svg support test - - SVG.supported = function () { - return true; // !!document.createElementNS && - // !! document.createElementNS(SVG.ns,'svg').createSVGRect - }(); // Don't bother to continue if SVG is not supported - - - if (!SVG.supported) return false; // Element id sequence - - SVG.did = 1000; // Get next named element id - - SVG.eid = function (name) { - return 'Svgjs' + capitalize(name) + SVG.did++; - }; // Method for element creation - - - SVG.create = function (name) { - // create element - var element = document.createElementNS(this.ns, name); // apply unique id - - element.setAttribute('id', this.eid(name)); - return element; - }; // Method for extending objects - - - SVG.extend = function () { - var modules, methods; // Get list of modules - - modules = [].slice.call(arguments); // Get object with extensions - - methods = modules.pop(); - - for (var i = modules.length - 1; i >= 0; i--) { - if (modules[i]) { - for (var key in methods) { - modules[i].prototype[key] = methods[key]; - } - } - } // Make sure SVG.Set inherits any newly added methods - - - if (SVG.Set && SVG.Set.inherit) { - SVG.Set.inherit(); - } - }; // Invent new element - - - SVG.invent = function (config) { - // Create element initializer - var initializer = typeof config.create === 'function' ? config.create : function () { - this.constructor.call(this, SVG.create(config.create)); - }; // Inherit prototype - - if (config.inherit) { - initializer.prototype = new config.inherit(); - } // Extend with methods - - - if (config.extend) { - SVG.extend(initializer, config.extend); - } // Attach construct method to parent - - - if (config.construct) { - SVG.extend(config.parent || SVG.Container, config.construct); - } - - return initializer; - }; // Adopt existing svg elements - - - SVG.adopt = function (node) { - // check for presence of node - if (!node) return null; // make sure a node isn't already adopted - - if (node.instance) return node.instance; // initialize variables - - var element; // adopt with element-specific settings - - if (node.nodeName == 'svg') { - element = node.parentNode instanceof window.SVGElement ? new SVG.Nested() : new SVG.Doc(); - } else if (node.nodeName == 'linearGradient') { - element = new SVG.Gradient('linear'); - } else if (node.nodeName == 'radialGradient') { - element = new SVG.Gradient('radial'); - } else if (SVG[capitalize(node.nodeName)]) { - element = new SVG[capitalize(node.nodeName)](); - } else { - element = new SVG.Element(node); - } // ensure references - - - element.type = node.nodeName; - element.node = node; - node.instance = element; // SVG.Class specific preparations - - if (element instanceof SVG.Doc) { - element.namespace().defs(); - } // pull svgjs data from the dom (getAttributeNS doesn't work in html5) - - - element.setData(JSON.parse(node.getAttribute('svgjs:data')) || {}); - return element; - }; // Initialize parsing element - - - SVG.prepare = function () { - // Select document body and create invisible svg element - var body = document.getElementsByTagName('body')[0], - draw = (body ? new SVG.Doc(body) : SVG.adopt(document.documentElement).nested()).size(2, 0); // Create parser object - - SVG.parser = { - body: body || document.documentElement, - draw: draw.style('opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden').node, - poly: draw.polyline().node, - path: draw.path().node, - native: SVG.create('svg') - }; - }; - - SVG.parser = { - native: SVG.create('svg') - }; - document.addEventListener('DOMContentLoaded', function () { - if (!SVG.parser.draw) { - SVG.prepare(); - } - }, false); // Storage for regular expressions - - SVG.regex = { - // Parse unit value - numberAndUnit: /^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i, - // Parse hex value - hex: /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i, - // Parse rgb value - rgb: /rgb\((\d+),(\d+),(\d+)\)/, - // Parse reference id - reference: /#([a-z0-9\-_]+)/i, - // splits a transformation chain - transforms: /\)\s*,?\s*/, - // Whitespace - whitespace: /\s/g, - // Test hex value - isHex: /^#[a-f0-9]{3,6}$/i, - // Test rgb value - isRgb: /^rgb\(/, - // Test css declaration - isCss: /[^:]+:[^;]+;?/, - // Test for blank string - isBlank: /^(\s+)?$/, - // Test for numeric string - isNumber: /^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i, - // Test for percent value - isPercent: /^-?[\d\.]+%$/, - // Test for image url - isImage: /\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i, - // split at whitespace and comma - delimiter: /[\s,]+/, - // The following regex are used to parse the d attribute of a path - // Matches all hyphens which are not after an exponent - hyphen: /([^e])\-/gi, - // Replaces and tests for all path letters - pathLetters: /[MLHVCSQTAZ]/gi, - // yes we need this one, too - isPathLetter: /[MLHVCSQTAZ]/i, - // matches 0.154.23.45 - numbersWithDots: /((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi, - // matches . - dots: /\./g - }; - SVG.utils = { - // Map function - map: function map(array, block) { - var il = array.length, - result = []; - - for (var i = 0; i < il; i++) { - result.push(block(array[i])); - } - - return result; - }, - // Filter function - filter: function filter(array, block) { - var il = array.length, - result = []; - - for (var i = 0; i < il; i++) { - if (block(array[i])) { - result.push(array[i]); - } - } - - return result; - }, - filterSVGElements: function filterSVGElements(nodes) { - return this.filter(nodes, function (el) { - return el instanceof window.SVGElement; - }); - } - }; - SVG.defaults = { - // Default attribute values - attrs: { - // fill and stroke - 'fill-opacity': 1, - 'stroke-opacity': 1, - 'stroke-width': 0, - 'stroke-linejoin': 'miter', - 'stroke-linecap': 'butt', - fill: '#000000', - stroke: '#000000', - opacity: 1, - // position - x: 0, - y: 0, - cx: 0, - cy: 0, - // size - width: 0, - height: 0, - // radius - r: 0, - rx: 0, - ry: 0, - // gradient - offset: 0, - 'stop-opacity': 1, - 'stop-color': '#000000', - // text - 'font-size': 16, - 'font-family': 'Helvetica, Arial, sans-serif', - 'text-anchor': 'start' - } - }; // Module for color convertions - - SVG.Color = function (color) { - var match; // initialize defaults - - this.r = 0; - this.g = 0; - this.b = 0; - if (!color) return; // parse color - - if (typeof color === 'string') { - if (SVG.regex.isRgb.test(color)) { - // get rgb values - match = SVG.regex.rgb.exec(color.replace(SVG.regex.whitespace, '')); // parse numeric values - - this.r = parseInt(match[1]); - this.g = parseInt(match[2]); - this.b = parseInt(match[3]); - } else if (SVG.regex.isHex.test(color)) { - // get hex values - match = SVG.regex.hex.exec(fullHex(color)); // parse numeric values - - this.r = parseInt(match[1], 16); - this.g = parseInt(match[2], 16); - this.b = parseInt(match[3], 16); - } - } else if (_typeof(color) === 'object') { - this.r = color.r; - this.g = color.g; - this.b = color.b; - } - }; - - SVG.extend(SVG.Color, { - // Default to hex conversion - toString: function toString() { - return this.toHex(); - }, - // Build hex value - toHex: function toHex() { - return '#' + compToHex(this.r) + compToHex(this.g) + compToHex(this.b); - }, - // Build rgb value - toRgb: function toRgb() { - return 'rgb(' + [this.r, this.g, this.b].join() + ')'; - }, - // Calculate true brightness - brightness: function brightness() { - return this.r / 255 * 0.30 + this.g / 255 * 0.59 + this.b / 255 * 0.11; - }, - // Make color morphable - morph: function morph(color) { - this.destination = new SVG.Color(color); - return this; - }, - // Get morphed color at given position - at: function at(pos) { - // make sure a destination is defined - if (!this.destination) return this; // normalise pos - - pos = pos < 0 ? 0 : pos > 1 ? 1 : pos; // generate morphed color - - return new SVG.Color({ - r: ~~(this.r + (this.destination.r - this.r) * pos), - g: ~~(this.g + (this.destination.g - this.g) * pos), - b: ~~(this.b + (this.destination.b - this.b) * pos) - }); - } - }); // Testers - // Test if given value is a color string - - SVG.Color.test = function (color) { - color += ''; - return SVG.regex.isHex.test(color) || SVG.regex.isRgb.test(color); - }; // Test if given value is a rgb object - - - SVG.Color.isRgb = function (color) { - return color && typeof color.r === 'number' && typeof color.g === 'number' && typeof color.b === 'number'; - }; // Test if given value is a color - - - SVG.Color.isColor = function (color) { - return SVG.Color.isRgb(color) || SVG.Color.test(color); - }; // Module for array conversion - - - SVG.Array = function (array, fallback) { - array = (array || []).valueOf(); // if array is empty and fallback is provided, use fallback - - if (array.length == 0 && fallback) { - array = fallback.valueOf(); - } // parse array - - - this.value = this.parse(array); - }; - - SVG.extend(SVG.Array, { - // Convert array to string - toString: function toString() { - return this.value.join(' '); - }, - // Real value - valueOf: function valueOf() { - return this.value; - }, - // Parse whitespace separated string - parse: function parse(array) { - array = array.valueOf(); // if already is an array, no need to parse it - - if (Array.isArray(array)) return array; - return this.split(array); - } - }); // Poly points array - - SVG.PointArray = function (array, fallback) { - SVG.Array.call(this, array, fallback || [[0, 0]]); - }; // Inherit from SVG.Array - - - SVG.PointArray.prototype = new SVG.Array(); - SVG.PointArray.prototype.constructor = SVG.PointArray; - var pathHandlers = { - M: function M(c, p, p0) { - p.x = p0.x = c[0]; - p.y = p0.y = c[1]; - return ['M', p.x, p.y]; - }, - L: function L(c, p) { - p.x = c[0]; - p.y = c[1]; - return ['L', c[0], c[1]]; - }, - H: function H(c, p) { - p.x = c[0]; - return ['H', c[0]]; - }, - V: function V(c, p) { - p.y = c[0]; - return ['V', c[0]]; - }, - C: function C(c, p) { - p.x = c[4]; - p.y = c[5]; - return ['C', c[0], c[1], c[2], c[3], c[4], c[5]]; - }, - Q: function Q(c, p) { - p.x = c[2]; - p.y = c[3]; - return ['Q', c[0], c[1], c[2], c[3]]; - }, - Z: function Z(c, p, p0) { - p.x = p0.x; - p.y = p0.y; - return ['Z']; - } - }; - var mlhvqtcsa = 'mlhvqtcsaz'.split(''); - - for (var i = 0, il = mlhvqtcsa.length; i < il; ++i) { - pathHandlers[mlhvqtcsa[i]] = function (i) { - return function (c, p, p0) { - if (i == 'H') c[0] = c[0] + p.x;else if (i == 'V') c[0] = c[0] + p.y;else if (i == 'A') { - c[5] = c[5] + p.x, c[6] = c[6] + p.y; - } else { - for (var j = 0, jl = c.length; j < jl; ++j) { - c[j] = c[j] + (j % 2 ? p.y : p.x); - } - } - - if (pathHandlers && typeof pathHandlers[i] === 'function') { - // this check fixes jest unit tests - return pathHandlers[i](c, p, p0); - } - }; - }(mlhvqtcsa[i].toUpperCase()); - } // Path points array - - - SVG.PathArray = function (array, fallback) { - SVG.Array.call(this, array, fallback || [['M', 0, 0]]); - }; // Inherit from SVG.Array - - - SVG.PathArray.prototype = new SVG.Array(); - SVG.PathArray.prototype.constructor = SVG.PathArray; - SVG.extend(SVG.PathArray, { - // Convert array to string - toString: function toString() { - return arrayToString(this.value); - }, - // Move path string - move: function move(x, y) { - // get bounding box of current situation - var box = this.bbox(); // get relative offset - - x -= box.x; - y -= box.y; - return this; - }, - // Get morphed path array at given position - at: function at(pos) { - // make sure a destination is defined - if (!this.destination) return this; - var sourceArray = this.value, - destinationArray = this.destination.value, - array = [], - pathArray = new SVG.PathArray(), - il, - jl; // Animate has specified in the SVG spec - // See: https://www.w3.org/TR/SVG11/paths.html#PathElement - - for (var i = 0, il = sourceArray.length; i < il; i++) { - array[i] = [sourceArray[i][0]]; - - for (var j = 1, jl = sourceArray[i].length; j < jl; j++) { - array[i][j] = sourceArray[i][j] + (destinationArray[i][j] - sourceArray[i][j]) * pos; - } // For the two flags of the elliptical arc command, the SVG spec say: - // Flags and booleans are interpolated as fractions between zero and one, with any non-zero value considered to be a value of one/true - // Elliptical arc command as an array followed by corresponding indexes: - // ['A', rx, ry, x-axis-rotation, large-arc-flag, sweep-flag, x, y] - // 0 1 2 3 4 5 6 7 - - - if (array[i][0] === 'A') { - array[i][4] = +(array[i][4] != 0); - array[i][5] = +(array[i][5] != 0); - } - } // Directly modify the value of a path array, this is done this way for performance - - - pathArray.value = array; - return pathArray; - }, - // Absolutize and parse path to array - parse: function parse(array) { - // if it's already a patharray, no need to parse it - if (array instanceof SVG.PathArray) return array.valueOf(); // prepare for parsing - - var s, - arr, - paramCnt = { - 'M': 2, - 'L': 2, - 'H': 1, - 'V': 1, - 'C': 6, - 'S': 4, - 'Q': 4, - 'T': 2, - 'A': 7, - 'Z': 0 - }; - - if (typeof array === 'string') { - array = array.replace(SVG.regex.numbersWithDots, pathRegReplace) // convert 45.123.123 to 45.123 .123 - .replace(SVG.regex.pathLetters, ' $& ') // put some room between letters and numbers - .replace(SVG.regex.hyphen, '$1 -') // add space before hyphen - .trim() // trim - .split(SVG.regex.delimiter); // split into array - } else { - array = array.reduce(function (prev, curr) { - return [].concat.call(prev, curr); - }, []); - } // array now is an array containing all parts of a path e.g. ['M', '0', '0', 'L', '30', '30' ...] - - - var arr = [], - p = new SVG.Point(), - p0 = new SVG.Point(), - index = 0, - len = array.length; - - do { - // Test if we have a path letter - if (SVG.regex.isPathLetter.test(array[index])) { - s = array[index]; - ++index; // If last letter was a move command and we got no new, it defaults to [L]ine - } else if (s == 'M') { - s = 'L'; - } else if (s == 'm') { - s = 'l'; - } - - arr.push(pathHandlers[s].call(null, array.slice(index, index = index + paramCnt[s.toUpperCase()]).map(parseFloat), p, p0)); - } while (len > index); - - return arr; - }, - // Get bounding box of path - bbox: function bbox() { - if (!SVG.parser.draw) { - SVG.prepare(); - } - - SVG.parser.path.setAttribute('d', this.toString()); - return SVG.parser.path.getBBox(); - } - }); // Module for unit convertions - - SVG.Number = SVG.invent({ - // Initialize - create: function create(value, unit) { - // initialize defaults - this.value = 0; - this.unit = unit || ''; // parse value - - if (typeof value === 'number') { - // ensure a valid numeric value - this.value = isNaN(value) ? 0 : !isFinite(value) ? value < 0 ? -3.4e+38 : +3.4e+38 : value; - } else if (typeof value === 'string') { - unit = value.match(SVG.regex.numberAndUnit); - - if (unit) { - // make value numeric - this.value = parseFloat(unit[1]); // normalize - - if (unit[5] == '%') { - this.value /= 100; - } else if (unit[5] == 's') { - this.value *= 1000; - } // store unit - - - this.unit = unit[5]; - } - } else { - if (value instanceof SVG.Number) { - this.value = value.valueOf(); - this.unit = value.unit; - } - } - }, - // Add methods - extend: { - // Stringalize - toString: function toString() { - return (this.unit == '%' ? ~~(this.value * 1e8) / 1e6 : this.unit == 's' ? this.value / 1e3 : this.value) + this.unit; - }, - toJSON: function toJSON() { - return this.toString(); - }, - // Convert to primitive - valueOf: function valueOf() { - return this.value; - }, - // Add number - plus: function plus(number) { - number = new SVG.Number(number); - return new SVG.Number(this + number, this.unit || number.unit); - }, - // Subtract number - minus: function minus(number) { - number = new SVG.Number(number); - return new SVG.Number(this - number, this.unit || number.unit); - }, - // Multiply number - times: function times(number) { - number = new SVG.Number(number); - return new SVG.Number(this * number, this.unit || number.unit); - }, - // Divide number - divide: function divide(number) { - number = new SVG.Number(number); - return new SVG.Number(this / number, this.unit || number.unit); - }, - // Convert to different unit - to: function to(unit) { - var number = new SVG.Number(this); - - if (typeof unit === 'string') { - number.unit = unit; - } - - return number; - }, - // Make number morphable - morph: function morph(number) { - this.destination = new SVG.Number(number); - - if (number.relative) { - this.destination.value += this.value; - } - - return this; - }, - // Get morphed number at given position - at: function at(pos) { - // Make sure a destination is defined - if (!this.destination) return this; // Generate new morphed number - - return new SVG.Number(this.destination).minus(this).times(pos).plus(this); - } - } - }); - SVG.Element = SVG.invent({ - // Initialize node - create: function create(node) { - // make stroke value accessible dynamically - this._stroke = SVG.defaults.attrs.stroke; - this._event = null; // initialize data object - - this.dom = {}; // create circular reference - - if (this.node = node) { - this.type = node.nodeName; - this.node.instance = this; // store current attribute value - - this._stroke = node.getAttribute('stroke') || this._stroke; - } - }, - // Add class methods - extend: { - // Move over x-axis - x: function x(_x) { - return this.attr('x', _x); - }, - // Move over y-axis - y: function y(_y) { - return this.attr('y', _y); - }, - // Move by center over x-axis - cx: function cx(x) { - return x == null ? this.x() + this.width() / 2 : this.x(x - this.width() / 2); - }, - // Move by center over y-axis - cy: function cy(y) { - return y == null ? this.y() + this.height() / 2 : this.y(y - this.height() / 2); - }, - // Move element to given x and y values - move: function move(x, y) { - return this.x(x).y(y); - }, - // Move element by its center - center: function center(x, y) { - return this.cx(x).cy(y); - }, - // Set width of element - width: function width(_width) { - return this.attr('width', _width); - }, - // Set height of element - height: function height(_height) { - return this.attr('height', _height); - }, - // Set element size to given width and height - size: function size(width, height) { - var p = proportionalSize(this, width, height); - return this.width(new SVG.Number(p.width)).height(new SVG.Number(p.height)); - }, - // Clone element - clone: function clone(parent) { - // write dom data to the dom so the clone can pickup the data - this.writeDataToDom(); // clone element and assign new id - - var clone = assignNewId(this.node.cloneNode(true)); // insert the clone in the given parent or after myself - - if (parent) parent.add(clone);else this.after(clone); - return clone; - }, - // Remove element - remove: function remove() { - if (this.parent()) { - this.parent().removeElement(this); - } - - return this; - }, - // Replace element - replace: function replace(element) { - this.after(element).remove(); - return element; - }, - // Add element to given container and return self - addTo: function addTo(parent) { - return parent.put(this); - }, - // Add element to given container and return container - putIn: function putIn(parent) { - return parent.add(this); - }, - // Get / set id - id: function id(_id) { - return this.attr('id', _id); - }, - // Show element - show: function show() { - return this.style('display', ''); - }, - // Hide element - hide: function hide() { - return this.style('display', 'none'); - }, - // Is element visible? - visible: function visible() { - return this.style('display') != 'none'; - }, - // Return id on string conversion - toString: function toString() { - return this.attr('id'); - }, - // Return array of classes on the node - classes: function classes() { - var attr = this.attr('class'); - return attr == null ? [] : attr.trim().split(SVG.regex.delimiter); - }, - // Return true if class exists on the node, false otherwise - hasClass: function hasClass(name) { - return this.classes().indexOf(name) != -1; - }, - // Add class to the node - addClass: function addClass(name) { - if (!this.hasClass(name)) { - var array = this.classes(); - array.push(name); - this.attr('class', array.join(' ')); - } - - return this; - }, - // Remove class from the node - removeClass: function removeClass(name) { - if (this.hasClass(name)) { - this.attr('class', this.classes().filter(function (c) { - return c != name; - }).join(' ')); - } - - return this; - }, - // Toggle the presence of a class on the node - toggleClass: function toggleClass(name) { - return this.hasClass(name) ? this.removeClass(name) : this.addClass(name); - }, - // Get referenced element form attribute value - reference: function reference(attr) { - return SVG.get(this.attr(attr)); - }, - // Returns the parent element instance - parent: function parent(type) { - var parent = this; // check for parent - - if (!parent.node.parentNode) return null; // get parent element - - parent = SVG.adopt(parent.node.parentNode); - if (!type) return parent; // loop trough ancestors if type is given - - while (parent && parent.node instanceof window.SVGElement) { - if (typeof type === 'string' ? parent.matches(type) : parent instanceof type) return parent; - if (!parent.node.parentNode || parent.node.parentNode.nodeName == '#document') return null; // #759, #720 - - parent = SVG.adopt(parent.node.parentNode); - } - }, - // Get parent document - doc: function doc() { - return this instanceof SVG.Doc ? this : this.parent(SVG.Doc); - }, - // return array of all ancestors of given type up to the root svg - parents: function parents(type) { - var parents = [], - parent = this; - - do { - parent = parent.parent(type); - if (!parent || !parent.node) break; - parents.push(parent); - } while (parent.parent); - - return parents; - }, - // matches the element vs a css selector - matches: function matches(selector) { - return _matches(this.node, selector); - }, - // Returns the svg node to call native svg methods on it - native: function native() { - return this.node; - }, - // Import raw svg - svg: function svg(_svg) { - // create temporary holder - var well = document.createElement('svg'); // act as a setter if svg is given - - if (_svg && this instanceof SVG.Parent) { - // dump raw svg - well.innerHTML = '' + _svg.replace(/\n/, '').replace(/<([\w:-]+)([^<]+?)\/>/g, '<$1$2>') + ''; // transplant nodes - - for (var i = 0, il = well.firstChild.childNodes.length; i < il; i++) { - this.node.appendChild(well.firstChild.firstChild); - } // otherwise act as a getter - - } else { - // create a wrapping svg element in case of partial content - well.appendChild(_svg = document.createElement('svg')); // write svgjs data to the dom - - this.writeDataToDom(); // insert a copy of this node - - _svg.appendChild(this.node.cloneNode(true)); // return target element - - - return well.innerHTML.replace(/^/, '').replace(/<\/svg>$/, ''); - } - - return this; - }, - // write svgjs data to the dom - writeDataToDom: function writeDataToDom() { - // dump variables recursively - if (this.each || this.lines) { - var fn = this.each ? this : this.lines(); - fn.each(function () { - this.writeDataToDom(); - }); - } // remove previously set data - - - this.node.removeAttribute('svgjs:data'); - - if (Object.keys(this.dom).length) { - this.node.setAttribute('svgjs:data', JSON.stringify(this.dom)); - } // see #428 - - - return this; - }, - // set given data to the elements data property - setData: function setData(o) { - this.dom = o; - return this; - }, - is: function is(obj) { - return _is(this, obj); - } - } - }); - SVG.easing = { - '-': function _(pos) { - return pos; - }, - '<>': function _(pos) { - return -Math.cos(pos * Math.PI) / 2 + 0.5; - }, - '>': function _(pos) { - return Math.sin(pos * Math.PI / 2); - }, - '<': function _(pos) { - return -Math.cos(pos * Math.PI / 2) + 1; - } - }; - - SVG.morph = function (pos) { - return function (from, to) { - return new SVG.MorphObj(from, to).at(pos); - }; - }; - - SVG.Situation = SVG.invent({ - create: function create(o) { - this.init = false; - this.reversed = false; - this.reversing = false; - this.duration = new SVG.Number(o.duration).valueOf(); - this.delay = new SVG.Number(o.delay).valueOf(); - this.start = +new Date() + this.delay; - this.finish = this.start + this.duration; - this.ease = o.ease; // this.loop is incremented from 0 to this.loops - // it is also incremented when in an infinite loop (when this.loops is true) - - this.loop = 0; - this.loops = false; - this.animations = {// functionToCall: [list of morphable objects] - // e.g. move: [SVG.Number, SVG.Number] - }; - this.attrs = {// holds all attributes which are not represented from a function svg.js provides - // e.g. someAttr: SVG.Number - }; - this.styles = {// holds all styles which should be animated - // e.g. fill-color: SVG.Color - }; - this.transforms = [// holds all transformations as transformation objects - // e.g. [SVG.Rotate, SVG.Translate, SVG.Matrix] - ]; - this.once = {// functions to fire at a specific position - // e.g. "0.5": function foo(){} - }; - } - }); - SVG.FX = SVG.invent({ - create: function create(element) { - this._target = element; - this.situations = []; - this.active = false; - this.situation = null; - this.paused = false; - this.lastPos = 0; - this.pos = 0; // The absolute position of an animation is its position in the context of its complete duration (including delay and loops) - // When performing a delay, absPos is below 0 and when performing a loop, its value is above 1 - - this.absPos = 0; - this._speed = 1; - }, - extend: { - /** - * sets or returns the target of this animation - * @param o object || number In case of Object it holds all parameters. In case of number its the duration of the animation - * @param ease function || string Function which should be used for easing or easing keyword - * @param delay Number indicating the delay before the animation starts - * @return target || this - */ - animate: function animate(o, ease, delay) { - if (_typeof(o) === 'object') { - ease = o.ease; - delay = o.delay; - o = o.duration; - } - - var situation = new SVG.Situation({ - duration: o || 1000, - delay: delay || 0, - ease: SVG.easing[ease || '-'] || ease - }); - this.queue(situation); - return this; - }, - - /** - * sets a delay before the next element of the queue is called - * @param delay Duration of delay in milliseconds - * @return this.target() - */ - - /** - * sets or returns the target of this animation - * @param null || target SVG.Element which should be set as new target - * @return target || this - */ - target: function target(_target) { - if (_target && _target instanceof SVG.Element) { - this._target = _target; - return this; - } - - return this._target; - }, - // returns the absolute position at a given time - timeToAbsPos: function timeToAbsPos(timestamp) { - return (timestamp - this.situation.start) / (this.situation.duration / this._speed); - }, - // returns the timestamp from a given absolute positon - absPosToTime: function absPosToTime(absPos) { - return this.situation.duration / this._speed * absPos + this.situation.start; - }, - // starts the animationloop - startAnimFrame: function startAnimFrame() { - this.stopAnimFrame(); - this.animationFrame = window.requestAnimationFrame(function () { - this.step(); - }.bind(this)); - }, - // cancels the animationframe - stopAnimFrame: function stopAnimFrame() { - window.cancelAnimationFrame(this.animationFrame); - }, - // kicks off the animation - only does something when the queue is currently not active and at least one situation is set - start: function start() { - // dont start if already started - if (!this.active && this.situation) { - this.active = true; - this.startCurrent(); - } - - return this; - }, - // start the current situation - startCurrent: function startCurrent() { - this.situation.start = +new Date() + this.situation.delay / this._speed; - this.situation.finish = this.situation.start + this.situation.duration / this._speed; - return this.initAnimations().step(); - }, - - /** - * adds a function / Situation to the animation queue - * @param fn function / situation to add - * @return this - */ - queue: function queue(fn) { - if (typeof fn === 'function' || fn instanceof SVG.Situation) { - this.situations.push(fn); - } - - if (!this.situation) this.situation = this.situations.shift(); - return this; - }, - - /** - * pulls next element from the queue and execute it - * @return this - */ - dequeue: function dequeue() { - // stop current animation - this.stop(); // get next animation from queue - - this.situation = this.situations.shift(); - - if (this.situation) { - if (this.situation instanceof SVG.Situation) { - this.start(); - } else { - // If it is not a SVG.Situation, then it is a function, we execute it - this.situation.call(this); - } - } - - return this; - }, - // updates all animations to the current state of the element - // this is important when one property could be changed from another property - initAnimations: function initAnimations() { - var source; - var s = this.situation; - if (s.init) return this; - - for (var i in s.animations) { - source = this.target()[i](); - - if (!Array.isArray(source)) { - source = [source]; - } - - if (!Array.isArray(s.animations[i])) { - s.animations[i] = [s.animations[i]]; - } // if(s.animations[i].length > source.length) { - // source.concat = source.concat(s.animations[i].slice(source.length, s.animations[i].length)) - // } - - - for (var j = source.length; j--;) { - // The condition is because some methods return a normal number instead - // of a SVG.Number - if (s.animations[i][j] instanceof SVG.Number) { - source[j] = new SVG.Number(source[j]); - } - - s.animations[i][j] = source[j].morph(s.animations[i][j]); - } - } - - for (var i in s.attrs) { - s.attrs[i] = new SVG.MorphObj(this.target().attr(i), s.attrs[i]); - } - - for (var i in s.styles) { - s.styles[i] = new SVG.MorphObj(this.target().style(i), s.styles[i]); - } - - s.initialTransformation = this.target().matrixify(); - s.init = true; - return this; - }, - clearQueue: function clearQueue() { - this.situations = []; - return this; - }, - clearCurrent: function clearCurrent() { - this.situation = null; - return this; - }, - - /** stops the animation immediately - * @param jumpToEnd A Boolean indicating whether to complete the current animation immediately. - * @param clearQueue A Boolean indicating whether to remove queued animation as well. - * @return this - */ - stop: function stop(jumpToEnd, clearQueue) { - var active = this.active; - this.active = false; - - if (clearQueue) { - this.clearQueue(); - } - - if (jumpToEnd && this.situation) { - // initialize the situation if it was not - !active && this.startCurrent(); - this.atEnd(); - } - - this.stopAnimFrame(); - return this.clearCurrent(); - }, - after: function after(fn) { - var c = this.last(), - wrapper = function wrapper(e) { - if (e.detail.situation == c) { - fn.call(this, c); - this.off('finished.fx', wrapper); // prevent memory leak - } - }; - - this.target().on('finished.fx', wrapper); - return this._callStart(); - }, - // adds a callback which is called whenever one animation step is performed - during: function during(fn) { - var c = this.last(), - wrapper = function wrapper(e) { - if (e.detail.situation == c) { - fn.call(this, e.detail.pos, SVG.morph(e.detail.pos), e.detail.eased, c); - } - }; // see above - - - this.target().off('during.fx', wrapper).on('during.fx', wrapper); - this.after(function () { - this.off('during.fx', wrapper); - }); - return this._callStart(); - }, - // calls after ALL animations in the queue are finished - afterAll: function afterAll(fn) { - var wrapper = function wrapper(e) { - fn.call(this); - this.off('allfinished.fx', wrapper); - }; // see above - - - this.target().off('allfinished.fx', wrapper).on('allfinished.fx', wrapper); - return this._callStart(); - }, - last: function last() { - return this.situations.length ? this.situations[this.situations.length - 1] : this.situation; - }, - // adds one property to the animations - add: function add(method, args, type) { - this.last()[type || 'animations'][method] = args; - return this._callStart(); - }, - - /** perform one step of the animation - * @param ignoreTime Boolean indicating whether to ignore time and use position directly or recalculate position based on time - * @return this - */ - step: function step(ignoreTime) { - // convert current time to an absolute position - if (!ignoreTime) this.absPos = this.timeToAbsPos(+new Date()); // This part convert an absolute position to a position - - if (this.situation.loops !== false) { - var absPos, absPosInt, lastLoop; // If the absolute position is below 0, we just treat it as if it was 0 - - absPos = Math.max(this.absPos, 0); - absPosInt = Math.floor(absPos); - - if (this.situation.loops === true || absPosInt < this.situation.loops) { - this.pos = absPos - absPosInt; - lastLoop = this.situation.loop; - this.situation.loop = absPosInt; - } else { - this.absPos = this.situation.loops; - this.pos = 1; // The -1 here is because we don't want to toggle reversed when all the loops have been completed - - lastLoop = this.situation.loop - 1; - this.situation.loop = this.situation.loops; - } - - if (this.situation.reversing) { - // Toggle reversed if an odd number of loops as occured since the last call of step - this.situation.reversed = this.situation.reversed != Boolean((this.situation.loop - lastLoop) % 2); - } - } else { - // If there are no loop, the absolute position must not be above 1 - this.absPos = Math.min(this.absPos, 1); - this.pos = this.absPos; - } // while the absolute position can be below 0, the position must not be below 0 - - - if (this.pos < 0) this.pos = 0; - if (this.situation.reversed) this.pos = 1 - this.pos; // apply easing - - var eased = this.situation.ease(this.pos); // call once-callbacks - - for (var i in this.situation.once) { - if (i > this.lastPos && i <= eased) { - this.situation.once[i].call(this.target(), this.pos, eased); - delete this.situation.once[i]; - } - } // fire during callback with position, eased position and current situation as parameter - - - if (this.active) this.target().fire('during', { - pos: this.pos, - eased: eased, - fx: this, - situation: this.situation - }); // the user may call stop or finish in the during callback - // so make sure that we still have a valid situation - - if (!this.situation) { - return this; - } // apply the actual animation to every property - - - this.eachAt(); // do final code when situation is finished - - if (this.pos == 1 && !this.situation.reversed || this.situation.reversed && this.pos == 0) { - // stop animation callback - this.stopAnimFrame(); // fire finished callback with current situation as parameter - - this.target().fire('finished', { - fx: this, - situation: this.situation - }); - - if (!this.situations.length) { - this.target().fire('allfinished'); // Recheck the length since the user may call animate in the afterAll callback - - if (!this.situations.length) { - this.target().off('.fx'); // there shouldnt be any binding left, but to make sure... - - this.active = false; - } - } // start next animation - - - if (this.active) this.dequeue();else this.clearCurrent(); - } else if (!this.paused && this.active) { - // we continue animating when we are not at the end - this.startAnimFrame(); - } // save last eased position for once callback triggering - - - this.lastPos = eased; - return this; - }, - // calculates the step for every property and calls block with it - eachAt: function eachAt() { - var len, - at, - self = this, - target = this.target(), - s = this.situation; // apply animations which can be called trough a method - - for (var i in s.animations) { - at = [].concat(s.animations[i]).map(function (el) { - return typeof el !== 'string' && el.at ? el.at(s.ease(self.pos), self.pos) : el; - }); - target[i].apply(target, at); - } // apply animation which has to be applied with attr() - - - for (var i in s.attrs) { - at = [i].concat(s.attrs[i]).map(function (el) { - return typeof el !== 'string' && el.at ? el.at(s.ease(self.pos), self.pos) : el; - }); - target.attr.apply(target, at); - } // apply animation which has to be applied with style() - - - for (var i in s.styles) { - at = [i].concat(s.styles[i]).map(function (el) { - return typeof el !== 'string' && el.at ? el.at(s.ease(self.pos), self.pos) : el; - }); - target.style.apply(target, at); - } // animate initialTransformation which has to be chained - - - if (s.transforms.length) { - // get initial initialTransformation - at = s.initialTransformation; - - for (var i = 0, len = s.transforms.length; i < len; i++) { - // get next transformation in chain - var a = s.transforms[i]; // multiply matrix directly - - if (a instanceof SVG.Matrix) { - if (a.relative) { - at = at.multiply(new SVG.Matrix().morph(a).at(s.ease(this.pos))); - } else { - at = at.morph(a).at(s.ease(this.pos)); - } - - continue; - } // when transformation is absolute we have to reset the needed transformation first - - - if (!a.relative) { - a.undo(at.extract()); - } // and reapply it after - - - at = at.multiply(a.at(s.ease(this.pos))); - } // set new matrix on element - - - target.matrix(at); - } - - return this; - }, - // adds an once-callback which is called at a specific position and never again - once: function once(pos, fn, isEased) { - var c = this.last(); - if (!isEased) pos = c.ease(pos); - c.once[pos] = fn; - return this; - }, - _callStart: function _callStart() { - setTimeout(function () { - this.start(); - }.bind(this), 0); - return this; - } - }, - parent: SVG.Element, - // Add method to parent elements - construct: { - // Get fx module or create a new one, then animate with given duration and ease - animate: function animate(o, ease, delay) { - return (this.fx || (this.fx = new SVG.FX(this))).animate(o, ease, delay); - }, - delay: function delay(_delay) { - return (this.fx || (this.fx = new SVG.FX(this))).delay(_delay); - }, - stop: function stop(jumpToEnd, clearQueue) { - if (this.fx) { - this.fx.stop(jumpToEnd, clearQueue); - } - - return this; - }, - finish: function finish() { - if (this.fx) { - this.fx.finish(); - } - - return this; - } - } - }); // MorphObj is used whenever no morphable object is given - - SVG.MorphObj = SVG.invent({ - create: function create(from, to) { - // prepare color for morphing - if (SVG.Color.isColor(to)) return new SVG.Color(from).morph(to); // check if we have a list of values - - if (SVG.regex.delimiter.test(from)) { - // prepare path for morphing - if (SVG.regex.pathLetters.test(from)) return new SVG.PathArray(from).morph(to); // prepare value list for morphing - else return new SVG.Array(from).morph(to); - } // prepare number for morphing - - - if (SVG.regex.numberAndUnit.test(to)) return new SVG.Number(from).morph(to); // prepare for plain morphing - - this.value = from; - this.destination = to; - }, - extend: { - at: function at(pos, real) { - return real < 1 ? this.value : this.destination; - }, - valueOf: function valueOf() { - return this.value; - } - } - }); - SVG.extend(SVG.FX, { - // Add animatable attributes - attr: function attr(a, v, relative) { - // apply attributes individually - if (_typeof(a) === 'object') { - for (var key in a) { - this.attr(key, a[key]); - } - } else { - this.add(a, v, 'attrs'); - } - - return this; - }, - // Add animatable plot - plot: function plot(a, b, c, d) { - // Lines can be plotted with 4 arguments - if (arguments.length == 4) { - return this.plot([a, b, c, d]); - } - - return this.add('plot', new (this.target().morphArray)(a)); - } - }); - SVG.Box = SVG.invent({ - create: function create(x, y, width, height) { - if (_typeof(x) === 'object' && !(x instanceof SVG.Element)) { - // chromes getBoundingClientRect has no x and y property - return SVG.Box.call(this, x.left != null ? x.left : x.x, x.top != null ? x.top : x.y, x.width, x.height); - } else if (arguments.length == 4) { - this.x = x; - this.y = y; - this.width = width; - this.height = height; - } // add center, right, bottom... - - - fullBox(this); - } - }); - SVG.BBox = SVG.invent({ - // Initialize - create: function create(element) { - SVG.Box.apply(this, [].slice.call(arguments)); // get values if element is given - - if (element instanceof SVG.Element) { - var box; // yes this is ugly, but Firefox can be a pain when it comes to elements that are not yet rendered - - try { - if (!document.documentElement.contains) { - // This is IE - it does not support contains() for top-level SVGs - var topParent = element.node; - - while (topParent.parentNode) { - topParent = topParent.parentNode; - } - - if (topParent != document) throw new Error('Element not in the dom'); - } else {// the element is NOT in the dom, throw error - // disabling the check below which fixes issue #76 - // if (!document.documentElement.contains(element.node)) throw new Exception('Element not in the dom') - } // find native bbox - - - box = element.node.getBBox(); - } catch (e) { - if (element instanceof SVG.Shape) { - if (!SVG.parser.draw) { - // fixes apexcharts/vue-apexcharts #14 - SVG.prepare(); - } - - var clone = element.clone(SVG.parser.draw.instance).show(); - - if (clone && clone.node && typeof clone.node.getBBox === 'function') { - // this check fixes jest unit tests - box = clone.node.getBBox(); - } - - if (clone && typeof clone.remove === 'function') { - clone.remove(); - } - } else { - box = { - x: element.node.clientLeft, - y: element.node.clientTop, - width: element.node.clientWidth, - height: element.node.clientHeight - }; - } - } - - SVG.Box.call(this, box); - } - }, - // Define ancestor - inherit: SVG.Box, - // Define Parent - parent: SVG.Element, - // Constructor - construct: { - // Get bounding box - bbox: function bbox() { - return new SVG.BBox(this); - } - } - }); - SVG.BBox.prototype.constructor = SVG.BBox; - SVG.Matrix = SVG.invent({ - // Initialize - create: function create(source) { - var base = arrayToMatrix([1, 0, 0, 1, 0, 0]); // ensure source as object - - source = source === null ? base : source instanceof SVG.Element ? source.matrixify() : typeof source === 'string' ? arrayToMatrix(source.split(SVG.regex.delimiter).map(parseFloat)) : arguments.length == 6 ? arrayToMatrix([].slice.call(arguments)) : Array.isArray(source) ? arrayToMatrix(source) : source && _typeof(source) === 'object' ? source : base; // merge source - - for (var i = abcdef.length - 1; i >= 0; --i) { - this[abcdef[i]] = source[abcdef[i]] != null ? source[abcdef[i]] : base[abcdef[i]]; - } - }, - // Add methods - extend: { - // Extract individual transformations - extract: function extract() { - // find delta transform points - var px = deltaTransformPoint(this, 0, 1); - deltaTransformPoint(this, 1, 0); - var skewX = 180 / Math.PI * Math.atan2(px.y, px.x) - 90; - return { - // translation - x: this.e, - y: this.f, - transformedX: (this.e * Math.cos(skewX * Math.PI / 180) + this.f * Math.sin(skewX * Math.PI / 180)) / Math.sqrt(this.a * this.a + this.b * this.b), - transformedY: (this.f * Math.cos(skewX * Math.PI / 180) + this.e * Math.sin(-skewX * Math.PI / 180)) / Math.sqrt(this.c * this.c + this.d * this.d), - // rotation - rotation: skewX, - a: this.a, - b: this.b, - c: this.c, - d: this.d, - e: this.e, - f: this.f, - matrix: new SVG.Matrix(this) - }; - }, - // Clone matrix - clone: function clone() { - return new SVG.Matrix(this); - }, - // Morph one matrix into another - morph: function morph(matrix) { - // store new destination - this.destination = new SVG.Matrix(matrix); - return this; - }, - // Multiplies by given matrix - multiply: function multiply(matrix) { - return new SVG.Matrix(this.native().multiply(parseMatrix(matrix).native())); - }, - // Inverses matrix - inverse: function inverse() { - return new SVG.Matrix(this.native().inverse()); - }, - // Translate matrix - translate: function translate(x, y) { - return new SVG.Matrix(this.native().translate(x || 0, y || 0)); - }, - // Convert to native SVGMatrix - native: function native() { - // create new matrix - var matrix = SVG.parser.native.createSVGMatrix(); // update with current values - - for (var i = abcdef.length - 1; i >= 0; i--) { - matrix[abcdef[i]] = this[abcdef[i]]; - } - - return matrix; - }, - // Convert matrix to string - toString: function toString() { - // Construct the matrix directly, avoid values that are too small - return 'matrix(' + float32String(this.a) + ',' + float32String(this.b) + ',' + float32String(this.c) + ',' + float32String(this.d) + ',' + float32String(this.e) + ',' + float32String(this.f) + ')'; - } - }, - // Define parent - parent: SVG.Element, - // Add parent method - construct: { - // Get current matrix - ctm: function ctm() { - return new SVG.Matrix(this.node.getCTM()); - }, - // Get current screen matrix - screenCTM: function screenCTM() { - /* https://bugzilla.mozilla.org/show_bug.cgi?id=1344537 - This is needed because FF does not return the transformation matrix - for the inner coordinate system when getScreenCTM() is called on nested svgs. - However all other Browsers do that */ - if (this instanceof SVG.Nested) { - var rect = this.rect(1, 1); - var m = rect.node.getScreenCTM(); - rect.remove(); - return new SVG.Matrix(m); - } - - return new SVG.Matrix(this.node.getScreenCTM()); - } - } - }); - SVG.Point = SVG.invent({ - // Initialize - create: function create(x, y) { - var source, - base = { - x: 0, - y: 0 - }; // ensure source as object - - source = Array.isArray(x) ? { - x: x[0], - y: x[1] - } : _typeof(x) === 'object' ? { - x: x.x, - y: x.y - } : x != null ? { - x: x, - y: y != null ? y : x - } : base; // If y has no value, then x is used has its value - // merge source - - this.x = source.x; - this.y = source.y; - }, - // Add methods - extend: { - // Clone point - clone: function clone() { - return new SVG.Point(this); - }, - // Morph one point into another - morph: function morph(x, y) { - // store new destination - this.destination = new SVG.Point(x, y); - return this; - } - } - }); - SVG.extend(SVG.Element, { - // Get point - point: function point(x, y) { - return new SVG.Point(x, y).transform(this.screenCTM().inverse()); - } - }); - SVG.extend(SVG.Element, { - // Set svg element attribute - attr: function attr(a, v, n) { - // act as full getter - if (a == null) { - // get an object of attributes - a = {}; - v = this.node.attributes; - - for (var n = v.length - 1; n >= 0; n--) { - a[v[n].nodeName] = SVG.regex.isNumber.test(v[n].nodeValue) ? parseFloat(v[n].nodeValue) : v[n].nodeValue; - } - - return a; - } else if (_typeof(a) === 'object') { - // apply every attribute individually if an object is passed - for (var v_ in a) { - this.attr(v_, a[v_]); - } - } else if (v === null) { - // remove value - this.node.removeAttribute(a); - } else if (v == null) { - // act as a getter if the first and only argument is not an object - v = this.node.getAttribute(a); - return v == null ? SVG.defaults.attrs[a] : SVG.regex.isNumber.test(v) ? parseFloat(v) : v; - } else { - // BUG FIX: some browsers will render a stroke if a color is given even though stroke width is 0 - if (a == 'stroke-width') { - this.attr('stroke', parseFloat(v) > 0 ? this._stroke : null); - } else if (a == 'stroke') { - this._stroke = v; - } // convert image fill and stroke to patterns - - - if (a == 'fill' || a == 'stroke') { - if (SVG.regex.isImage.test(v)) { - v = this.doc().defs().image(v, 0, 0); - } - - if (v instanceof SVG.Image) { - v = this.doc().defs().pattern(0, 0, function () { - this.add(v); - }); - } - } // ensure correct numeric values (also accepts NaN and Infinity) - - - if (typeof v === 'number') { - v = new SVG.Number(v); - } // ensure full hex color - else if (SVG.Color.isColor(v)) { - v = new SVG.Color(v); - } // parse array values - else if (Array.isArray(v)) { - v = new SVG.Array(v); - } // if the passed attribute is leading... - - - if (a == 'leading') { - // ... call the leading method instead - if (this.leading) { - this.leading(v); - } - } else { - // set given attribute on node - typeof n === 'string' ? this.node.setAttributeNS(n, a, v.toString()) : this.node.setAttribute(a, v.toString()); - } // rebuild if required - - - if (this.rebuild && (a == 'font-size' || a == 'x')) { - this.rebuild(a, v); - } - } - - return this; - } - }); - SVG.extend(SVG.Element, { - // Add transformations - transform: function transform(o, relative) { - // get target in case of the fx module, otherwise reference this - var target = this, - matrix; - // act as a getter - - if (_typeof(o) !== 'object') { - // get current matrix - matrix = new SVG.Matrix(target).extract(); - return typeof o === 'string' ? matrix[o] : matrix; - } // get current matrix - - - matrix = new SVG.Matrix(target); // ensure relative flag - - relative = !!relative || !!o.relative; // act on matrix - - if (o.a != null) { - matrix = relative // relative - ? matrix.multiply(new SVG.Matrix(o)) // absolute - : new SVG.Matrix(o); - } - - return this.attr('transform', matrix); - } - }); - SVG.extend(SVG.Element, { - // Reset all transformations - untransform: function untransform() { - return this.attr('transform', null); - }, - // merge the whole transformation chain into one matrix and returns it - matrixify: function matrixify() { - var matrix = (this.attr('transform') || '').split(SVG.regex.transforms).slice(0, -1).map(function (str) { - // generate key => value pairs - var kv = str.trim().split('('); - return [kv[0], kv[1].split(SVG.regex.delimiter).map(function (str) { - return parseFloat(str); - })]; - }) // merge every transformation into one matrix - .reduce(function (matrix, transform) { - if (transform[0] == 'matrix') return matrix.multiply(arrayToMatrix(transform[1])); - return matrix[transform[0]].apply(matrix, transform[1]); - }, new SVG.Matrix()); - return matrix; - }, - // add an element to another parent without changing the visual representation on the screen - toParent: function toParent(parent) { - if (this == parent) return this; - var ctm = this.screenCTM(); - var pCtm = parent.screenCTM().inverse(); - this.addTo(parent).untransform().transform(pCtm.multiply(ctm)); - return this; - }, - // same as above with parent equals root-svg - toDoc: function toDoc() { - return this.toParent(this.doc()); - } - }); - SVG.Transformation = SVG.invent({ - create: function create(source, inversed) { - if (arguments.length > 1 && typeof inversed !== 'boolean') { - return this.constructor.call(this, [].slice.call(arguments)); - } - - if (Array.isArray(source)) { - for (var i = 0, len = this.arguments.length; i < len; ++i) { - this[this.arguments[i]] = source[i]; - } - } else if (source && _typeof(source) === 'object') { - for (var i = 0, len = this.arguments.length; i < len; ++i) { - this[this.arguments[i]] = source[this.arguments[i]]; - } - } - - this.inversed = false; - - if (inversed === true) { - this.inversed = true; - } - } - }); - SVG.Translate = SVG.invent({ - parent: SVG.Matrix, - inherit: SVG.Transformation, - create: function create(source, inversed) { - this.constructor.apply(this, [].slice.call(arguments)); - }, - extend: { - arguments: ['transformedX', 'transformedY'], - method: 'translate' - } - }); - SVG.extend(SVG.Element, { - // Dynamic style generator - style: function style(s, v) { - if (arguments.length == 0) { - // get full style - return this.node.style.cssText || ''; - } else if (arguments.length < 2) { - // apply every style individually if an object is passed - if (_typeof(s) === 'object') { - for (var v_ in s) { - this.style(v_, s[v_]); - } - } else if (SVG.regex.isCss.test(s)) { - // parse css string - s = s.split(/\s*;\s*/) // filter out suffix ; and stuff like ;; - .filter(function (e) { - return !!e; - }).map(function (e) { - return e.split(/\s*:\s*/); - }); // apply every definition individually - - while (v = s.pop()) { - this.style(v[0], v[1]); - } - } else { - // act as a getter if the first and only argument is not an object - return this.node.style[camelCase(s)]; - } - } else { - this.node.style[camelCase(s)] = v === null || SVG.regex.isBlank.test(v) ? '' : v; - } - - return this; - } - }); - SVG.Parent = SVG.invent({ - // Initialize node - create: function create(element) { - this.constructor.call(this, element); - }, - // Inherit from - inherit: SVG.Element, - // Add class methods - extend: { - // Returns all child elements - children: function children() { - return SVG.utils.map(SVG.utils.filterSVGElements(this.node.childNodes), function (node) { - return SVG.adopt(node); - }); - }, - // Add given element at a position - add: function add(element, i) { - if (i == null) { - this.node.appendChild(element.node); - } else if (element.node != this.node.childNodes[i]) { - this.node.insertBefore(element.node, this.node.childNodes[i]); - } - - return this; - }, - // Basically does the same as `add()` but returns the added element instead - put: function put(element, i) { - this.add(element, i); - return element; - }, - // Checks if the given element is a child - has: function has(element) { - return this.index(element) >= 0; - }, - // Gets index of given element - index: function index(element) { - return [].slice.call(this.node.childNodes).indexOf(element.node); - }, - // Get a element at the given index - get: function get(i) { - return SVG.adopt(this.node.childNodes[i]); - }, - // Get first child - first: function first() { - return this.get(0); - }, - // Get the last child - last: function last() { - return this.get(this.node.childNodes.length - 1); - }, - // Iterates over all children and invokes a given block - each: function each(block, deep) { - var il, - children = this.children(); - - for (var i = 0, il = children.length; i < il; i++) { - if (children[i] instanceof SVG.Element) { - block.apply(children[i], [i, children]); - } - - if (deep && children[i] instanceof SVG.Container) { - children[i].each(block, deep); - } - } - - return this; - }, - // Remove a given child - removeElement: function removeElement(element) { - this.node.removeChild(element.node); - return this; - }, - // Remove all elements in this container - clear: function clear() { - // remove children - while (this.node.hasChildNodes()) { - this.node.removeChild(this.node.lastChild); - } // remove defs reference - - - delete this._defs; - return this; - }, - // Get defs - defs: function defs() { - return this.doc().defs(); - } - } - }); - SVG.extend(SVG.Parent, { - ungroup: function ungroup(parent, depth) { - if (depth === 0 || this instanceof SVG.Defs || this.node == SVG.parser.draw) return this; - parent = parent || (this instanceof SVG.Doc ? this : this.parent(SVG.Parent)); - depth = depth || Infinity; - this.each(function () { - if (this instanceof SVG.Defs) return this; - if (this instanceof SVG.Parent) return this.ungroup(parent, depth - 1); - return this.toParent(parent); - }); - this.node.firstChild || this.remove(); - return this; - }, - flatten: function flatten(parent, depth) { - return this.ungroup(parent, depth); - } - }); - SVG.Container = SVG.invent({ - // Initialize node - create: function create(element) { - this.constructor.call(this, element); - }, - // Inherit from - inherit: SVG.Parent - }); - SVG.ViewBox = SVG.invent({ - // Define parent - parent: SVG.Container, - // Add parent method - construct: {} - }) // Add events to elements - ; - ['click', 'dblclick', 'mousedown', 'mouseup', 'mouseover', 'mouseout', 'mousemove', // , 'mouseenter' -> not supported by IE - // , 'mouseleave' -> not supported by IE - 'touchstart', 'touchmove', 'touchleave', 'touchend', 'touchcancel'].forEach(function (event) { - // add event to SVG.Element - SVG.Element.prototype[event] = function (f) { - // bind event to element rather than element node - SVG.on(this.node, event, f); - return this; - }; - }); // Initialize listeners stack - - SVG.listeners = []; - SVG.handlerMap = []; - SVG.listenerId = 0; // Add event binder in the SVG namespace - - SVG.on = function (node, event, listener, binding, options) { - // create listener, get object-index - var l = listener.bind(binding || node.instance || node), - index = (SVG.handlerMap.indexOf(node) + 1 || SVG.handlerMap.push(node)) - 1, - ev = event.split('.')[0], - ns = event.split('.')[1] || '*'; // ensure valid object - - SVG.listeners[index] = SVG.listeners[index] || {}; - SVG.listeners[index][ev] = SVG.listeners[index][ev] || {}; - SVG.listeners[index][ev][ns] = SVG.listeners[index][ev][ns] || {}; - - if (!listener._svgjsListenerId) { - listener._svgjsListenerId = ++SVG.listenerId; - } // reference listener - - - SVG.listeners[index][ev][ns][listener._svgjsListenerId] = l; // add listener - - node.addEventListener(ev, l, options || { - passive: true - }); - }; // Add event unbinder in the SVG namespace - - - SVG.off = function (node, event, listener) { - var index = SVG.handlerMap.indexOf(node), - ev = event && event.split('.')[0], - ns = event && event.split('.')[1], - namespace = ''; - if (index == -1) return; - - if (listener) { - if (typeof listener === 'function') listener = listener._svgjsListenerId; - if (!listener) return; // remove listener reference - - if (SVG.listeners[index][ev] && SVG.listeners[index][ev][ns || '*']) { - // remove listener - node.removeEventListener(ev, SVG.listeners[index][ev][ns || '*'][listener], false); - delete SVG.listeners[index][ev][ns || '*'][listener]; - } - } else if (ns && ev) { - // remove all listeners for a namespaced event - if (SVG.listeners[index][ev] && SVG.listeners[index][ev][ns]) { - for (var listener_ in SVG.listeners[index][ev][ns]) { - SVG.off(node, [ev, ns].join('.'), listener_); - } - - delete SVG.listeners[index][ev][ns]; - } - } else if (ns) { - // remove all listeners for a specific namespace - for (var event_ in SVG.listeners[index]) { - for (var namespace in SVG.listeners[index][event_]) { - if (ns === namespace) { - SVG.off(node, [event_, ns].join('.')); - } - } - } - } else if (ev) { - // remove all listeners for the event - if (SVG.listeners[index][ev]) { - for (var namespace in SVG.listeners[index][ev]) { - SVG.off(node, [ev, namespace].join('.')); - } - - delete SVG.listeners[index][ev]; - } - } else { - // remove all listeners on a given node - for (var event_ in SVG.listeners[index]) { - SVG.off(node, event_); - } - - delete SVG.listeners[index]; - delete SVG.handlerMap[index]; - } - }; // - - - SVG.extend(SVG.Element, { - // Bind given event to listener - on: function on(event, listener, binding, options) { - SVG.on(this.node, event, listener, binding, options); - return this; - }, - // Unbind event from listener - off: function off(event, listener) { - SVG.off(this.node, event, listener); - return this; - }, - // Fire given event - fire: function fire(event, data) { - // Dispatch event - if (event instanceof window.Event) { - this.node.dispatchEvent(event); - } else { - this.node.dispatchEvent(event = new SVG.CustomEvent(event, { - detail: data, - cancelable: true - })); - } - - this._event = event; - return this; - }, - event: function event() { - return this._event; - } - }); - SVG.Defs = SVG.invent({ - // Initialize node - create: 'defs', - // Inherit from - inherit: SVG.Container - }); - SVG.G = SVG.invent({ - // Initialize node - create: 'g', - // Inherit from - inherit: SVG.Container, - // Add class methods - extend: { - // Move over x-axis - x: function x(_x2) { - return _x2 == null ? this.transform('x') : this.transform({ - x: _x2 - this.x() - }, true); - } - }, - // Add parent method - construct: { - // Create a group element - group: function group() { - return this.put(new SVG.G()); - } - } - }); - SVG.Doc = SVG.invent({ - // Initialize node - create: function create(element) { - if (element) { - // ensure the presence of a dom element - element = typeof element === 'string' ? document.getElementById(element) : element; // If the target is an svg element, use that element as the main wrapper. - // This allows svg.js to work with svg documents as well. - - if (element.nodeName == 'svg') { - this.constructor.call(this, element); - } else { - this.constructor.call(this, SVG.create('svg')); - element.appendChild(this.node); - this.size('100%', '100%'); - } // set svg element attributes and ensure defs node - - - this.namespace().defs(); - } - }, - // Inherit from - inherit: SVG.Container, - // Add class methods - extend: { - // Add namespaces - namespace: function namespace() { - return this.attr({ - xmlns: SVG.ns, - version: '1.1' - }).attr('xmlns:xlink', SVG.xlink, SVG.xmlns).attr('xmlns:svgjs', SVG.svgjs, SVG.xmlns); - }, - // Creates and returns defs element - defs: function defs() { - if (!this._defs) { - var defs; // Find or create a defs element in this instance - - if (defs = this.node.getElementsByTagName('defs')[0]) { - this._defs = SVG.adopt(defs); - } else { - this._defs = new SVG.Defs(); - } // Make sure the defs node is at the end of the stack - - - this.node.appendChild(this._defs.node); - } - - return this._defs; - }, - // custom parent method - parent: function parent() { - if (!this.node.parentNode || this.node.parentNode.nodeName == '#document') return null; - return this.node.parentNode; - }, - // Removes the doc from the DOM - remove: function remove() { - if (this.parent()) { - this.parent().removeChild(this.node); - } - - return this; - }, - clear: function clear() { - // remove children - while (this.node.hasChildNodes()) { - this.node.removeChild(this.node.lastChild); - } // remove defs reference - - - delete this._defs; // add back parser - - if (SVG.parser.draw && !SVG.parser.draw.parentNode) { - this.node.appendChild(SVG.parser.draw); - } - - return this; - }, - clone: function clone(parent) { - // write dom data to the dom so the clone can pickup the data - this.writeDataToDom(); // get reference to node - - var node = this.node; // clone element and assign new id - - var clone = assignNewId(node.cloneNode(true)); // insert the clone in the given parent or after myself - - if (parent) { - (parent.node || parent).appendChild(clone.node); - } else { - node.parentNode.insertBefore(clone.node, node.nextSibling); - } - - return clone; - } - } - }); // ### This module adds backward / forward functionality to elements. - // - - SVG.extend(SVG.Element, {// Get all siblings, including myself - }); - SVG.Gradient = SVG.invent({ - // Initialize node - create: function create(type) { - this.constructor.call(this, SVG.create(type + 'Gradient')); // store type - - this.type = type; - }, - // Inherit from - inherit: SVG.Container, - // Add class methods - extend: { - // Add a color stop - at: function at(offset, color, opacity) { - return this.put(new SVG.Stop()).update(offset, color, opacity); - }, - // Update gradient - update: function update(block) { - // remove all stops - this.clear(); // invoke passed block - - if (typeof block === 'function') { - block.call(this, this); - } - - return this; - }, - // Return the fill id - fill: function fill() { - return 'url(#' + this.id() + ')'; - }, - // Alias string convertion to fill - toString: function toString() { - return this.fill(); - }, - // custom attr to handle transform - attr: function attr(a, b, c) { - if (a == 'transform') a = 'gradientTransform'; - return SVG.Container.prototype.attr.call(this, a, b, c); - } - }, - // Add parent method - construct: { - // Create gradient element in defs - gradient: function gradient(type, block) { - return this.defs().gradient(type, block); - } - } - }); // Add animatable methods to both gradient and fx module - - SVG.extend(SVG.Gradient, SVG.FX, { - // From position - from: function from(x, y) { - return (this._target || this).type == 'radial' ? this.attr({ - fx: new SVG.Number(x), - fy: new SVG.Number(y) - }) : this.attr({ - x1: new SVG.Number(x), - y1: new SVG.Number(y) - }); - }, - // To position - to: function to(x, y) { - return (this._target || this).type == 'radial' ? this.attr({ - cx: new SVG.Number(x), - cy: new SVG.Number(y) - }) : this.attr({ - x2: new SVG.Number(x), - y2: new SVG.Number(y) - }); - } - }); // Base gradient generation - - SVG.extend(SVG.Defs, { - // define gradient - gradient: function gradient(type, block) { - return this.put(new SVG.Gradient(type)).update(block); - } - }); - SVG.Stop = SVG.invent({ - // Initialize node - create: 'stop', - // Inherit from - inherit: SVG.Element, - // Add class methods - extend: { - // add color stops - update: function update(o) { - if (typeof o === 'number' || o instanceof SVG.Number) { - o = { - offset: arguments[0], - color: arguments[1], - opacity: arguments[2] - }; - } // set attributes - - - if (o.opacity != null) this.attr('stop-opacity', o.opacity); - if (o.color != null) this.attr('stop-color', o.color); - if (o.offset != null) this.attr('offset', new SVG.Number(o.offset)); - return this; - } - } - }); - SVG.Pattern = SVG.invent({ - // Initialize node - create: 'pattern', - // Inherit from - inherit: SVG.Container, - // Add class methods - extend: { - // Return the fill id - fill: function fill() { - return 'url(#' + this.id() + ')'; - }, - // Update pattern by rebuilding - update: function update(block) { - // remove content - this.clear(); // invoke passed block - - if (typeof block === 'function') { - block.call(this, this); - } - - return this; - }, - // Alias string convertion to fill - toString: function toString() { - return this.fill(); - }, - // custom attr to handle transform - attr: function attr(a, b, c) { - if (a == 'transform') a = 'patternTransform'; - return SVG.Container.prototype.attr.call(this, a, b, c); - } - }, - // Add parent method - construct: { - // Create pattern element in defs - pattern: function pattern(width, height, block) { - return this.defs().pattern(width, height, block); - } - } - }); - SVG.extend(SVG.Defs, { - // Define gradient - pattern: function pattern(width, height, block) { - return this.put(new SVG.Pattern()).update(block).attr({ - x: 0, - y: 0, - width: width, - height: height, - patternUnits: 'userSpaceOnUse' - }); - } - }); - SVG.Shape = SVG.invent({ - // Initialize node - create: function create(element) { - this.constructor.call(this, element); - }, - // Inherit from - inherit: SVG.Element - }); - SVG.Symbol = SVG.invent({ - // Initialize node - create: 'symbol', - // Inherit from - inherit: SVG.Container, - construct: { - // create symbol - symbol: function symbol() { - return this.put(new SVG.Symbol()); - } - } - }); - SVG.Use = SVG.invent({ - // Initialize node - create: 'use', - // Inherit from - inherit: SVG.Shape, - // Add class methods - extend: { - // Use element as a reference - element: function element(_element, file) { - // Set lined element - return this.attr('href', (file || '') + '#' + _element, SVG.xlink); - } - }, - // Add parent method - construct: { - // Create a use element - use: function use(element, file) { - return this.put(new SVG.Use()).element(element, file); - } - } - }); - SVG.Rect = SVG.invent({ - // Initialize node - create: 'rect', - // Inherit from - inherit: SVG.Shape, - // Add parent method - construct: { - // Create a rect element - rect: function rect(width, height) { - return this.put(new SVG.Rect()).size(width, height); - } - } - }); - SVG.Circle = SVG.invent({ - // Initialize node - create: 'circle', - // Inherit from - inherit: SVG.Shape, - // Add parent method - construct: { - // Create circle element, based on ellipse - circle: function circle(size) { - return this.put(new SVG.Circle()).rx(new SVG.Number(size).divide(2)).move(0, 0); - } - } - }); - SVG.extend(SVG.Circle, SVG.FX, { - // Radius x value - rx: function rx(_rx) { - return this.attr('r', _rx); - }, - // Alias radius x value - ry: function ry(_ry) { - return this.rx(_ry); - } - }); - SVG.Ellipse = SVG.invent({ - // Initialize node - create: 'ellipse', - // Inherit from - inherit: SVG.Shape, - // Add parent method - construct: { - // Create an ellipse - ellipse: function ellipse(width, height) { - return this.put(new SVG.Ellipse()).size(width, height).move(0, 0); - } - } - }); - SVG.extend(SVG.Ellipse, SVG.Rect, SVG.FX, { - // Radius x value - rx: function rx(_rx2) { - return this.attr('rx', _rx2); - }, - // Radius y value - ry: function ry(_ry2) { - return this.attr('ry', _ry2); - } - }); // Add common method - - SVG.extend(SVG.Circle, SVG.Ellipse, { - // Move over x-axis - x: function x(_x3) { - return _x3 == null ? this.cx() - this.rx() : this.cx(_x3 + this.rx()); - }, - // Move over y-axis - y: function y(_y2) { - return _y2 == null ? this.cy() - this.ry() : this.cy(_y2 + this.ry()); - }, - // Move by center over x-axis - cx: function cx(x) { - return x == null ? this.attr('cx') : this.attr('cx', x); - }, - // Move by center over y-axis - cy: function cy(y) { - return y == null ? this.attr('cy') : this.attr('cy', y); - }, - // Set width of element - width: function width(_width2) { - return _width2 == null ? this.rx() * 2 : this.rx(new SVG.Number(_width2).divide(2)); - }, - // Set height of element - height: function height(_height2) { - return _height2 == null ? this.ry() * 2 : this.ry(new SVG.Number(_height2).divide(2)); - }, - // Custom size function - size: function size(width, height) { - var p = proportionalSize(this, width, height); - return this.rx(new SVG.Number(p.width).divide(2)).ry(new SVG.Number(p.height).divide(2)); - } - }); - SVG.Line = SVG.invent({ - // Initialize node - create: 'line', - // Inherit from - inherit: SVG.Shape, - // Add class methods - extend: { - // Get array - array: function array() { - return new SVG.PointArray([[this.attr('x1'), this.attr('y1')], [this.attr('x2'), this.attr('y2')]]); - }, - // Overwrite native plot() method - plot: function plot(x1, y1, x2, y2) { - if (x1 == null) { - return this.array(); - } else if (typeof y1 !== 'undefined') { - x1 = { - x1: x1, - y1: y1, - x2: x2, - y2: y2 - }; - } else { - x1 = new SVG.PointArray(x1).toLine(); - } - - return this.attr(x1); - }, - // Move by left top corner - move: function move(x, y) { - return this.attr(this.array().move(x, y).toLine()); - }, - // Set element size to given width and height - size: function size(width, height) { - var p = proportionalSize(this, width, height); - return this.attr(this.array().size(p.width, p.height).toLine()); - } - }, - // Add parent method - construct: { - // Create a line element - line: function line(x1, y1, x2, y2) { - // make sure plot is called as a setter - // x1 is not necessarily a number, it can also be an array, a string and a SVG.PointArray - return SVG.Line.prototype.plot.apply(this.put(new SVG.Line()), x1 != null ? [x1, y1, x2, y2] : [0, 0, 0, 0]); - } - } - }); - SVG.Polyline = SVG.invent({ - // Initialize node - create: 'polyline', - // Inherit from - inherit: SVG.Shape, - // Add parent method - construct: { - // Create a wrapped polyline element - polyline: function polyline(p) { - // make sure plot is called as a setter - return this.put(new SVG.Polyline()).plot(p || new SVG.PointArray()); - } - } - }); - SVG.Polygon = SVG.invent({ - // Initialize node - create: 'polygon', - // Inherit from - inherit: SVG.Shape, - // Add parent method - construct: { - // Create a wrapped polygon element - polygon: function polygon(p) { - // make sure plot is called as a setter - return this.put(new SVG.Polygon()).plot(p || new SVG.PointArray()); - } - } - }); // Add polygon-specific functions - - SVG.extend(SVG.Polyline, SVG.Polygon, { - // Get array - array: function array() { - return this._array || (this._array = new SVG.PointArray(this.attr('points'))); - }, - // Plot new path - plot: function plot(p) { - return p == null ? this.array() : this.clear().attr('points', typeof p === 'string' ? p : this._array = new SVG.PointArray(p)); - }, - // Clear array cache - clear: function clear() { - delete this._array; - return this; - }, - // Move by left top corner - move: function move(x, y) { - return this.attr('points', this.array().move(x, y)); - }, - // Set element size to given width and height - size: function size(width, height) { - var p = proportionalSize(this, width, height); - return this.attr('points', this.array().size(p.width, p.height)); - } - }); // unify all point to point elements - - SVG.extend(SVG.Line, SVG.Polyline, SVG.Polygon, { - // Define morphable array - morphArray: SVG.PointArray, - // Move by left top corner over x-axis - x: function x(_x4) { - return _x4 == null ? this.bbox().x : this.move(_x4, this.bbox().y); - }, - // Move by left top corner over y-axis - y: function y(_y3) { - return _y3 == null ? this.bbox().y : this.move(this.bbox().x, _y3); - }, - // Set width of element - width: function width(_width3) { - var b = this.bbox(); - return _width3 == null ? b.width : this.size(_width3, b.height); - }, - // Set height of element - height: function height(_height3) { - var b = this.bbox(); - return _height3 == null ? b.height : this.size(b.width, _height3); - } - }); - SVG.Path = SVG.invent({ - // Initialize node - create: 'path', - // Inherit from - inherit: SVG.Shape, - // Add class methods - extend: { - // Define morphable array - morphArray: SVG.PathArray, - // Get array - array: function array() { - return this._array || (this._array = new SVG.PathArray(this.attr('d'))); - }, - // Plot new path - plot: function plot(d) { - return d == null ? this.array() : this.clear().attr('d', typeof d === 'string' ? d : this._array = new SVG.PathArray(d)); - }, - // Clear array cache - clear: function clear() { - delete this._array; - return this; - } - }, - // Add parent method - construct: { - // Create a wrapped path element - path: function path(d) { - // make sure plot is called as a setter - return this.put(new SVG.Path()).plot(d || new SVG.PathArray()); - } - } - }); - SVG.Image = SVG.invent({ - // Initialize node - create: 'image', - // Inherit from - inherit: SVG.Shape, - // Add class methods - extend: { - // (re)load image - load: function load(url) { - if (!url) return this; - var self = this, - img = new window.Image(); // preload image - - SVG.on(img, 'load', function () { - SVG.off(img); - var p = self.parent(SVG.Pattern); - if (p === null) return; // ensure image size - - if (self.width() == 0 && self.height() == 0) { - self.size(img.width, img.height); - } // ensure pattern size if not set - - - if (p && p.width() == 0 && p.height() == 0) { - p.size(self.width(), self.height()); - } // callback - - - if (typeof self._loaded === 'function') { - self._loaded.call(self, { - width: img.width, - height: img.height, - ratio: img.width / img.height, - url: url - }); - } - }); - SVG.on(img, 'error', function (e) { - SVG.off(img); - - if (typeof self._error === 'function') { - self._error.call(self, e); - } - }); - return this.attr('href', img.src = this.src = url, SVG.xlink); - }, - // Add loaded callback - loaded: function loaded(_loaded) { - this._loaded = _loaded; - return this; - }, - error: function error(_error) { - this._error = _error; - return this; - } - }, - // Add parent method - construct: { - // create image element, load image and set its size - image: function image(source, width, height) { - return this.put(new SVG.Image()).load(source).size(width || 0, height || width || 0); - } - } - }); - SVG.Text = SVG.invent({ - // Initialize node - create: function create() { - this.constructor.call(this, SVG.create('text')); - this.dom.leading = new SVG.Number(1.3); // store leading value for rebuilding - - this._rebuild = true; // enable automatic updating of dy values - - this._build = false; // disable build mode for adding multiple lines - // set default font - - this.attr('font-family', SVG.defaults.attrs['font-family']); - }, - // Inherit from - inherit: SVG.Shape, - // Add class methods - extend: { - // Move over x-axis - x: function x(_x5) { - // act as getter - if (_x5 == null) { - return this.attr('x'); - } - - return this.attr('x', _x5); - }, - // Set the text content - text: function text(_text) { - // act as getter - if (typeof _text === 'undefined') { - var _text = ''; - var children = this.node.childNodes; - - for (var i = 0, len = children.length; i < len; ++i) { - // add newline if its not the first child and newLined is set to true - if (i != 0 && children[i].nodeType != 3 && SVG.adopt(children[i]).dom.newLined == true) { - _text += '\n'; - } // add content of this node - - - _text += children[i].textContent; - } - - return _text; - } // remove existing content - - - this.clear().build(true); - - if (typeof _text === 'function') { - // call block - _text.call(this, this); - } else { - // store text and make sure text is not blank - _text = _text.split('\n'); // build new lines - - for (var i = 0, il = _text.length; i < il; i++) { - this.tspan(_text[i]).newLine(); - } - } // disable build mode and rebuild lines - - - return this.build(false).rebuild(); - }, - // Set font size - size: function size(_size) { - return this.attr('font-size', _size).rebuild(); - }, - // Set / get leading - leading: function leading(value) { - // act as getter - if (value == null) { - return this.dom.leading; - } // act as setter - - - this.dom.leading = new SVG.Number(value); - return this.rebuild(); - }, - // Get all the first level lines - lines: function lines() { - var node = (this.textPath && this.textPath() || this).node; // filter tspans and map them to SVG.js instances - - var lines = SVG.utils.map(SVG.utils.filterSVGElements(node.childNodes), function (el) { - return SVG.adopt(el); - }); // return an instance of SVG.set - - return new SVG.Set(lines); - }, - // Rebuild appearance type - rebuild: function rebuild(_rebuild) { - // store new rebuild flag if given - if (typeof _rebuild === 'boolean') { - this._rebuild = _rebuild; - } // define position of all lines - - - if (this._rebuild) { - var self = this, - blankLineOffset = 0, - dy = this.dom.leading * new SVG.Number(this.attr('font-size')); - this.lines().each(function () { - if (this.dom.newLined) { - if (!self.textPath()) { - this.attr('x', self.attr('x')); - } - - if (this.text() == '\n') { - blankLineOffset += dy; - } else { - this.attr('dy', dy + blankLineOffset); - blankLineOffset = 0; - } - } - }); - this.fire('rebuild'); - } - - return this; - }, - // Enable / disable build mode - build: function build(_build) { - this._build = !!_build; - return this; - }, - // overwrite method from parent to set data properly - setData: function setData(o) { - this.dom = o; - this.dom.leading = new SVG.Number(o.leading || 1.3); - return this; - } - }, - // Add parent method - construct: { - // Create text element - text: function text(_text2) { - return this.put(new SVG.Text()).text(_text2); - }, - // Create plain text element - plain: function plain(text) { - return this.put(new SVG.Text()).plain(text); - } - } - }); - SVG.Tspan = SVG.invent({ - // Initialize node - create: 'tspan', - // Inherit from - inherit: SVG.Shape, - // Add class methods - extend: { - // Set text content - text: function text(_text3) { - if (_text3 == null) return this.node.textContent + (this.dom.newLined ? '\n' : ''); - typeof _text3 === 'function' ? _text3.call(this, this) : this.plain(_text3); - return this; - }, - // Shortcut dx - dx: function dx(_dx) { - return this.attr('dx', _dx); - }, - // Shortcut dy - dy: function dy(_dy) { - return this.attr('dy', _dy); - }, - // Create new line - newLine: function newLine() { - // fetch text parent - var t = this.parent(SVG.Text); // mark new line - - this.dom.newLined = true; // apply new hy¡n - - return this.dy(t.dom.leading * t.attr('font-size')).attr('x', t.x()); - } - } - }); - SVG.extend(SVG.Text, SVG.Tspan, { - // Create plain text node - plain: function plain(text) { - // clear if build mode is disabled - if (this._build === false) { - this.clear(); - } // create text node - - - this.node.appendChild(document.createTextNode(text)); - return this; - }, - // Create a tspan - tspan: function tspan(text) { - var node = (this.textPath && this.textPath() || this).node, - tspan = new SVG.Tspan(); // clear if build mode is disabled - - if (this._build === false) { - this.clear(); - } // add new tspan - - - node.appendChild(tspan.node); - return tspan.text(text); - }, - // Clear all lines - clear: function clear() { - var node = (this.textPath && this.textPath() || this).node; // remove existing child nodes - - while (node.hasChildNodes()) { - node.removeChild(node.lastChild); - } - - return this; - }, - // Get length of text element - length: function length() { - return this.node.getComputedTextLength(); - } - }); - SVG.TextPath = SVG.invent({ - // Initialize node - create: 'textPath', - // Inherit from - inherit: SVG.Parent, - // Define parent class - parent: SVG.Text, - // Add parent method - construct: { - morphArray: SVG.PathArray, - // return the array of the path track element - array: function array() { - var track = this.track(); - return track ? track.array() : null; - }, - // Plot path if any - plot: function plot(d) { - var track = this.track(), - pathArray = null; - - if (track) { - pathArray = track.plot(d); - } - - return d == null ? pathArray : this; - }, - // Get the path track element - track: function track() { - var path = this.textPath(); - - if (path) { - return path.reference('href'); - } - }, - // Get the textPath child - textPath: function textPath() { - if (this.node.firstChild && this.node.firstChild.nodeName == 'textPath') { - return SVG.adopt(this.node.firstChild); - } - } - } - }); - SVG.Nested = SVG.invent({ - // Initialize node - create: function create() { - this.constructor.call(this, SVG.create('svg')); - this.style('overflow', 'visible'); - }, - // Inherit from - inherit: SVG.Container, - // Add parent method - construct: { - // Create nested svg document - nested: function nested() { - return this.put(new SVG.Nested()); - } - } - }); // Define list of available attributes for stroke and fill - - var sugar = { - stroke: ['color', 'width', 'opacity', 'linecap', 'linejoin', 'miterlimit', 'dasharray', 'dashoffset'], - fill: ['color', 'opacity', 'rule'], - prefix: function prefix(t, a) { - return a == 'color' ? t : t + '-' + a; - } - } // Add sugar for fill and stroke - ; - ['fill', 'stroke'].forEach(function (m) { - var extension = {}; - - extension[m] = function (o) { - if (typeof o === 'undefined') { - return this; - } - - if (typeof o === 'string' || SVG.Color.isRgb(o) || o && typeof o.fill === 'function') { - this.attr(m, o); - } else // set all attributes from sugar.fill and sugar.stroke list - { - for (var i = sugar[m].length - 1; i >= 0; i--) { - if (o[sugar[m][i]] != null) { - this.attr(sugar.prefix(m, sugar[m][i]), o[sugar[m][i]]); - } - } - } - - return this; - }; - - SVG.extend(SVG.Element, SVG.FX, extension); - }); - SVG.extend(SVG.Element, SVG.FX, { - // Map translate to transform - translate: function translate(x, y) { - return this.transform({ - x: x, - y: y - }); - }, - // Map matrix to transform - matrix: function matrix(m) { - return this.attr('transform', new SVG.Matrix(arguments.length == 6 ? [].slice.call(arguments) : m)); - }, - // Opacity - opacity: function opacity(value) { - return this.attr('opacity', value); - }, - // Relative move over x axis - dx: function dx(x) { - return this.x(new SVG.Number(x).plus(this instanceof SVG.FX ? 0 : this.x()), true); - }, - // Relative move over y axis - dy: function dy(y) { - return this.y(new SVG.Number(y).plus(this instanceof SVG.FX ? 0 : this.y()), true); - } - }); - SVG.extend(SVG.Path, { - // Get path length - length: function length() { - return this.node.getTotalLength(); - }, - // Get point at length - pointAt: function pointAt(length) { - return this.node.getPointAtLength(length); - } - }); - SVG.Set = SVG.invent({ - // Initialize - create: function create(members) { - // Set initial state - Array.isArray(members) ? this.members = members : this.clear(); - }, - // Add class methods - extend: { - // Add element to set - add: function add() { - var il, - elements = [].slice.call(arguments); - - for (var i = 0, il = elements.length; i < il; i++) { - this.members.push(elements[i]); - } - - return this; - }, - // Remove element from set - remove: function remove(element) { - var i = this.index(element); // remove given child - - if (i > -1) { - this.members.splice(i, 1); - } - - return this; - }, - // Iterate over all members - each: function each(block) { - for (var i = 0, il = this.members.length; i < il; i++) { - block.apply(this.members[i], [i, this.members]); - } - - return this; - }, - // Restore to defaults - clear: function clear() { - // initialize store - this.members = []; - return this; - }, - // Get the length of a set - length: function length() { - return this.members.length; - }, - // Checks if a given element is present in set - has: function has(element) { - return this.index(element) >= 0; - }, - // retuns index of given element in set - index: function index(element) { - return this.members.indexOf(element); - }, - // Get member at given index - get: function get(i) { - return this.members[i]; - }, - // Get first member - first: function first() { - return this.get(0); - }, - // Get last member - last: function last() { - return this.get(this.members.length - 1); - }, - // Default value - valueOf: function valueOf() { - return this.members; - } - }, - // Add parent method - construct: { - // Create a new set - set: function set(members) { - return new SVG.Set(members); - } - } - }); - SVG.FX.Set = SVG.invent({ - // Initialize node - create: function create(set) { - // store reference to set - this.set = set; - } - }); // Alias methods - - SVG.Set.inherit = function () { - var methods = []; // gather shape methods - - for (var m in SVG.Shape.prototype) { - if (typeof SVG.Shape.prototype[m] === 'function' && typeof SVG.Set.prototype[m] !== 'function') { - methods.push(m); - } - } // apply shape aliasses - - - methods.forEach(function (method) { - SVG.Set.prototype[method] = function () { - for (var i = 0, il = this.members.length; i < il; i++) { - if (this.members[i] && typeof this.members[i][method] === 'function') { - this.members[i][method].apply(this.members[i], arguments); - } - } - - return method == 'animate' ? this.fx || (this.fx = new SVG.FX.Set(this)) : this; - }; - }); // clear methods for the next round - - methods = []; // gather fx methods - - for (var m in SVG.FX.prototype) { - if (typeof SVG.FX.prototype[m] === 'function' && typeof SVG.FX.Set.prototype[m] !== 'function') { - methods.push(m); - } - } // apply fx aliasses - - - methods.forEach(function (method) { - SVG.FX.Set.prototype[method] = function () { - for (var i = 0, il = this.set.members.length; i < il; i++) { - this.set.members[i].fx[method].apply(this.set.members[i].fx, arguments); - } - - return this; - }; - }); - }; - - SVG.extend(SVG.Element, {}); - SVG.extend(SVG.Element, { - // Remember arbitrary data - remember: function remember(k, v) { - // remember every item in an object individually - if (_typeof(arguments[0]) === 'object') { - for (var v_ in k) { - this.remember(v_, k[v_]); - } - } // retrieve memory - else if (arguments.length == 1) { - return this.memory()[k]; - } // store memory - else { - this.memory()[k] = v; - } - - return this; - }, - // Erase a given memory - forget: function forget() { - if (arguments.length == 0) { - this._memory = {}; - } else { - for (var i = arguments.length - 1; i >= 0; i--) { - delete this.memory()[arguments[i]]; - } - } - - return this; - }, - // Initialize or return local memory object - memory: function memory() { - return this._memory || (this._memory = {}); - } - }); // Method for getting an element by id - - SVG.get = function (id) { - var node = document.getElementById(idFromReference(id) || id); - return SVG.adopt(node); - }; // Select elements by query string - - - SVG.select = function (query, parent) { - return new SVG.Set(SVG.utils.map((parent || document).querySelectorAll(query), function (node) { - return SVG.adopt(node); - })); - }; - - SVG.extend(SVG.Parent, { - // Scoped select method - select: function select(query) { - return SVG.select(query, this.node); - } - }); - - function pathRegReplace(a, b, c, d) { - return c + d.replace(SVG.regex.dots, ' .'); - } // creates deep clone of array - - - function _is(el, obj) { - return el instanceof obj; - } // tests if a given selector matches an element - - - function _matches(el, selector) { - return (el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector).call(el, selector); - } // Convert dash-separated-string to camelCase - - - function camelCase(s) { - return s.toLowerCase().replace(/-(.)/g, function (m, g) { - return g.toUpperCase(); - }); - } // Capitalize first letter of a string - - - function capitalize(s) { - return s.charAt(0).toUpperCase() + s.slice(1); - } // Ensure to six-based hex - - - function fullHex(hex) { - return hex.length == 4 ? ['#', hex.substring(1, 2), hex.substring(1, 2), hex.substring(2, 3), hex.substring(2, 3), hex.substring(3, 4), hex.substring(3, 4)].join('') : hex; - } // Component to hex value - - - function compToHex(comp) { - var hex = comp.toString(16); - return hex.length == 1 ? '0' + hex : hex; - } // Calculate proportional width and height values when necessary - - - function proportionalSize(element, width, height) { - if (width == null || height == null) { - var box = element.bbox(); - - if (width == null) { - width = box.width / box.height * height; - } else if (height == null) { - height = box.height / box.width * width; - } - } - - return { - width: width, - height: height - }; - } // Delta transform point - - - function deltaTransformPoint(matrix, x, y) { - return { - x: x * matrix.a + y * matrix.c + 0, - y: x * matrix.b + y * matrix.d + 0 - }; - } // Map matrix array to object - - - function arrayToMatrix(a) { - return { - a: a[0], - b: a[1], - c: a[2], - d: a[3], - e: a[4], - f: a[5] - }; - } // Parse matrix if required - - - function parseMatrix(matrix) { - if (!(matrix instanceof SVG.Matrix)) { - matrix = new SVG.Matrix(matrix); - } - - return matrix; - } // Add centre point to transform object - - - function arrayToString(a) { - for (var i = 0, il = a.length, s = ''; i < il; i++) { - s += a[i][0]; - - if (a[i][1] != null) { - s += a[i][1]; - - if (a[i][2] != null) { - s += ' '; - s += a[i][2]; - - if (a[i][3] != null) { - s += ' '; - s += a[i][3]; - s += ' '; - s += a[i][4]; - - if (a[i][5] != null) { - s += ' '; - s += a[i][5]; - s += ' '; - s += a[i][6]; - - if (a[i][7] != null) { - s += ' '; - s += a[i][7]; - } - } - } - } - } - } - - return s + ' '; - } // Deep new id assignment - - - function assignNewId(node) { - // do the same for SVG child nodes as well - for (var i = node.childNodes.length - 1; i >= 0; i--) { - if (node.childNodes[i] instanceof window.SVGElement) { - assignNewId(node.childNodes[i]); - } - } - - return SVG.adopt(node).id(SVG.eid(node.nodeName)); - } // Add more bounding box properties - - - function fullBox(b) { - if (b.x == null) { - b.x = 0; - b.y = 0; - b.width = 0; - b.height = 0; - } - - b.w = b.width; - b.h = b.height; - b.x2 = b.x + b.width; - b.y2 = b.y + b.height; - b.cx = b.x + b.width / 2; - b.cy = b.y + b.height / 2; - return b; - } // Get id from reference string - - - function idFromReference(url) { - var m = (url || '').toString().match(SVG.regex.reference); - if (m) return m[1]; - } // If values like 1e-88 are passed, this is not a valid 32 bit float, - // but in those cases, we are so close to 0 that 0 works well! - - - function float32String(v) { - return Math.abs(v) > 1e-37 ? v : 0; - } // Create matrix array for looping - - - var abcdef = 'abcdef'.split(''); // Add CustomEvent to IE9 and IE10 - - if (typeof window.CustomEvent !== 'function') { - // Code from: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent - var CustomEventPoly = function CustomEventPoly(event, options) { - options = options || { - bubbles: false, - cancelable: false, - detail: undefined - }; - var e = document.createEvent('CustomEvent'); - e.initCustomEvent(event, options.bubbles, options.cancelable, options.detail); - return e; - }; - - CustomEventPoly.prototype = window.Event.prototype; - SVG.CustomEvent = CustomEventPoly; - } else { - SVG.CustomEvent = window.CustomEvent; - } - - return SVG; - }); - - /*! svg.filter.js - v2.0.2 - 2016-02-24 - * https://github.com/wout/svg.filter.js - * Copyright (c) 2016 Wout Fierens; Licensed MIT */ - (function() { - - // Main filter class - SVG.Filter = SVG.invent({ - create: 'filter', - inherit: SVG.Parent, - extend: { - // Static strings - source: 'SourceGraphic', - sourceAlpha: 'SourceAlpha', - background: 'BackgroundImage', - backgroundAlpha: 'BackgroundAlpha', - fill: 'FillPaint', - stroke: 'StrokePaint', - - autoSetIn: true, - // Custom put method for leaner code - put: function(element, i) { - this.add(element, i); - - if(!element.attr('in') && this.autoSetIn){ - element.attr('in',this.source); - } - if(!element.attr('result')){ - element.attr('result',element); - } - - return element - }, - // Blend effect - blend: function(in1, in2, mode) { - return this.put(new SVG.BlendEffect(in1, in2, mode)) - }, - // ColorMatrix effect - colorMatrix: function(type, values) { - return this.put(new SVG.ColorMatrixEffect(type, values)) - }, - // ConvolveMatrix effect - convolveMatrix: function(matrix) { - return this.put(new SVG.ConvolveMatrixEffect(matrix)) - }, - // ComponentTransfer effect - componentTransfer: function(components) { - return this.put(new SVG.ComponentTransferEffect(components)) - }, - // Composite effect - composite: function(in1, in2, operator) { - return this.put(new SVG.CompositeEffect(in1, in2, operator)) - }, - // Flood effect - flood: function(color, opacity) { - return this.put(new SVG.FloodEffect(color, opacity)) - }, - // Offset effect - offset: function(x, y) { - return this.put(new SVG.OffsetEffect(x,y)) - }, - // Image effect - image: function(src) { - return this.put(new SVG.ImageEffect(src)) - }, - // Merge effect - merge: function() { - //pass the array of arguments to the constructor because we dont know if the user gave us an array as the first arguemnt or wether they listed the effects in the arguments - var args = [undefined]; - for(var i in arguments) args.push(arguments[i]); - return this.put(new (SVG.MergeEffect.bind.apply(SVG.MergeEffect,args))) - }, - // Gaussian Blur effect - gaussianBlur: function(x,y) { - return this.put(new SVG.GaussianBlurEffect(x,y)) - }, - // Morphology effect - morphology: function(operator,radius){ - return this.put(new SVG.MorphologyEffect(operator,radius)) - }, - // DiffuseLighting effect - diffuseLighting: function(surfaceScale,diffuseConstant,kernelUnitLength){ - return this.put(new SVG.DiffuseLightingEffect(surfaceScale,diffuseConstant,kernelUnitLength)) - }, - // DisplacementMap effect - displacementMap: function(in1,in2,scale,xChannelSelector,yChannelSelector){ - return this.put(new SVG.DisplacementMapEffect(in1,in2,scale,xChannelSelector,yChannelSelector)) - }, - // SpecularLighting effect - specularLighting: function(surfaceScale,diffuseConstant,specularExponent,kernelUnitLength){ - return this.put(new SVG.SpecularLightingEffect(surfaceScale,diffuseConstant,specularExponent,kernelUnitLength)) - }, - // Tile effect - tile: function(){ - return this.put(new SVG.TileEffect()); - }, - // Turbulence effect - turbulence: function(baseFrequency,numOctaves,seed,stitchTiles,type){ - return this.put(new SVG.TurbulenceEffect(baseFrequency,numOctaves,seed,stitchTiles,type)) - }, - // Default string value - toString: function() { - return 'url(#' + this.attr('id') + ')' - } - } - }); - - //add .filter function - SVG.extend(SVG.Defs, { - // Define filter - filter: function(block) { - var filter = this.put(new SVG.Filter); - - /* invoke passed block */ - if (typeof block === 'function') - block.call(filter, filter); - - return filter - } - }); - SVG.extend(SVG.Container, { - // Define filter on defs - filter: function(block) { - return this.defs().filter(block) - } - }); - SVG.extend(SVG.Element, SVG.G, SVG.Nested, { - // Create filter element in defs and store reference - filter: function(block) { - this.filterer = block instanceof SVG.Element ? - block : this.doc().filter(block); - - if(this.doc() && this.filterer.doc() !== this.doc()){ - this.doc().defs().add(this.filterer); - } - - this.attr('filter', this.filterer); - - return this.filterer - }, - // Remove filter - unfilter: function(remove) { - /* also remove the filter node */ - if (this.filterer && remove === true) - this.filterer.remove(); - - /* delete reference to filterer */ - delete this.filterer; - - /* remove filter attribute */ - return this.attr('filter', null) - } - }); - - // Create SVG.Effect class - SVG.Effect = SVG.invent({ - create: function(){ - this.constructor.call(this); - }, - inherit: SVG.Element, - extend: { - // Set in attribute - in: function(effect) { - return effect == null? this.parent() && this.parent().select('[result="'+this.attr('in')+'"]').get(0) || this.attr('in') : this.attr('in', effect) - }, - // Named result - result: function(result) { - return result == null? this.attr('result') : this.attr('result',result) - }, - // Stringification - toString: function() { - return this.result() - } - } - }); - - // create class for parent effects like merge - // Inherit from SVG.Parent - SVG.ParentEffect = SVG.invent({ - create: function(){ - this.constructor.call(this); - }, - inherit: SVG.Parent, - extend: { - // Set in attribute - in: function(effect) { - return effect == null? this.parent() && this.parent().select('[result="'+this.attr('in')+'"]').get(0) || this.attr('in') : this.attr('in', effect) - }, - // Named result - result: function(result) { - return result == null? this.attr('result') : this.attr('result',result) - }, - // Stringification - toString: function() { - return this.result() - } - } - }); - - //chaining - var chainingEffects = { - // Blend effect - blend: function(in2, mode) { - return this.parent() && this.parent().blend(this, in2, mode) //pass this as the first input - }, - // ColorMatrix effect - colorMatrix: function(type, values) { - return this.parent() && this.parent().colorMatrix(type, values).in(this) - }, - // ConvolveMatrix effect - convolveMatrix: function(matrix) { - return this.parent() && this.parent().convolveMatrix(matrix).in(this) - }, - // ComponentTransfer effect - componentTransfer: function(components) { - return this.parent() && this.parent().componentTransfer(components).in(this) - }, - // Composite effect - composite: function(in2, operator) { - return this.parent() && this.parent().composite(this, in2, operator) //pass this as the first input - }, - // Flood effect - flood: function(color, opacity) { - return this.parent() && this.parent().flood(color, opacity) //this effect dont have inputs - }, - // Offset effect - offset: function(x, y) { - return this.parent() && this.parent().offset(x,y).in(this) - }, - // Image effect - image: function(src) { - return this.parent() && this.parent().image(src) //this effect dont have inputs - }, - // Merge effect - merge: function() { - return this.parent() && this.parent().merge.apply(this.parent(),[this].concat(arguments)) //pass this as the first argument - }, - // Gaussian Blur effect - gaussianBlur: function(x,y) { - return this.parent() && this.parent().gaussianBlur(x,y).in(this) - }, - // Morphology effect - morphology: function(operator,radius){ - return this.parent() && this.parent().morphology(operator,radius).in(this) - }, - // DiffuseLighting effect - diffuseLighting: function(surfaceScale,diffuseConstant,kernelUnitLength){ - return this.parent() && this.parent().diffuseLighting(surfaceScale,diffuseConstant,kernelUnitLength).in(this) - }, - // DisplacementMap effect - displacementMap: function(in2,scale,xChannelSelector,yChannelSelector){ - return this.parent() && this.parent().displacementMap(this,in2,scale,xChannelSelector,yChannelSelector) //pass this as the first input - }, - // SpecularLighting effect - specularLighting: function(surfaceScale,diffuseConstant,specularExponent,kernelUnitLength){ - return this.parent() && this.parent().specularLighting(surfaceScale,diffuseConstant,specularExponent,kernelUnitLength).in(this) - }, - // Tile effect - tile: function(){ - return this.parent() && this.parent().tile().in(this) - }, - // Turbulence effect - turbulence: function(baseFrequency,numOctaves,seed,stitchTiles,type){ - return this.parent() && this.parent().turbulence(baseFrequency,numOctaves,seed,stitchTiles,type).in(this) - } - }; - SVG.extend(SVG.Effect,chainingEffects); - SVG.extend(SVG.ParentEffect,chainingEffects); - - //crea class for child effects, like MergeNode, FuncR and lights - SVG.ChildEffect = SVG.invent({ - create: function(){ - this.constructor.call(this); - }, - inherit: SVG.Element, - extend: { - in: function(effect){ - this.attr('in',effect); - } - //dont include any "result" functions because these types of nodes dont have them - } - }); - - // Create all different effects - var effects = { - blend: function(in1,in2,mode){ - this.attr({ - in: in1, - in2: in2, - mode: mode || 'normal' - }); - }, - colorMatrix: function(type,values){ - if (type == 'matrix') - values = normaliseMatrix(values); - - this.attr({ - type: type - , values: typeof values == 'undefined' ? null : values - }); - }, - convolveMatrix: function(matrix){ - matrix = normaliseMatrix(matrix); - - this.attr({ - order: Math.sqrt(matrix.split(' ').length) - , kernelMatrix: matrix - }); - }, - composite: function(in1, in2, operator){ - this.attr({ - in: in1, - in2: in2, - operator: operator - }); - }, - flood: function(color,opacity){ - this.attr('flood-color',color); - if(opacity != null) this.attr('flood-opacity',opacity); - }, - offset: function(x,y){ - this.attr({ - dx: x, - dy: y - }); - }, - image: function(src){ - this.attr('href', src, SVG.xlink); - }, - displacementMap: function(in1,in2,scale,xChannelSelector,yChannelSelector){ - this.attr({ - in: in1, - in2: in2, - scale: scale, - xChannelSelector: xChannelSelector, - yChannelSelector: yChannelSelector - }); - }, - gaussianBlur: function(x,y){ - if(x != null || y != null) - this.attr('stdDeviation', listString(Array.prototype.slice.call(arguments))); - else - this.attr('stdDeviation', '0 0'); - }, - morphology: function(operator,radius){ - this.attr({ - operator: operator, - radius: radius - }); - }, - tile: function(){ - - }, - turbulence: function(baseFrequency,numOctaves,seed,stitchTiles,type){ - this.attr({ - numOctaves: numOctaves, - seed: seed, - stitchTiles: stitchTiles, - baseFrequency: baseFrequency, - type: type - }); - } - }; - - // Create all parent effects - var parentEffects = { - merge: function(){ - var children; - - //test to see if we have a set - if(arguments[0] instanceof SVG.Set){ - var that = this; - arguments[0].each(function(i){ - if(this instanceof SVG.MergeNode) - that.put(this); - else if(this instanceof SVG.Effect || this instanceof SVG.ParentEffect) - that.put(new SVG.MergeNode(this)); - }); - } - else { - //if the first argument is an array use it - if(Array.isArray(arguments[0])) - children = arguments[0]; - else - children = arguments; - - for(var i = 0; i < children.length; i++){ - if(children[i] instanceof SVG.MergeNode){ - this.put(children[i]); - } - else this.put(new SVG.MergeNode(children[i])); - } - } - }, - componentTransfer: function(compontents){ - /* create rgb set */ - this.rgb = new SVG.Set - - /* create components */ - ;(['r', 'g', 'b', 'a']).forEach(function(c) { - /* create component */ - this[c] = new SVG['Func' + c.toUpperCase()]('identity'); - - /* store component in set */ - this.rgb.add(this[c]); - - /* add component node */ - this.node.appendChild(this[c].node); - }.bind(this)); //lost context in foreach - - /* set components */ - if (compontents) { - if (compontents.rgb) { - (['r', 'g', 'b']).forEach(function(c) { - this[c].attr(compontents.rgb); - }.bind(this)); - - delete compontents.rgb; - } - - /* set individual components */ - for (var c in compontents) - this[c].attr(compontents[c]); - } - }, - diffuseLighting: function(surfaceScale,diffuseConstant,kernelUnitLength){ - this.attr({ - surfaceScale: surfaceScale, - diffuseConstant: diffuseConstant, - kernelUnitLength: kernelUnitLength - }); - }, - specularLighting: function(surfaceScale,diffuseConstant,specularExponent,kernelUnitLength){ - this.attr({ - surfaceScale: surfaceScale, - diffuseConstant: diffuseConstant, - specularExponent: specularExponent, - kernelUnitLength: kernelUnitLength - }); - }, - }; - - // Create child effects like PointLight and MergeNode - var childEffects = { - distantLight: function(azimuth, elevation){ - this.attr({ - azimuth: azimuth, - elevation: elevation - }); - }, - pointLight: function(x,y,z){ - this.attr({ - x: x, - y: y, - z: z - }); - }, - spotLight: function(x,y,z,pointsAtX,pointsAtY,pointsAtZ){ - this.attr({ - x: x, - y: y, - z: z, - pointsAtX: pointsAtX, - pointsAtY: pointsAtY, - pointsAtZ: pointsAtZ - }); - }, - mergeNode: function(in1){ - this.attr('in',in1); - } - } - - // Create compontent functions - ;(['r', 'g', 'b', 'a']).forEach(function(c) { - /* create class */ - childEffects['Func' + c.toUpperCase()] = function(type) { - this.attr('type',type); - - // take diffent arguments based on the type - switch(type){ - case 'table': - this.attr('tableValues',arguments[1]); - break - case 'linear': - this.attr('slope',arguments[1]); - this.attr('intercept',arguments[2]); - break - case 'gamma': - this.attr('amplitude',arguments[1]); - this.attr('exponent',arguments[2]); - this.attr('offset',arguments[2]); - break - } - }; - }); - - //create effects - foreach(effects,function(effect,i){ - - /* capitalize name */ - var name = i.charAt(0).toUpperCase() + i.slice(1); - var proto = {}; - - /* create class */ - SVG[name + 'Effect'] = SVG.invent({ - create: function() { - //call super - this.constructor.call(this, SVG.create('fe' + name)); - - //call constructor for this effect - effect.apply(this,arguments); - - //set the result - this.result(this.attr('id') + 'Out'); - }, - inherit: SVG.Effect, - extend: proto - }); - }); - - //create parent effects - foreach(parentEffects,function(effect,i){ - - /* capitalize name */ - var name = i.charAt(0).toUpperCase() + i.slice(1); - var proto = {}; - - /* create class */ - SVG[name + 'Effect'] = SVG.invent({ - create: function() { - //call super - this.constructor.call(this, SVG.create('fe' + name)); - - //call constructor for this effect - effect.apply(this,arguments); - - //set the result - this.result(this.attr('id') + 'Out'); - }, - inherit: SVG.ParentEffect, - extend: proto - }); - }); - - //create child effects - foreach(childEffects,function(effect,i){ - - /* capitalize name */ - var name = i.charAt(0).toUpperCase() + i.slice(1); - var proto = {}; - - /* create class */ - SVG[name] = SVG.invent({ - create: function() { - //call super - this.constructor.call(this, SVG.create('fe' + name)); - - //call constructor for this effect - effect.apply(this,arguments); - }, - inherit: SVG.ChildEffect, - extend: proto - }); - }); - - // Effect-specific extensions - SVG.extend(SVG.MergeEffect,{ - in: function(effect){ - if(effect instanceof SVG.MergeNode) - this.add(effect,0); - else - this.add(new SVG.MergeNode(effect),0); - - return this - } - }); - SVG.extend(SVG.CompositeEffect,SVG.BlendEffect,SVG.DisplacementMapEffect,{ - in2: function(effect){ - return effect == null? this.parent() && this.parent().select('[result="'+this.attr('in2')+'"]').get(0) || this.attr('in2') : this.attr('in2', effect) - } - }); - - // Presets - SVG.filter = { - sepiatone: [ .343, .669, .119, 0, 0 - , .249, .626, .130, 0, 0 - , .172, .334, .111, 0, 0 - , .000, .000, .000, 1, 0 ] - }; - - // Helpers - function normaliseMatrix(matrix) { - /* convert possible array value to string */ - if (Array.isArray(matrix)) - matrix = new SVG.Array(matrix); - - /* ensure there are no leading, tailing or double spaces */ - return matrix.toString().replace(/^\s+/, '').replace(/\s+$/, '').replace(/\s+/g, ' ') - } - - function listString(list) { - if (!Array.isArray(list)) - return list - - for (var i = 0, l = list.length, s = []; i < l; i++) - s.push(list[i]); - - return s.join(' ') - } - - function foreach(){ //loops through mutiple objects - var fn = function(){}; - if(typeof arguments[arguments.length-1] == 'function'){ - fn = arguments[arguments.length-1]; - Array.prototype.splice.call(arguments,arguments.length-1,1); - } - for(var k in arguments){ - for(var i in arguments[k]){ - fn(arguments[k][i],i,arguments[k]); - } - } - } - - }).call(undefined); - - (function() { - - SVG.extend(SVG.PathArray, { - morph: function(array) { - - var startArr = this.value - , destArr = this.parse(array); - - var startOffsetM = 0 - , destOffsetM = 0; - - var startOffsetNextM = false - , destOffsetNextM = false; - - while(true){ - // stop if there is no M anymore - if(startOffsetM === false && destOffsetM === false) break - - // find the next M in path array - startOffsetNextM = findNextM(startArr, startOffsetM === false ? false : startOffsetM+1); - destOffsetNextM = findNextM( destArr, destOffsetM === false ? false : destOffsetM+1); - - // We have to add one M to the startArray - if(startOffsetM === false){ - var bbox = new SVG.PathArray(result.start).bbox(); - - // when the last block had no bounding box we simply take the first M we got - if(bbox.height == 0 || bbox.width == 0){ - startOffsetM = startArr.push(startArr[0]) - 1; - }else { - // we take the middle of the bbox instead when we got one - startOffsetM = startArr.push( ['M', bbox.x + bbox.width/2, bbox.y + bbox.height/2 ] ) - 1; - } - } - - // We have to add one M to the destArray - if( destOffsetM === false){ - var bbox = new SVG.PathArray(result.dest).bbox(); - - if(bbox.height == 0 || bbox.width == 0){ - destOffsetM = destArr.push(destArr[0]) - 1; - }else { - destOffsetM = destArr.push( ['M', bbox.x + bbox.width/2, bbox.y + bbox.height/2 ] ) - 1; - } - } - - // handle block from M to next M - var result = handleBlock(startArr, startOffsetM, startOffsetNextM, destArr, destOffsetM, destOffsetNextM); - - // update the arrays to their new values - startArr = startArr.slice(0, startOffsetM).concat(result.start, startOffsetNextM === false ? [] : startArr.slice(startOffsetNextM)); - destArr = destArr.slice(0, destOffsetM).concat(result.dest , destOffsetNextM === false ? [] : destArr.slice( destOffsetNextM)); - - // update offsets - startOffsetM = startOffsetNextM === false ? false : startOffsetM + result.start.length; - destOffsetM = destOffsetNextM === false ? false : destOffsetM + result.dest.length; - - } - - // copy back arrays - this.value = startArr; - this.destination = new SVG.PathArray(); - this.destination.value = destArr; - - return this - } - }); - - - - // sorry for the long declaration - // slices out one block (from M to M) and syncronize it so the types and length match - function handleBlock(startArr, startOffsetM, startOffsetNextM, destArr, destOffsetM, destOffsetNextM, undefined$1){ - - // slice out the block we need - var startArrTemp = startArr.slice(startOffsetM, startOffsetNextM || undefined$1) - , destArrTemp = destArr.slice( destOffsetM, destOffsetNextM || undefined$1); - - var i = 0 - , posStart = {pos:[0,0], start:[0,0]} - , posDest = {pos:[0,0], start:[0,0]}; - - do{ - - // convert shorthand types to long form - startArrTemp[i] = simplyfy.call(posStart, startArrTemp[i]); - destArrTemp[i] = simplyfy.call(posDest , destArrTemp[i]); - - // check if both shape types match - // 2 elliptical arc curve commands ('A'), are considered different if the - // flags (large-arc-flag, sweep-flag) don't match - if(startArrTemp[i][0] != destArrTemp[i][0] || startArrTemp[i][0] == 'M' || - (startArrTemp[i][0] == 'A' && - (startArrTemp[i][4] != destArrTemp[i][4] || startArrTemp[i][5] != destArrTemp[i][5]) - ) - ) { - - // if not, convert shapes to beziere - Array.prototype.splice.apply(startArrTemp, [i, 1].concat(toBeziere.call(posStart, startArrTemp[i]))); - Array.prototype.splice.apply(destArrTemp, [i, 1].concat(toBeziere.call(posDest, destArrTemp[i]))); - - } else { - - // only update positions otherwise - startArrTemp[i] = setPosAndReflection.call(posStart, startArrTemp[i]); - destArrTemp[i] = setPosAndReflection.call(posDest , destArrTemp[i]); - - } - - // we are at the end at both arrays. stop here - if(++i == startArrTemp.length && i == destArrTemp.length) break - - // destArray is longer. Add one element - if(i == startArrTemp.length){ - startArrTemp.push([ - 'C', - posStart.pos[0], - posStart.pos[1], - posStart.pos[0], - posStart.pos[1], - posStart.pos[0], - posStart.pos[1], - ]); - } - - // startArr is longer. Add one element - if(i == destArrTemp.length){ - destArrTemp.push([ - 'C', - posDest.pos[0], - posDest.pos[1], - posDest.pos[0], - posDest.pos[1], - posDest.pos[0], - posDest.pos[1] - ]); - } - - - }while(true) - - // return the updated block - return {start:startArrTemp, dest:destArrTemp} - } - - // converts shorthand types to long form - function simplyfy(val){ - - switch(val[0]){ - case 'z': // shorthand line to start - case 'Z': - val[0] = 'L'; - val[1] = this.start[0]; - val[2] = this.start[1]; - break - case 'H': // shorthand horizontal line - val[0] = 'L'; - val[2] = this.pos[1]; - break - case 'V': // shorthand vertical line - val[0] = 'L'; - val[2] = val[1]; - val[1] = this.pos[0]; - break - case 'T': // shorthand quadratic beziere - val[0] = 'Q'; - val[3] = val[1]; - val[4] = val[2]; - val[1] = this.reflection[1]; - val[2] = this.reflection[0]; - break - case 'S': // shorthand cubic beziere - val[0] = 'C'; - val[6] = val[4]; - val[5] = val[3]; - val[4] = val[2]; - val[3] = val[1]; - val[2] = this.reflection[1]; - val[1] = this.reflection[0]; - break - } - - return val - - } - - // updates reflection point and current position - function setPosAndReflection(val){ - - var len = val.length; - - this.pos = [ val[len-2], val[len-1] ]; - - if('SCQT'.indexOf(val[0]) != -1) - this.reflection = [ 2 * this.pos[0] - val[len-4], 2 * this.pos[1] - val[len-3] ]; - - return val - } - - // converts all types to cubic beziere - function toBeziere(val){ - var retVal = [val]; - - switch(val[0]){ - case 'M': // special handling for M - this.pos = this.start = [val[1], val[2]]; - return retVal - case 'L': - val[5] = val[3] = val[1]; - val[6] = val[4] = val[2]; - val[1] = this.pos[0]; - val[2] = this.pos[1]; - break - case 'Q': - val[6] = val[4]; - val[5] = val[3]; - val[4] = val[4] * 1/3 + val[2] * 2/3; - val[3] = val[3] * 1/3 + val[1] * 2/3; - val[2] = this.pos[1] * 1/3 + val[2] * 2/3; - val[1] = this.pos[0] * 1/3 + val[1] * 2/3; - break - case 'A': - retVal = arcToBeziere(this.pos, val); - val = retVal[0]; - break - } - - val[0] = 'C'; - this.pos = [val[5], val[6]]; - this.reflection = [2 * val[5] - val[3], 2 * val[6] - val[4]]; - - return retVal - - } - - // finds the next position of type M - function findNextM(arr, offset){ - - if(offset === false) return false - - for(var i = offset, len = arr.length;i < len;++i){ - - if(arr[i][0] == 'M') return i - - } - - return false - } - - - - // Convert an arc segment into equivalent cubic Bezier curves - // Depending on the arc, up to 4 curves might be used to represent it since a - // curve gives a good approximation for only a quarter of an ellipse - // The curves are returned as an array of SVG curve commands: - // [ ['C', x1, y1, x2, y2, x, y] ... ] - function arcToBeziere(pos, val) { - // Parameters extraction, handle out-of-range parameters as specified in the SVG spec - // See: https://www.w3.org/TR/SVG11/implnote.html#ArcOutOfRangeParameters - var rx = Math.abs(val[1]), ry = Math.abs(val[2]), xAxisRotation = val[3] % 360 - , largeArcFlag = val[4], sweepFlag = val[5], x = val[6], y = val[7] - , A = new SVG.Point(pos), B = new SVG.Point(x, y) - , primedCoord, lambda, mat, k, c, cSquare, t, O, OA, OB, tetaStart, tetaEnd - , deltaTeta, nbSectors, f, arcSegPoints, angle, sinAngle, cosAngle, pt, i, il - , retVal = [], x1, y1, x2, y2; - - // Ensure radii are non-zero - if(rx === 0 || ry === 0 || (A.x === B.x && A.y === B.y)) { - // treat this arc as a straight line segment - return [['C', A.x, A.y, B.x, B.y, B.x, B.y]] - } - - // Ensure radii are large enough using the algorithm provided in the SVG spec - // See: https://www.w3.org/TR/SVG11/implnote.html#ArcCorrectionOutOfRangeRadii - primedCoord = new SVG.Point((A.x-B.x)/2, (A.y-B.y)/2).transform(new SVG.Matrix().rotate(xAxisRotation)); - lambda = (primedCoord.x * primedCoord.x) / (rx * rx) + (primedCoord.y * primedCoord.y) / (ry * ry); - if(lambda > 1) { - lambda = Math.sqrt(lambda); - rx = lambda*rx; - ry = lambda*ry; - } - - // To simplify calculations, we make the arc part of a unit circle (rayon is 1) instead of an ellipse - mat = new SVG.Matrix().rotate(xAxisRotation).scale(1/rx, 1/ry).rotate(-xAxisRotation); - A = A.transform(mat); - B = B.transform(mat); - - // Calculate the horizontal and vertical distance between the initial and final point of the arc - k = [B.x-A.x, B.y-A.y]; - - // Find the length of the chord formed by A and B - cSquare = k[0]*k[0] + k[1]*k[1]; - c = Math.sqrt(cSquare); - - // Calculate the ratios of the horizontal and vertical distance on the length of the chord - k[0] /= c; - k[1] /= c; - - // Calculate the distance between the circle center and the chord midpoint - // using this formula: t = sqrt(r^2 - c^2 / 4) - // where t is the distance between the cirle center and the chord midpoint, - // r is the rayon of the circle and c is the chord length - // From: http://www.ajdesigner.com/phpcircle/circle_segment_chord_t.php - // Because of the imprecision of floating point numbers, cSquare might end - // up being slightly above 4 which would result in a negative radicand - // To prevent that, a test is made before computing the square root - t = (cSquare < 4) ? Math.sqrt(1 - cSquare/4) : 0; - - // For most situations, there are actually two different ellipses that - // satisfy the constraints imposed by the points A and B, the radii rx and ry, - // and the xAxisRotation - // When the flags largeArcFlag and sweepFlag are equal, it means that the - // second ellipse is used as a solution - // See: https://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands - if(largeArcFlag === sweepFlag) { - t *= -1; - } - - // Calculate the coordinates of the center of the circle from the midpoint of the chord - // This is done by multiplying the ratios calculated previously by the distance between - // the circle center and the chord midpoint and using these values to go from the midpoint - // to the center of the circle - // The negative of the vertical distance ratio is used to modify the x coordinate while - // the horizontal distance ratio is used to modify the y coordinate - // That is because the center of the circle is perpendicular to the chord and perpendicular - // lines are negative reciprocals - O = new SVG.Point((B.x+A.x)/2 + t*-k[1], (B.y+A.y)/2 + t*k[0]); - // Move the center of the circle at the origin - OA = new SVG.Point(A.x-O.x, A.y-O.y); - OB = new SVG.Point(B.x-O.x, B.y-O.y); - - // Calculate the start and end angle - tetaStart = Math.acos(OA.x/Math.sqrt(OA.x*OA.x + OA.y*OA.y)); - if (OA.y < 0) { - tetaStart *= -1; - } - tetaEnd = Math.acos(OB.x/Math.sqrt(OB.x*OB.x + OB.y*OB.y)); - if (OB.y < 0) { - tetaEnd *= -1; - } - - // If sweep-flag is '1', then the arc will be drawn in a "positive-angle" direction, - // make sure that the end angle is above the start angle - if (sweepFlag && tetaStart > tetaEnd) { - tetaEnd += 2*Math.PI; - } - // If sweep-flag is '0', then the arc will be drawn in a "negative-angle" direction, - // make sure that the end angle is below the start angle - if (!sweepFlag && tetaStart < tetaEnd) { - tetaEnd -= 2*Math.PI; - } - - // Find the number of Bezier curves that are required to represent the arc - // A cubic Bezier curve gives a good enough approximation when representing at most a quarter of a circle - nbSectors = Math.ceil(Math.abs(tetaStart-tetaEnd) * 2/Math.PI); - - // Calculate the coordinates of the points of all the Bezier curves required to represent the arc - // For an in-depth explanation of this part see: http://pomax.github.io/bezierinfo/#circles_cubic - arcSegPoints = []; - angle = tetaStart; - deltaTeta = (tetaEnd-tetaStart)/nbSectors; - f = 4*Math.tan(deltaTeta/4)/3; - for (i = 0; i <= nbSectors; i++) { // The <= is because a Bezier curve have a start and a endpoint - cosAngle = Math.cos(angle); - sinAngle = Math.sin(angle); - - pt = new SVG.Point(O.x+cosAngle, O.y+sinAngle); - arcSegPoints[i] = [new SVG.Point(pt.x+f*sinAngle, pt.y-f*cosAngle), pt, new SVG.Point(pt.x-f*sinAngle, pt.y+f*cosAngle)]; - - angle += deltaTeta; - } - - // Remove the first control point of the first segment point and remove the second control point of the last segment point - // These two control points are not used in the approximation of the arc, that is why they are removed - arcSegPoints[0][0] = arcSegPoints[0][1].clone(); - arcSegPoints[arcSegPoints.length-1][2] = arcSegPoints[arcSegPoints.length-1][1].clone(); - - // Revert the transformation that was applied to make the arc part of a unit circle instead of an ellipse - mat = new SVG.Matrix().rotate(xAxisRotation).scale(rx, ry).rotate(-xAxisRotation); - for (i = 0, il = arcSegPoints.length; i < il; i++) { - arcSegPoints[i][0] = arcSegPoints[i][0].transform(mat); - arcSegPoints[i][1] = arcSegPoints[i][1].transform(mat); - arcSegPoints[i][2] = arcSegPoints[i][2].transform(mat); - } - - - // Convert the segments points to SVG curve commands - for (i = 1, il = arcSegPoints.length; i < il; i++) { - pt = arcSegPoints[i-1][2]; - x1 = pt.x; - y1 = pt.y; - - pt = arcSegPoints[i][0]; - x2 = pt.x; - y2 = pt.y; - - pt = arcSegPoints[i][1]; - x = pt.x; - y = pt.y; - - retVal.push(['C', x1, y1, x2, y2, x, y]); - } - - return retVal - } - }()); - - /*! svg.draggable.js - v2.2.2 - 2019-01-08 - * https://github.com/svgdotjs/svg.draggable.js - * Copyright (c) 2019 Wout Fierens; Licensed MIT */ - (function() { - - // creates handler, saves it - function DragHandler(el){ - el.remember('_draggable', this); - this.el = el; - } - - - // Sets new parameter, starts dragging - DragHandler.prototype.init = function(constraint, val){ - var _this = this; - this.constraint = constraint; - this.value = val; - this.el.on('mousedown.drag', function(e){ _this.start(e); }); - this.el.on('touchstart.drag', function(e){ _this.start(e); }); - }; - - // transforms one point from screen to user coords - DragHandler.prototype.transformPoint = function(event, offset){ - event = event || window.event; - var touches = event.changedTouches && event.changedTouches[0] || event; - this.p.x = touches.clientX - (offset || 0); - this.p.y = touches.clientY; - return this.p.matrixTransform(this.m) - }; - - // gets elements bounding box with special handling of groups, nested and use - DragHandler.prototype.getBBox = function(){ - - var box = this.el.bbox(); - - if(this.el instanceof SVG.Nested) box = this.el.rbox(); - - if (this.el instanceof SVG.G || this.el instanceof SVG.Use || this.el instanceof SVG.Nested) { - box.x = this.el.x(); - box.y = this.el.y(); - } - - return box - }; - - // start dragging - DragHandler.prototype.start = function(e){ - - // check for left button - if(e.type == 'click'|| e.type == 'mousedown' || e.type == 'mousemove'){ - if((e.which || e.buttons) != 1){ - return - } - } - - var _this = this; - - // fire beforedrag event - this.el.fire('beforedrag', { event: e, handler: this }); - if(this.el.event().defaultPrevented) return; - - // prevent browser drag behavior as soon as possible - e.preventDefault(); - - // prevent propagation to a parent that might also have dragging enabled - e.stopPropagation(); - - // search for parent on the fly to make sure we can call - // draggable() even when element is not in the dom currently - this.parent = this.parent || this.el.parent(SVG.Nested) || this.el.parent(SVG.Doc); - this.p = this.parent.node.createSVGPoint(); - - // save current transformation matrix - this.m = this.el.node.getScreenCTM().inverse(); - - var box = this.getBBox(); - - var anchorOffset; - - // fix text-anchor in text-element (#37) - if(this.el instanceof SVG.Text){ - anchorOffset = this.el.node.getComputedTextLength(); - - switch(this.el.attr('text-anchor')){ - case 'middle': - anchorOffset /= 2; - break - case 'start': - anchorOffset = 0; - break; - } - } - - this.startPoints = { - // We take absolute coordinates since we are just using a delta here - point: this.transformPoint(e, anchorOffset), - box: box, - transform: this.el.transform() - }; - - // add drag and end events to window - SVG.on(window, 'mousemove.drag', function(e){ _this.drag(e); }); - SVG.on(window, 'touchmove.drag', function(e){ _this.drag(e); }); - SVG.on(window, 'mouseup.drag', function(e){ _this.end(e); }); - SVG.on(window, 'touchend.drag', function(e){ _this.end(e); }); - - // fire dragstart event - this.el.fire('dragstart', {event: e, p: this.startPoints.point, m: this.m, handler: this}); - }; - - // while dragging - DragHandler.prototype.drag = function(e){ - - var box = this.getBBox() - , p = this.transformPoint(e) - , x = this.startPoints.box.x + p.x - this.startPoints.point.x - , y = this.startPoints.box.y + p.y - this.startPoints.point.y - , c = this.constraint - , gx = p.x - this.startPoints.point.x - , gy = p.y - this.startPoints.point.y; - - this.el.fire('dragmove', { - event: e - , p: p - , m: this.m - , handler: this - }); - - if(this.el.event().defaultPrevented) return p - - // move the element to its new position, if possible by constraint - if (typeof c == 'function') { - - var coord = c.call(this.el, x, y, this.m); - - // bool, just show us if movement is allowed or not - if (typeof coord == 'boolean') { - coord = { - x: coord, - y: coord - }; - } - - // if true, we just move. If !false its a number and we move it there - if (coord.x === true) { - this.el.x(x); - } else if (coord.x !== false) { - this.el.x(coord.x); - } - - if (coord.y === true) { - this.el.y(y); - } else if (coord.y !== false) { - this.el.y(coord.y); - } - - } else if (typeof c == 'object') { - - // keep element within constrained box - if (c.minX != null && x < c.minX) { - x = c.minX; - gx = x - this.startPoints.box.x; - } else if (c.maxX != null && x > c.maxX - box.width) { - x = c.maxX - box.width; - gx = x - this.startPoints.box.x; - } if (c.minY != null && y < c.minY) { - y = c.minY; - gy = y - this.startPoints.box.y; - } else if (c.maxY != null && y > c.maxY - box.height) { - y = c.maxY - box.height; - gy = y - this.startPoints.box.y; - } - - if (c.snapToGrid != null) { - x = x - (x % c.snapToGrid); - y = y - (y % c.snapToGrid); - gx = gx - (gx % c.snapToGrid); - gy = gy - (gy % c.snapToGrid); - } - - if(this.el instanceof SVG.G) - this.el.matrix(this.startPoints.transform).transform({x:gx, y: gy}, true); - else - this.el.move(x, y); - } - - // so we can use it in the end-method, too - return p - }; - - DragHandler.prototype.end = function(e){ - - // final drag - var p = this.drag(e); - - // fire dragend event - this.el.fire('dragend', { event: e, p: p, m: this.m, handler: this }); - - // unbind events - SVG.off(window, 'mousemove.drag'); - SVG.off(window, 'touchmove.drag'); - SVG.off(window, 'mouseup.drag'); - SVG.off(window, 'touchend.drag'); - - }; - - SVG.extend(SVG.Element, { - // Make element draggable - // Constraint might be an object (as described in readme.md) or a function in the form "function (x, y)" that gets called before every move. - // The function can return a boolean or an object of the form {x, y}, to which the element will be moved. "False" skips moving, true moves to raw x, y. - draggable: function(value, constraint) { - - // Check the parameters and reassign if needed - if (typeof value == 'function' || typeof value == 'object') { - constraint = value; - value = true; - } - - var dragHandler = this.remember('_draggable') || new DragHandler(this); - - // When no parameter is given, value is true - value = typeof value === 'undefined' ? true : value; - - if(value) dragHandler.init(constraint || {}, value); - else { - this.off('mousedown.drag'); - this.off('touchstart.drag'); - } - - return this - } - - }); - - }).call(undefined); - - (function() { - - function SelectHandler(el) { - - this.el = el; - el.remember('_selectHandler', this); - this.pointSelection = {isSelected: false}; - this.rectSelection = {isSelected: false}; - - // helper list with position settings of each type of point - this.pointsList = { - lt: [ 0, 0 ], - rt: [ 'width', 0 ], - rb: [ 'width', 'height' ], - lb: [ 0, 'height' ], - t: [ 'width', 0 ], - r: [ 'width', 'height' ], - b: [ 'width', 'height' ], - l: [ 0, 'height' ] - }; - - // helper function to get point coordinates based on settings above and an object (bbox in our case) - this.pointCoord = function (setting, object, isPointCentered) { - var coord = typeof setting !== 'string' ? setting : object[setting]; - // Top, bottom, right and left points are placed in the center of element width/height - return isPointCentered ? coord / 2 : coord - }; - - this.pointCoords = function (point, object) { - var settings = this.pointsList[point]; - - return { - x: this.pointCoord(settings[0], object, (point === 't' || point === 'b')), - y: this.pointCoord(settings[1], object, (point === 'r' || point === 'l')) - } - }; - } - - SelectHandler.prototype.init = function (value, options) { - - var bbox = this.el.bbox(); - this.options = {}; - - // store defaults list of points in order to verify users config - var points = this.el.selectize.defaults.points; - - // Merging the defaults and the options-object together - for (var i in this.el.selectize.defaults) { - this.options[i] = this.el.selectize.defaults[i]; - if (options[i] !== undefined) { - this.options[i] = options[i]; - } - } - - // prepare & validate list of points to be added (or excluded) - var pointsLists = ['points', 'pointsExclude']; - - for (var i in pointsLists) { - var option = this.options[pointsLists[i]]; - - if (typeof option === 'string') { - if (option.length > 0) { - // if set as comma separated string list => convert it into an array - option = option.split(/\s*,\s*/i); - } else { - option = []; - } - } else if (typeof option === 'boolean' && pointsLists[i] === 'points') { - // this is not needed, but let's have it for legacy support - option = option ? points : []; - } - - this.options[pointsLists[i]] = option; - } - - // intersect correct all points options with users config (exclude unwanted points) - // ES5 -> NO arrow functions nor Array.includes() - this.options.points = [ points, this.options.points ].reduce( - function (a, b) { - return a.filter( - function (c) { - return b.indexOf(c) > -1; - } - ) - } - ); - - // exclude pointsExclude, if wanted - this.options.points = [ this.options.points, this.options.pointsExclude ].reduce( - function (a, b) { - return a.filter( - function (c) { - return b.indexOf(c) < 0; - } - ) - } - ); - - this.parent = this.el.parent(); - this.nested = (this.nested || this.parent.group()); - this.nested.matrix(new SVG.Matrix(this.el).translate(bbox.x, bbox.y)); - - // When deepSelect is enabled and the element is a line/polyline/polygon, draw only points for moving - if (this.options.deepSelect && ['line', 'polyline', 'polygon'].indexOf(this.el.type) !== -1) { - this.selectPoints(value); - } else { - this.selectRect(value); - } - - this.observe(); - this.cleanup(); - - }; - - SelectHandler.prototype.selectPoints = function (value) { - - this.pointSelection.isSelected = value; - - // When set is already there we dont have to create one - if (this.pointSelection.set) { - return this; - } - - // Create our set of elements - this.pointSelection.set = this.parent.set(); - // draw the points and mark the element as selected - this.drawPoints(); - - return this; - - }; - - // create the point-array which contains the 2 points of a line or simply the points-array of polyline/polygon - SelectHandler.prototype.getPointArray = function () { - var bbox = this.el.bbox(); - - return this.el.array().valueOf().map(function (el) { - return [el[0] - bbox.x, el[1] - bbox.y]; - }); - }; - - // Draws a points - SelectHandler.prototype.drawPoints = function () { - - var _this = this, array = this.getPointArray(); - - // go through the array of points - for (var i = 0, len = array.length; i < len; ++i) { - - var curriedEvent = (function (k) { - return function (ev) { - ev = ev || window.event; - ev.preventDefault ? ev.preventDefault() : ev.returnValue = false; - ev.stopPropagation(); - - var x = ev.pageX || ev.touches[0].pageX; - var y = ev.pageY || ev.touches[0].pageY; - _this.el.fire('point', {x: x, y: y, i: k, event: ev}); - }; - })(i); - - // add every point to the set - // add css-classes and a touchstart-event which fires our event for moving points - var point = this.drawPoint(array[i][0], array[i][1]) - .addClass(this.options.classPoints) - .addClass(this.options.classPoints + '_point') - .on('touchstart', curriedEvent) - .on('mousedown', curriedEvent); - this.pointSelection.set.add(point); - } - }; - - // The function to draw single point - SelectHandler.prototype.drawPoint = function (cx, cy) { - var pointType = this.options.pointType; - - switch (pointType) { - case 'circle': - return this.drawCircle(cx, cy); - case 'rect': - return this.drawRect(cx, cy); - default: - if (typeof pointType === 'function') { - return pointType.call(this, cx, cy); - } - - throw new Error('Unknown ' + pointType + ' point type!'); - } - }; - - // The function to draw the circle point - SelectHandler.prototype.drawCircle = function (cx, cy) { - return this.nested.circle(this.options.pointSize) - .center(cx, cy); - }; - - // The function to draw the rect point - SelectHandler.prototype.drawRect = function (cx, cy) { - return this.nested.rect(this.options.pointSize, this.options.pointSize) - .center(cx, cy); - }; - - // every time a point is moved, we have to update the positions of our point - SelectHandler.prototype.updatePointSelection = function () { - var array = this.getPointArray(); - - this.pointSelection.set.each(function (i) { - if (this.cx() === array[i][0] && this.cy() === array[i][1]) { - return; - } - this.center(array[i][0], array[i][1]); - }); - }; - - SelectHandler.prototype.updateRectSelection = function () { - var _this = this, bbox = this.el.bbox(); - - this.rectSelection.set.get(0).attr({ - width: bbox.width, - height: bbox.height - }); - - // set.get(1) is always in the upper left corner. no need to move it - if (this.options.points.length) { - this.options.points.map(function (point, index) { - var coords = _this.pointCoords(point, bbox); - - _this.rectSelection.set.get(index + 1).center(coords.x, coords.y); - }); - } - - if (this.options.rotationPoint) { - var length = this.rectSelection.set.length(); - - this.rectSelection.set.get(length - 1).center(bbox.width / 2, 20); - } - }; - - SelectHandler.prototype.selectRect = function (value) { - - var _this = this, bbox = this.el.bbox(); - - this.rectSelection.isSelected = value; - - // when set is already p - this.rectSelection.set = this.rectSelection.set || this.parent.set(); - - // helperFunction to create a mouse-down function which triggers the event specified in `eventName` - function getMoseDownFunc(eventName) { - return function (ev) { - ev = ev || window.event; - ev.preventDefault ? ev.preventDefault() : ev.returnValue = false; - ev.stopPropagation(); - - var x = ev.pageX || ev.touches[0].pageX; - var y = ev.pageY || ev.touches[0].pageY; - _this.el.fire(eventName, {x: x, y: y, event: ev}); - }; - } - - // create the selection-rectangle and add the css-class - if (!this.rectSelection.set.get(0)) { - this.rectSelection.set.add(this.nested.rect(bbox.width, bbox.height).addClass(this.options.classRect)); - } - - // Draw Points at the edges, if enabled - if (this.options.points.length && this.rectSelection.set.length() < 2) { - var ename ="touchstart", mname = "mousedown"; - - this.options.points.map(function (point, index) { - var coords = _this.pointCoords(point, bbox); - - var pointElement = _this.drawPoint(coords.x, coords.y) - .attr('class', _this.options.classPoints + '_' + point) - .on(mname, getMoseDownFunc(point)) - .on(ename, getMoseDownFunc(point)); - _this.rectSelection.set.add(pointElement); - }); - - this.rectSelection.set.each(function () { - this.addClass(_this.options.classPoints); - }); - } - - // draw rotationPint, if enabled - if (this.options.rotationPoint && ((this.options.points && !this.rectSelection.set.get(9)) || (!this.options.points && !this.rectSelection.set.get(1)))) { - - var curriedEvent = function (ev) { - ev = ev || window.event; - ev.preventDefault ? ev.preventDefault() : ev.returnValue = false; - ev.stopPropagation(); - - var x = ev.pageX || ev.touches[0].pageX; - var y = ev.pageY || ev.touches[0].pageY; - _this.el.fire('rot', {x: x, y: y, event: ev}); - }; - - var pointElement = this.drawPoint(bbox.width / 2, 20) - .attr('class', this.options.classPoints + '_rot') - .on("touchstart", curriedEvent) - .on("mousedown", curriedEvent); - this.rectSelection.set.add(pointElement); - } - - }; - - SelectHandler.prototype.handler = function () { - - var bbox = this.el.bbox(); - this.nested.matrix(new SVG.Matrix(this.el).translate(bbox.x, bbox.y)); - - if (this.rectSelection.isSelected) { - this.updateRectSelection(); - } - - if (this.pointSelection.isSelected) { - this.updatePointSelection(); - } - - }; - - SelectHandler.prototype.observe = function () { - var _this = this; - - if (MutationObserver) { - if (this.rectSelection.isSelected || this.pointSelection.isSelected) { - this.observerInst = this.observerInst || new MutationObserver(function () { - _this.handler(); - }); - this.observerInst.observe(this.el.node, {attributes: true}); - } else { - try { - this.observerInst.disconnect(); - delete this.observerInst; - } catch (e) { - } - } - } else { - this.el.off('DOMAttrModified.select'); - - if (this.rectSelection.isSelected || this.pointSelection.isSelected) { - this.el.on('DOMAttrModified.select', function () { - _this.handler(); - }); - } - } - }; - - SelectHandler.prototype.cleanup = function () { - - //var _this = this; - - if (!this.rectSelection.isSelected && this.rectSelection.set) { - // stop watching the element, remove the selection - this.rectSelection.set.each(function () { - this.remove(); - }); - - this.rectSelection.set.clear(); - delete this.rectSelection.set; - } - - if (!this.pointSelection.isSelected && this.pointSelection.set) { - // Remove all points, clear the set, stop watching the element - this.pointSelection.set.each(function () { - this.remove(); - }); - - this.pointSelection.set.clear(); - delete this.pointSelection.set; - } - - if (!this.pointSelection.isSelected && !this.rectSelection.isSelected) { - this.nested.remove(); - delete this.nested; - - } - }; - - - SVG.extend(SVG.Element, { - // Select element with mouse - selectize: function (value, options) { - - // Check the parameters and reassign if needed - if (typeof value === 'object') { - options = value; - value = true; - } - - var selectHandler = this.remember('_selectHandler') || new SelectHandler(this); - - selectHandler.init(value === undefined ? true : value, options || {}); - - return this; - - } - }); - - SVG.Element.prototype.selectize.defaults = { - points: ['lt', 'rt', 'rb', 'lb', 't', 'r', 'b', 'l'], // which points to draw, default all - pointsExclude: [], // easier option if to exclude few than rewrite all - classRect: 'svg_select_boundingRect', // Css-class added to the rect - classPoints: 'svg_select_points', // Css-class added to the points - pointSize: 7, // size of point - rotationPoint: true, // If true, rotation point is drawn. Needed for rotation! - deepSelect: false, // If true, moving of single points is possible (only line, polyline, polyon) - pointType: 'circle' // Point type: circle or rect, default circle - }; - }()); - - (function() { - (function () { - - function ResizeHandler(el) { - - el.remember('_resizeHandler', this); - - this.el = el; - this.parameters = {}; - this.lastUpdateCall = null; - this.p = el.doc().node.createSVGPoint(); - } - - ResizeHandler.prototype.transformPoint = function(x, y, m){ - - this.p.x = x - (this.offset.x - window.pageXOffset); - this.p.y = y - (this.offset.y - window.pageYOffset); - - return this.p.matrixTransform(m || this.m); - - }; - - ResizeHandler.prototype._extractPosition = function(event) { - // Extract a position from a mouse/touch event. - // Returns { x: .., y: .. } - return { - x: event.clientX != null ? event.clientX : event.touches[0].clientX, - y: event.clientY != null ? event.clientY : event.touches[0].clientY - } - }; - - ResizeHandler.prototype.init = function (options) { - - var _this = this; - - this.stop(); - - if (options === 'stop') { - return; - } - - this.options = {}; - - // Merge options and defaults - for (var i in this.el.resize.defaults) { - this.options[i] = this.el.resize.defaults[i]; - if (typeof options[i] !== 'undefined') { - this.options[i] = options[i]; - } - } - - // We listen to all these events which are specifying different edges - this.el.on('lt.resize', function(e){ _this.resize(e || window.event); }); // Left-Top - this.el.on('rt.resize', function(e){ _this.resize(e || window.event); }); // Right-Top - this.el.on('rb.resize', function(e){ _this.resize(e || window.event); }); // Right-Bottom - this.el.on('lb.resize', function(e){ _this.resize(e || window.event); }); // Left-Bottom - - this.el.on('t.resize', function(e){ _this.resize(e || window.event); }); // Top - this.el.on('r.resize', function(e){ _this.resize(e || window.event); }); // Right - this.el.on('b.resize', function(e){ _this.resize(e || window.event); }); // Bottom - this.el.on('l.resize', function(e){ _this.resize(e || window.event); }); // Left - - this.el.on('rot.resize', function(e){ _this.resize(e || window.event); }); // Rotation - - this.el.on('point.resize', function(e){ _this.resize(e || window.event); }); // Point-Moving - - // This call ensures, that the plugin reacts to a change of snapToGrid immediately - this.update(); - - }; - - ResizeHandler.prototype.stop = function(){ - this.el.off('lt.resize'); - this.el.off('rt.resize'); - this.el.off('rb.resize'); - this.el.off('lb.resize'); - - this.el.off('t.resize'); - this.el.off('r.resize'); - this.el.off('b.resize'); - this.el.off('l.resize'); - - this.el.off('rot.resize'); - - this.el.off('point.resize'); - - return this; - }; - - ResizeHandler.prototype.resize = function (event) { - - var _this = this; - - this.m = this.el.node.getScreenCTM().inverse(); - this.offset = { x: window.pageXOffset, y: window.pageYOffset }; - - var txPt = this._extractPosition(event.detail.event); - this.parameters = { - type: this.el.type, // the type of element - p: this.transformPoint(txPt.x, txPt.y), - x: event.detail.x, // x-position of the mouse when resizing started - y: event.detail.y, // y-position of the mouse when resizing started - box: this.el.bbox(), // The bounding-box of the element - rotation: this.el.transform().rotation // The current rotation of the element - }; - - // Add font-size parameter if the element type is text - if (this.el.type === "text") { - this.parameters.fontSize = this.el.attr()["font-size"]; - } - - // the i-param in the event holds the index of the point which is moved, when using `deepSelect` - if (event.detail.i !== undefined) { - - // get the point array - var array = this.el.array().valueOf(); - - // Save the index and the point which is moved - this.parameters.i = event.detail.i; - this.parameters.pointCoords = [array[event.detail.i][0], array[event.detail.i][1]]; - } - - // Lets check which edge of the bounding-box was clicked and resize the this.el according to this - switch (event.type) { - - // Left-Top-Edge - case 'lt': - // We build a calculating function for every case which gives us the new position of the this.el - this.calc = function (diffX, diffY) { - // The procedure is always the same - // First we snap the edge to the given grid (snapping to 1px grid is normal resizing) - var snap = this.snapToGrid(diffX, diffY); - - // Now we check if the new height and width still valid (> 0) - if (this.parameters.box.width - snap[0] > 0 && this.parameters.box.height - snap[1] > 0) { - // ...if valid, we resize the this.el (which can include moving because the coord-system starts at the left-top and this edge is moving sometimes when resized) - - /* - * but first check if the element is text box, so we can change the font size instead of - * the width and height - */ - - if (this.parameters.type === "text") { - this.el.move(this.parameters.box.x + snap[0], this.parameters.box.y); - this.el.attr("font-size", this.parameters.fontSize - snap[0]); - return; - } - - snap = this.checkAspectRatio(snap); - - this.el.move(this.parameters.box.x + snap[0], this.parameters.box.y + snap[1]).size(this.parameters.box.width - snap[0], this.parameters.box.height - snap[1]); - } - }; - break; - - // Right-Top - case 'rt': - // s.a. - this.calc = function (diffX, diffY) { - var snap = this.snapToGrid(diffX, diffY, 1 << 1); - if (this.parameters.box.width + snap[0] > 0 && this.parameters.box.height - snap[1] > 0) { - if (this.parameters.type === "text") { - this.el.move(this.parameters.box.x - snap[0], this.parameters.box.y); - this.el.attr("font-size", this.parameters.fontSize + snap[0]); - return; - } - - snap = this.checkAspectRatio(snap, true); - - this.el.move(this.parameters.box.x, this.parameters.box.y + snap[1]).size(this.parameters.box.width + snap[0], this.parameters.box.height - snap[1]); - } - }; - break; - - // Right-Bottom - case 'rb': - // s.a. - this.calc = function (diffX, diffY) { - var snap = this.snapToGrid(diffX, diffY, 0); - if (this.parameters.box.width + snap[0] > 0 && this.parameters.box.height + snap[1] > 0) { - if (this.parameters.type === "text") { - this.el.move(this.parameters.box.x - snap[0], this.parameters.box.y); - this.el.attr("font-size", this.parameters.fontSize + snap[0]); - return; - } - - snap = this.checkAspectRatio(snap); - - this.el.move(this.parameters.box.x, this.parameters.box.y).size(this.parameters.box.width + snap[0], this.parameters.box.height + snap[1]); - } - }; - break; - - // Left-Bottom - case 'lb': - // s.a. - this.calc = function (diffX, diffY) { - var snap = this.snapToGrid(diffX, diffY, 1); - if (this.parameters.box.width - snap[0] > 0 && this.parameters.box.height + snap[1] > 0) { - if (this.parameters.type === "text") { - this.el.move(this.parameters.box.x + snap[0], this.parameters.box.y); - this.el.attr("font-size", this.parameters.fontSize - snap[0]); - return; - } - - snap = this.checkAspectRatio(snap, true); - - this.el.move(this.parameters.box.x + snap[0], this.parameters.box.y).size(this.parameters.box.width - snap[0], this.parameters.box.height + snap[1]); - } - }; - break; - - // Top - case 't': - // s.a. - this.calc = function (diffX, diffY) { - var snap = this.snapToGrid(diffX, diffY, 1 << 1); - if (this.parameters.box.height - snap[1] > 0) { - // Disable the font-resizing if it is not from the corner of bounding-box - if (this.parameters.type === "text") { - return; - } - - this.el.move(this.parameters.box.x, this.parameters.box.y + snap[1]).height(this.parameters.box.height - snap[1]); - } - }; - break; - - // Right - case 'r': - // s.a. - this.calc = function (diffX, diffY) { - var snap = this.snapToGrid(diffX, diffY, 0); - if (this.parameters.box.width + snap[0] > 0) { - if (this.parameters.type === "text") { - return; - } - - this.el.move(this.parameters.box.x, this.parameters.box.y).width(this.parameters.box.width + snap[0]); - } - }; - break; - - // Bottom - case 'b': - // s.a. - this.calc = function (diffX, diffY) { - var snap = this.snapToGrid(diffX, diffY, 0); - if (this.parameters.box.height + snap[1] > 0) { - if (this.parameters.type === "text") { - return; - } - - this.el.move(this.parameters.box.x, this.parameters.box.y).height(this.parameters.box.height + snap[1]); - } - }; - break; - - // Left - case 'l': - // s.a. - this.calc = function (diffX, diffY) { - var snap = this.snapToGrid(diffX, diffY, 1); - if (this.parameters.box.width - snap[0] > 0) { - if (this.parameters.type === "text") { - return; - } - - this.el.move(this.parameters.box.x + snap[0], this.parameters.box.y).width(this.parameters.box.width - snap[0]); - } - }; - break; - - // Rotation - case 'rot': - // s.a. - this.calc = function (diffX, diffY) { - - // yes this is kinda stupid but we need the mouse coords back... - var current = {x: diffX + this.parameters.p.x, y: diffY + this.parameters.p.y}; - - // start minus middle - var sAngle = Math.atan2((this.parameters.p.y - this.parameters.box.y - this.parameters.box.height / 2), (this.parameters.p.x - this.parameters.box.x - this.parameters.box.width / 2)); - - // end minus middle - var pAngle = Math.atan2((current.y - this.parameters.box.y - this.parameters.box.height / 2), (current.x - this.parameters.box.x - this.parameters.box.width / 2)); - - var angle = this.parameters.rotation + (pAngle - sAngle) * 180 / Math.PI + this.options.snapToAngle / 2; - - // We have to move the element to the center of the box first and change the rotation afterwards - // because rotation always works around a rotation-center, which is changed when moving the element - // We also set the new rotation center to the center of the box. - this.el.center(this.parameters.box.cx, this.parameters.box.cy).rotate(angle - (angle % this.options.snapToAngle), this.parameters.box.cx, this.parameters.box.cy); - }; - break; - - // Moving one single Point (needed when an element is deepSelected which means you can move every single point of the object) - case 'point': - this.calc = function (diffX, diffY) { - - // Snapping the point to the grid - var snap = this.snapToGrid(diffX, diffY, this.parameters.pointCoords[0], this.parameters.pointCoords[1]); - - // Get the point array - var array = this.el.array().valueOf(); - - // Changing the moved point in the array - array[this.parameters.i][0] = this.parameters.pointCoords[0] + snap[0]; - array[this.parameters.i][1] = this.parameters.pointCoords[1] + snap[1]; - - // And plot the new this.el - this.el.plot(array); - }; - } - - this.el.fire('resizestart', {dx: this.parameters.x, dy: this.parameters.y, event: event}); - // When resizing started, we have to register events for... - // Touches. - SVG.on(window, 'touchmove.resize', function(e) { - _this.update(e || window.event); - }); - SVG.on(window, 'touchend.resize', function() { - _this.done(); - }); - // Mouse. - SVG.on(window, 'mousemove.resize', function (e) { - _this.update(e || window.event); - }); - SVG.on(window, 'mouseup.resize', function () { - _this.done(); - }); - - }; - - // The update-function redraws the element every time the mouse is moving - ResizeHandler.prototype.update = function (event) { - - if (!event) { - if (this.lastUpdateCall) { - this.calc(this.lastUpdateCall[0], this.lastUpdateCall[1]); - } - return; - } - - // Calculate the difference between the mouseposition at start and now - var txPt = this._extractPosition(event); - var p = this.transformPoint(txPt.x, txPt.y); - - var diffX = p.x - this.parameters.p.x, - diffY = p.y - this.parameters.p.y; - - this.lastUpdateCall = [diffX, diffY]; - - // Calculate the new position and height / width of the element - this.calc(diffX, diffY); - - // Emit an event to say we have changed. - this.el.fire('resizing', {dx: diffX, dy: diffY, event: event}); - }; - - // Is called on mouseup. - // Removes the update-function from the mousemove event - ResizeHandler.prototype.done = function () { - this.lastUpdateCall = null; - SVG.off(window, 'mousemove.resize'); - SVG.off(window, 'mouseup.resize'); - SVG.off(window, 'touchmove.resize'); - SVG.off(window, 'touchend.resize'); - this.el.fire('resizedone'); - }; - - // The flag is used to determine whether the resizing is used with a left-Point (first bit) and top-point (second bit) - // In this cases the temp-values are calculated differently - ResizeHandler.prototype.snapToGrid = function (diffX, diffY, flag, pointCoordsY) { - - var temp; - - // If `pointCoordsY` is given, a single Point has to be snapped (deepSelect). That's why we need a different temp-value - if (typeof pointCoordsY !== 'undefined') { - // Note that flag = pointCoordsX in this case - temp = [(flag + diffX) % this.options.snapToGrid, (pointCoordsY + diffY) % this.options.snapToGrid]; - } else { - // We check if the flag is set and if not we set a default-value (both bits set - which means upper-left-edge) - flag = flag == null ? 1 | 1 << 1 : flag; - temp = [(this.parameters.box.x + diffX + (flag & 1 ? 0 : this.parameters.box.width)) % this.options.snapToGrid, (this.parameters.box.y + diffY + (flag & (1 << 1) ? 0 : this.parameters.box.height)) % this.options.snapToGrid]; - } - - if(diffX < 0) { - temp[0] -= this.options.snapToGrid; - } - if(diffY < 0) { - temp[1] -= this.options.snapToGrid; - } - - diffX -= (Math.abs(temp[0]) < this.options.snapToGrid / 2 ? - temp[0] : - temp[0] - (diffX < 0 ? -this.options.snapToGrid : this.options.snapToGrid)); - diffY -= (Math.abs(temp[1]) < this.options.snapToGrid / 2 ? - temp[1] : - temp[1] - (diffY < 0 ? -this.options.snapToGrid : this.options.snapToGrid)); - - return this.constraintToBox(diffX, diffY, flag, pointCoordsY); - - }; - - // keep element within constrained box - ResizeHandler.prototype.constraintToBox = function (diffX, diffY, flag, pointCoordsY) { - //return [diffX, diffY] - var c = this.options.constraint || {}; - var orgX, orgY; - - if (typeof pointCoordsY !== 'undefined') { - orgX = flag; - orgY = pointCoordsY; - } else { - orgX = this.parameters.box.x + (flag & 1 ? 0 : this.parameters.box.width); - orgY = this.parameters.box.y + (flag & (1<<1) ? 0 : this.parameters.box.height); - } - - if (typeof c.minX !== 'undefined' && orgX + diffX < c.minX) { - diffX = c.minX - orgX; - } - - if (typeof c.maxX !== 'undefined' && orgX + diffX > c.maxX) { - diffX = c.maxX - orgX; - } - - if (typeof c.minY !== 'undefined' && orgY + diffY < c.minY) { - diffY = c.minY - orgY; - } - - if (typeof c.maxY !== 'undefined' && orgY + diffY > c.maxY) { - diffY = c.maxY - orgY; - } - - return [diffX, diffY]; - }; - - ResizeHandler.prototype.checkAspectRatio = function (snap, isReverse) { - if (!this.options.saveAspectRatio) { - return snap; - } - - var updatedSnap = snap.slice(); - var aspectRatio = this.parameters.box.width / this.parameters.box.height; - var newW = this.parameters.box.width + snap[0]; - var newH = this.parameters.box.height - snap[1]; - var newAspectRatio = newW / newH; - - if (newAspectRatio < aspectRatio) { - // Height is too big. Adapt it - updatedSnap[1] = newW / aspectRatio - this.parameters.box.height; - isReverse && (updatedSnap[1] = -updatedSnap[1]); - } else if (newAspectRatio > aspectRatio) { - // Width is too big. Adapt it - updatedSnap[0] = this.parameters.box.width - newH * aspectRatio; - isReverse && (updatedSnap[0] = -updatedSnap[0]); - } - - return updatedSnap; - }; - - SVG.extend(SVG.Element, { - // Resize element with mouse - resize: function (options) { - - (this.remember('_resizeHandler') || new ResizeHandler(this)).init(options || {}); - - return this; - - } - - }); - - SVG.Element.prototype.resize.defaults = { - snapToAngle: 0.1, // Specifies the speed the rotation is happening when moving the mouse - snapToGrid: 1, // Snaps to a grid of `snapToGrid` Pixels - constraint: {}, // keep element within constrained box - saveAspectRatio: false // Save aspect ratio when resizing using lt, rt, rb or lb points - }; - - }).call(this); - }()); - - if (typeof window.Apex === 'undefined') { - window.Apex = {}; - } - - var InitCtxVariables = /*#__PURE__*/function () { - function InitCtxVariables(ctx) { - _classCallCheck(this, InitCtxVariables); - - this.ctx = ctx; - this.w = ctx.w; - } - - _createClass(InitCtxVariables, [{ - key: "initModules", - value: function initModules() { - this.ctx.publicMethods = ['updateOptions', 'updateSeries', 'appendData', 'appendSeries', 'toggleSeries', 'showSeries', 'hideSeries', 'setLocale', 'resetSeries', 'zoomX', 'toggleDataPointSelection', 'dataURI', 'exportToCSV', 'addXaxisAnnotation', 'addYaxisAnnotation', 'addPointAnnotation', 'clearAnnotations', 'removeAnnotation', 'paper', 'destroy']; - this.ctx.eventList = ['click', 'mousedown', 'mousemove', 'mouseleave', 'touchstart', 'touchmove', 'touchleave', 'mouseup', 'touchend']; - this.ctx.animations = new Animations(this.ctx); - this.ctx.axes = new Axes(this.ctx); - this.ctx.core = new Core(this.ctx.el, this.ctx); - this.ctx.config = new Config({}); - this.ctx.data = new Data(this.ctx); - this.ctx.grid = new Grid(this.ctx); - this.ctx.graphics = new Graphics(this.ctx); - this.ctx.coreUtils = new CoreUtils(this.ctx); - this.ctx.crosshairs = new Crosshairs(this.ctx); - this.ctx.events = new Events(this.ctx); - this.ctx.exports = new Exports(this.ctx); - this.ctx.localization = new Localization(this.ctx); - this.ctx.options = new Options(); - this.ctx.responsive = new Responsive(this.ctx); - this.ctx.series = new Series(this.ctx); - this.ctx.theme = new Theme(this.ctx); - this.ctx.formatters = new Formatters(this.ctx); - this.ctx.titleSubtitle = new TitleSubtitle(this.ctx); - this.ctx.legend = new Legend(this.ctx); - this.ctx.toolbar = new Toolbar(this.ctx); - this.ctx.dimensions = new Dimensions(this.ctx); - this.ctx.updateHelpers = new UpdateHelpers(this.ctx); - this.ctx.zoomPanSelection = new ZoomPanSelection(this.ctx); - this.ctx.w.globals.tooltip = new Tooltip(this.ctx); - } - }]); - - return InitCtxVariables; - }(); - - var Destroy = /*#__PURE__*/function () { - function Destroy(ctx) { - _classCallCheck(this, Destroy); - - this.ctx = ctx; - this.w = ctx.w; - } - - _createClass(Destroy, [{ - key: "clear", - value: function clear(_ref) { - var isUpdating = _ref.isUpdating; - - if (this.ctx.zoomPanSelection) { - this.ctx.zoomPanSelection.destroy(); - } - - if (this.ctx.toolbar) { - this.ctx.toolbar.destroy(); - } - - this.ctx.animations = null; - this.ctx.axes = null; - this.ctx.annotations = null; - this.ctx.core = null; - this.ctx.data = null; - this.ctx.grid = null; - this.ctx.series = null; - this.ctx.responsive = null; - this.ctx.theme = null; - this.ctx.formatters = null; - this.ctx.titleSubtitle = null; - this.ctx.legend = null; - this.ctx.dimensions = null; - this.ctx.options = null; - this.ctx.crosshairs = null; - this.ctx.zoomPanSelection = null; - this.ctx.updateHelpers = null; - this.ctx.toolbar = null; - this.ctx.localization = null; - this.ctx.w.globals.tooltip = null; - this.clearDomElements({ - isUpdating: isUpdating - }); - } - }, { - key: "killSVG", - value: function killSVG(draw) { - draw.each(function (i, children) { - this.removeClass('*'); - this.off(); - this.stop(); - }, true); - draw.ungroup(); - draw.clear(); - } - }, { - key: "clearDomElements", - value: function clearDomElements(_ref2) { - var _this = this; - - var isUpdating = _ref2.isUpdating; - var elSVG = this.w.globals.dom.Paper.node; // fixes apexcharts.js#1654 & vue-apexcharts#256 - - if (elSVG.parentNode && elSVG.parentNode.parentNode && !isUpdating) { - elSVG.parentNode.parentNode.style.minHeight = 'unset'; - } // detach root event - - - var baseEl = this.w.globals.dom.baseEl; - - if (baseEl) { - // see https://github.com/apexcharts/vue-apexcharts/issues/275 - this.ctx.eventList.forEach(function (event) { - baseEl.removeEventListener(event, _this.ctx.events.documentEvent); - }); - } - - var domEls = this.w.globals.dom; - - if (this.ctx.el !== null) { - // remove all child elements - resetting the whole chart - while (this.ctx.el.firstChild) { - this.ctx.el.removeChild(this.ctx.el.firstChild); - } - } - - this.killSVG(domEls.Paper); - domEls.Paper.remove(); - domEls.elWrap = null; - domEls.elGraphical = null; - domEls.elAnnotations = null; - domEls.elLegendWrap = null; - domEls.baseEl = null; - domEls.elGridRect = null; - domEls.elGridRectMask = null; - domEls.elGridRectMarkerMask = null; - domEls.elForecastMask = null; - domEls.elNonForecastMask = null; - domEls.elDefs = null; - } - }]); - - return Destroy; - }(); - - // Helpers to react to element resizes, regardless of what caused them - // TODO Currently this creates a new ResizeObserver every time we want to observe an element for resizes - // Ideally, we should be able to use a single observer for all elements - var ros = new WeakMap(); // Map callbacks to ResizeObserver instances for easy removal - - function addResizeListener(el, fn) { - var called = false; - - if (el.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) { - var elRect = el.getBoundingClientRect(); - - if (el.style.display === 'none' || elRect.width === 0) { - // if elRect.width=0, the chart is not rendered at all - // (it has either display none or hidden in a different tab) - // fixes https://github.com/apexcharts/apexcharts.js/issues/2825 - // fixes https://github.com/apexcharts/apexcharts.js/issues/2991 - // fixes https://github.com/apexcharts/apexcharts.js/issues/2992 - called = true; - } - } - - var ro = new ResizeObserver(function (r) { - // ROs fire immediately after being created, - // per spec: https://drafts.csswg.org/resize-observer/#ref-for-element%E2%91%A3 - // we don't want that so we just discard the first run - if (called) { - fn.call(el, r); - } - - called = true; - }); - - if (el.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { - // Document fragment, observe children instead (needed for Shadow DOM, see #1332) - Array.from(el.children).forEach(function (c) { - return ro.observe(c); - }); - } else { - ro.observe(el); - } - - ros.set(fn, ro); - } - function removeResizeListener(el, fn) { - var ro = ros.get(fn); - - if (ro) { - ro.disconnect(); - ros.delete(fn); - } - } - - var css_248z = ".apexcharts-canvas {\n position: relative;\n user-select: none;\n /* cannot give overflow: hidden as it will crop tooltips which overflow outside chart area */\n}\n\n\n/* scrollbar is not visible by default for legend, hence forcing the visibility */\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px;\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0, 0, 0, .5);\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n}\n\n\n.apexcharts-inner {\n position: relative;\n}\n\n.apexcharts-text tspan {\n font-family: inherit;\n}\n\n.legend-mouseover-inactive {\n transition: 0.15s ease all;\n opacity: 0.20;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0;\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255, 255, 255, 0.96);\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30, 30, 30, 0.8);\n}\n\n.apexcharts-tooltip * {\n font-family: inherit;\n}\n\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #ECEFF1;\n border-bottom: 1px solid #ddd;\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0, 0, 0, 0.7);\n border-bottom: 1px solid #333;\n}\n\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-z-value {\n display: inline-block;\n font-weight: 600;\n margin-left: 5px;\n}\n\n.apexcharts-tooltip-title:empty,\n.apexcharts-tooltip-text-y-label:empty,\n.apexcharts-tooltip-text-y-value:empty,\n.apexcharts-tooltip-text-goals-label:empty,\n.apexcharts-tooltip-text-goals-value:empty,\n.apexcharts-tooltip-text-z-value:empty {\n display: none;\n}\n\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-z-value {\n font-weight: 600;\n}\n\n.apexcharts-tooltip-text-goals-label, \n.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px;\n}\n\n.apexcharts-tooltip-goals-group, \n.apexcharts-tooltip-text-goals-label, \n.apexcharts-tooltip-text-goals-value {\n display: flex;\n}\n.apexcharts-tooltip-text-goals-label:not(:empty),\n.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px;\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0px;\n margin-right: 10px;\n border-radius: 50%;\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center;\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1;\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,\n.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px;\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0 !important;\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px;\n}\n\n.apexcharts-tooltip-box, .apexcharts-custom-tooltip {\n padding: 4px 8px;\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse;\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0;\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: bold;\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px;\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777;\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: bold;\n display: block;\n margin-bottom: 5px;\n}\n\n.apexcharts-xaxistooltip {\n opacity: 0;\n padding: 9px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #ECEFF1;\n border: 1px solid #90A4AE;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-xaxistooltip:after,\n.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-left: -6px;\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\n border-width: 7px;\n margin-left: -7px;\n}\n\n.apexcharts-xaxistooltip-bottom:after,\n.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%;\n}\n\n.apexcharts-xaxistooltip-top:after,\n.apexcharts-xaxistooltip-top:before {\n top: 100%;\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #ECEFF1;\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #ECEFF1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-yaxistooltip {\n opacity: 0;\n padding: 4px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #ECEFF1;\n border: 1px solid #90A4AE;\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-yaxistooltip:after,\n.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-top: -6px;\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\n border-width: 7px;\n margin-top: -7px;\n}\n\n.apexcharts-yaxistooltip-left:after,\n.apexcharts-yaxistooltip-left:before {\n left: 100%;\n}\n\n.apexcharts-yaxistooltip-right:after,\n.apexcharts-yaxistooltip-right:before {\n right: 100%;\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #ECEFF1;\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #ECEFF1;\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1;\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none;\n}\n\n.apexcharts-xcrosshairs,\n.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,\n.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0;\n}\n\n.apexcharts-selection-rect {\n cursor: move;\n}\n\n.svg_select_boundingRect, .svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden;\n}\n.apexcharts-selection-rect + g .svg_select_boundingRect,\n.apexcharts-selection-rect + g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden;\n}\n\n.apexcharts-selection-rect + g .svg_select_points_l,\n.apexcharts-selection-rect + g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible;\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2;\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon,\n.apexcharts-reset-icon,\n.apexcharts-pan-icon,\n.apexcharts-selection-icon,\n.apexcharts-menu-icon,\n.apexcharts-toolbar-custom-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6E8192;\n text-align: center;\n}\n\n.apexcharts-zoom-icon svg,\n.apexcharts-zoomin-icon svg,\n.apexcharts-zoomout-icon svg,\n.apexcharts-reset-icon svg,\n.apexcharts-menu-icon svg {\n fill: #6E8192;\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(0.76)\n}\n\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg,\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg {\n fill: #f3f4f5;\n}\n\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg {\n fill: #008FFB;\n}\n\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg,\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg {\n fill: #333;\n}\n\n.apexcharts-selection-icon,\n.apexcharts-menu-icon {\n position: relative;\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px;\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-reset-icon,\n.apexcharts-menu-icon {\n transform: scale(0.85);\n}\n\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n transform: scale(0.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px;\n}\n\n.apexcharts-pan-icon {\n transform: scale(0.62);\n position: relative;\n left: 1px;\n top: 0px;\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6E8192;\n stroke-width: 2;\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008FFB;\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333;\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0px 6px 2px 6px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: 0.15s ease all;\n pointer-events: none;\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: 0.15s ease all;\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer;\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee;\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0, 0, 0, 0.7);\n color: #fff;\n}\n\n@media screen and (min-width: 768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1;\n }\n}\n\n.apexcharts-datalabel.apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-pie-label,\n.apexcharts-datalabels,\n.apexcharts-datalabel,\n.apexcharts-datalabel-label,\n.apexcharts-datalabel-value {\n cursor: default;\n pointer-events: none;\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: 0.3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease;\n}\n\n.apexcharts-canvas .apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-hide .apexcharts-series-points {\n opacity: 0;\n}\n\n.apexcharts-gridline,\n.apexcharts-annotation-rect,\n.apexcharts-xaxis-annotation-label,\n.apexcharts-yaxis-annotation-label,\n.apexcharts-point-annotation-label,\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-line,\n.apexcharts-zoom-rect,\n.apexcharts-toolbar svg,\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-radar-series path,\n.apexcharts-radar-series polygon {\n pointer-events: none;\n}\n\n\n/* markers */\n\n.apexcharts-marker {\n transition: 0.15s ease all;\n}\n\n@keyframes opaque {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n\n/* Resize generated styles */\n\n@keyframes resizeanim {\n from {\n opacity: 0;\n }\n to {\n opacity: 0;\n }\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n}\n\n.resize-triggers,\n.resize-triggers>div,\n.contract-trigger:before {\n content: \" \";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.resize-triggers>div {\n background: #eee;\n overflow: auto;\n}\n\n.contract-trigger:before {\n width: 200%;\n height: 200%;\n}"; - - /** - * - * @module ApexCharts - **/ - - var ApexCharts$1 = /*#__PURE__*/function () { - function ApexCharts(el, opts) { - _classCallCheck(this, ApexCharts); - - this.opts = opts; - this.ctx = this; // Pass the user supplied options to the Base Class where these options will be extended with defaults. The returned object from Base Class will become the config object in the entire codebase. - - this.w = new Base(opts).init(); - this.el = el; - this.w.globals.cuid = Utils$1.randomId(); - this.w.globals.chartID = this.w.config.chart.id ? Utils$1.escapeString(this.w.config.chart.id) : this.w.globals.cuid; - var initCtx = new InitCtxVariables(this); - initCtx.initModules(); - this.create = Utils$1.bind(this.create, this); - this.windowResizeHandler = this._windowResizeHandler.bind(this); - this.parentResizeHandler = this._parentResizeCallback.bind(this); - } - /** - * The primary method user will call to render the chart. - */ - - - _createClass(ApexCharts, [{ - key: "render", - value: function render() { - var _this = this; - - // main method - return new Promise(function (resolve, reject) { - // only draw chart, if element found - if (_this.el !== null) { - if (typeof Apex._chartInstances === 'undefined') { - Apex._chartInstances = []; - } - - if (_this.w.config.chart.id) { - Apex._chartInstances.push({ - id: _this.w.globals.chartID, - group: _this.w.config.chart.group, - chart: _this - }); - } // set the locale here - - - _this.setLocale(_this.w.config.chart.defaultLocale); - - var beforeMount = _this.w.config.chart.events.beforeMount; - - if (typeof beforeMount === 'function') { - beforeMount(_this, _this.w); - } - - _this.events.fireEvent('beforeMount', [_this, _this.w]); - - window.addEventListener('resize', _this.windowResizeHandler); - addResizeListener(_this.el.parentNode, _this.parentResizeHandler); // Add CSS if not already added - - if (!_this.css) { - var rootNode = _this.el.getRootNode && _this.el.getRootNode(); - - var inShadowRoot = Utils$1.is('ShadowRoot', rootNode); - var doc = _this.el.ownerDocument; - var globalCSS = doc.getElementById('apexcharts-css'); - - if (inShadowRoot || !globalCSS) { - _this.css = document.createElement('style'); - _this.css.id = 'apexcharts-css'; - _this.css.textContent = css_248z; - - if (inShadowRoot) { - // We are in Shadow DOM, add to shadow root - rootNode.prepend(_this.css); - } else { - // Add to of element's document - doc.head.appendChild(_this.css); - } - } - } - - var graphData = _this.create(_this.w.config.series, {}); - - if (!graphData) return resolve(_this); - - _this.mount(graphData).then(function () { - if (typeof _this.w.config.chart.events.mounted === 'function') { - _this.w.config.chart.events.mounted(_this, _this.w); - } - - _this.events.fireEvent('mounted', [_this, _this.w]); - - resolve(graphData); - }).catch(function (e) { - reject(e); // handle error in case no data or element not found - }); - } else { - reject(new Error('Element not found')); - } - }); - } - }, { - key: "create", - value: function create(ser, opts) { - var w = this.w; - var initCtx = new InitCtxVariables(this); - initCtx.initModules(); - var gl = this.w.globals; - gl.noData = false; - gl.animationEnded = false; - this.responsive.checkResponsiveConfig(opts); - - if (w.config.xaxis.convertedCatToNumeric) { - var defaults = new Defaults(w.config); - defaults.convertCatToNumericXaxis(w.config, this.ctx); - } - - if (this.el === null) { - gl.animationEnded = true; - return null; - } - - this.core.setupElements(); - - if (w.config.chart.type === 'treemap') { - w.config.grid.show = false; - w.config.yaxis[0].show = false; - } - - if (gl.svgWidth === 0) { - // if the element is hidden, skip drawing - gl.animationEnded = true; - return null; - } - - var combo = CoreUtils.checkComboSeries(ser); - gl.comboCharts = combo.comboCharts; - gl.comboBarCount = combo.comboBarCount; - var allSeriesAreEmpty = ser.every(function (s) { - return s.data && s.data.length === 0; - }); - - if (ser.length === 0 || allSeriesAreEmpty) { - this.series.handleNoData(); - } - - this.events.setupEventHandlers(); // Handle the data inputted by user and set some of the global variables (for eg, if data is datetime / numeric / category). Don't calculate the range / min / max at this time - - this.data.parseData(ser); // this is a good time to set theme colors first - - this.theme.init(); // as markers accepts array, we need to setup global markers for easier access - - var markers = new Markers(this); - markers.setGlobalMarkerSize(); // labelFormatters should be called before dimensions as in dimensions we need text labels width - - this.formatters.setLabelFormatters(); - this.titleSubtitle.draw(); // legend is calculated here before coreCalculations because it affects the plottable area - // if there is some data to show or user collapsed all series, then proceed drawing legend - - if (!gl.noData || gl.collapsedSeries.length === gl.series.length || w.config.legend.showForSingleSeries) { - this.legend.init(); - } // check whether in multiple series, all series share the same X - - - this.series.hasAllSeriesEqualX(); // coreCalculations will give the min/max range and yaxis/axis values. It should be called here to set series variable from config to globals - - if (gl.axisCharts) { - this.core.coreCalculations(); - - if (w.config.xaxis.type !== 'category') { - // as we have minX and maxX values, determine the default DateTimeFormat for time series - this.formatters.setLabelFormatters(); - } - - this.ctx.toolbar.minX = w.globals.minX; - this.ctx.toolbar.maxX = w.globals.maxX; - } // we need to generate yaxis for heatmap separately as we are not showing numerics there, but seriesNames. There are some tweaks which are required for heatmap to align labels correctly which are done in below function - // Also we need to do this before calculating Dimensions plotCoords() method of Dimensions - - - this.formatters.heatmapLabelFormatters(); // get the largest marker size which will be needed in dimensions calc - - var coreUtils = new CoreUtils(this); - coreUtils.getLargestMarkerSize(); // We got plottable area here, next task would be to calculate axis areas - - this.dimensions.plotCoords(); - var xyRatios = this.core.xySettings(); - this.grid.createGridMask(); - var elGraph = this.core.plotChartType(ser, xyRatios); - var dataLabels = new DataLabels(this); - dataLabels.bringForward(); - - if (w.config.dataLabels.background.enabled) { - dataLabels.dataLabelsBackground(); - } // after all the drawing calculations, shift the graphical area (actual charts/bars) excluding legends - - - this.core.shiftGraphPosition(); - var dim = { - plot: { - left: w.globals.translateX, - top: w.globals.translateY, - width: w.globals.gridWidth, - height: w.globals.gridHeight - } - }; - return { - elGraph: elGraph, - xyRatios: xyRatios, - elInner: w.globals.dom.elGraphical, - dimensions: dim - }; - } - }, { - key: "mount", - value: function mount() { - var _this2 = this; - - var graphData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - var me = this; - var w = me.w; - return new Promise(function (resolve, reject) { - // no data to display - if (me.el === null) { - return reject(new Error('Not enough data to display or target element not found')); - } else if (graphData === null || w.globals.allSeriesCollapsed) { - me.series.handleNoData(); - } - - if (w.config.chart.type !== 'treemap') { - me.axes.drawAxis(w.config.chart.type, graphData.xyRatios); - } - - me.grid = new Grid(me); - var elgrid = me.grid.drawGrid(); - me.annotations = new Annotations(me); - me.annotations.drawImageAnnos(); - me.annotations.drawTextAnnos(); - - if (w.config.grid.position === 'back' && elgrid) { - w.globals.dom.elGraphical.add(elgrid.el); - } - - var xAxis = new XAxis(_this2.ctx); - var yaxis = new YAxis(_this2.ctx); - - if (elgrid !== null) { - xAxis.xAxisLabelCorrections(elgrid.xAxisTickWidth); - yaxis.setYAxisTextAlignments(); - w.config.yaxis.map(function (yaxe, index) { - if (w.globals.ignoreYAxisIndexes.indexOf(index) === -1) { - yaxis.yAxisTitleRotate(index, yaxe.opposite); - } - }); - } - - if (w.config.annotations.position === 'back') { - w.globals.dom.Paper.add(w.globals.dom.elAnnotations); - me.annotations.drawAxesAnnotations(); - } - - if (Array.isArray(graphData.elGraph)) { - for (var g = 0; g < graphData.elGraph.length; g++) { - w.globals.dom.elGraphical.add(graphData.elGraph[g]); - } - } else { - w.globals.dom.elGraphical.add(graphData.elGraph); - } - - if (w.config.grid.position === 'front' && elgrid) { - w.globals.dom.elGraphical.add(elgrid.el); - } - - if (w.config.xaxis.crosshairs.position === 'front') { - me.crosshairs.drawXCrosshairs(); - } - - if (w.config.yaxis[0].crosshairs.position === 'front') { - me.crosshairs.drawYCrosshairs(); - } - - if (w.config.annotations.position === 'front') { - w.globals.dom.Paper.add(w.globals.dom.elAnnotations); - me.annotations.drawAxesAnnotations(); - } - - if (!w.globals.noData) { - // draw tooltips at the end - if (w.config.tooltip.enabled && !w.globals.noData) { - me.w.globals.tooltip.drawTooltip(graphData.xyRatios); - } - - if (w.globals.axisCharts && (w.globals.isXNumeric || w.config.xaxis.convertedCatToNumeric || w.globals.isRangeBar)) { - if (w.config.chart.zoom.enabled || w.config.chart.selection && w.config.chart.selection.enabled || w.config.chart.pan && w.config.chart.pan.enabled) { - me.zoomPanSelection.init({ - xyRatios: graphData.xyRatios - }); - } - } else { - var tools = w.config.chart.toolbar.tools; - var toolsArr = ['zoom', 'zoomin', 'zoomout', 'selection', 'pan', 'reset']; - toolsArr.forEach(function (t) { - tools[t] = false; - }); - } - - if (w.config.chart.toolbar.show && !w.globals.allSeriesCollapsed) { - me.toolbar.createToolbar(); - } - } - - if (w.globals.memory.methodsToExec.length > 0) { - w.globals.memory.methodsToExec.forEach(function (fn) { - fn.method(fn.params, false, fn.context); - }); - } - - if (!w.globals.axisCharts && !w.globals.noData) { - me.core.resizeNonAxisCharts(); - } - - resolve(me); - }); - } - /** - * Destroy the chart instance by removing all elements which also clean up event listeners on those elements. - */ - - }, { - key: "destroy", - value: function destroy() { - window.removeEventListener('resize', this.windowResizeHandler); - removeResizeListener(this.el.parentNode, this.parentResizeHandler); // remove the chart's instance from the global Apex._chartInstances - - var chartID = this.w.config.chart.id; - - if (chartID) { - Apex._chartInstances.forEach(function (c, i) { - if (c.id === Utils$1.escapeString(chartID)) { - Apex._chartInstances.splice(i, 1); - } - }); - } - - new Destroy(this.ctx).clear({ - isUpdating: false - }); - } - /** - * Allows users to update Options after the chart has rendered. - * - * @param {object} options - A new config object can be passed which will be merged with the existing config object - * @param {boolean} redraw - should redraw from beginning or should use existing paths and redraw from there - * @param {boolean} animate - should animate or not on updating Options - */ - - }, { - key: "updateOptions", - value: function updateOptions(options) { - var _this3 = this; - - var redraw = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - var updateSyncedCharts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; - var overwriteInitialConfig = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; - var w = this.w; // when called externally, clear some global variables - // fixes apexcharts.js#1488 - - w.globals.selection = undefined; - - if (options.series) { - this.series.resetSeries(false, true, false); - - if (options.series.length && options.series[0].data) { - options.series = options.series.map(function (s, i) { - return _this3.updateHelpers._extendSeries(s, i); - }); - } // user updated the series via updateOptions() function. - // Hence, we need to reset axis min/max to avoid zooming issues - - - this.updateHelpers.revertDefaultAxisMinMax(); - } // user has set x-axis min/max externally - hence we need to forcefully set the xaxis min/max - - - if (options.xaxis) { - options = this.updateHelpers.forceXAxisUpdate(options); - } - - if (options.yaxis) { - options = this.updateHelpers.forceYAxisUpdate(options); - } - - if (w.globals.collapsedSeriesIndices.length > 0) { - this.series.clearPreviousPaths(); - } - /* update theme mode#459 */ - - - if (options.theme) { - options = this.theme.updateThemeOptions(options); - } - - return this.updateHelpers._updateOptions(options, redraw, animate, updateSyncedCharts, overwriteInitialConfig); - } - /** - * Allows users to update Series after the chart has rendered. - * - * @param {array} series - New series which will override the existing - */ - - }, { - key: "updateSeries", - value: function updateSeries() { - var newSeries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var overwriteInitialSeries = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - this.series.resetSeries(false); - this.updateHelpers.revertDefaultAxisMinMax(); - return this.updateHelpers._updateSeries(newSeries, animate, overwriteInitialSeries); - } - /** - * Allows users to append a new series after the chart has rendered. - * - * @param {array} newSerie - New serie which will be appended to the existing series - */ - - }, { - key: "appendSeries", - value: function appendSeries(newSerie) { - var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var overwriteInitialSeries = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - var newSeries = this.w.config.series.slice(); - newSeries.push(newSerie); - this.series.resetSeries(false); - this.updateHelpers.revertDefaultAxisMinMax(); - return this.updateHelpers._updateSeries(newSeries, animate, overwriteInitialSeries); - } - /** - * Allows users to append Data to series. - * - * @param {array} newData - New data in the same format as series - */ - - }, { - key: "appendData", - value: function appendData(newData) { - var overwriteInitialSeries = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var me = this; - me.w.globals.dataChanged = true; - me.series.getPreviousPaths(); - var newSeries = me.w.config.series.slice(); - - for (var i = 0; i < newSeries.length; i++) { - if (newData[i] !== null && typeof newData[i] !== 'undefined') { - for (var j = 0; j < newData[i].data.length; j++) { - newSeries[i].data.push(newData[i].data[j]); - } - } - } - - me.w.config.series = newSeries; - - if (overwriteInitialSeries) { - me.w.globals.initialSeries = Utils$1.clone(me.w.config.series); - } - - return this.update(); - } - }, { - key: "update", - value: function update(options) { - var _this4 = this; - - return new Promise(function (resolve, reject) { - new Destroy(_this4.ctx).clear({ - isUpdating: true - }); - - var graphData = _this4.create(_this4.w.config.series, options); - - if (!graphData) return resolve(_this4); - - _this4.mount(graphData).then(function () { - if (typeof _this4.w.config.chart.events.updated === 'function') { - _this4.w.config.chart.events.updated(_this4, _this4.w); - } - - _this4.events.fireEvent('updated', [_this4, _this4.w]); - - _this4.w.globals.isDirty = true; - resolve(_this4); - }).catch(function (e) { - reject(e); - }); - }); - } - /** - * Get all charts in the same "group" (including the instance which is called upon) to sync them when user zooms in/out or pan. - */ - - }, { - key: "getSyncedCharts", - value: function getSyncedCharts() { - var chartGroups = this.getGroupedCharts(); - var allCharts = [this]; - - if (chartGroups.length) { - allCharts = []; - chartGroups.forEach(function (ch) { - allCharts.push(ch); - }); - } - - return allCharts; - } - /** - * Get charts in the same "group" (excluding the instance which is called upon) to perform operations on the other charts of the same group (eg., tooltip hovering) - */ - - }, { - key: "getGroupedCharts", - value: function getGroupedCharts() { - var _this5 = this; - - return Apex._chartInstances.filter(function (ch) { - if (ch.group) { - return true; - } - }).map(function (ch) { - return _this5.w.config.chart.group === ch.group ? ch.chart : _this5; - }); - } - }, { - key: "toggleSeries", - value: function toggleSeries(seriesName) { - return this.series.toggleSeries(seriesName); - } - }, { - key: "highlightSeriesOnLegendHover", - value: function highlightSeriesOnLegendHover(e, targetElement) { - return this.series.toggleSeriesOnHover(e, targetElement); - } - }, { - key: "showSeries", - value: function showSeries(seriesName) { - this.series.showSeries(seriesName); - } - }, { - key: "hideSeries", - value: function hideSeries(seriesName) { - this.series.hideSeries(seriesName); - } - }, { - key: "resetSeries", - value: function resetSeries() { - var shouldUpdateChart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; - var shouldResetZoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - this.series.resetSeries(shouldUpdateChart, shouldResetZoom); - } // Public method to add event listener on chart context - - }, { - key: "addEventListener", - value: function addEventListener(name, handler) { - this.events.addEventListener(name, handler); - } // Public method to remove event listener on chart context - - }, { - key: "removeEventListener", - value: function removeEventListener(name, handler) { - this.events.removeEventListener(name, handler); - } - }, { - key: "addXaxisAnnotation", - value: function addXaxisAnnotation(opts) { - var pushToMemory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; - var me = this; - - if (context) { - me = context; - } - - me.annotations.addXaxisAnnotationExternal(opts, pushToMemory, me); - } - }, { - key: "addYaxisAnnotation", - value: function addYaxisAnnotation(opts) { - var pushToMemory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; - var me = this; - - if (context) { - me = context; - } - - me.annotations.addYaxisAnnotationExternal(opts, pushToMemory, me); - } - }, { - key: "addPointAnnotation", - value: function addPointAnnotation(opts) { - var pushToMemory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; - var me = this; - - if (context) { - me = context; - } - - me.annotations.addPointAnnotationExternal(opts, pushToMemory, me); - } - }, { - key: "clearAnnotations", - value: function clearAnnotations() { - var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined; - var me = this; - - if (context) { - me = context; - } - - me.annotations.clearAnnotations(me); - } - }, { - key: "removeAnnotation", - value: function removeAnnotation(id) { - var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - var me = this; - - if (context) { - me = context; - } - - me.annotations.removeAnnotation(me, id); - } - }, { - key: "getChartArea", - value: function getChartArea() { - var el = this.w.globals.dom.baseEl.querySelector('.apexcharts-inner'); - return el; - } - }, { - key: "getSeriesTotalXRange", - value: function getSeriesTotalXRange(minX, maxX) { - return this.coreUtils.getSeriesTotalsXRange(minX, maxX); - } - }, { - key: "getHighestValueInSeries", - value: function getHighestValueInSeries() { - var seriesIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var range = new Range(this.ctx); - return range.getMinYMaxY(seriesIndex).highestY; - } - }, { - key: "getLowestValueInSeries", - value: function getLowestValueInSeries() { - var seriesIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - var range = new Range(this.ctx); - return range.getMinYMaxY(seriesIndex).lowestY; - } - }, { - key: "getSeriesTotal", - value: function getSeriesTotal() { - return this.w.globals.seriesTotals; - } - }, { - key: "toggleDataPointSelection", - value: function toggleDataPointSelection(seriesIndex, dataPointIndex) { - return this.updateHelpers.toggleDataPointSelection(seriesIndex, dataPointIndex); - } - }, { - key: "zoomX", - value: function zoomX(min, max) { - this.ctx.toolbar.zoomUpdateOptions(min, max); - } - }, { - key: "setLocale", - value: function setLocale(localeName) { - this.localization.setCurrentLocaleValues(localeName); - } - }, { - key: "dataURI", - value: function dataURI(options) { - var exp = new Exports(this.ctx); - return exp.dataURI(options); - } - }, { - key: "exportToCSV", - value: function exportToCSV() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var exp = new Exports(this.ctx); - return exp.exportToCSV(options); - } - }, { - key: "paper", - value: function paper() { - return this.w.globals.dom.Paper; - } - }, { - key: "_parentResizeCallback", - value: function _parentResizeCallback() { - if (this.w.globals.animationEnded && this.w.config.chart.redrawOnParentResize) { - this._windowResize(); - } - } - /** - * Handle window resize and re-draw the whole chart. - */ - - }, { - key: "_windowResize", - value: function _windowResize() { - var _this6 = this; - - clearTimeout(this.w.globals.resizeTimer); - this.w.globals.resizeTimer = window.setTimeout(function () { - _this6.w.globals.resized = true; - _this6.w.globals.dataChanged = false; // we need to redraw the whole chart on window resize (with a small delay). - - _this6.ctx.update(); - }, 150); - } - }, { - key: "_windowResizeHandler", - value: function _windowResizeHandler() { - var redraw = this.w.config.chart.redrawOnWindowResize; - - if (typeof redraw === 'function') { - redraw = redraw(); - } - - redraw && this._windowResize(); - } - }], [{ - key: "getChartByID", - value: function getChartByID(id) { - var chartId = Utils$1.escapeString(id); - - var c = Apex._chartInstances.filter(function (ch) { - return ch.id === chartId; - })[0]; - - return c && c.chart; - } - /** - * Allows the user to provide data attrs in the element and the chart will render automatically when this method is called by searching for the elements containing 'data-apexcharts' attribute - */ - - }, { - key: "initOnLoad", - value: function initOnLoad() { - var els = document.querySelectorAll('[data-apexcharts]'); - - for (var i = 0; i < els.length; i++) { - var el = els[i]; - var options = JSON.parse(els[i].getAttribute('data-options')); - var apexChart = new ApexCharts(el, options); - apexChart.render(); - } - } - /** - * This static method allows users to call chart methods without necessarily from the - * instance of the chart in case user has assigned chartID to the targeted chart. - * The chartID is used for mapping the instance stored in Apex._chartInstances global variable - * - * This is helpful in cases when you don't have reference of the chart instance - * easily and need to call the method from anywhere. - * For eg, in React/Vue applications when you have many parent/child components, - * and need easy reference to other charts for performing dynamic operations - * - * @param {string} chartID - The unique identifier which will be used to call methods - * on that chart instance - * @param {function} fn - The method name to call - * @param {object} opts - The parameters which are accepted in the original method will be passed here in the same order. - */ - - }, { - key: "exec", - value: function exec(chartID, fn) { - var chart = this.getChartByID(chartID); - if (!chart) return; // turn on the global exec flag to indicate this method was called - - chart.w.globals.isExecCalled = true; - var ret = null; - - if (chart.publicMethods.indexOf(fn) !== -1) { - for (var _len = arguments.length, opts = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - opts[_key - 2] = arguments[_key]; - } - - ret = chart[fn].apply(chart, opts); - } - - return ret; - } - }, { - key: "merge", - value: function merge(target, source) { - return Utils$1.extend(target, source); - } - }]); - - return ApexCharts; - }(); - - return ApexCharts$1; - -}))); diff --git a/demo/dist/libs/apexcharts/dist/apexcharts.min.js b/demo/dist/libs/apexcharts/dist/apexcharts.min.js deleted file mode 100644 index 925d5cb56..000000000 --- a/demo/dist/libs/apexcharts/dist/apexcharts.min.js +++ /dev/null @@ -1,14 +0,0 @@ -/*! - * ApexCharts v3.35.5 - * (c) 2018-2022 ApexCharts - * Released under the MIT License. - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){"use strict";function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function e(e){for(var i=1;it.length)&&(e=t.length);for(var i=0,a=new Array(e);i>16,o=i>>8&255,n=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(t){return t&&"object"===i(t)&&!Array.isArray(t)&&null!=t}},{key:"is",value:function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;ee.length?t:e}))),t.length>e.length?t:e}),0)}},{key:"hexToRgba",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var a=t.indexOf("Edge/");return a>0&&parseInt(t.substring(a+5,t.indexOf(".",a)),10)}}]),t}(),b=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return r(t,[{key:"setEasingFunctions",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case"linear":t="-";break;case"easein":t="<";break;case"easeout":t=">";break;case"easeinout":t="<>";break;case"swing":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case"bounce":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1};break;default:t="<>"}this.w.globals.easing=t}}},{key:"animateLine",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:"animateMarker",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:"animateCircle",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:"animateRect",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:"animatePathsGradually",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&"bar"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,"line"!==h.config.chart.type||h.globals.comboCharts?s:"stroke",r,o,n,l*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach((function(t){t.el.classList.remove("apexcharts-element-hidden")}))}},{key:"animationCompleted",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),"function"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:"morphSVG",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr("pathFrom")),r||(r=t.attr("pathTo"));var c=function(t){return"radar"===h.config.chart.type&&(o=1),"M 0 ".concat(h.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=c()),(!r||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){x.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):"none"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),v=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getDefaultFilter",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size("120%","180%","-5%","-40%"),"none"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addNormalFilter",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains("apexcharts-marker")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addLightenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"addDarkenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"applyFilter",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(t,e);break;case"lighten":this.addLightenFilter(t,e,{intensity:a});break;case"darken":this.addDarkenFilter(t,e,{intensity:a})}}},{key:"addShadow",value:function(t,e,i){var a=i.blur,s=i.top,r=i.left,o=i.color,n=i.opacity,l=t.flood(Array.isArray(o)?o[e]:o,n).composite(t.sourceAlpha,"in").offset(r,s).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:"dropShadow",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,r=e.blur,o=e.color,n=e.opacity,l=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),x.isIE()&&"radialBar"===h.config.chart.type||(o=Array.isArray(o)?o[i]:o,t.filter((function(t){var e=null;e=x.isSafari()||x.isFirefox()||x.isIE()?t.flood(o,n).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r):t.flood(o,n).composite(t.sourceAlpha,"in").offset(s,a).gaussianBlur(r).merge(t.source),t.blend(t.source,e)})),l||t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)),t}},{key:"setSelectionFilter",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute("selected",!0);var s=a.config.states.active.filter;"none"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:"_scaleFilterSize",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),t}(),m=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawLine",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"butt",l=this.w,h=l.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":o,"stroke-linecap":n});return h}},{key:"drawRect",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w,d=c.globals.dom.Paper.rect();return d.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,"stroke-width":null!==n?n:0,stroke:null!==l?l:"none","stroke-dasharray":h}),d.node.setAttribute("fill",r),d}},{key:"drawPolygon",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none",s=this.w,r=s.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,"stroke-width":i});return r}},{key:"drawCircle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;t<0&&(t=0);var a=i.globals.dom.Paper.circle(2*t);return null!==e&&a.attr(e),a}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,a=t.stroke,s=void 0===a?"#a8a8a8":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,p=void 0===u?null:u,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,"fill-opacity":h,stroke:s,"stroke-opacity":d,"stroke-linecap":p,"stroke-width":o,"stroke-dasharray":x,class:g})}},{key:"group",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=e.globals.dom.Paper.group();return null!==t&&i.attr(t),i}},{key:"move",value:function(t,e){var i=["M",t,e].join(" ");return i}},{key:"line",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=["L",t,e].join(" "):"H"===i?a=["H",t].join(" "):"V"===i&&(a=["V",e].join(" ")),a}},{key:"curve",value:function(t,e,i,a,s,r){var o=["C",t,e,i,a,s,r].join(" ");return o}},{key:"quadraticCurve",value:function(t,e,i,a){return["Q",t,e,i,a].join(" ")}},{key:"arc",value:function(t,e,i,a,s,r,o){var n=arguments.length>7&&void 0!==arguments[7]&&arguments[7],l="A";n&&(l="a");var h=[l,t,e,i,a,s,r,o].join(" ");return h}},{key:"renderPaths",value:function(t){var i,a=t.j,s=t.realIndex,r=t.pathFrom,o=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,p=t.className,f=t.shouldClipToGrid,x=void 0===f||f,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new v(this.ctx),C=new b(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,M=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);M?i=r:(i=o,A.globals.animationEnded=!0);var T=A.config.stroke.dashArray,I=0;I=Array.isArray(T)?T[s]:A.config.stroke.dashArray;var z=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:I});if(z.attr("index",s),x&&z.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")}),"none"!==A.config.states.normal.filter.type)S.getDefaultFilter(z,s);else if(A.config.chart.dropShadow.enabled&&k&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(s))){var X=A.config.chart.dropShadow;S.dropShadow(z,X,s)}y&&(z.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,z)),z.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,z)),z.node.addEventListener("mousedown",this.pathMouseDown.bind(this,z))),z.attr({pathTo:o,pathFrom:r});var E={el:z,j:a,realIndex:s,pathFrom:r,pathTo:o,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(e(e({},E),{},{speed:g})),A.globals.dataChanged&&P&&M&&C.animatePathsGradually(e(e({},E),{},{speed:u})),z}},{key:"drawPattern",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=this.w,o=r.globals.dom.Paper.pattern(e,i,(function(r){"horizontalLines"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):"verticalLines"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):"slantedLines"===t?r.line(0,0,e,i).stroke({color:a,width:s}):"squares"===t?r.rect(e,i).fill("none").stroke({color:a,width:s}):"circles"===t&&r.circle(e).fill("none").stroke({color:a,width:s})}));return o}},{key:"drawGradient",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf("#")&&(e=x.hexToRgba(e,a)),i.length<9&&0===i.indexOf("#")&&(i=x.hexToRgba(i,s));var d=0,g=1,u=1,p=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,p=void 0!==n[3]?n[3]/100:null);var f=!("donut"!==c.config.chart.type&&"pie"!==c.config.chart.type&&"polarArea"!==c.config.chart.type&&"bubble"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==p&&t.at(p,e,a)})):c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),f){var b=c.globals.gridWidth/2,v=c.globals.gridHeight/2;"bubble"!==c.config.chart.type?r.attr({gradientUnits:"userSpaceOnUse",cx:b,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?r.from(0,0).to(0,1):"diagonal"===t?r.from(0,0).to(1,1):"horizontal"===t?r.from(0,1).to(1,1):"diagonal2"===t&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(".apexcharts-series path").members,h=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute("selected","false"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute("selected","true"),o="true",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if("true"===o){var d=i.config.states.active.filter;if("none"!==d)a.applyFilter(t,s,d.type,d.value);else if("none"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if("none"!==i.config.states.active.filter.type)if("none"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e={};return t&&"function"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});a&&o.attr("transform",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if("function"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+"...");t.textContent="."}}}],[{key:"setAttrs",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),y=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getStackedSeriesTotals",value:function(){var t=this.w,e=[];if(0===t.globals.series.length)return e;for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:"isSeriesNull",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:"getCategoryLabels",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:"extendArrayProps",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}]),t}(),w=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e}return r(t,[{key:"setOrientations",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4),"top"===t.label.position?s.setAttribute("y",parseFloat(s.getAttribute("y"))+r.width):s.setAttribute("y",parseFloat(s.getAttribute("y"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute("transform","rotate(-90 ".concat(n," ").concat(l,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;"vertical"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:"annotationsBackground",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(a,"']"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener("mouseenter",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener("mouseleave",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener("click",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,"xaxis")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,"yaxis")})),e.config.annotations.points.map((function(t,e){i(t,e,"point")}))}},{key:"getY1Y2",value:function(t,e){var i,a="y1"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var o=s.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(r+1)+")");o&&(i=parseFloat(o.getAttribute("y")))}else{var n;if(s.config.yaxis[e.yAxisIndex].logarithmic)n=(a=new y(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else n=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-n,!e.marker||void 0!==e.y&&null!==e.y||(i=0),s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=n)}return i}},{key:"getX1X2",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,s=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,r=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=(e.x-a)/(r/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(o=(s-e.x)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x));var n=(e.x2-a)/(r/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(n=(s-e.x2)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(o=i.globals.gridWidth),"x1"===t?o:n}},{key:"getStringX",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),t}(),k=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addXaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2("x1",t),o=t.label.text,n=t.strokeDashArray;if(x.isNumber(r)){if(null===t.x2||void 0===t.x2){var l=this.annoCtx.graphics.drawLine(r+t.offsetX,0+t.offsetY,r+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,n,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this.helpers.getX1X2("x2",t))o){var h=o;o=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add("apexcharts-annotation-rect"),c.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d="right"===t.label.position?s.globals.gridWidth:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});g.attr({rel:i}),e.appendChild(g.node)}},{key:"_getYAxisAnnotationWidth",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf("%")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:"drawYAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),S=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addPointAnnotation",value:function(t,e,i){this.w;var a=this.helpers.getX1X2("x1",t),s=this.helpers.getY1Y2("y1",t);if(x.isNumber(a)){var r={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:"apexcharts-point-annotation-marker ".concat(t.marker.cssClass," ").concat(t.id?t.id:"")},o=this.annoCtx.graphics.drawMarker(a+t.marker.offsetX,s+t.marker.offsetY,r);e.appendChild(o.node);var n=t.label.text?t.label.text:"",l=this.annoCtx.graphics.drawText({x:a+t.label.offsetX,y:s+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});if(l.attr({rel:i}),e.appendChild(l.node),t.customSVG.SVG){var h=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+t.customSVG.cssClass});h.attr({transform:"translate(".concat(a+t.customSVG.offsetX,", ").concat(s+t.customSVG.offsetY,")")}),h.node.innerHTML=t.customSVG.SVG,e.appendChild(h.node)}if(t.image.path){var c=t.image.width?t.image.width:20,d=t.image.height?t.image.height:20;o=this.annoCtx.addImage({x:a+t.image.offsetX-c/2,y:s+t.image.offsetY-d/2,width:c,height:d,path:t.image.path,appendTo:".apexcharts-point-annotations"})}t.mouseEnter&&o.node.addEventListener("mouseenter",t.mouseEnter.bind(this,t)),t.mouseLeave&&o.node.addEventListener("mouseleave",t.mouseLeave.bind(this,t)),t.click&&o.node.addEventListener("click",t.click.bind(this,t))}}},{key:"drawPointAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var C={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},L=function(){function t(){a(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,radius:2,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return r(t,[{key:"init",value:function(){return{annotations:{position:"front",yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"transparent",locales:[C],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0},stacked:!1,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",dateFormatter:function(t){return new Date(t).toDateString()}},png:{filename:void 0},svg:{filename:void 0}},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,rangeBarOverlap:!0,rangeBarGroupRows:!1,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal"}},bubble:{minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+"%"}}}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:"#fff",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.5}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"light",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),t}(),P=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.graphics=new m(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new w(this),this.xAxisAnnotations=new k(this),this.yAxisAnnotations=new A(this),this.pointsAnnotations=new S(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return r(t,[{key:"drawAxesAnnotations",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||"scatter"!==t.config.chart.type&&"bubble"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add("apexcharts-element-hidden"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:"drawTextAnnos",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:"addXaxisAnnotation",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:"addYaxisAnnotation",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:"addPointAnnotation",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:"addText",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?".apexcharts-annotations":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:n||"12px",fontWeight:h||"regular",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),M=L.globals.dom.baseEl.querySelector(b);M&&M.appendChild(P.node);var T=P.bbox();if(s){var I=this.graphics.drawRect(T.x-m,T.y-C,T.width+m+w,T.height+A+C,p,d||"transparent",1,g,f,u);M.insertBefore(I.node,P.node)}}},{key:"addImage",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?".apexcharts-annotations":g,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,n);var f=i.globals.dom.baseEl.querySelector(u);return f&&f.appendChild(p.node),p}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),h=l.childNodes.length+1,c=new L,d=Object.assign({},"xaxis"===s?c.xAxisAnnotation:"yaxis"===s?c.yAxisAnnotation:c.pointAnnotation),g=x.extend(d,e);switch(s){case"xaxis":this.addXaxisAnnotation(g,l,h);break;case"yaxis":this.addYaxisAnnotation(g,l,h);break;case"point":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(h,"']")),p=this.helpers.addBackgroundToAnno(u,g);return p&&l.insertBefore(p.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:x.randomId(),method:r,label:"addAnnotation",params:e}),a}},{key:"clearAnnotations",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations");e.globals.memory.methodsToExec.map((function(t,i){"addText"!==t.label&&"addAnnotation"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=x.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:"removeAnnotation",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),M=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return r(t,[{key:"clippedImgArea",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,"pattern");m.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:n+"px",height:l+"px"});var c=document.createElementNS(e.globals.SVGNS,"image");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",o),m.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:n+"px",height:l+"px"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:"getSeriesIndex",value:function(t){var e=this.w;return("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||"heatmap"===e.config.chart.type||"treemap"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),"function"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color);var h=o;if(-1===o.indexOf("rgb")?o.length<9&&(h=x.hexToRgba(o,l)):o.indexOf("rgba")>-1&&(l=x.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),"pattern"===n&&(a=this.handlePatternFill(a,o,l,h)),"gradient"===n&&(s=this.handleGradientFill(o,l,this.seriesIndex)),"image"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:"";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(c=x.getOpacityFromRGBA(h));var d=void 0===s.fill.gradient.opacityTo?e:Array.isArray(s.fill.gradient.opacityTo)?s.fill.gradient.opacityTo[i]:s.fill.gradient.opacityTo;if(void 0===s.fill.gradient.gradientToColors||0===s.fill.gradient.gradientToColors.length)a="dark"===s.fill.gradient.shade?n.shadeColor(-1*parseFloat(s.fill.gradient.shadeIntensity),t.indexOf("rgb")>-1?x.rgb2hex(t):t):n.shadeColor(parseFloat(s.fill.gradient.shadeIntensity),t.indexOf("rgb")>-1?x.rgb2hex(t):t);else if(s.fill.gradient.gradientToColors[r.seriesNumber]){var g=s.fill.gradient.gradientToColors[r.seriesNumber];a=g,g.indexOf("rgba")>-1&&(d=x.getOpacityFromRGBA(g))}else a=t;if(s.fill.gradient.inverseColors){var u=h;h=a,a=u}return h.indexOf("rgb")>-1&&(h=x.rgb2hex(h)),a.indexOf("rgb")>-1&&(a=x.rgb2hex(a)),o.drawGradient(l,h,a,c,d,r.size,s.fill.gradient.stops,s.fill.gradient.colorStops,i)}}]),t}(),T=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"setGlobalMarkerSize",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new m(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(o.globals.cuid,")")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0;if(f||r||d){x.isNumber(l.y[g])?p+=" w".concat(x.randomId()):p="apexcharts-nullpoint";var b=this.getMarkerConfig({cssClass:p,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(b.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(b.pointStrokeColor=o.config.series[n].data[u].strokeColor)),a&&(b.pSize=a),(s=c.drawMarker(l.x[g],l.y[g],b)).attr("rel",u),s.attr("j",u),s.attr("index",e),s.node.setAttribute("default-marker-size",b.pSize);var y=new v(this.ctx);y.setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:"getMarkerConfig",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(t){var e=this.w,i=new m(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),I=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return r(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(h.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(o.x))for(var c=0;cf.maxBubbleRadius&&(p=f.maxBubbleRadius)}a.config.chart.animations.enabled||(u=p);var x=o.x[c],b=o.y[c];if(u=u||0,null!==b&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(x,b,u,p,r,d,e);h.add(v)}l.add(h)}}},{key:"drawPoint",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new b(this.ctx),c=new v(this.ctx),d=new M(this.ctx),g=new T(this.ctx),u=new m(this.ctx),p=g.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:l,dataPointIndex:r,finishRadius:"bubble"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&"bubble"===n.config.series[s].type?a:null});a=p.pSize;var f,x=d.fillPath({seriesNumber:s,dataPointIndex:r,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[s][o]});if("circle"===p.shape?f=u.drawCircle(i):"square"!==p.shape&&"rect"!==p.shape||(f=u.drawRect(0,0,p.width-p.pointStrokeWidth/2,p.height-p.pointStrokeWidth/2,p.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(x=n.config.series[l].data[r].fillColor),f.attr({x:t-p.width/2-p.pointStrokeWidth/2,y:e-p.height/2-p.pointStrokeWidth/2,cx:t,cy:e,fill:x,"fill-opacity":p.pointFillOpacity,stroke:p.pointStrokeColor,r:a,"stroke-width":p.pointStrokeWidth,"stroke-dasharray":p.pointStrokeDashArray,"stroke-opacity":p.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var y=n.config.chart.dropShadow;c.dropShadow(f,y,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(f,0,"circle"===p.shape?a:{width:p.width,height:p.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(f)}),100)}))}if(n.globals.dataChanged&&"circle"===p.shape)if(this.dynamicAnim){var k,A,S,C,L=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var P=0;Pn.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var p=n.globals.dataLabelsRects[a][u];(t>p.x+p.width+2||e>p.y+p.height+2||t+c4&&void 0!==arguments[4]?arguments[4]:2,r=this.w,o=new m(this.ctx),n=r.config.dataLabels,l=0,h=0,c=i,d=null;if(!n.enabled||!Array.isArray(t.x))return d;d=o.group({class:"apexcharts-data-labels"});for(var g=0;ge.globals.gridWidth+f.textRects.width+10)&&(n="");var x=e.globals.dataLabels.style.colors[r];(("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(x=e.globals.dataLabels.style.colors[o]),"function"==typeof x&&(x=x({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(x=g);var b=d.offsetX,y=d.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(b=0,y=0),f.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+b,y:s+y,foreColor:x,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||"normal"});if(w.attr({class:"apexcharts-datalabel",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new v(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{key:"addBackgroundToDataLabel",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new m(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,"transparent"===i.config.chart.background?"#fff":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new v(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:"dataLabelsBackground",value:function(){var t=this.w;if("bubble"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;ii.globals.gridHeight&&(c=i.globals.gridHeight-g)),{bcx:o,bcy:r,dataLabelsX:e,dataLabelsY:c}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.bcy,o=t.barHeight,n=t.barWidth,l=t.textRects,h=t.dataLabelsX,c=t.strokeWidth,d=t.barDataLabelsConfig,g=t.offX,u=t.offY,p=e.globals.gridHeight/e.globals.dataPoints;n=Math.abs(n);var f=r-(this.barCtx.isRangeBar?0:p)+o/2+l.height/2+u-3,x=this.barCtx.series[a][s]<0,b=i;switch(this.barCtx.isReversed&&(b=i+n-(x?2*n:0),i=e.globals.gridWidth-n),d.position){case"center":h=x?b+n/2-g:Math.max(l.width/2,b-n/2)+g;break;case"bottom":h=x?b+n-c-Math.round(l.width/2)-g:b-n+c+Math.round(l.width/2)+g;break;case"top":h=x?b-c+Math.round(l.width/2)-g:b-c-Math.round(l.width/2)+g}return e.config.chart.stacked||(h<0?h=h+l.width+c:h+l.width/2>e.globals.gridWidth&&(h=e.globals.gridWidth-l.width-c)),{bcx:i,bcy:r,dataLabelsX:h,dataLabelsY:f}}},{key:"drawCalculatedDataLabels",value:function(t){var i=t.x,a=t.y,s=t.val,r=t.i,o=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g="rotate(0)";"vertical"===d.config.plotOptions.bar.dataLabels.orientation&&(g="rotate(-90, ".concat(i,", ").concat(a,")"));var u=new z(this.barCtx.ctx),p=new m(this.barCtx.ctx),f=c.formatter,x=null,b=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=p.group({class:"apexcharts-data-labels",transform:g});var v="";void 0!==s&&(v=f(s,{seriesIndex:r,dataPointIndex:o,w:d}));var y=d.globals.series[r][o]<0,w=d.config.plotOptions.bar.dataLabels.position;if("vertical"===d.config.plotOptions.bar.dataLabels.orientation&&("top"===w&&(c.textAnchor=y?"end":"start"),"center"===w&&(c.textAnchor="middle"),"bottom"===w&&(c.textAnchor=y?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)hMath.abs(h)&&(v=""):n.height/1.6>Math.abs(l)&&(v=""));var k=e({},c);this.barCtx.isHorizontal&&s<0&&("start"===c.textAnchor?k.textAnchor="end":"end"===c.textAnchor&&(k.textAnchor="start")),u.plotDataLabelsText({x:i,y:a,text:v,i:r,j:o,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}}]),t}(),E=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.legendInactiveClass="legend-mouseover-inactive"}return r(t,[{key:"getAllSeriesEls",value:function(){return this.w.globals.dom.baseEl.getElementsByClassName("apexcharts-series")}},{key:"getSeriesByName",value:function(t){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner .apexcharts-series[seriesName='".concat(x.escapeString(t),"']"))}},{key:"isSeriesHidden",value:function(t){var e=this.getSeriesByName(t),i=parseInt(e.getAttribute("data:realIndex"),10);return{isHidden:e.classList.contains("apexcharts-series-collapsed"),realIndex:i}}},{key:"addCollapsedClassToSeries",value:function(t,e){var i=this.w;function a(i){for(var a=0;a0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=x.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels");if("mousemove"===t.type){var s=parseInt(e.getAttribute("rel"),10)-1,r=null,o=null;i.globals.axisCharts||"radialBar"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),o=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"))):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']")):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var n=0;n=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else"mouseout"===t.type&&r("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"asc",i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(e,a){var s=!1;return t&&(s="bar"===i.config.series[a].type||"column"===i.config.series[a].type),e.data&&e.data.length>0&&!s?a:-1})),r="asc"===e?0:s.length-1;"asc"===e?r=0;"asc"===e?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:"getPreviousPaths",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute("data:realIndex")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(e,"'] rect")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e("x")),y:parseFloat(e("y")),width:parseFloat(e("width")),height:parseFloat(e("height"))};a.push({rect:s,color:i[t].getAttribute("color")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),Y=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e}return r(t,[{key:"initVariables",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/this.barCtx.seriesLen*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:"getPathFillColor",value:function(t,e,i,a){var s=this.w,r=new M(this.barCtx.ctx),o=null,n=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(o=a.color)}));return s.config.series[e].data[i]&&s.config.series[e].data[i].fillColor&&(o=s.config.series[e].data[i].fillColor),r.fillPath({seriesNumber:this.barCtx.barOptions.distributed?n:a,dataPointIndex:i,color:o,value:t[e][i]})}},{key:"getStrokeWidth",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"barBackground",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new m(this.barCtx.ctx),c=new E(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(t){var e=t.barWidth,i=t.barXPosition,a=t.yRatio,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.series,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u={barWidth:e,strokeWidth:o,yRatio:a,barXPosition:i,y1:s,y2:r},p=this.getRoundedBars(d,u,n,h,c),f=i,x=i+e,b=g.move(f,s),v=g.move(f,s),y=g.line(x-o,s);return d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1)),b=b+g.line(f,p.y2)+p.pathWithRadius+g.line(x-o,p.y2)+y+y+"z",v=v+g.line(f,s)+y+y+y+y+y+g.line(f,s),d.config.chart.stacked&&(this.barCtx.yArrj.push(p.y2WithRadius),this.barCtx.yArrjF.push(Math.abs(s-p.y2WithRadius)),this.barCtx.yArrjVal.push(this.barCtx.series[h][c])),{pathTo:b,pathFrom:v}}},{key:"getBarpaths",value:function(t){var e=t.barYPosition,i=t.barHeight,a=t.x1,s=t.x2,r=t.strokeWidth,o=t.series,n=t.realIndex,l=t.i,h=t.j,c=t.w,d=new m(this.barCtx.ctx);(r=Array.isArray(r)?r[n]:r)||(r=0);var g={barHeight:i,strokeWidth:r,barYPosition:e,x2:s,x1:a},u=this.getRoundedBars(c,g,o,l,h),p=d.move(a,e),f=d.move(a,e);c.globals.previousPaths.length>0&&(f=this.barCtx.getPreviousPath(n,h,!1));var x=e,b=e+i,v=d.line(a,b-r);return p=p+d.line(u.x2,x)+u.pathWithRadius+d.line(u.x2,b-r)+v+v+"z",f=f+d.line(a,x)+v+v+v+v+v+d.line(a,x),c.config.chart.stacked&&(this.barCtx.xArrj.push(u.x2WithRadius),this.barCtx.xArrjF.push(Math.abs(a-u.x2WithRadius)),this.barCtx.xArrjVal.push(this.barCtx.series[l][h])),{pathTo:p,pathFrom:f}}},{key:"getRoundedBars",value:function(t,e,i,a,s){var r=new m(this.barCtx.ctx),o=0,n=t.config.plotOptions.bar.borderRadius,l=Array.isArray(n);l?o=n[a>n.length-1?n.length-1:a]:o=n;if(t.config.chart.stacked&&i.length>1&&a!==this.barCtx.radiusOnSeriesNumber&&!l&&(o=0),this.barCtx.isHorizontal){var h="",c=e.x2;if(Math.abs(e.x1-e.x2)0:i[a][s]<0;d&&(o*=-1),c-=o,h=r.quadraticCurve(c+o,e.barYPosition,c+o,e.barYPosition+(d?-1*o:o))+r.line(c+o,e.barYPosition+e.barHeight-e.strokeWidth-(d?-1*o:o))+r.quadraticCurve(c+o,e.barYPosition+e.barHeight-e.strokeWidth,c,e.barYPosition+e.barHeight-e.strokeWidth)}return{pathWithRadius:h,x2WithRadius:c+o,x2:c}}var g="",u=e.y2;if(Math.abs(e.y1-e.y2)=0;o--)this.barCtx.zeroSerieses.indexOf(o)>-1&&o===this.radiusOnSeriesNumber&&(this.barCtx.radiusOnSeriesNumber-=1);for(var n=e.length-1;n>=0;n--)i.globals.collapsedSeriesIndices.indexOf(this.barCtx.radiusOnSeriesNumber)>-1&&(this.barCtx.radiusOnSeriesNumber-=1)}},{key:"getXForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),a}},{key:"getYForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),a}},{key:"getGoalValues",value:function(t,e,i,a,s){var r=this,n=this.w,l=[];return n.globals.seriesGoals[a]&&n.globals.seriesGoals[a][s]&&Array.isArray(n.globals.seriesGoals[a][s])&&n.globals.seriesGoals[a][s].forEach((function(a){var s;l.push((o(s={},t,"x"===t?r.getXForValue(a.value,e,!1):r.getYForValue(a.value,i,!1)),o(s,"attrs",a),s))})),l}},{key:"drawGoalLine",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new m(this.barCtx.ctx),l=n.group({className:"apexcharts-bar-goals-groups"}),h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)})):Array.isArray(s)&&s.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)})),l}}]),t}(),F=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRangeBar.length&&this.isHorizontal,this.xyRatios=i,null!==this.xyRatios&&(this.xRatio=i.xRatio,this.initialXRatio=i.initialXRatio,this.yRatio=i.yRatio,this.invertedXRatio=i.invertedXRatio,this.invertedYRatio=i.invertedYRatio,this.baseLineY=i.baseLineY,this.baseLineInvertedY=i.baseLineInvertedY),this.yaxisIndex=0,this.seriesLen=0,this.barHelpers=new Y(this)}return r(t,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx),r=new y(this.ctx,a);t=r.getLogSeries(t),this.series=t,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var o=s.group({class:"apexcharts-bar-series apexcharts-plot-series"});a.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=v),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();p=S.y,k=S.barHeight,c=S.yDivision,g=S.zeroW,u=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||b.push(u+A/2);for(var C=s.group({class:"apexcharts-datalabels","data:realIndex":v}),L=s.group({class:"apexcharts-bar-goals-markers",style:"pointer-events: none"}),P=0;P0&&b.push(u+A/2),f.push(p);var X=this.barHelpers.getPathFillColor(t,n,P,v);this.renderSeries({realIndex:v,pathFill:X,j:P,i:n,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:M,elSeries:w,x:u,y:p,series:t,barHeight:k,barWidth:A,elDataLabelsWrap:C,elGoalsMarkers:L,visibleSeries:this.visibleI,type:"bar"})}a.globals.seriesXvalues[v]=b,a.globals.seriesYvalues[v]=f,o.add(w)}return o}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.pathFrom,n=t.pathTo,l=t.strokeWidth,h=t.elSeries,c=t.x,d=t.y,g=t.y1,u=t.y2,p=t.series,f=t.barHeight,x=t.barWidth,b=t.barYPosition,y=t.elDataLabelsWrap,w=t.elGoalsMarkers,k=t.visibleSeries,A=t.type,S=this.w,C=new m(this.ctx);a||(a=this.barOptions.distributed?S.globals.stroke.colors[s]:S.globals.stroke.colors[e]),S.config.series[r].data[s]&&S.config.series[r].data[s].strokeColor&&(a=S.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var L=s/S.config.chart.animations.animateGradually.delay*(S.config.chart.animations.speed/S.globals.dataPoints)/2.4,P=C.renderPaths({i:r,j:s,realIndex:e,pathFrom:o,pathTo:n,stroke:a,strokeWidth:l,strokeLineCap:S.config.stroke.lineCap,fill:i,animationDelay:L,initialSpeed:S.config.chart.animations.speed,dataChangeSpeed:S.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(A,"-area")});P.attr("clip-path","url(#gridRectMask".concat(S.globals.cuid,")"));var M=S.config.forecastDataPoints;M.count>0&&s>=S.globals.dataPoints-M.count&&(P.node.setAttribute("stroke-dasharray",M.dashArray),P.node.setAttribute("stroke-width",M.strokeWidth),P.node.setAttribute("fill-opacity",M.fillOpacity)),void 0!==g&&void 0!==u&&(P.attr("data-range-y1",g),P.attr("data-range-y2",u)),new v(this.ctx).setSelectionFilter(P,e,s),h.add(P);var T=new X(this).handleBarDataLabels({x:c,y:d,y1:g,y2:u,i:r,j:s,series:p,realIndex:e,barHeight:f,barWidth:x,barYPosition:b,renderedPath:P,visibleSeries:k});return null!==T&&y.add(T),h.add(y),w&&h.add(w),h}},{key:"drawBarPaths",value:function(t){var e=t.indexes,i=t.barHeight,a=t.strokeWidth,s=t.zeroW,r=t.x,o=t.y,n=t.yDivision,l=t.elSeries,h=this.w,c=e.i,d=e.j;h.globals.isXNumeric&&(o=(h.globals.seriesX[c][d]-h.globals.minX)/this.invertedXRatio-i);var g=o+i*this.visibleI;r=this.barHelpers.getXForValue(this.series[c][d],s);var u=this.barHelpers.getBarpaths({barYPosition:g,barHeight:i,x1:s,x2:r,strokeWidth:a,series:this.series,realIndex:e.realIndex,i:c,j:d,w:h});return h.globals.isXNumeric||(o+=n),this.barHelpers.barBackground({j:d,i:c,y1:g-i*this.visibleI,y2:i*this.seriesLen,elSeries:l}),{pathTo:u.pathTo,pathFrom:u.pathFrom,x:r,y:o,goalX:this.barHelpers.getGoalValues("x",s,null,c,d),barYPosition:g}}},{key:"drawColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.strokeWidth,l=t.elSeries,h=this.w,c=e.realIndex,d=e.i,g=e.j,u=e.bc;if(h.globals.isXNumeric){var p=c;h.globals.seriesX[c].length||(p=h.globals.maxValsInArrayIndex),i=(h.globals.seriesX[p][g]-h.globals.minX)/this.xRatio-r*this.seriesLen/2}var f=i+r*this.visibleI;a=this.barHelpers.getYForValue(this.series[d][g],o);var x=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:r,y1:o,y2:a,strokeWidth:n,series:this.series,realIndex:e.realIndex,i:d,j:g,w:h});return h.globals.isXNumeric||(i+=s),this.barHelpers.barBackground({bc:u,j:g,i:d,x1:f-n/2-r*this.visibleI,x2:r*this.seriesLen+n/2,elSeries:l}),{pathTo:x.pathTo,pathFrom:x.pathFrom,x:i,y:a,goalY:this.barHelpers.getGoalValues("y",null,o,d,g),barXPosition:f}}},{key:"getPreviousPath",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),R=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return r(t,[{key:"isValidDate",value:function(t){return!isNaN(this.parseDate(t))}},{key:"getTimeStamp",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:"getDate",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:"parseDate",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "));return i=this.getTimeStamp(i)}},{key:"parseDateWithTimezone",value:function(t){return Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "))}},{key:"formatDate",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=["\0"].concat(u(i.months)),r=["\x01"].concat(u(i.shortMonths)),o=["\x02"].concat(u(i.days)),n=["\x03"].concat(u(i.shortDays));function l(t,e){var i=t+"";for(e=e||2;i.length12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+l(g))).replace(/(^|[^\\])H/g,"$1"+g)).replace(/(^|[^\\])hh+/g,"$1"+l(p))).replace(/(^|[^\\])h/g,"$1"+p);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+l(f))).replace(/(^|[^\\])m/g,"$1"+f);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+l(x))).replace(/(^|[^\\])s/g,"$1"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\])ff/g,"$1"+l(b)),b=Math.round(b/10);var v=g<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+b)).replace(/(^|[^\\])TT+/g,"$1"+v)).replace(/(^|[^\\])T/g,"$1"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+m)).replace(/(^|[^\\])t/g,"$1"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?"Z":y>0?"+":"-";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+":"+l(k)}e=e.replace(/(^|[^\\])K/g,"$1"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],"g"),o[A])).replace(new RegExp(n[0],"g"),n[A])).replace(new RegExp(s[0],"g"),s[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),n=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=x.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),H=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var r=s.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),o=0;o0&&(this.visibleI=this.visibleI+1);var f=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=u);var v=this.barHelpers.initialPositions();d=v.y,h=v.zeroW,c=v.x,b=v.barWidth,n=v.xDivision,l=v.zeroH;for(var y=s.group({class:"apexcharts-datalabels","data:realIndex":u}),w=s.group({class:"apexcharts-rangebar-goals-markers",style:"pointer-events: none"}),k=0;k0}));return a=l.config.plotOptions.bar.rangeBarGroupRows?s+o*g:s+r*this.visibleI+o*g,u>-1&&!l.config.plotOptions.bar.rangeBarOverlap&&(h=l.globals.seriesRangeBar[e][u].overlaps).indexOf(c)>-1&&(a=(r=n.barHeight/h.length)*this.visibleI+o*(100-parseInt(this.barOptions.barHeight,10))/100/2+r*(this.visibleI+h.indexOf(c))+o*g),{barYPosition:a,barHeight:r}}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x;t.strokeWidth;var a=t.xDivision,s=t.barWidth,r=t.zeroH,o=this.w,n=e.i,l=e.j,h=this.yRatio[this.yaxisIndex],c=e.realIndex,d=this.getRangeValue(c,l),g=Math.min(d.start,d.end),u=Math.max(d.start,d.end);o.globals.isXNumeric&&(i=(o.globals.seriesX[n][l]-o.globals.minX)/this.xRatio-s/2);var p=i+s*this.visibleI;void 0===this.series[n][l]||null===this.series[n][l]?g=r:(g=r-g/h,u=r-u/h);var f=Math.abs(u-g),x=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:s,y1:g,y2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:c,j:l,w:o});return o.globals.isXNumeric||(i+=a),{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:f,x:i,y:u,goalY:this.barHelpers.getGoalValues("y",null,r,n,l),barXPosition:p}}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,goalX:this.barHelpers.getGoalValues("x",l,null,e.realIndex,e.j),y:i}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}},{key:"getTooltipValues",value:function(t){var e=t.ctx,i=t.seriesIndex,a=t.dataPointIndex,s=t.y1,r=t.y2,o=t.w,n=o.globals.seriesRangeStart[i][a],l=o.globals.seriesRangeEnd[i][a],h=o.globals.labels[a],c=o.config.series[i].name?o.config.series[i].name:"",d=o.config.tooltip.y.formatter,g=o.config.tooltip.y.title.formatter,u={w:o,seriesIndex:i,dataPointIndex:a,start:n,end:l};"function"==typeof g&&(c=g(c,u)),Number.isFinite(s)&&Number.isFinite(r)&&(n=s,l=r,o.config.series[i].data[a].x&&(h=o.config.series[i].data[a].x+":"),"function"==typeof d&&(h=d(h,u)));var p="",f="",x=o.globals.colors[i];if(void 0===o.config.tooltip.x.formatter)if("datetime"===o.config.xaxis.type){var b=new R(e);p=b.formatDate(b.getDate(n),o.config.tooltip.x.format),f=b.formatDate(b.getDate(l),o.config.tooltip.x.format)}else p=n,f=l;else p=o.config.tooltip.x.formatter(n),f=o.config.tooltip.x.formatter(l);return{start:n,end:l,startVal:p,endVal:f,ylabel:h,color:x,seriesName:c}}},{key:"buildCustomTooltipHTML",value:function(t){var e=t.color,i=t.seriesName;return'
'+(i||"")+'
'+t.ylabel+' '+t.start+' - '+t.end+"
"}}]),s}(F),D=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0;return x.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"candlestick",value:function(){var t=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:5,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-r},background:{enabled:!1},style:{colors:["#fff"]}},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=new H(t.ctx,null),i=e.getTooltipValues(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return e.buildCustomTooltipHTML({color:a,seriesName:s,ylabel:r,start:o,end:n})}(t):function(t){var e=new H(t.ctx,null),i=e.getTooltipValues(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return e.buildCustomTooltipHTML({color:a,seriesName:s,ylabel:r,start:o,end:n})}(t)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"brush",value:function(t){return x.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),"bar"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t}),t}},{key:"convertCatToNumeric",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:"convertCatToNumericXaxis",value:function(t,e,i){t.xaxis.type="numeric",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return x.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return x.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||"dataPoints",t}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:"_getBoxTooltip",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\n '.concat(t.config.series[e].name?t.config.series[e].name:"series-"+(e+1),": ").concat(t.globals.series[e][i],"\n
"):'
')+"
".concat(a[0],': ')+r+"
"+"
".concat(a[1],': ')+o+"
"+(n?"
".concat(a[2],': ')+n+"
":"")+"
".concat(a[3],': ')+l+"
"+"
".concat(a[4],': ')+h+"
"}}]),t}(),N=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new L,r=new D(a);this.chartType=a.chart.type,"histogram"===this.chartType&&(a.chart.type="bar",a=x.extend({plotOptions:{bar:{columnWidth:"99.99%"}}},a)),a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&"object"===i(a)){var l={};l=-1!==["line","area","bar","candlestick","boxPlot","rangeBar","histogram","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),a.chart.brush&&a.chart.brush.enabled&&(l=r.brush(l)),a.chart.stacked&&"100%"===a.chart.stackType&&(a=r.stacked100(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),((a=this.checkForCatToNumericXAxis(this.chartType,l,a)).chart.sparkline&&a.chart.sparkline.enabled||window.Apex.chart&&window.Apex.chart.sparkline&&window.Apex.chart.sparkline.enabled)&&(l=r.sparkline(l)),n=x.extend(o,l)}var h=x.extend(n,window.Apex);return o=x.extend(h,a),o=this.handleUserInputErrors(o)}},{key:"checkForCatToNumericXAxis",value:function(t,e,i){var a=new D(i),s=("bar"===t||"boxPlot"===t)&&i.plotOptions&&i.plotOptions.bar&&i.plotOptions.bar.horizontal,r="pie"===t||"polarArea"===t||"donut"===t||"radar"===t||"radialBar"===t||"heatmap"===t,o="datetime"!==i.xaxis.type&&"numeric"!==i.xaxis.type,n=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return s||r||!o||"between"===n||(i=a.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(t,e){var i=new L;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=x.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[x.extend(i.yAxis,t.yaxis)]:t.yaxis=x.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name="series-".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=x.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both."),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new L;return t.annotations.yaxis=x.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new L;return t.annotations.xaxis=x.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new L;return t.annotations.points=x.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.chart.background||(t.chart.background="#424242"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&"barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width="tickWidth"),"candlestick"!==e.chart.type&&"boxPlot"!==e.chart.type||e.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(e.chart.type," chart is not supported.")),e.yaxis[0].reversed=!1),e}}]),t}(),O=function(){function t(){a(this,t)}return r(t,[{key:"initGlobalVars",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRangeBar=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasGroups=!1,t.groups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.xaxisLabelsCount=0,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0}},{key:"globalVars",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:"zoom"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:"pan"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:"selection"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null}}},{key:"init",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=x.extend({},t),e.initialSeries=x.clone(t.series),e.lastXAxis=x.clone(e.initialConfig.xaxis),e.lastYAxis=x.clone(e.initialConfig.yaxis),e}}]),t}(),W=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(){var t=new N(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new O).init(t)}}}]),t}(),B=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return r(t,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var t=this.w.config.series.slice(),e=new E(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new E(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s="boxPlot"===i.chart.type||"boxPlot"===i.series[e].type,r=0;r=5?this.twoDSeries.push(x.parseNumber(t[e].data[r][4])):this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new R(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar="rangeBar"===a.chart.type&&s.isBarHorizontal,s.hasGroups="category"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasGroups&&(s.groups=a.xaxis.group.groups);for(var n=function(){for(var t=0;t0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var h=t[l].data.map((function(t){return x.parseNumber(t)}));s.series.push(h)}s.seriesZ.push(this.threeDSeries),void 0!==t[l].name?s.seriesNames.push(t[l].name):s.seriesNames.push("series-"+parseInt(l+1,10)),void 0!==t[l].color?s.seriesColors.push(t[l].color):s.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRangeBar.length&&(i.seriesRangeBar.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric)new D(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},"function"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,"function"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getLabel",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?"":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new V(this.ctx),p=l;o&&(h=u.xLabelFormat(c,l,p,{i:a,dateFormatter:new R(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new R(this.ctx).formatDate,w:n})));var f=function(t){var i=null;return e.forEach((function(t){"month"===t.unit?i="year":"day"===t.unit?i="month":"hour"===t.unit?i="day":"minute"===t.unit&&(i="hour")})),i===t};e.length>0?(g=f(e[a].unit),i=e[a].position,h=e[a].value):"datetime"===n.config.xaxis.type&&void 0===d&&(h=""),void 0===h&&(h=""),h=Array.isArray(h)?h:h.toString();var x=new m(this.ctx),b={};b=n.globals.rotateXLabels&&o?x.getTextRects(h,parseInt(r,10),null,"rotate(".concat(n.config.xaxis.labels.rotate," 0 0)"),!1):x.getTextRects(h,parseInt(r,10));var v=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(0===h.indexOf("NaN")||0===h.toLowerCase().indexOf("invalid")||h.toLowerCase().indexOf("infinity")>=0||s.indexOf(h)>=0&&v)&&(h=""),{x:i,text:h,textRect:b,isBold:g}}},{key:"checkLabelBasedOnTickamount",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return"dataPoints"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=""),e}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),"heatmap"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),t}(),j=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"scaleSvgNode",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,"width")),a=parseFloat(t.getAttributeNS(null,"height"));t.setAttributeNS(null,"width",i*e),t.setAttributeNS(null,"height",a*e),t.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"fixSvgStringForIe11",value:function(t){if(!x.isIE11())return t.replace(/ /g," ");var e=0,i=t.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g,(function(t){return 2===++e?'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"':t}));return i=(i=i.replace(/xmlns:NS\d+=""/g,"")).replace(/NS\d+:(\w+:\w+=")/g,"$1")}},{key:"getSvgString",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:"cleanup",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=t.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,(function(t){t.setAttribute("width",0)})),e&&e[0]&&(e[0].setAttribute("x",-500),e[0].setAttribute("x1",-500),e[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(e)}},{key:"dataURI",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o="transparent"===a.config.chart.background?"#fff":a.config.chart.background,n=r.getContext("2d");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&x.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d="data:image/svg+xml,"+encodeURIComponent(l),g=new Image;g.crossOrigin="anonymous",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL("image/png");i({imgURI:e})}},g.src=d}}))}},{key:"exportToSVG",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,".svg")}},{key:"exportToPng",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+".png"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,".png")}))}},{key:"exportToCSV",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?",":s,o=t.lineDelimiter,n=void 0===o?"\n":o,l=this.w;i||(i=l.config.series);var h=[],c=[],d="",g=new B(this.ctx),u=new G(this.ctx),p=function(t){var i="";if(l.globals.axisCharts){if("category"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new E(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=u.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;"datetime"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return Array.isArray(i)&&(i=i.join(" ")),x.isNumber(i)?i:i.split(r).join("")};h.push(l.config.chart.toolbar.export.csv.headerCategory),"boxPlot"===l.config.chart.type?(h.push("minimum"),h.push("q1"),h.push("median"),h.push("q3"),h.push("maximum")):"candlestick"===l.config.chart.type?(h.push("open"),h.push("high"),h.push("low"),h.push("close")):"rangeBar"===l.config.chart.type?(h.push("minimum"),h.push("maximum")):i.map((function(t,e){var i=t.name?t.name:"series-".concat(e);l.globals.axisCharts&&h.push(i.split(r).join("")?i.split(r).join(""):"series-".concat(e))})),l.globals.axisCharts||(h.push(l.config.chart.toolbar.export.csv.headerValue),c.push(h.join(r))),i.map((function(t,e){l.globals.axisCharts?function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data&&t.data.length)for(var a=0;a=10?l.config.chart.toolbar.export.csv.dateFormatter(s):x.isNumber(s)?s:s.split(r).join("")));for(var o=0;o0&&!i.globals.isBarHorizontal&&(this.xaxisLabels=i.globals.timescaleLabels.slice()),i.config.xaxis.overwriteCategories&&(this.xaxisLabels=i.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===i.config.xaxis.position?this.offY=0:this.offY=i.globals.gridHeight+1,this.offY=this.offY+i.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===i.config.chart.type&&i.config.plotOptions.bar.horizontal,this.xaxisFontSize=i.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=i.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=i.config.xaxis.labels.style.colors,this.xaxisBorderWidth=i.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=i.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=i.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=i.config.xaxis.axisBorder.height,this.yaxis=i.config.yaxis[0]}return r(t,[{key:"drawXaxis",value:function(){var t=this.w,e=new m(this.ctx),i=e.group({class:"apexcharts-xaxis",transform:"translate(".concat(t.config.xaxis.offsetX,", ").concat(t.config.xaxis.offsetY,")")}),a=e.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m="category"===d.config.xaxis.type?d.globals.dataPoints:v;if(s){var y=m>1?m-1:m;o=d.globals.gridWidth/y,b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&"dataPoints"!==d.config.xaxis.tickAmount&&"datetime"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(t&&y.text&&d.globals.xaxisLabelsCount++,d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-("top"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:"middle",fontWeight:y.isBold?600:f,fontSize:g,fontFamily:u,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+x});if(i.add(k),t){var A=document.createElementNS(d.globals.SVGNS,"title");A.textContent=Array.isArray(y.text)?y.text.join(" "):y.text,k.node.appendChild(A),""!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new m(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new m(this.ctx);null===t&&(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(s),t.add(a),t}},{key:"drawGrid",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elForecastMask.setAttribute("id","forecastMask".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;("bar"===r||"rangeBar"===r||"candlestick"===r||"boxPlot"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2,e.gridWidth+a+n+o+4,e.gridHeight+a,0,"#fff");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector("defs");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||"radar"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({x1:i,y1:a,x2:s,y2:r,parent:n});var h=0;if(l.globals.hasGroups&&"between"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d2));s++);return!t.globals.isBarHorizontal||this.isRangeBar?(i=this.xaxisLabels.length,this.isRangeBar&&(a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount)),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,xAxisTickWidth:t.globals.gridWidth/i}}},{key:"drawGridBands",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:"column"}),h+=i.globals.gridWidth/l}}]),t}(),q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"niceScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,r=this.w,o=Math.abs(e-t);if("dataPoints"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=r.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE){t=0,e=i;var n=this.linearScale(t,e,i);return n}t>e?(console.warn("axis.min cannot be greater than axis.max"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var l=[];o<1&&s&&("candlestick"===r.config.chart.type||"candlestick"===r.config.series[a].type||"boxPlot"===r.config.chart.type||"boxPlot"===r.config.series[a].type||r.globals.isRangeData)&&(e*=1.01);var h=i+1;h<2?h=2:h>2&&(h-=2);var c=o/h,d=Math.floor(x.log10(c)),g=Math.pow(10,d),u=Math.round(c/g);u<1&&(u=1);var p=u*g,f=p*Math.floor(t/p),b=p*Math.ceil(e/p),v=f;if(s&&o>2){for(;l.push(v),!((v+=p)>b););return{result:l,niceMin:l[0],niceMax:l[l.length-1]}}var m=t;(l=[]).push(m);for(var y=Math.abs(e-t)/i,w=0;w<=i;w++)m+=y,l.push(m);return l[l.length-2]>=e&&l.pop(),{result:l,niceMin:l[0],niceMax:l[l.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,s=Math.abs(e-t);"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1);var r=s/i;i===Number.MAX_VALUE&&(i=10,r=1);for(var o=[],n=t;i>=0;)o.push(n),n+=r,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:"logarithmicScaleNice",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(e,i,r.logBase),a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase);else if(i!==-Number.MAX_VALUE&&x.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===r.min&&void 0===r.max||r.forceNiceScale){var n=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,r.tickAmount?r.tickAmount:o<5&&o>1?o+1:5,t,n)}else a.yAxisScale[t]=this.linearScale(e,i,r.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,r=Math.abs(e-t);return e!==-Number.MAX_VALUE&&x.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:r<5&&r>1?r+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:"setMultipleYScales",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,o){var n=o;i.series.forEach((function(t,i){t.name===e.seriesName&&(n=i,o!==i?r.push({index:i,similarIndex:o,alreadyExists:!0}):r.push({index:i}))}));var l=a[n],h=s[n];t.setYScaleForIndex(o,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:"sameScaleInMultipleAxes",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,o=[];i.forEach((function(t){t.alreadyExists&&(void 0===o[t.index]&&(o[t.index]=[]),o[t.index].push(t.index),o[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=o,o.forEach((function(t,e){o.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(o[e]=o[e].concat(o[a]))}))}));var n=o.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));o=o.filter((function(t){return!!t}));var l=n.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var o=g[i],n=u[i];s.chart.stacked&&(n=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(n+=t.value),o!==Number.MIN_VALUE&&(o+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(o="function"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(n="function"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,o,n))}))}))}))}},{key:"autoScaleY",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn("autoScaleYaxis is not supported in a multi-yaxis chart."),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,o){for(var n=0,l=0;l=i.xaxis.min){n=l;break}var h,c,d=a.globals.minYArr[o],g=a.globals.maxYArr[o],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(o,l){var p=o[n];r?(p=u[n],h=c=p,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),o[e]=i.xaxis.min){var r=t,o=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),o=Math.max(i[e],o))})),o>c&&null!==o&&(c=o),rd&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),Z=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.scales=new q(e)}return r(t,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;"candlestick"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):"boxPlot"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);for(var d=t;dh[d][g]&&h[d][g]<0&&(n=h[d][g])):r.hasNullValues=!0}}return"rangeBar"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),"bar"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(o=0),t.minY=i-5*o/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*o/100}if(e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):"dataPoints"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:"_setStackedMinMax",value:function(){var t=this.w.globals,e=[],i=[];if(t.series.length)for(var a=0;a0?s=s+parseFloat(t.series[o][a])+1e-4:r+=parseFloat(t.series[o][a])),o===t.series.length-1&&(e.push(s),i.push(r));for(var n=0;n=0;b--)x(b);if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:"apexcharts-yaxis-title"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:"end",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[t].title.style.cssClass});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,p,g,this.drawnLabels,this.xaxisFontSize);p=f.x,u=f.text,this.drawnLabels.push(f.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=""),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u="")}var x=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,"title");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new m(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);t.add(r)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new m(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new m(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute("x",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(e=x.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"));r=x.listToArray(r);var o=s.getBoundingClientRect();"left"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","start")})),a.opposite||s.setAttribute("transform","translate(-".concat(o.width,", 0)"))):"center"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","middle")})),s.setAttribute("transform","translate(".concat(o.width/2*(a.opposite?1:-1),", 0)"))):"right"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute("text-anchor","end")})),a.opposite&&s.setAttribute("transform","translate(".concat(o.width,", 0)")))}}))}}]),t}(),J=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=x.bind(this.documentEvent,this)}return r(t,[{key:"addEventListener",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:"removeEventListener",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:"fireEvent",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=x.extend(C,i);this.w.globals.locale=a.options}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawAxis",value:function(t,e){var i,a,s=this.w.globals,r=this.w.config,o=new _(this.ctx),n=new $(this.ctx);s.axisCharts&&"radar"!==t&&(s.isBarHorizontal?(a=n.drawYaxisInversed(0),i=o.drawXaxisInversed(0),s.dom.elGraphical.add(i),s.dom.elGraphical.add(a)):(i=o.drawXaxis(),s.dom.elGraphical.add(i),r.yaxis.map((function(t,e){-1===s.ignoreYAxisIndexes.indexOf(e)&&(a=n.drawYaxis(e),s.dom.Paper.add(a))}))))}}]),t}(),tt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawXCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=new v(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,p=s.blur,f=s.color,b=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){"gradient"===r&&(y=e.drawGradient("vertical",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!x.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!x.isNumber(A)||A<0)&&(A=0),w.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:"none","fill-opacity":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,"stroke-width":t.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:p,color:f,opacity:b})),t.globals.dom.elGraphical.add(w)}}},{key:"drawYCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),t.globals.dom.elGraphical.add(r)}}]),t}(),et=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkResponsiveConfig",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new N({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=y.extendArrayProps(r,i.globals.initialConfig,i);t=x.extend(n,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&"function"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var s=e.config.colors[a];return s||(s=e.config.colors[0]),"function"==typeof s?(t.isColorFn=!0,s({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):s})))),e.globals.seriesColors.map((function(t,i){t&&(e.globals.colors[i]=t)})),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(s=e.globals.series[0].length*e.globals.series.length);for(var r=e.config.theme.monochrome.color,o=1/(s/e.config.theme.monochrome.shadeIntensity),n=e.config.theme.monochrome.shadeTo,l=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),rt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"getxAxisLabelsCoords",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=x.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new V(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new R(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new R(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||""===String(r).trim())&&(o=r="1");var h=new m(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var t,e=this.w;if(!e.globals.hasGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=x.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new m(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new m(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new m(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){(function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)})(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c="right"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||"bar"!==s.chart.type&&"candlestick"!==s.chart.type&&"rangeBar"!==s.chart.type&&"boxPlot"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===r?e.dCtx.gridPad.rightString(n.niceMax).length?c:n.niceMax,g=h(d,{seriesIndex:o,dataPointIndex:-1,w:e}),u=g;if(void 0!==g&&0!==g.length||(g=d),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();g=h(g=x.getLargestStringFromArr(p),{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,p)}var f=new m(t.dCtx.ctx),b="rotate(".concat(r.labels.rotate," 0 0)"),v=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1),y=v;g!==u&&(y=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1)),i.push({width:(l>y.width||l>v.width?l:y.width>v.width?y.width:v.width)+a,height:y.height>v.height?y.height:v.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new m(t.dCtx.ctx),r="rotate(".concat(e.title.rotate," 0 0)"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new G(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),nt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"gridPadForColumnsInNumericAxis",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return"bar"===t||"rangeBar"===t||"candlestick"===t||"boxPlot"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n/r*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),s=s/(r>1?1:1.5)+5,e.globals.barPadForNumericAxis=s}return s}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;["title","subtitle"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||"bottom"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new G(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new st(this),this.dimYAxis=new ot(this),this.dimXAxis=new rt(this),this.dimGrid=new nt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:"plotCoords",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.isSparkline&&(e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;("radar"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||"treemap"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch("top"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=c,d();break;case"top":i.translateY=this.lgRect.height+c,d();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case"right":i.translateY=c,i.translateX=l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new $(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(t,e,i){var a=this.w,s=a.globals.hasGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),ht=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:"getLegendStyles",value:function(){var t=document.createElement("style");t.setAttribute("type","text/css");var e=document.createTextNode("\t\n \t\n .apexcharts-legend {\t\n display: flex;\t\n overflow: auto;\t\n padding: 0 10px;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\t\n flex-wrap: wrap\t\n }\t\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n flex-direction: column;\t\n bottom: 0;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\t\n justify-content: flex-start;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\t\n justify-content: center; \t\n }\t\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\t\n justify-content: flex-end;\t\n }\t\n .apexcharts-legend-series {\t\n cursor: pointer;\t\n line-height: normal;\t\n }\t\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\t\n display: flex;\t\n align-items: center;\t\n }\t\n .apexcharts-legend-text {\t\n position: relative;\t\n font-size: 14px;\t\n }\t\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\t\n pointer-events: none;\t\n }\t\n .apexcharts-legend-marker {\t\n position: relative;\t\n display: inline-block;\t\n cursor: pointer;\t\n margin-right: 3px;\t\n border-style: solid;\n }\t\n \t\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\t\n display: inline-block;\t\n }\t\n .apexcharts-legend-series.apexcharts-no-click {\t\n cursor: auto;\t\n }\t\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\t\n display: none !important;\t\n }\t\n .apexcharts-inactive-legend {\t\n opacity: 0.45;\t\n }");return t.appendChild(e),t}},{key:"getLegendBBox",value:function(){var t=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:"appendToForeignObject",value:function(){var t=this.w.globals;t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject");var e=t.dom.elLegendForeign;e.setAttribute("x",0),e.setAttribute("y",0),e.setAttribute("width",t.svgWidth),e.setAttribute("height",t.svgHeight),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),e.appendChild(t.dom.elLegendWrap),e.appendChild(this.getLegendStyles()),t.dom.Paper.node.insertBefore(e,t.dom.elGraphical.node)}},{key:"toggleDataSeries",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||"radialBar"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(t+1,"'] path")),n=a.config.chart.type;if("pie"===n||"polarArea"===n||"donut"===n){var l=a.config.plotOptions.pie.donut.labels;new m(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire("click")}}},{key:"hideSeries",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=x.clone(a.config.series);if(a.globals.axisCharts){var r=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(r=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!r){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l0){for(var r=0;r-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),ct=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed="bar"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new ht(this)}return r(t,[{key:"init",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),x.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"drawLegends",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if("heatmap"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+" - "+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h=o(a[l],{seriesIndex:l,w:e}),c=!1,d=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var u=0;u0?l-10:0)+(h>0?h-10:0)}a.style.position="absolute",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=o+"px","bottom"===i.config.legend.position?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):"right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px");["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.baseEl.querySelector(".apexcharts-legend").style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new lt(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;"bottom"===t.config.legend.position?r=-e.clwh/1.8:"top"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new E(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new E(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(t.target.getAttribute("rel"),10)-1,a="true"===t.target.getAttribute("data:collapsed"),s=this.w.config.chart.events.legendClick;"function"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;"function"==typeof r&&t.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==e.config.chart.type&&"heatmap"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),dt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:"createToolbar",value:function(){var t=this,e=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=e.config.chart.toolbar.offsetY+"px",a.style.right=3-e.config.chart.toolbar.offsetX+"px",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\n \n \n\n'),o("zoomOut",this.elZoomOut,'\n \n \n\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:"zoom"===i?t.elZoom:t.elSelection,icon:"string"==typeof t.t[i]?t.t[i]:"zoom"===i?'\n \n \n \n':'\n \n \n',title:t.localeValues["zoom"===i?"selectionZoom":"selection"],class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(i,"-icon")})};n("zoom"),n("selection"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'\n \n \n \n \n \n \n \n',title:this.localeValues.pan,class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),o("reset",this.elZoomReset,'\n \n \n'),this.t.download&&r.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:"translate("+o+", "+l+")"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":h.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":h.config.chart.zoom.zoomedArea.stroke.opacity}),m.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,"fill-opacity":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,"stroke-width":h.config.chart.selection.stroke.width,"stroke-dasharray":h.config.chart.selection.stroke.dashArray,"stroke-opacity":h.config.chart.selection.stroke.opacity}),m.setAttrs(d.node,g))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g="x"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:"y"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging("resizing"),g}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;"resizing"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n("x"),y:n("y"),width:n("width"),height:n("height")};a.globals.selection=l,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=r.node.getBoundingClientRect(),o={xaxis:{min:a.globals.xAxisScale.niceMin+(e.left-t.left)*s.xRatio,max:a.globals.xAxisScale.niceMin+(e.right-t.left)*s.xRatio},yaxis:{min:a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*s.yRatio[0],max:a.globals.yAxisScale[0].niceMax-(e.top-t.top)*s.yRatio[0]}};a.config.chart.events.selection(i.ctx,o),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,o)}),o))}},{key:"selectionDrawn",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=x.clone(a.globals.initialConfig.yaxis),p=x.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),"xy"!==i&&"x"!==i||(p={min:h,max:c}),"xy"!==i&&"y"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),a.config.chart.zoom.autoScaleYaxis){var f=new q(s.ctx);u=f.autoScaleY(s.ctx,u,{xaxis:p})}if(o){var b=o.getBeforeZoomRange(p,u);b&&(p=b.xaxis?b.xaxis:p,u=b.yaxis?b.yaxis:u)}var v={xaxis:p};a.config.chart.group||(v.yaxis=u),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,u)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:c},"xy"!==i&&"y"!==i||(y=x.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=d[e]})),a.globals.selection=s.selection,"function"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="left":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection="right":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="up":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:"delayedPanScrolled",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;"left"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):"right"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=x.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),"left"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):"right"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new q(this.ctx).autoScaleY(this.ctx,s,{xaxis:l}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(dt),ut=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:"getNearestValues",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):r.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):r.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var p=Math.round(g/h),f=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var b=null,v=null,m=[],y=[];if(r.globals.seriesXvalues.forEach((function(t){m.push([t[0]+1e-6].concat(t))})),r.globals.seriesYvalues.forEach((function(t){y.push([t[0]+1e-6].concat(t))})),m=m.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),y=y.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);b=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==b&&(m=r.globals.seriesXvalues[b],p=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===b?-1:b,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:b,j:r.globals.isBarHorizontal?f:p,hoverX:g,hoverY:u}}},{key:"closestInMultiArray",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a0?e:-1})),s=0;s0)for(var a=0;ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(".apexcharts-marker"))})),e}},{key:"hasMarkers",value:function(){return this.getElMarkers().length>0}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s ').concat(i.attrs.name,""),e+="
".concat(i.val,"
")})),v.innerHTML=t+"",m.innerHTML=e+""};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML="",m.innerHTML=""):y()}else v.innerHTML="",m.innerHTML="";null!==p&&(a[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=l.config.tooltip.z.title,a[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==p?p:"");o&&f[0]&&(null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?f[0].parentNode.style.display="none":f[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("apexcharts-active"),i.style.display=e.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",o="",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=r;a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?r=new V(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new R(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(o)?o.join(" "):o,zVal:n}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ft=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:"moveXCrosshairs",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&m.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&m.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new m(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=s+"px",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid(),d=c.getBoundingClientRect();h=s.e.clientY+a.globals.translateY-d.top-o.ttHeight/2}else a.globals.isBarHorizontal||(o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY),h<0&&(h=0));isNaN(l)||(l+=a.globals.translateX,r.style.left=l+"px",r.style.top=h+"px")}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),r=0;r0&&(h.setAttribute("r",n),h.setAttribute("cx",i),h.setAttribute("cy",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new E(this.ctx).getActiveConfigSeriesIndex(!0);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h0?(l[h]&&l[h].setAttribute("r",n),l[h]&&l[h].setAttribute("cy",d)):l[h]&&l[h].setAttribute("r",0)}}if(this.moveXCrosshairs(s),!i.fixedTooltip){var g=r||a.globals.gridHeight;this.moveTooltip(s,g,n)}}},{key:"moveStickyTooltipOverBars",value:function(t){var e=this.w,i=this.ttCtx,a=e.globals.columnSeries?e.globals.columnSeries.length:e.globals.series.length,s=a>=2&&a%2==0?Math.floor(a/2):Math.floor(a/2)+1;e.globals.isBarHorizontal&&(s=new E(this.ctx).getActiveConfigSeriesIndex(!1,"desc")+1);var r=e.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(s,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(s,"'] path[j='").concat(t,"']")),o=r?parseFloat(r.getAttribute("cx")):0,n=r?parseFloat(r.getAttribute("cy")):0,l=r?parseFloat(r.getAttribute("barWidth")):0,h=r?parseFloat(r.getAttribute("barHeight")):0,c=i.getElGrid().getBoundingClientRect(),d=r.classList.contains("apexcharts-candlestick-area")||r.classList.contains("apexcharts-boxPlot-area");if(e.globals.isXNumeric?(r&&!d&&(o-=a%2!=0?l/2:0),r&&d&&e.globals.comboCharts&&(o-=l/2)):e.globals.isBarHorizontal||(o=i.xAxisTicksPositions[t-1]+i.dataPointsDividedWidth/2,isNaN(o)&&(o=i.xAxisTicksPositions[t]-i.dataPointsDividedWidth/2)),e.globals.isBarHorizontal?(n>e.globals.gridHeight/2&&(n-=i.tooltipRect.ttHeight),(n=n+e.config.grid.padding.top+h/3)+h>e.globals.gridHeight&&(n=e.globals.gridHeight-h)):e.config.tooltip.followCursor?n=i.e.clientY-c.top-i.tooltipRect.ttHeight/2:n+i.tooltipRect.ttHeight+15>e.globals.gridHeight&&(n=e.globals.gridHeight),n<-10&&(n=-10),e.globals.isBarHorizontal||this.moveXCrosshairs(o),!i.fixedTooltip){var g=n||e.globals.gridHeight;this.moveTooltip(o,g)}}}]),t}(),xt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ft(e)}return r(t,[{key:"drawDynamicPoints",value:function(){var t=this.w,e=new m(this.ctx),i=new T(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute("data:realIndex"))-parseFloat(e.getAttribute("data:realIndex"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;"bubble"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute("cx"),o=e.getAttribute("cy");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if("radar"===s.config.chart.type){var n=this.ttCtx.getElGrid(),l=n.getBoundingClientRect();r=this.ttCtx.e.clientX-l.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),o=e.config.markers.hover.size,n=0;n=0?t[e].setAttribute("r",i):t[e].setAttribute("r",0)}}}]),t}(),bt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e}return r(t,[{key:"getAttr",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:"handleHeatTreeTooltip",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains("apexcharts-".concat(r,"-rect"))){var l=this.getAttr(e,"i"),h=this.getAttr(e,"j"),c=this.getAttr(e,"cx"),d=this.getAttr(e,"cy"),g=this.getAttr(e,"width"),u=this.getAttr(e,"height");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var p=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-p.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-p.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),c=parseInt(s.paths.getAttribute("cy"),10),d=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,l.intersect){var g=x.findAncestor(s.paths,"apexcharts-series");g&&(e=parseInt(g.getAttribute("data:realIndex"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),"mouseup"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)?c=r.globals.svgHeight-o.tooltipRect.ttHeight:c<0&&(c=0);var p=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10),f=r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!f?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(f&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!f||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),o.tooltipRect.ttHeight+c>r.globals.gridHeight?c=r.globals.gridHeight-o.tooltipRect.ttHeight+r.globals.translateY:(c=c+r.globals.translateY-o.tooltipRect.ttHeight/2)<0&&(c=0),n.style.left=h+r.globals.translateX+"px",n.style.top=c+"px")}},{key:"getBarTooltipXY",value:function(t){var e=t.e,i=t.opt,a=this.w,s=null,r=this.ttCtx,o=0,n=0,l=0,h=0,c=0,d=e.target.classList;if(d.contains("apexcharts-bar-area")||d.contains("apexcharts-candlestick-area")||d.contains("apexcharts-boxPlot-area")||d.contains("apexcharts-rangebar-area")){var g=e.target,u=g.getBoundingClientRect(),p=i.elGrid.getBoundingClientRect(),f=u.height;c=u.height;var x=u.width,b=parseInt(g.getAttribute("cx"),10),v=parseInt(g.getAttribute("cy"),10);h=parseFloat(g.getAttribute("barWidth"));var m="touchmove"===e.type?e.touches[0].clientX:e.clientX;s=parseInt(g.getAttribute("j"),10),o=parseInt(g.parentNode.getAttribute("rel"),10)-1;var y=g.getAttribute("data-range-y1"),w=g.getAttribute("data-range-y2");a.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute("data:realIndex"),10)),r.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:o,j:s,y1:y?parseInt(y,10):null,y2:w?parseInt(w,10):null,shared:!r.showOnIntersect&&a.config.tooltip.shared,e:e}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(n=m-p.left+15,l=v-r.dataPointsDividedHeight+f/2-r.tooltipRect.ttHeight/2):(n=a.globals.isXNumeric?b-x/2:b-r.dataPointsDividedWidth+x/2,l=e.clientY-p.top-r.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((n=b)0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var o=a.getElGrid().getBoundingClientRect(),n=(e-o.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-n);a.tooltipPosition.moveYCrosshairs(e-o.top),a.yaxisTooltipText[t].innerHTML=r(h),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),mt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new ut(this),this.tooltipLabels=new pt(this),this.tooltipPosition=new ft(this),this.marker=new xt(this),this.intersect=new bt(this),this.axesTooltip=new vt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:"getElTooltip",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new _(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&"rangeBar"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement("div");o.classList.add("apexcharts-tooltip-series-group"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add("apexcharts-tooltip-series-group-hidden");var n=document.createElement("span");n.classList.add("apexcharts-tooltip-marker"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement("div");l.classList.add("apexcharts-tooltip-text"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,["y","goals","z"].forEach((function(t){var e=document.createElement("div");e.classList.add("apexcharts-tooltip-".concat(t,"-group"));var i=document.createElement("span");i.classList.add("apexcharts-tooltip-text-".concat(t,"-label")),e.appendChild(i);var a=document.createElement("span");a.classList.add("apexcharts-tooltip-text-".concat(t,"-value")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf("right")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf("bottom")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+"px",e.style.top=o+"px",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:"seriesHover",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new E(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:"axisChartsTooltips",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n="touchmove"===a.type?a.touches[0].clientX:a.clientX,l="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add("apexcharts-active");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add("apexcharts-active"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if("heatmap"===r.config.chart.type||"treemap"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var f=0;fl.width?this.handleMouseOut(a):null!==n?this.handleStickyCapturedSeries(t,n,a,o):(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal)&&this.create(t,this,0,o,a.ttItems)}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);void 0!==s.globals.series[e][a]?this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1):this.tooltipUtil.isXoverlap(a)&&this.create(t,this,0,a,i.ttItems)}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new m(this.ctx),i=t.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,o=this.w,n=e;"mouseup"===t.type&&this.markerClick(t,i,a),null===r&&(r=this.tConfig.shared);var l=this.tooltipUtil.hasMarkers(),h=this.tooltipUtil.getElBars();if(o.config.legend.tooltipHoverFormatter){var c=o.config.legend.tooltipHoverFormatter,d=Array.from(this.legendLabels);d.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var g=0;g0?n.marker.enlargePoints(a):n.tooltipPosition.moveDynamicPointsOnHover(a)),this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(h),this.barSeriesHeight>0)){var b=new m(this.ctx),v=o.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a);for(var y=0;y0&&(this.totalItems+=t[o].length);for(var n=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),l=0,h=0,c=function(r,o){var c=void 0,d=void 0,g=void 0,u=void 0,p=[],f=[],b=s.globals.comboCharts?i[r]:r;a.yRatio.length>1&&(a.yaxisIndex=b),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var v=a.graphics.group({class:"apexcharts-series",seriesName:x.escapeString(s.globals.seriesNames[b]),rel:r+1,"data:realIndex":b});a.ctx.series.addCollapsedClassToSeries(v,b);var m=a.graphics.group({class:"apexcharts-datalabels","data:realIndex":b}),y=0,w=0,k=a.initialPositions(l,h,c,d,g,u);h=k.y,y=k.barHeight,d=k.yDivision,u=k.zeroW,l=k.x,w=k.barWidth,c=k.xDivision,g=k.zeroH,a.yArrj=[],a.yArrjF=[],a.yArrjVal=[],a.xArrj=[],a.xArrjF=[],a.xArrjVal=[],1===a.prevY.length&&a.prevY[0].every((function(t){return isNaN(t)}))&&(a.prevY[0]=a.prevY[0].map((function(t){return g})),a.prevYF[0]=a.prevYF[0].map((function(t){return 0})));for(var A=0;A1?(i=l.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:n*parseInt(l.config.plotOptions.bar.columnWidth,10)/100,s=this.baseLineY[this.yaxisIndex]+(this.isReversed?l.globals.gridHeight:0)-(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=l.globals.padHorizontal+(i-n)/2),{x:t,y:e,yDivision:a,xDivision:i,barHeight:o,barWidth:n,zeroH:s,zeroW:r}}},{key:"drawStackedBarPaths",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=n,g=i.i,u=i.j,p=0,f=0;f0){var x=r;this.prevXVal[g-1][u]<0?x=this.series[g][u]>=0?this.prevX[g-1][u]+p-2*(this.isReversed?p:0):this.prevX[g-1][u]:this.prevXVal[g-1][u]>=0&&(x=this.series[g][u]>=0?this.prevX[g-1][u]:this.prevX[g-1][u]-p+2*(this.isReversed?p:0)),e=x}else e=r;o=null===this.series[g][u]?e:e+this.series[g][u]/this.invertedYRatio-2*(this.isReversed?this.series[g][u]/this.invertedYRatio:0);var b=this.barHelpers.getBarpaths({barYPosition:d,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return this.barHelpers.barBackground({j:u,i:g,y1:d,y2:a,elSeries:h}),n+=l,{pathTo:b.pathTo,pathFrom:b.pathFrom,x:o,y:n}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH;t.strokeWidth;var n=t.elSeries,l=this.w,h=e.i,c=e.j,d=e.bc;if(l.globals.isXNumeric){var g=l.globals.seriesX[h][c];g||(g=0),i=(g-l.globals.minX)/this.xRatio-r/2}for(var u,p=i,f=0,x=0;x0&&!l.globals.isXNumeric||h>0&&l.globals.isXNumeric&&l.globals.seriesX[h-1][c]===l.globals.seriesX[h][c]){var b,v,m=Math.min(this.yRatio.length+1,h+1);if(void 0!==this.prevY[h-1])for(var y=1;y=0?v-f+2*(this.isReversed?f:0):v;break}if(this.prevYVal[h-w][c]>=0){b=this.series[h][c]>=0?v:v+f-2*(this.isReversed?f:0);break}}void 0===b&&(b=l.globals.gridHeight),u=this.prevYF[0].every((function(t){return 0===t}))&&this.prevYF.slice(1,h).every((function(t){return t.every((function(t){return isNaN(t)}))}))?l.globals.gridHeight-o:b}else u=l.globals.gridHeight-o;a=u-this.series[h][c]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[h][c]/this.yRatio[this.yaxisIndex]:0);var k=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:r,y1:u,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,realIndex:e.realIndex,i:h,j:c,w:l});return this.barHelpers.barBackground({bc:d,j:c,i:h,x1:p,x2:r,elSeries:n}),i+=s,{pathTo:k.pathTo,pathFrom:k.pathFrom,x:l.globals.isXNumeric?i-s:i,y:a}}}]),s}(F),wt=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this,s=this.w,r=new m(this.ctx),o=new M(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal;var n=new y(this.ctx,s);t=n.getLogSeries(t),this.series=t,this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var l=r.group({class:"apexcharts-".concat(s.config.chart.type,"-series apexcharts-plot-series")}),h=function(n){a.isBoxPlot="boxPlot"===s.config.chart.type||"boxPlot"===s.config.series[n].type;var h,c,d,g,u=void 0,p=void 0,f=[],b=[],v=s.globals.comboCharts?i[n]:n,m=r.group({class:"apexcharts-series",seriesName:x.escapeString(s.globals.seriesNames[v]),rel:n+1,"data:realIndex":v});a.ctx.series.addCollapsedClassToSeries(m,v),t[n].length>0&&(a.visibleI=a.visibleI+1);var y,w;a.yRatio.length>1&&(a.yaxisIndex=v);var k=a.barHelpers.initialPositions();p=k.y,y=k.barHeight,c=k.yDivision,g=k.zeroW,u=k.x,w=k.barWidth,h=k.xDivision,d=k.zeroH,b.push(u+w/2);for(var A=r.group({class:"apexcharts-datalabels","data:realIndex":v}),S=function(i){var r=a.barHelpers.getStrokeWidth(n,i,v),l=null,x={indexes:{i:n,j:i,realIndex:v},x:u,y:p,strokeWidth:r,elSeries:m};l=a.isHorizontal?a.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:c,barHeight:y,zeroW:g})):a.drawVerticalBoxPaths(e(e({},x),{},{xDivision:h,barWidth:w,zeroH:d})),p=l.y,u=l.x,i>0&&b.push(u+w/2),f.push(p),l.pathTo.forEach((function(e,h){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?l.color[h]:s.globals.stroke.colors[n],d=o.fillPath({seriesNumber:v,dataPointIndex:i,color:l.color[h],value:t[n][i]});a.renderSeries({realIndex:v,pathFill:d,lineFill:c,j:i,i:n,pathFrom:l.pathFrom,pathTo:e,strokeWidth:r,elSeries:m,x:u,y:p,series:t,barHeight:y,barWidth:w,elDataLabelsWrap:A,visibleSeries:a.visibleI,type:s.config.chart.type})}))},C=0;Cb.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/f,k=r-k/f,v=r-b.h/f,y=r-b.l/f,A=r-b.m/f);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+"z"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[g]:[u]}}},{key:"drawHorizontalBoxPaths",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,p=this.getOHLCValue(u,c),f=r,x=r,b=Math.min(p.o,p.c),v=Math.max(p.o,p.c),y=p.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,f=r+p.h/g,x=r+p.l/g,y=r+p.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(f,w+s/2)+l.line(f,w+s/2-s/4)+l.line(f,w+s/2+s/4)+l.line(f,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(b+o/2,w),l.move(y,w)+l.line(y,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(y,w)+"z"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:"getOHLCValue",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(F),kt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkColorRange",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:"getShadeColor",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,"treemap"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new x;return s.config.plotOptions[t].enableShades&&(l="dark"===this.w.config.theme.mode?x.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):x.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:"determineColor",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&"treemap"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||"heatmap"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:"calculateDataLabels",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new m(this.ctx),c=new z(this.ctx),d=null;if(l.enabled){d=h.group({class:"apexcharts-data-labels"});var g=l.offsetX,u=l.offsetY,p=i+g,f=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:"addListeners",value:function(t){var e=new m(this.ctx);t.node.addEventListener("mouseenter",e.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",e.pathMouseLeave.bind(this,t)),t.node.addEventListener("mousedown",e.pathMouseDown.bind(this,t))}}]),t}(),At=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new kt(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:"draw",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(e.globals.cuid,")"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:x.escapeString(e.globals.seriesNames[h]),rel:h+1,"data:realIndex":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new v(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,p=0;p-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+"%";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(n)>this.fullAngle&&(n-=this.fullAngle);var l=Math.PI*(n-90)/180,h=e.centerX+s*Math.cos(o),c=e.centerY+s*Math.sin(o),d=e.centerX+s*Math.cos(l),g=e.centerY+s*Math.sin(l),u=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,n),p=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),f=a>180?1:0,b=["M",h,c,"A",s,s,0,f,1,d,g];return"donut"===e.chartType?[].concat(b,["L",u.x,u.y,"A",e.donutSize,e.donutSize,0,f,0,p.x,p.y,"L",h,c,"z"]).join(" "):"pie"===e.chartType||"polarArea"===e.chartType?[].concat(b,["L",e.centerX,e.centerY,"L",h,c]).join(" "):[].concat(b).join(" ")}},{key:"drawPolarElements",value:function(t){var e=this.w,i=new q(this.ctx),a=new m(this.ctx),s=new St(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),e.config.yaxis[0].tickAmount,0,!0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,r),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==r&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var i=this.w;this.graphics=new m(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight0&&(f=i.getPreviousPath(n));for(var b=0;b=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:"",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(u,p)}l.add(u),u.attr("id","apexcharts-radialbarTrack-"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new m(this.ctx),a=new M(this.ctx),s=new v(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})),"back"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var f=p?t.series.length-1:0;p?f>=0:f100?100:t.series[f])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[f])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[f]:e.config.stroke.dashArray,T=i.drawPath({d:"",stroke:y,strokeWidth:o,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+f,strokeDashArray:P});if(m.setAttrs(T.node,{"data:angle":L,"data:value":t.series[f]}),e.config.chart.dropShadow.enabled){var I=e.config.chart.dropShadow;s.dropShadow(T,I,f)}s.setSelectionFilter(T,0,f),this.addListeners(T,this.radialDataLabels),b.add(T),T.attr({index:0,j:f});var z=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(z=e.config.chart.animations.speed),e.globals.dataChanged&&(z=e.config.chart.animations.dynamicAnimation.speed),this.animDur=z/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(T,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:f,totalItems:2,animBeginArr:this.animBeginArr,dur:z,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:"drawHollow",value:function(t){var e=new m(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,r=new M(this.ctx),o=x.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:"pattern".concat(s.globals.cuid).concat(o)}),a="url(#pattern".concat(s.globals.cuid).concat(o,")");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}}]),i}(Ct),Mt=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:"sameValueSeriesFix",value:function(t,e){var i=this.w;if("line"===i.config.chart.type&&("gradient"===i.config.fill.type||"gradient"===i.config.fill.type[t])&&new y(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:"calculatePoints",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(x.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:"checkPreviousPaths",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&("line"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):"area"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e=t.i,i=t.series,a=t.prevY,s=t.lineYPosition,r=this.w;if(void 0!==i[e][0])a=(s=r.config.chart.stacked&&e>0?this.lineCtx.prevSeriesY[e-1][0]:this.lineCtx.zeroY)-i[e][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?i[e][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(r.config.chart.stacked&&e>0&&void 0===i[e][0])for(var o=e-1;o>=0;o--)if(null!==i[o][0]&&void 0!==i[o][0]){a=s=this.lineCtx.prevSeriesY[o][0];break}return{prevY:a,lineYPosition:s}}}]),t}(),Tt=function(){function t(e,i,s){a(this,t),this.ctx=e,this.w=e.w,this.xyRatios=i,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||s,this.scatter=new I(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Mt(this),this.markers=new T(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return r(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=a.globals.comboCharts?e:a.config.chart.type,o=s.group({class:"apexcharts-".concat(r,"-series apexcharts-plot-series")}),n=new y(this.ctx,a);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=n.getLogSeries(t),this.yRatio=n.getLogYRatios(this.yRatio);for(var l=[],h=0;h0&&(u=(a.globals.seriesX[c][0]-a.globals.minX)/this.xRatio),g.push(u);var p,f=u,x=f,b=this.zeroY;b=this.lineHelpers.determineFirstPrevY({i:h,series:t,prevY:b,lineYPosition:0}).prevY,d.push(b),p=b;var v=this._calculatePathsFrom({series:t,i:h,realIndex:c,prevX:x,prevY:b}),w=this._iterateOverDataPoints({series:t,realIndex:c,i:h,x:u,y:1,pX:f,pY:p,pathsFrom:v,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:g,yArrj:d});this._handlePaths({type:r,realIndex:c,i:h,paths:w}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),l.push(this.elSeries)}if(a.config.chart.stacked)for(var k=l.length;k>0;k--)o.add(l[k-1]);else for(var A=0;A1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",seriesName:x.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var r=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":r,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,s,r=t.series,o=t.i,n=t.realIndex,l=t.prevX,h=t.prevY,c=this.w,d=new m(this.ctx);if(null===r[o][0]){for(var g=0;g0){var u=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:n});a=u.pathFromLine,s=u.pathFromArea}return{prevX:l,prevY:h,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new m(this.ctx),l=new M(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(i)};if("area"===i)for(var p=l.fillPath({seriesNumber:a}),f=0;f0){var A=n.renderPaths(w);A.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&A.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(A),A.attr("clip-path","url(#forecastMask".concat(o.globals.cuid,")")),k.attr("clip-path","url(#nonForecastMask".concat(o.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(t){for(var e=t.series,i=t.realIndex,a=t.i,s=t.x,r=t.y,o=t.pX,n=t.pY,l=t.pathsFrom,h=t.linePaths,c=t.areaPaths,d=t.seriesIndex,g=t.lineYPosition,u=t.xArrj,p=t.yArrj,f=this.w,b=new m(this.ctx),v=this.yRatio,y=l.prevY,w=l.linePath,k=l.areaPath,A=l.pathFromLine,S=l.pathFromArea,C=x.isNumber(f.globals.minYArr[i])?f.globals.minYArr[i]:f.globals.minY,L=f.globals.dataPoints>1?f.globals.dataPoints-1:f.globals.dataPoints,P=0;P0&&f.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(a-1)][P+1]}else g=this.zeroY;else g=this.zeroY;r=M?g-C/v[this.yaxisIndex]+2*(this.isReversed?C/v[this.yaxisIndex]:0):g-e[a][P+1]/v[this.yaxisIndex]+2*(this.isReversed?e[a][P+1]/v[this.yaxisIndex]:0),u.push(s),p.push(r);var I=this.lineHelpers.calculatePoints({series:e,x:s,y:r,realIndex:i,i:a,j:P,prevY:y}),z=this._createPaths({series:e,i:a,realIndex:i,j:P,x:s,y:r,pX:o,pY:n,linePath:w,areaPath:k,linePaths:h,areaPaths:c,seriesIndex:d});c=z.areaPaths,h=z.linePaths,o=z.pX,n=z.pY,k=z.areaPath,w=z.linePath,this.appendPathFrom&&(A+=b.line(s,this.zeroY),S+=b.line(s,this.zeroY)),this.handleNullDataPoints(e,I,a,P,i),this._handleMarkersAndLabels({pointsPos:I,series:e,x:s,y:r,prevY:y,i:a,j:P,realIndex:i})}return{yArrj:p,xArrj:u,pathFromArea:S,areaPaths:c,pathFromLine:A,linePaths:h}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.pointsPos;t.series,t.x,t.y,t.prevY;var i=t.i,a=t.j,s=t.realIndex,r=this.w,o=new z(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,a,{realIndex:s,pointsPos:e,zRatio:this.zRatio,elParent:this.elPointsMain});else{r.globals.series[i].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var n=this.markers.plotChartMarkers(e,s,a+1);null!==n&&this.elPointsMain.add(n)}var l=o.drawDataLabel(e,s,a+1,null);null!==l&&this.elDataLabelsWrap.add(l)}},{key:"_createPaths",value:function(t){var e=t.series,i=t.i,a=t.realIndex,s=t.j,r=t.x,o=t.y,n=t.pX,l=t.pY,h=t.linePath,c=t.areaPath,d=t.linePaths,g=t.areaPaths,u=t.seriesIndex,p=this.w,f=new m(this.ctx),x=p.config.stroke.curve,b=this.areaBottomY;if(Array.isArray(p.config.stroke.curve)&&(x=Array.isArray(u)?p.config.stroke.curve[u[i]]:p.config.stroke.curve[i]),"smooth"===x){var v=.35*(r-n);p.globals.hasNullValues?(null!==e[i][s]&&(null!==e[i][s+1]?(h=f.move(n,l)+f.curve(n+v,l,r-v,o,r+1,o),c=f.move(n+1,l)+f.curve(n+v,l,r-v,o,r+1,o)+f.line(r,b)+f.line(n,b)+"z"):(h=f.move(n,l),c=f.move(n,l)+"z")),d.push(h),g.push(c)):(h+=f.curve(n+v,l,r-v,o,r,o),c+=f.curve(n+v,l,r-v,o,r,o)),n=r,l=o,s===e[i].length-2&&(c=c+f.curve(n,l,r,o,r,b)+f.move(r,o)+"z",p.globals.hasNullValues||(d.push(h),g.push(c)))}else{if(null===e[i][s+1]){h+=f.move(r,o);var y=p.globals.isXNumeric?(p.globals.seriesX[a][s]-p.globals.minX)/this.xRatio:r-this.xDivision;c=c+f.line(y,b)+f.move(r,o)+"z"}null===e[i][s]&&(h+=f.move(r,o),c+=f.move(r,b)),"stepline"===x?(h=h+f.line(r,null,"H")+f.line(null,o,"V"),c=c+f.line(r,null,"H")+f.line(null,o,"V")):"straight"===x&&(h+=f.line(r,o),c+=f.line(r,o)),s===e[i].length-2&&(c=c+f.line(r,b)+f.move(r,o)+"z",d.push(h),g.push(c))}return{linePaths:d,areaPaths:g,pX:n,pY:l,linePath:h,areaPath:c}}},{key:"handleNullDataPoints",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){return o=void 0===o?0:o,n=void 0===n?0:n,function(t){var e,i,a=[];for(e=0;e=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(-90 ".concat(h.x," ").concat(h.y,")"))}}},{key:"animateTreemap",value:function(t,e,i,a){var s=new b(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Et=86400,Yt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:"calculateTimeScaleTicks",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new R(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),p=Math.floor(o*Et),f=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:u,numberOfHours:g,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case"years":this.generateYearScale(m);break;case"months":case"half_year":this.generateMonthScale(m);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(m);break;case"hours":this.generateHourScale(m);break;case"minutes_fives":case"minutes":this.generateMinuteScale(m);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?e(e({},i),{},{value:t.value}):"minute"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):"second"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case"years":"year"===t.unit&&(o=!0);break;case"half_year":e=7,"year"===t.unit&&(o=!0);break;case"months":e=1,"year"===t.unit&&(o=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(o=!0),30===r&&(n=!0);break;case"months_days":e=10,"month"===t.unit&&(o=!0),30===r&&(n=!0);break;case"week_days":e=8,"month"===t.unit&&(o=!0);break;case"days":e=1,"month"===t.unit&&(o=!0);break;case"hours":"day"===t.unit&&(o=!0);break;case"minutes_fives":r%5!=0&&(n=!0);break;case"seconds_tens":r%10!=0&&(n=!0);break;case"seconds_fives":r%5!=0&&(n=!0)}if("hours"===a.tickInterval||"minutes_fives"===a.tickInterval||"seconds_tens"===a.tickInterval||"seconds_fives"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new lt(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval="years";break;case t>800:this.tickInterval="half_year";break;case t>180:this.tickInterval="months";break;case t>90:this.tickInterval="months_fortnight";break;case t>60:this.tickInterval="months_days";break;case t>30:this.tickInterval="week_days";break;case t>2:this.tickInterval="days";break;case e>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new R(this.ctx),h="year";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:x.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:x.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=x.monthMod(a+1);var g=s+d,u=x.monthMod(n),p=n;0===n&&(c="year",p=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:x.monthMod(a)});for(var f=n+1,b=l,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,n="month",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=x.monthMod(e.minMonth),n="month",h=e.minDate,r++):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:x.monthMod(u),day:h});for(var p=d,f=0;fn.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,p=u+1;60===d&&(g=0,p=(u=e.minHour)+1);var f=i,b=c(f,a);this.timeScaleArray.push({position:g,value:u,unit:l,day:f,hour:p,year:s,month:x.monthMod(b)});for(var v=g,m=0;m=24)p=0,l="day",b=h(f+=1,b).month,b=c(f,b);var y=this._getYear(s,b,0);v=0===p&&0===m?d*r:60*r+v;var w=0===p?f:p;this.timeScaleArray.push({position:v,value:w,unit:l,hour:p,day:f,year:y,month:x.monthMod(b)}),p++}}},{key:"generateMinuteScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,p=n,f=s,b=(60-i-e/1e3)*h,v=0;v=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:b,value:d,unit:"minute",hour:f,minute:d,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,d++}},{key:"generateSecondScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,p=n,f=s,b=(1e3-e)/1e3*l,v=0;v=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:b,value:c,unit:"second",hour:f,minute:d,second:c,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,c++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),"minute"===t.unit?i+=":"+("0"+e).slice(-2):i+=":"+(t.minute?("0"+t.minute).slice(-2):"00"),"second"===t.unit?i+=":"+("0"+e).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new R(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(n=l.year),"month"===t.unit&&(n=l.month),"day"===t.unit&&(n=l.day),"hour"===t.unit&&(n=l.hour),"minute"===t.unit&&(n=l.minute),"second"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new m(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Ft=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:"setupElements",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=["line","area","bar","rangeBar","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].indexOf(i)>-1,t.xyCharts=["line","area","bar","rangeBar","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,t.isBarHorizontal=("bar"===e.chart.type||"rangeBar"===e.chart.type||"boxPlot"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=".apexcharts"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),m.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas "+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(e.chart.offsetX,", ").concat(e.chart.offsetY,")")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elAnnotations=t.dom.Paper.group().attr({class:"apexcharts-annotations"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elWrap.appendChild(t.dom.elLegendWrap),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]};s.series.map((function(e,g){var u=0;void 0!==t[g].type?("column"===t[g].type||"bar"===t[g].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"),h.series.push(e),h.i.push(g),u++,i.globals.columnSeries=h.series):"area"===t[g].type?(o.series.push(e),o.i.push(g),u++):"line"===t[g].type?(r.series.push(e),r.i.push(g),u++):"scatter"===t[g].type?(n.series.push(e),n.i.push(g)):"bubble"===t[g].type?(l.series.push(e),l.i.push(g),u++):"candlestick"===t[g].type?(c.series.push(e),c.i.push(g),u++):"boxPlot"===t[g].type?(d.series.push(e),d.i.push(g),u++):console.warn("You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble"),u>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(g))}));var g=new Tt(this.ctx,e),u=new wt(this.ctx,e);this.ctx.pie=new Ct(this.ctx);var p=new Pt(this.ctx);this.ctx.rangeBar=new H(this.ctx,e);var f=new Lt(this.ctx),x=[];if(s.comboCharts){if(o.series.length>0&&x.push(g.draw(o.series,"area",o.i)),h.series.length>0)if(i.config.chart.stacked){var b=new yt(this.ctx,e);x.push(b.draw(h.series,h.i))}else this.ctx.bar=new F(this.ctx,e),x.push(this.ctx.bar.draw(h.series,h.i));if(r.series.length>0&&x.push(g.draw(r.series,"line",r.i)),c.series.length>0&&x.push(u.draw(c.series,c.i)),d.series.length>0&&x.push(u.draw(d.series,d.i)),n.series.length>0){var v=new Tt(this.ctx,e,!0);x.push(v.draw(n.series,"scatter",n.i))}if(l.series.length>0){var m=new Tt(this.ctx,e,!0);x.push(m.draw(l.series,"bubble",l.i))}}else switch(a.chart.type){case"line":x=g.draw(s.series,"line");break;case"area":x=g.draw(s.series,"area");break;case"bar":if(a.chart.stacked)x=new yt(this.ctx,e).draw(s.series);else this.ctx.bar=new F(this.ctx,e),x=this.ctx.bar.draw(s.series);break;case"candlestick":x=new wt(this.ctx,e).draw(s.series);break;case"boxPlot":x=new wt(this.ctx,e).draw(s.series);break;case"rangeBar":x=this.ctx.rangeBar.draw(s.series);break;case"heatmap":x=new At(this.ctx,e).draw(s.series);break;case"treemap":x=new Xt(this.ctx,e).draw(s.series);break;case"pie":case"donut":case"polarArea":x=this.ctx.pie.draw(s.series);break;case"radialBar":x=p.draw(s.series);break;case"radar":x=f.draw(s.series);break;default:x=g.draw(s.series)}return x}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=x.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();"%"===a?x.isNumber(i[0])&&(0===i[0].width&&(i=x.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):"px"!==a&&""!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if("auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===s){var r=x.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),m.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),"%"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+"px"}t.dom.elWrap.style.width=t.svgWidth+"px",t.dom.elWrap.style.height=t.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i={transform:"translate("+t.translateX+", "+e+")"};m.setAttrs(t.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new ct(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=x.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",l),t.config.chart.height&&String(t.config.chart.height).indexOf("%")>0||(e.dom.elWrap.style.height=l+"px",m.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+"px")}},{key:"coreCalculations",value:function(){new Z(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new O,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if("back"===e.config.xaxis.crosshairs.position)new tt(this.ctx).drawXCrosshairs();if("back"===e.config.yaxis[0].crosshairs.position)new tt(this.ctx).drawYCrosshairs();if("datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Yt(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new y(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,i=this.w;if(i.config.chart.brush.enabled&&"function"!=typeof i.config.chart.events.selection){var a=i.config.chart.brush.targets||[i.config.chart.brush.target];a.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,"function"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),"function"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),i.config.chart.events.selection=function(t,s){a.forEach((function(t){var a=ApexCharts.getChartByID(t),r=x.clone(i.config.yaxis);if(i.config.chart.brush.autoScaleYaxis&&1===a.w.globals.series.length){var o=new q(a);r=o.autoScaleY(a,r,s)}var n=a.w.config.yaxis.reduce((function(t,i,s){return[].concat(u(t),[e(e({},a.w.config.yaxis[s]),{},{min:r[0].min,max:r[0].max})])}),[]);a.ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max},yaxis:n},!1,!1,!1,!1)}))}}}}]),t}(),Rt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"_updateOptions",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&"object"===i(t)&&(r.config=new N(t),t=y.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=x.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?x.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?x.clone(t.yaxis):[],c.globals.initialConfig=x.extend({},c.config),c.globals.initialSeries=x.clone(c.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=x.clone(o.config.series),o.globals.initialSeries=x.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:"_extendSeries",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:s&&s.name,color:t.color?t.color:s&&s.color,type:t.type?t.type:s&&s.type,data:t.data?t.data:s&&s.data})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(t,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"'], ").concat(s," circle[j='").concat(e,"'], ").concat(s," rect[j='").concat(e,"']")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"']")).members[0],"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new m(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new D(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){return t.chart&&t.chart.stacked&&"100%"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();It="undefined"!=typeof window?window:void 0,zt=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns="http://www.w3.org/2000/svg",a.xmlns="http://www.w3.org/2000/xmlns/",a.xlink="http://www.w3.org/1999/xlink",a.svgjs="http://svgjs.dev",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return"Svgjs"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute("id",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i="svg"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:"linearGradient"==e.nodeName?new a.Gradient("linear"):"radialGradient"==e.nodeName?new a.Gradient("radial"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute("svgjs:data"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName("body")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:i.polyline().node,path:i.path().node,native:a.create("svg")}},a.parser={native:a.create("svg")},e.addEventListener("DOMContentLoaded",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+="",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]}},r="mlhvqtcsaz".split(""),o=0,n=r.length;ol);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute("d",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!=t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if("string"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||"#document"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElement("svg");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElement("svg")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^/,"").replace(/<\/svg>$/,"");i.innerHTML=""+t.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2>")+"";for(var s=0,r=i.firstChild.childNodes.length;s":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){"object"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||"-"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on("finished.fx",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off("finished.fx",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off("during.fx",i).on("during.fx",i),this.after((function(){this.off("during.fx",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off("allfinished.fx",e)};return this.target().off("allfinished.fx",e).on("allfinished.fx",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire("during",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--s)this[m[s]]=null!=t[m[s]]?t[m[s]]:e[m[s]]},extend:{extract:function(){var t=p(this,0,1);p(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=m.length-1;e>=0;e--)t[m[e]]=this[m[e]];return t},toString:function(){return"matrix("+v(this.a)+","+v(this.b)+","+v(this.c)+","+v(this.d)+","+v(this.e)+","+v(this.f)+")"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if("object"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;"stroke-width"==t?this.attr("stroke",parseFloat(e)>0?this._stroke:null):"stroke"==t&&(this._stroke=e),"fill"!=t&&"stroke"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),"number"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),"leading"==t?this.leading&&this.leading(e):"string"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!=t&&"x"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return"object"!==i(t)?(s=new a.Matrix(this).extract(),"string"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr("transform",s))}}),a.extend(a.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split("(");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return"matrix"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&"boolean"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return null==t.x&&(t.x=0,t.y=0,t.width=0,t.height=0),t.w=t.width,t.h=t.height,t.x2=t.x+t.width,t.y2=t.y+t.height,t.cx=t.x+t.width/2,t.cy=t.y+t.height/2,t}function v(t){return Math.abs(t)>1e-37?t:0}["fill","stroke"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if("string"==typeof e||a.Color.isRgb(e)||e&&"function"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr("transform",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)"function"==typeof a.Shape.prototype[e]&&"function"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||"").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var m="abcdef".split("");if("function"!=typeof t.CustomEvent){var y=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent("CustomEvent");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};y.prototype=t.Event.prototype,a.CustomEvent=y}else a.CustomEvent=t.CustomEvent;return a},"function"==typeof define&&define.amd?define((function(){return zt(It,It.document)})):"object"===("undefined"==typeof exports?"undefined":i(exports))&&"undefined"!=typeof module?module.exports=It.document?zt(It,It.document):function(t){return zt(t,t.document)}:It.SVG=zt(It,It.document), -/*! svg.filter.js - v2.0.2 - 2016-02-24 - * https://github.com/wout/svg.filter.js - * Copyright (c) 2016 Wout Fierens; Licensed MIT */ -function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr("in")&&this.autoSetIn&&t.attr("in",this.source),t.attr("result")||t.attr("result",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return"function"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr("in",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||"normal"})},colorMatrix:function(t,e){"matrix"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr("flood-color",t),null!=e&&this.attr("flood-opacity",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr("href",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr("stdDeviation",r(Array.prototype.slice.call(arguments))):this.attr("stdDeviation","0 0")},morphology:function(t,e){this.attr({operator:t,radius:e})},tile:function(){},turbulence:function(t,e,i,a,s){this.attr({numOctaves:e,seed:i,stitchTiles:a,baseFrequency:t,type:s})}},i={merge:function(){var t;if(arguments[0]instanceof SVG.Set){var e=this;arguments[0].each((function(t){this instanceof SVG.MergeNode?e.put(this):(this instanceof SVG.Effect||this instanceof SVG.ParentEffect)&&e.put(new SVG.MergeNode(this))}))}else{t=Array.isArray(arguments[0])?arguments[0]:arguments;for(var i=0;i1&&(M*=a=Math.sqrt(a),T*=a);s=(new SVG.Matrix).rotate(I).scale(1/M,1/T).rotate(-I),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire("dragend",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,i){"function"!=typeof e&&"object"!=typeof e||(i=e,e=!0);var a=this.remember("_draggable")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,e,i){var a="string"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,"t"===t||"b"===t),y:this.pointCoord(i[1],e,"r"===t||"l"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=["points","pointsExclude"];for(var s in r){var o=this.options[r[s]];"string"==typeof o?o=o.length>0?o.split(/\s*,\s*/i):[]:"boolean"==typeof o&&"points"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case"rt":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case"rb":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case"lb":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case"t":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case"r":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case"b":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case"l":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case"rot":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,"touchmove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"touchend.resize",(function(){e.done()})),SVG.on(window,"mousemove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"mouseup.resize",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new b(this.ctx),this.ctx.axes=new K(this.ctx),this.ctx.core=new Ft(this.ctx.el,this.ctx),this.ctx.config=new N({}),this.ctx.data=new B(this.ctx),this.ctx.grid=new U(this.ctx),this.ctx.graphics=new m(this.ctx),this.ctx.coreUtils=new y(this.ctx),this.ctx.crosshairs=new tt(this.ctx),this.ctx.events=new J(this.ctx),this.ctx.exports=new j(this.ctx),this.ctx.localization=new Q(this.ctx),this.ctx.options=new L,this.ctx.responsive=new et(this.ctx),this.ctx.series=new E(this.ctx),this.ctx.theme=new it(this.ctx),this.ctx.formatters=new V(this.ctx),this.ctx.titleSubtitle=new at(this.ctx),this.ctx.legend=new ct(this.ctx),this.ctx.toolbar=new dt(this.ctx),this.ctx.dimensions=new lt(this.ctx),this.ctx.updateHelpers=new Rt(this.ctx),this.ctx.zoomPanSelection=new gt(this.ctx),this.ctx.w.globals.tooltip=new mt(this.ctx)}}]),t}(),Dt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"clear",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:"killSVG",value:function(t){t.each((function(t,e){this.removeClass("*"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:"clearDomElements",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elAnnotations=null,r.elLegendWrap=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),Nt=new WeakMap;return function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new W(i).init(),this.el=e,this.w.globals.cuid=x.randomId(),this.w.globals.chartID=this.w.config.chart.id?x.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Ht(this).initModules(),this.create=x.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;if("function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();"none"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),Nt.set(e,s)}(t.el.parentNode,t.parentResizeHandler),!t.css){var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is("ShadowRoot",s),o=t.el.ownerDocument,n=o.getElementById("apexcharts-css");!r&&n||(t.css=document.createElement("style"),t.css.id="apexcharts-css",t.css.textContent='.apexcharts-canvas {\n position: relative;\n user-select: none;\n /* cannot give overflow: hidden as it will crop tooltips which overflow outside chart area */\n}\n\n\n/* scrollbar is not visible by default for legend, hence forcing the visibility */\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px;\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0, 0, 0, .5);\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n}\n\n\n.apexcharts-inner {\n position: relative;\n}\n\n.apexcharts-text tspan {\n font-family: inherit;\n}\n\n.legend-mouseover-inactive {\n transition: 0.15s ease all;\n opacity: 0.20;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0;\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255, 255, 255, 0.96);\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30, 30, 30, 0.8);\n}\n\n.apexcharts-tooltip * {\n font-family: inherit;\n}\n\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #ECEFF1;\n border-bottom: 1px solid #ddd;\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0, 0, 0, 0.7);\n border-bottom: 1px solid #333;\n}\n\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-z-value {\n display: inline-block;\n font-weight: 600;\n margin-left: 5px;\n}\n\n.apexcharts-tooltip-title:empty,\n.apexcharts-tooltip-text-y-label:empty,\n.apexcharts-tooltip-text-y-value:empty,\n.apexcharts-tooltip-text-goals-label:empty,\n.apexcharts-tooltip-text-goals-value:empty,\n.apexcharts-tooltip-text-z-value:empty {\n display: none;\n}\n\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-z-value {\n font-weight: 600;\n}\n\n.apexcharts-tooltip-text-goals-label, \n.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px;\n}\n\n.apexcharts-tooltip-goals-group, \n.apexcharts-tooltip-text-goals-label, \n.apexcharts-tooltip-text-goals-value {\n display: flex;\n}\n.apexcharts-tooltip-text-goals-label:not(:empty),\n.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px;\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0px;\n margin-right: 10px;\n border-radius: 50%;\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center;\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1;\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,\n.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px;\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0 !important;\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px;\n}\n\n.apexcharts-tooltip-box, .apexcharts-custom-tooltip {\n padding: 4px 8px;\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse;\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0;\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: bold;\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px;\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777;\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: bold;\n display: block;\n margin-bottom: 5px;\n}\n\n.apexcharts-xaxistooltip {\n opacity: 0;\n padding: 9px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #ECEFF1;\n border: 1px solid #90A4AE;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-xaxistooltip:after,\n.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-left: -6px;\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\n border-width: 7px;\n margin-left: -7px;\n}\n\n.apexcharts-xaxistooltip-bottom:after,\n.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%;\n}\n\n.apexcharts-xaxistooltip-top:after,\n.apexcharts-xaxistooltip-top:before {\n top: 100%;\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #ECEFF1;\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #ECEFF1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90A4AE;\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-yaxistooltip {\n opacity: 0;\n padding: 4px 10px;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #ECEFF1;\n border: 1px solid #90A4AE;\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 0, 0, 0.5);\n color: #fff;\n}\n\n.apexcharts-yaxistooltip:after,\n.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-top: -6px;\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\n border-width: 7px;\n margin-top: -7px;\n}\n\n.apexcharts-yaxistooltip-left:after,\n.apexcharts-yaxistooltip-left:before {\n left: 100%;\n}\n\n.apexcharts-yaxistooltip-right:after,\n.apexcharts-yaxistooltip-right:before {\n right: 100%;\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #ECEFF1;\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #ECEFF1;\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90A4AE;\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1;\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none;\n}\n\n.apexcharts-xcrosshairs,\n.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,\n.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0;\n}\n\n.apexcharts-selection-rect {\n cursor: move;\n}\n\n.svg_select_boundingRect, .svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden;\n}\n.apexcharts-selection-rect + g .svg_select_boundingRect,\n.apexcharts-selection-rect + g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden;\n}\n\n.apexcharts-selection-rect + g .svg_select_points_l,\n.apexcharts-selection-rect + g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible;\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2;\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon,\n.apexcharts-reset-icon,\n.apexcharts-pan-icon,\n.apexcharts-selection-icon,\n.apexcharts-menu-icon,\n.apexcharts-toolbar-custom-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6E8192;\n text-align: center;\n}\n\n.apexcharts-zoom-icon svg,\n.apexcharts-zoomin-icon svg,\n.apexcharts-zoomout-icon svg,\n.apexcharts-reset-icon svg,\n.apexcharts-menu-icon svg {\n fill: #6E8192;\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(0.76)\n}\n\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg,\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg {\n fill: #f3f4f5;\n}\n\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg {\n fill: #008FFB;\n}\n\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg,\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg {\n fill: #333;\n}\n\n.apexcharts-selection-icon,\n.apexcharts-menu-icon {\n position: relative;\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px;\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-reset-icon,\n.apexcharts-menu-icon {\n transform: scale(0.85);\n}\n\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n transform: scale(0.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px;\n}\n\n.apexcharts-pan-icon {\n transform: scale(0.62);\n position: relative;\n left: 1px;\n top: 0px;\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6E8192;\n stroke-width: 2;\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008FFB;\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333;\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0px 6px 2px 6px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: 0.15s ease all;\n pointer-events: none;\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: 0.15s ease all;\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer;\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee;\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0, 0, 0, 0.7);\n color: #fff;\n}\n\n@media screen and (min-width: 768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1;\n }\n}\n\n.apexcharts-datalabel.apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-pie-label,\n.apexcharts-datalabels,\n.apexcharts-datalabel,\n.apexcharts-datalabel-label,\n.apexcharts-datalabel-value {\n cursor: default;\n pointer-events: none;\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: 0.3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease;\n}\n\n.apexcharts-canvas .apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-hide .apexcharts-series-points {\n opacity: 0;\n}\n\n.apexcharts-gridline,\n.apexcharts-annotation-rect,\n.apexcharts-xaxis-annotation-label,\n.apexcharts-yaxis-annotation-label,\n.apexcharts-point-annotation-label,\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-line,\n.apexcharts-zoom-rect,\n.apexcharts-toolbar svg,\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-radar-series path,\n.apexcharts-radar-series polygon {\n pointer-events: none;\n}\n\n\n/* markers */\n\n.apexcharts-marker {\n transition: 0.15s ease all;\n}\n\n@keyframes opaque {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n\n/* Resize generated styles */\n\n@keyframes resizeanim {\n from {\n opacity: 0;\n }\n to {\n opacity: 0;\n }\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n}\n\n.resize-triggers,\n.resize-triggers>div,\n.contract-trigger:before {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.resize-triggers>div {\n background: #eee;\n overflow: auto;\n}\n\n.contract-trigger:before {\n width: 200%;\n height: 200%;\n}',r?s.prepend(t.css):o.head.appendChild(t.css))}var l=t.create(t.w.config.series,{});if(!l)return e(t);t.mount(l).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(l)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this.w;new Ht(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new D(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),"treemap"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=y.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new T(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),"category"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new y(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new z(this);l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition();var h={plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}};return{elGraph:n,xyRatios:o,elInner:i.globals.dom.elGraphical,dimensions:h}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),"treemap"!==a.config.chart.type&&i.axes.drawAxis(a.config.chart.type,e.xyRatios),i.grid=new U(i);var o=i.grid.drawGrid();i.annotations=new P(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position&&o&&a.globals.dom.elGraphical.add(o.el);var n=new _(t.ctx),l=new $(t.ctx);if(null!==o&&(n.xAxisLabelCorrections(o.xAxisTickWidth),l.setYAxisTextAlignments(),a.config.yaxis.map((function(t,e){-1===a.globals.ignoreYAxisIndexes.indexOf(e)&&l.yAxisTitleRotate(e,t.opposite)}))),"back"===a.config.annotations.position&&(a.globals.dom.Paper.add(a.globals.dom.elAnnotations),i.annotations.drawAxesAnnotations()),Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){var t,e;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=Nt.get(t))&&(e.disconnect(),Nt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===x.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Dt(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new Z(this.ctx);return e.getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new Z(this.ctx);return e.getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(t){return new j(this.ctx).dataURI(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=new j(this.ctx);return e.exportToCSV(t)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:"_windowResizeHandler",value:function(){var t=this.w.config.chart.redrawOnWindowResize;"function"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:"getChartByID",value:function(t){var e=x.escapeString(t),i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i2?s-2:0),o=2;o { - if (object === null || object === undefined) { - return `${object}`; - } - - return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase(); - }; - /** - * Public Util API - */ - - - const getUID = prefix => { - do { - prefix += Math.floor(Math.random() * MAX_UID); - } while (document.getElementById(prefix)); - - return prefix; - }; - - const getSelector = element => { - let selector = element.getAttribute('data-bs-target'); - - if (!selector || selector === '#') { - let hrefAttribute = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, - // so everything starting with `#` or `.`. If a "real" URL is used as the selector, - // `document.querySelector` will rightfully complain it is invalid. - // See https://github.com/twbs/bootstrap/issues/32273 - - if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) { - return null; - } // Just in case some CMS puts out a full URL with the anchor appended - - - if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) { - hrefAttribute = `#${hrefAttribute.split('#')[1]}`; - } - - selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null; - } - - return selector; - }; - - const getSelectorFromElement = element => { - const selector = getSelector(element); - - if (selector) { - return document.querySelector(selector) ? selector : null; - } - - return null; - }; - - const getElementFromSelector = element => { - const selector = getSelector(element); - return selector ? document.querySelector(selector) : null; - }; - - const getTransitionDurationFromElement = element => { - if (!element) { - return 0; - } // Get transition-duration of the element - - - let { - transitionDuration, - transitionDelay - } = window.getComputedStyle(element); - const floatTransitionDuration = Number.parseFloat(transitionDuration); - const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found - - if (!floatTransitionDuration && !floatTransitionDelay) { - return 0; - } // If multiple durations are defined, take the first - - - transitionDuration = transitionDuration.split(',')[0]; - transitionDelay = transitionDelay.split(',')[0]; - return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; - }; - - const triggerTransitionEnd = element => { - element.dispatchEvent(new Event(TRANSITION_END)); - }; - - const isElement$1 = object => { - if (!object || typeof object !== 'object') { - return false; - } - - if (typeof object.jquery !== 'undefined') { - object = object[0]; - } - - return typeof object.nodeType !== 'undefined'; - }; - - const getElement = object => { - // it's a jQuery object or a node element - if (isElement$1(object)) { - return object.jquery ? object[0] : object; - } - - if (typeof object === 'string' && object.length > 0) { - return document.querySelector(object); - } - - return null; - }; - - const isVisible = element => { - if (!isElement$1(element) || element.getClientRects().length === 0) { - return false; - } - - const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; // Handle `details` element as its content may falsie appear visible when it is closed - - const closedDetails = element.closest('details:not([open])'); - - if (!closedDetails) { - return elementIsVisible; - } - - if (closedDetails !== element) { - const summary = element.closest('summary'); - - if (summary && summary.parentNode !== closedDetails) { - return false; - } - - if (summary === null) { - return false; - } - } - - return elementIsVisible; - }; - - const isDisabled = element => { - if (!element || element.nodeType !== Node.ELEMENT_NODE) { - return true; - } - - if (element.classList.contains('disabled')) { - return true; - } - - if (typeof element.disabled !== 'undefined') { - return element.disabled; - } - - return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; - }; - - const findShadowRoot = element => { - if (!document.documentElement.attachShadow) { - return null; - } // Can find the shadow root otherwise it'll return the document - - - if (typeof element.getRootNode === 'function') { - const root = element.getRootNode(); - return root instanceof ShadowRoot ? root : null; - } - - if (element instanceof ShadowRoot) { - return element; - } // when we don't find a shadow root - - - if (!element.parentNode) { - return null; - } - - return findShadowRoot(element.parentNode); - }; - - const noop = () => {}; - /** - * Trick to restart an element's animation - * - * @param {HTMLElement} element - * @return void - * - * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation - */ - - - const reflow = element => { - element.offsetHeight; // eslint-disable-line no-unused-expressions - }; - - const getjQuery = () => { - if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { - return window.jQuery; - } - - return null; - }; - - const DOMContentLoadedCallbacks = []; - - const onDOMContentLoaded = callback => { - if (document.readyState === 'loading') { - // add listener on the first call when the document is in loading state - if (!DOMContentLoadedCallbacks.length) { - document.addEventListener('DOMContentLoaded', () => { - for (const callback of DOMContentLoadedCallbacks) { - callback(); - } - }); - } - - DOMContentLoadedCallbacks.push(callback); - } else { - callback(); - } - }; - - const isRTL = () => document.documentElement.dir === 'rtl'; - - const defineJQueryPlugin = plugin => { - onDOMContentLoaded(() => { - const $ = getjQuery(); - /* istanbul ignore if */ - - if ($) { - const name = plugin.NAME; - const JQUERY_NO_CONFLICT = $.fn[name]; - $.fn[name] = plugin.jQueryInterface; - $.fn[name].Constructor = plugin; - - $.fn[name].noConflict = () => { - $.fn[name] = JQUERY_NO_CONFLICT; - return plugin.jQueryInterface; - }; - } - }); - }; - - const execute = callback => { - if (typeof callback === 'function') { - callback(); - } - }; - - const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { - if (!waitForTransition) { - execute(callback); - return; - } - - const durationPadding = 5; - const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; - let called = false; - - const handler = ({ - target - }) => { - if (target !== transitionElement) { - return; - } - - called = true; - transitionElement.removeEventListener(TRANSITION_END, handler); - execute(callback); - }; - - transitionElement.addEventListener(TRANSITION_END, handler); - setTimeout(() => { - if (!called) { - triggerTransitionEnd(transitionElement); - } - }, emulatedDuration); - }; - /** - * Return the previous/next element of a list. - * - * @param {array} list The list of elements - * @param activeElement The active element - * @param shouldGetNext Choose to get next or previous element - * @param isCycleAllowed - * @return {Element|elem} The proper element - */ - - - const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { - const listLength = list.length; - let index = list.indexOf(activeElement); // if the element does not exist in the list return an element - // depending on the direction and if cycle is allowed - - if (index === -1) { - return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]; - } - - index += shouldGetNext ? 1 : -1; - - if (isCycleAllowed) { - index = (index + listLength) % listLength; - } - - return list[Math.max(0, Math.min(index, listLength - 1))]; - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): dom/event-handler.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const namespaceRegex = /[^.]*(?=\..*)\.|.*/; - const stripNameRegex = /\..*/; - const stripUidRegex = /::\d+$/; - const eventRegistry = {}; // Events storage - - let uidEvent = 1; - const customEvents = { - mouseenter: 'mouseover', - mouseleave: 'mouseout' - }; - const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']); - /** - * Private methods - */ - - function makeEventUid(element, uid) { - return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; - } - - function getElementEvents(element) { - const uid = makeEventUid(element); - element.uidEvent = uid; - eventRegistry[uid] = eventRegistry[uid] || {}; - return eventRegistry[uid]; - } - - function bootstrapHandler(element, fn) { - return function handler(event) { - hydrateObj(event, { - delegateTarget: element - }); - - if (handler.oneOff) { - EventHandler.off(element, event.type, fn); - } - - return fn.apply(element, [event]); - }; - } - - function bootstrapDelegationHandler(element, selector, fn) { - return function handler(event) { - const domElements = element.querySelectorAll(selector); - - for (let { - target - } = event; target && target !== this; target = target.parentNode) { - for (const domElement of domElements) { - if (domElement !== target) { - continue; - } - - hydrateObj(event, { - delegateTarget: target - }); - - if (handler.oneOff) { - EventHandler.off(element, event.type, selector, fn); - } - - return fn.apply(target, [event]); - } - } - }; - } - - function findHandler(events, callable, delegationSelector = null) { - return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector); - } - - function normalizeParameters(originalTypeEvent, handler, delegationFunction) { - const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check - - const callable = isDelegated ? delegationFunction : handler || delegationFunction; - let typeEvent = getTypeEvent(originalTypeEvent); - - if (!nativeEvents.has(typeEvent)) { - typeEvent = originalTypeEvent; - } - - return [isDelegated, callable, typeEvent]; - } - - function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { - if (typeof originalTypeEvent !== 'string' || !element) { - return; - } - - let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position - // this prevents the handler from being dispatched the same way as mouseover or mouseout does - - if (originalTypeEvent in customEvents) { - const wrapFunction = fn => { - return function (event) { - if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { - return fn.call(this, event); - } - }; - }; - - callable = wrapFunction(callable); - } - - const events = getElementEvents(element); - const handlers = events[typeEvent] || (events[typeEvent] = {}); - const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); - - if (previousFunction) { - previousFunction.oneOff = previousFunction.oneOff && oneOff; - return; - } - - const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, '')); - const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); - fn.delegationSelector = isDelegated ? handler : null; - fn.callable = callable; - fn.oneOff = oneOff; - fn.uidEvent = uid; - handlers[uid] = fn; - element.addEventListener(typeEvent, fn, isDelegated); - } - - function removeHandler(element, events, typeEvent, handler, delegationSelector) { - const fn = findHandler(events[typeEvent], handler, delegationSelector); - - if (!fn) { - return; - } - - element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); - delete events[typeEvent][fn.uidEvent]; - } - - function removeNamespacedHandlers(element, events, typeEvent, namespace) { - const storeElementEvent = events[typeEvent] || {}; - - for (const handlerKey of Object.keys(storeElementEvent)) { - if (handlerKey.includes(namespace)) { - const event = storeElementEvent[handlerKey]; - removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); - } - } - } - - function getTypeEvent(event) { - // allow to get the native events from namespaced events ('click.bs.button' --> 'click') - event = event.replace(stripNameRegex, ''); - return customEvents[event] || event; - } - - const EventHandler = { - on(element, event, handler, delegationFunction) { - addHandler(element, event, handler, delegationFunction, false); - }, - - one(element, event, handler, delegationFunction) { - addHandler(element, event, handler, delegationFunction, true); - }, - - off(element, originalTypeEvent, handler, delegationFunction) { - if (typeof originalTypeEvent !== 'string' || !element) { - return; - } - - const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); - const inNamespace = typeEvent !== originalTypeEvent; - const events = getElementEvents(element); - const storeElementEvent = events[typeEvent] || {}; - const isNamespace = originalTypeEvent.startsWith('.'); - - if (typeof callable !== 'undefined') { - // Simplest case: handler is passed, remove that listener ONLY. - if (!Object.keys(storeElementEvent).length) { - return; - } - - removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); - return; - } - - if (isNamespace) { - for (const elementEvent of Object.keys(events)) { - removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); - } - } - - for (const keyHandlers of Object.keys(storeElementEvent)) { - const handlerKey = keyHandlers.replace(stripUidRegex, ''); - - if (!inNamespace || originalTypeEvent.includes(handlerKey)) { - const event = storeElementEvent[keyHandlers]; - removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); - } - } - }, - - trigger(element, event, args) { - if (typeof event !== 'string' || !element) { - return null; - } - - const $ = getjQuery(); - const typeEvent = getTypeEvent(event); - const inNamespace = event !== typeEvent; - let jQueryEvent = null; - let bubbles = true; - let nativeDispatch = true; - let defaultPrevented = false; - - if (inNamespace && $) { - jQueryEvent = $.Event(event, args); - $(element).trigger(jQueryEvent); - bubbles = !jQueryEvent.isPropagationStopped(); - nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); - defaultPrevented = jQueryEvent.isDefaultPrevented(); - } - - let evt = new Event(event, { - bubbles, - cancelable: true - }); - evt = hydrateObj(evt, args); - - if (defaultPrevented) { - evt.preventDefault(); - } - - if (nativeDispatch) { - element.dispatchEvent(evt); - } - - if (evt.defaultPrevented && jQueryEvent) { - jQueryEvent.preventDefault(); - } - - return evt; - } - - }; - - function hydrateObj(obj, meta) { - for (const [key, value] of Object.entries(meta || {})) { - try { - obj[key] = value; - } catch (_unused) { - Object.defineProperty(obj, key, { - configurable: true, - - get() { - return value; - } - - }); - } - } - - return obj; - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): dom/data.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - /** - * Constants - */ - const elementMap = new Map(); - const Data = { - set(element, key, instance) { - if (!elementMap.has(element)) { - elementMap.set(element, new Map()); - } - - const instanceMap = elementMap.get(element); // make it clear we only want one instance per element - // can be removed later when multiple key/instances are fine to be used - - if (!instanceMap.has(key) && instanceMap.size !== 0) { - // eslint-disable-next-line no-console - console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); - return; - } - - instanceMap.set(key, instance); - }, - - get(element, key) { - if (elementMap.has(element)) { - return elementMap.get(element).get(key) || null; - } - - return null; - }, - - remove(element, key) { - if (!elementMap.has(element)) { - return; - } - - const instanceMap = elementMap.get(element); - instanceMap.delete(key); // free up element references if there are no instances left for an element - - if (instanceMap.size === 0) { - elementMap.delete(element); - } - } - - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): dom/manipulator.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - function normalizeData(value) { - if (value === 'true') { - return true; - } - - if (value === 'false') { - return false; - } - - if (value === Number(value).toString()) { - return Number(value); - } - - if (value === '' || value === 'null') { - return null; - } - - if (typeof value !== 'string') { - return value; - } - - try { - return JSON.parse(decodeURIComponent(value)); - } catch (_unused) { - return value; - } - } - - function normalizeDataKey(key) { - return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`); - } - - const Manipulator = { - setDataAttribute(element, key, value) { - element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); - }, - - removeDataAttribute(element, key) { - element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); - }, - - getDataAttributes(element) { - if (!element) { - return {}; - } - - const attributes = {}; - const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig')); - - for (const key of bsKeys) { - let pureKey = key.replace(/^bs/, ''); - pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); - attributes[pureKey] = normalizeData(element.dataset[key]); - } - - return attributes; - }, - - getDataAttribute(element, key) { - return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); - } - - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): util/config.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Class definition - */ - - class Config { - // Getters - static get Default() { - return {}; - } - - static get DefaultType() { - return {}; - } - - static get NAME() { - throw new Error('You have to implement the static method "NAME", for each component!'); - } - - _getConfig(config) { - config = this._mergeConfigObj(config); - config = this._configAfterMerge(config); - - this._typeCheckConfig(config); - - return config; - } - - _configAfterMerge(config) { - return config; - } - - _mergeConfigObj(config, element) { - const jsonConfig = isElement$1(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse - - return { ...this.constructor.Default, - ...(typeof jsonConfig === 'object' ? jsonConfig : {}), - ...(isElement$1(element) ? Manipulator.getDataAttributes(element) : {}), - ...(typeof config === 'object' ? config : {}) - }; - } - - _typeCheckConfig(config, configTypes = this.constructor.DefaultType) { - for (const property of Object.keys(configTypes)) { - const expectedTypes = configTypes[property]; - const value = config[property]; - const valueType = isElement$1(value) ? 'element' : toType(value); - - if (!new RegExp(expectedTypes).test(valueType)) { - throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); - } - } - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): base-component.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const VERSION = '5.2.2'; - /** - * Class definition - */ - - class BaseComponent extends Config { - constructor(element, config) { - super(); - element = getElement(element); - - if (!element) { - return; - } - - this._element = element; - this._config = this._getConfig(config); - Data.set(this._element, this.constructor.DATA_KEY, this); - } // Public - - - dispose() { - Data.remove(this._element, this.constructor.DATA_KEY); - EventHandler.off(this._element, this.constructor.EVENT_KEY); - - for (const propertyName of Object.getOwnPropertyNames(this)) { - this[propertyName] = null; - } - } - - _queueCallback(callback, element, isAnimated = true) { - executeAfterTransition(callback, element, isAnimated); - } - - _getConfig(config) { - config = this._mergeConfigObj(config, this._element); - config = this._configAfterMerge(config); - - this._typeCheckConfig(config); - - return config; - } // Static - - - static getInstance(element) { - return Data.get(getElement(element), this.DATA_KEY); - } - - static getOrCreateInstance(element, config = {}) { - return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null); - } - - static get VERSION() { - return VERSION; - } - - static get DATA_KEY() { - return `bs.${this.NAME}`; - } - - static get EVENT_KEY() { - return `.${this.DATA_KEY}`; - } - - static eventName(name) { - return `${name}${this.EVENT_KEY}`; - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): util/component-functions.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - - const enableDismissTrigger = (component, method = 'hide') => { - const clickEvent = `click.dismiss${component.EVENT_KEY}`; - const name = component.NAME; - EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - - if (isDisabled(this)) { - return; - } - - const target = getElementFromSelector(this) || this.closest(`.${name}`); - const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method - - instance[method](); - }); - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): alert.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$f = 'alert'; - const DATA_KEY$a = 'bs.alert'; - const EVENT_KEY$b = `.${DATA_KEY$a}`; - const EVENT_CLOSE = `close${EVENT_KEY$b}`; - const EVENT_CLOSED = `closed${EVENT_KEY$b}`; - const CLASS_NAME_FADE$5 = 'fade'; - const CLASS_NAME_SHOW$8 = 'show'; - /** - * Class definition - */ - - class Alert extends BaseComponent { - // Getters - static get NAME() { - return NAME$f; - } // Public - - - close() { - const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); - - if (closeEvent.defaultPrevented) { - return; - } - - this._element.classList.remove(CLASS_NAME_SHOW$8); - - const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); - - this._queueCallback(() => this._destroyElement(), this._element, isAnimated); - } // Private - - - _destroyElement() { - this._element.remove(); - - EventHandler.trigger(this._element, EVENT_CLOSED); - this.dispose(); - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const data = Alert.getOrCreateInstance(this); - - if (typeof config !== 'string') { - return; - } - - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](this); - }); - } - - } - /** - * Data API implementation - */ - - - enableDismissTrigger(Alert, 'close'); - /** - * jQuery - */ - - defineJQueryPlugin(Alert); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): button.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$e = 'button'; - const DATA_KEY$9 = 'bs.button'; - const EVENT_KEY$a = `.${DATA_KEY$9}`; - const DATA_API_KEY$6 = '.data-api'; - const CLASS_NAME_ACTIVE$3 = 'active'; - const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]'; - const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; - /** - * Class definition - */ - - class Button extends BaseComponent { - // Getters - static get NAME() { - return NAME$e; - } // Public - - - toggle() { - // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method - this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3)); - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const data = Button.getOrCreateInstance(this); - - if (config === 'toggle') { - data[config](); - } - }); - } - - } - /** - * Data API implementation - */ - - - EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => { - event.preventDefault(); - const button = event.target.closest(SELECTOR_DATA_TOGGLE$5); - const data = Button.getOrCreateInstance(button); - data.toggle(); - }); - /** - * jQuery - */ - - defineJQueryPlugin(Button); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): dom/selector-engine.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const SelectorEngine = { - find(selector, element = document.documentElement) { - return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); - }, - - findOne(selector, element = document.documentElement) { - return Element.prototype.querySelector.call(element, selector); - }, - - children(element, selector) { - return [].concat(...element.children).filter(child => child.matches(selector)); - }, - - parents(element, selector) { - const parents = []; - let ancestor = element.parentNode.closest(selector); - - while (ancestor) { - parents.push(ancestor); - ancestor = ancestor.parentNode.closest(selector); - } - - return parents; - }, - - prev(element, selector) { - let previous = element.previousElementSibling; - - while (previous) { - if (previous.matches(selector)) { - return [previous]; - } - - previous = previous.previousElementSibling; - } - - return []; - }, - - // TODO: this is now unused; remove later along with prev() - next(element, selector) { - let next = element.nextElementSibling; - - while (next) { - if (next.matches(selector)) { - return [next]; - } - - next = next.nextElementSibling; - } - - return []; - }, - - focusableChildren(element) { - const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(','); - return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el)); - } - - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): util/swipe.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$d = 'swipe'; - const EVENT_KEY$9 = '.bs.swipe'; - const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`; - const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`; - const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`; - const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`; - const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`; - const POINTER_TYPE_TOUCH = 'touch'; - const POINTER_TYPE_PEN = 'pen'; - const CLASS_NAME_POINTER_EVENT = 'pointer-event'; - const SWIPE_THRESHOLD = 40; - const Default$c = { - endCallback: null, - leftCallback: null, - rightCallback: null - }; - const DefaultType$c = { - endCallback: '(function|null)', - leftCallback: '(function|null)', - rightCallback: '(function|null)' - }; - /** - * Class definition - */ - - class Swipe extends Config { - constructor(element, config) { - super(); - this._element = element; - - if (!element || !Swipe.isSupported()) { - return; - } - - this._config = this._getConfig(config); - this._deltaX = 0; - this._supportPointerEvents = Boolean(window.PointerEvent); - - this._initEvents(); - } // Getters - - - static get Default() { - return Default$c; - } - - static get DefaultType() { - return DefaultType$c; - } - - static get NAME() { - return NAME$d; - } // Public - - - dispose() { - EventHandler.off(this._element, EVENT_KEY$9); - } // Private - - - _start(event) { - if (!this._supportPointerEvents) { - this._deltaX = event.touches[0].clientX; - return; - } - - if (this._eventIsPointerPenTouch(event)) { - this._deltaX = event.clientX; - } - } - - _end(event) { - if (this._eventIsPointerPenTouch(event)) { - this._deltaX = event.clientX - this._deltaX; - } - - this._handleSwipe(); - - execute(this._config.endCallback); - } - - _move(event) { - this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX; - } - - _handleSwipe() { - const absDeltaX = Math.abs(this._deltaX); - - if (absDeltaX <= SWIPE_THRESHOLD) { - return; - } - - const direction = absDeltaX / this._deltaX; - this._deltaX = 0; - - if (!direction) { - return; - } - - execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback); - } - - _initEvents() { - if (this._supportPointerEvents) { - EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event)); - EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event)); - - this._element.classList.add(CLASS_NAME_POINTER_EVENT); - } else { - EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event)); - EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event)); - EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event)); - } - } - - _eventIsPointerPenTouch(event) { - return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); - } // Static - - - static isSupported() { - return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): carousel.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$c = 'carousel'; - const DATA_KEY$8 = 'bs.carousel'; - const EVENT_KEY$8 = `.${DATA_KEY$8}`; - const DATA_API_KEY$5 = '.data-api'; - const ARROW_LEFT_KEY$1 = 'ArrowLeft'; - const ARROW_RIGHT_KEY$1 = 'ArrowRight'; - const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch - - const ORDER_NEXT = 'next'; - const ORDER_PREV = 'prev'; - const DIRECTION_LEFT = 'left'; - const DIRECTION_RIGHT = 'right'; - const EVENT_SLIDE = `slide${EVENT_KEY$8}`; - const EVENT_SLID = `slid${EVENT_KEY$8}`; - const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`; - const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`; - const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`; - const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`; - const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`; - const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`; - const CLASS_NAME_CAROUSEL = 'carousel'; - const CLASS_NAME_ACTIVE$2 = 'active'; - const CLASS_NAME_SLIDE = 'slide'; - const CLASS_NAME_END = 'carousel-item-end'; - const CLASS_NAME_START = 'carousel-item-start'; - const CLASS_NAME_NEXT = 'carousel-item-next'; - const CLASS_NAME_PREV = 'carousel-item-prev'; - const SELECTOR_ACTIVE = '.active'; - const SELECTOR_ITEM = '.carousel-item'; - const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM; - const SELECTOR_ITEM_IMG = '.carousel-item img'; - const SELECTOR_INDICATORS = '.carousel-indicators'; - const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'; - const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; - const KEY_TO_DIRECTION = { - [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT, - [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT - }; - const Default$b = { - interval: 5000, - keyboard: true, - pause: 'hover', - ride: false, - touch: true, - wrap: true - }; - const DefaultType$b = { - interval: '(number|boolean)', - // TODO:v6 remove boolean support - keyboard: 'boolean', - pause: '(string|boolean)', - ride: '(boolean|string)', - touch: 'boolean', - wrap: 'boolean' - }; - /** - * Class definition - */ - - class Carousel extends BaseComponent { - constructor(element, config) { - super(element, config); - this._interval = null; - this._activeElement = null; - this._isSliding = false; - this.touchTimeout = null; - this._swipeHelper = null; - this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); - - this._addEventListeners(); - - if (this._config.ride === CLASS_NAME_CAROUSEL) { - this.cycle(); - } - } // Getters - - - static get Default() { - return Default$b; - } - - static get DefaultType() { - return DefaultType$b; - } - - static get NAME() { - return NAME$c; - } // Public - - - next() { - this._slide(ORDER_NEXT); - } - - nextWhenVisible() { - // FIXME TODO use `document.visibilityState` - // Don't call next when the page isn't visible - // or the carousel or its parent isn't visible - if (!document.hidden && isVisible(this._element)) { - this.next(); - } - } - - prev() { - this._slide(ORDER_PREV); - } - - pause() { - if (this._isSliding) { - triggerTransitionEnd(this._element); - } - - this._clearInterval(); - } - - cycle() { - this._clearInterval(); - - this._updateInterval(); - - this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval); - } - - _maybeEnableCycle() { - if (!this._config.ride) { - return; - } - - if (this._isSliding) { - EventHandler.one(this._element, EVENT_SLID, () => this.cycle()); - return; - } - - this.cycle(); - } - - to(index) { - const items = this._getItems(); - - if (index > items.length - 1 || index < 0) { - return; - } - - if (this._isSliding) { - EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); - return; - } - - const activeIndex = this._getItemIndex(this._getActive()); - - if (activeIndex === index) { - return; - } - - const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV; - - this._slide(order, items[index]); - } - - dispose() { - if (this._swipeHelper) { - this._swipeHelper.dispose(); - } - - super.dispose(); - } // Private - - - _configAfterMerge(config) { - config.defaultInterval = config.interval; - return config; - } - - _addEventListeners() { - if (this._config.keyboard) { - EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event)); - } - - if (this._config.pause === 'hover') { - EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause()); - EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle()); - } - - if (this._config.touch && Swipe.isSupported()) { - this._addTouchEventListeners(); - } - } - - _addTouchEventListeners() { - for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) { - EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault()); - } - - const endCallBack = () => { - if (this._config.pause !== 'hover') { - return; - } // If it's a touch-enabled device, mouseenter/leave are fired as - // part of the mouse compatibility events on first tap - the carousel - // would stop cycling until user tapped out of it; - // here, we listen for touchend, explicitly pause the carousel - // (as if it's the second time we tap on it, mouseenter compat event - // is NOT fired) and after a timeout (to allow for mouse compatibility - // events to fire) we explicitly restart cycling - - - this.pause(); - - if (this.touchTimeout) { - clearTimeout(this.touchTimeout); - } - - this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval); - }; - - const swipeConfig = { - leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)), - rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)), - endCallback: endCallBack - }; - this._swipeHelper = new Swipe(this._element, swipeConfig); - } - - _keydown(event) { - if (/input|textarea/i.test(event.target.tagName)) { - return; - } - - const direction = KEY_TO_DIRECTION[event.key]; - - if (direction) { - event.preventDefault(); - - this._slide(this._directionToOrder(direction)); - } - } - - _getItemIndex(element) { - return this._getItems().indexOf(element); - } - - _setActiveIndicatorElement(index) { - if (!this._indicatorsElement) { - return; - } - - const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); - activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); - activeIndicator.removeAttribute('aria-current'); - const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement); - - if (newActiveIndicator) { - newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); - newActiveIndicator.setAttribute('aria-current', 'true'); - } - } - - _updateInterval() { - const element = this._activeElement || this._getActive(); - - if (!element) { - return; - } - - const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10); - this._config.interval = elementInterval || this._config.defaultInterval; - } - - _slide(order, element = null) { - if (this._isSliding) { - return; - } - - const activeElement = this._getActive(); - - const isNext = order === ORDER_NEXT; - const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); - - if (nextElement === activeElement) { - return; - } - - const nextElementIndex = this._getItemIndex(nextElement); - - const triggerEvent = eventName => { - return EventHandler.trigger(this._element, eventName, { - relatedTarget: nextElement, - direction: this._orderToDirection(order), - from: this._getItemIndex(activeElement), - to: nextElementIndex - }); - }; - - const slideEvent = triggerEvent(EVENT_SLIDE); - - if (slideEvent.defaultPrevented) { - return; - } - - if (!activeElement || !nextElement) { - // Some weirdness is happening, so we bail - // todo: change tests that use empty divs to avoid this check - return; - } - - const isCycling = Boolean(this._interval); - this.pause(); - this._isSliding = true; - - this._setActiveIndicatorElement(nextElementIndex); - - this._activeElement = nextElement; - const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; - const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; - nextElement.classList.add(orderClassName); - reflow(nextElement); - activeElement.classList.add(directionalClassName); - nextElement.classList.add(directionalClassName); - - const completeCallBack = () => { - nextElement.classList.remove(directionalClassName, orderClassName); - nextElement.classList.add(CLASS_NAME_ACTIVE$2); - activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); - this._isSliding = false; - triggerEvent(EVENT_SLID); - }; - - this._queueCallback(completeCallBack, activeElement, this._isAnimated()); - - if (isCycling) { - this.cycle(); - } - } - - _isAnimated() { - return this._element.classList.contains(CLASS_NAME_SLIDE); - } - - _getActive() { - return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); - } - - _getItems() { - return SelectorEngine.find(SELECTOR_ITEM, this._element); - } - - _clearInterval() { - if (this._interval) { - clearInterval(this._interval); - this._interval = null; - } - } - - _directionToOrder(direction) { - if (isRTL()) { - return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; - } - - return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; - } - - _orderToDirection(order) { - if (isRTL()) { - return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; - } - - return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const data = Carousel.getOrCreateInstance(this, config); - - if (typeof config === 'number') { - data.to(config); - return; - } - - if (typeof config === 'string') { - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](); - } - }); - } - - } - /** - * Data API implementation - */ - - - EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) { - const target = getElementFromSelector(this); - - if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { - return; - } - - event.preventDefault(); - const carousel = Carousel.getOrCreateInstance(target); - const slideIndex = this.getAttribute('data-bs-slide-to'); - - if (slideIndex) { - carousel.to(slideIndex); - - carousel._maybeEnableCycle(); - - return; - } - - if (Manipulator.getDataAttribute(this, 'slide') === 'next') { - carousel.next(); - - carousel._maybeEnableCycle(); - - return; - } - - carousel.prev(); - - carousel._maybeEnableCycle(); - }); - EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { - const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); - - for (const carousel of carousels) { - Carousel.getOrCreateInstance(carousel); - } - }); - /** - * jQuery - */ - - defineJQueryPlugin(Carousel); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): collapse.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$b = 'collapse'; - const DATA_KEY$7 = 'bs.collapse'; - const EVENT_KEY$7 = `.${DATA_KEY$7}`; - const DATA_API_KEY$4 = '.data-api'; - const EVENT_SHOW$6 = `show${EVENT_KEY$7}`; - const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`; - const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`; - const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`; - const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`; - const CLASS_NAME_SHOW$7 = 'show'; - const CLASS_NAME_COLLAPSE = 'collapse'; - const CLASS_NAME_COLLAPSING = 'collapsing'; - const CLASS_NAME_COLLAPSED = 'collapsed'; - const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; - const CLASS_NAME_HORIZONTAL = 'collapse-horizontal'; - const WIDTH = 'width'; - const HEIGHT = 'height'; - const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; - const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; - const Default$a = { - parent: null, - toggle: true - }; - const DefaultType$a = { - parent: '(null|element)', - toggle: 'boolean' - }; - /** - * Class definition - */ - - class Collapse extends BaseComponent { - constructor(element, config) { - super(element, config); - this._isTransitioning = false; - this._triggerArray = []; - const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); - - for (const elem of toggleList) { - const selector = getSelectorFromElement(elem); - const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element); - - if (selector !== null && filterElement.length) { - this._triggerArray.push(elem); - } - } - - this._initializeChildren(); - - if (!this._config.parent) { - this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); - } - - if (this._config.toggle) { - this.toggle(); - } - } // Getters - - - static get Default() { - return Default$a; - } - - static get DefaultType() { - return DefaultType$a; - } - - static get NAME() { - return NAME$b; - } // Public - - - toggle() { - if (this._isShown()) { - this.hide(); - } else { - this.show(); - } - } - - show() { - if (this._isTransitioning || this._isShown()) { - return; - } - - let activeChildren = []; // find active children - - if (this._config.parent) { - activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, { - toggle: false - })); - } - - if (activeChildren.length && activeChildren[0]._isTransitioning) { - return; - } - - const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); - - if (startEvent.defaultPrevented) { - return; - } - - for (const activeInstance of activeChildren) { - activeInstance.hide(); - } - - const dimension = this._getDimension(); - - this._element.classList.remove(CLASS_NAME_COLLAPSE); - - this._element.classList.add(CLASS_NAME_COLLAPSING); - - this._element.style[dimension] = 0; - - this._addAriaAndCollapsedClass(this._triggerArray, true); - - this._isTransitioning = true; - - const complete = () => { - this._isTransitioning = false; - - this._element.classList.remove(CLASS_NAME_COLLAPSING); - - this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); - - this._element.style[dimension] = ''; - EventHandler.trigger(this._element, EVENT_SHOWN$6); - }; - - const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); - const scrollSize = `scroll${capitalizedDimension}`; - - this._queueCallback(complete, this._element, true); - - this._element.style[dimension] = `${this._element[scrollSize]}px`; - } - - hide() { - if (this._isTransitioning || !this._isShown()) { - return; - } - - const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); - - if (startEvent.defaultPrevented) { - return; - } - - const dimension = this._getDimension(); - - this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; - reflow(this._element); - - this._element.classList.add(CLASS_NAME_COLLAPSING); - - this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); - - for (const trigger of this._triggerArray) { - const element = getElementFromSelector(trigger); - - if (element && !this._isShown(element)) { - this._addAriaAndCollapsedClass([trigger], false); - } - } - - this._isTransitioning = true; - - const complete = () => { - this._isTransitioning = false; - - this._element.classList.remove(CLASS_NAME_COLLAPSING); - - this._element.classList.add(CLASS_NAME_COLLAPSE); - - EventHandler.trigger(this._element, EVENT_HIDDEN$6); - }; - - this._element.style[dimension] = ''; - - this._queueCallback(complete, this._element, true); - } - - _isShown(element = this._element) { - return element.classList.contains(CLASS_NAME_SHOW$7); - } // Private - - - _configAfterMerge(config) { - config.toggle = Boolean(config.toggle); // Coerce string values - - config.parent = getElement(config.parent); - return config; - } - - _getDimension() { - return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; - } - - _initializeChildren() { - if (!this._config.parent) { - return; - } - - const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4); - - for (const element of children) { - const selected = getElementFromSelector(element); - - if (selected) { - this._addAriaAndCollapsedClass([element], this._isShown(selected)); - } - } - } - - _getFirstLevelChildren(selector) { - const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth - - return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element)); - } - - _addAriaAndCollapsedClass(triggerArray, isOpen) { - if (!triggerArray.length) { - return; - } - - for (const element of triggerArray) { - element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); - element.setAttribute('aria-expanded', isOpen); - } - } // Static - - - static jQueryInterface(config) { - const _config = {}; - - if (typeof config === 'string' && /show|hide/.test(config)) { - _config.toggle = false; - } - - return this.each(function () { - const data = Collapse.getOrCreateInstance(this, _config); - - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](); - } - }); - } - - } - /** - * Data API implementation - */ - - - EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) { - // preventDefault only for elements (which change the URL) not inside the collapsible element - if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') { - event.preventDefault(); - } - - const selector = getSelectorFromElement(this); - const selectorElements = SelectorEngine.find(selector); - - for (const element of selectorElements) { - Collapse.getOrCreateInstance(element, { - toggle: false - }).toggle(); - } - }); - /** - * jQuery - */ - - defineJQueryPlugin(Collapse); - - var top = 'top'; - var bottom = 'bottom'; - var right = 'right'; - var left = 'left'; - var auto = 'auto'; - var basePlacements = [top, bottom, right, left]; - var start = 'start'; - var end = 'end'; - var clippingParents = 'clippingParents'; - var viewport = 'viewport'; - var popper = 'popper'; - var reference = 'reference'; - var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { - return acc.concat([placement + "-" + start, placement + "-" + end]); - }, []); - var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { - return acc.concat([placement, placement + "-" + start, placement + "-" + end]); - }, []); // modifiers that need to read the DOM - - var beforeRead = 'beforeRead'; - var read = 'read'; - var afterRead = 'afterRead'; // pure-logic modifiers - - var beforeMain = 'beforeMain'; - var main = 'main'; - var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state) - - var beforeWrite = 'beforeWrite'; - var write = 'write'; - var afterWrite = 'afterWrite'; - var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; - - function getNodeName(element) { - return element ? (element.nodeName || '').toLowerCase() : null; - } - - function getWindow(node) { - if (node == null) { - return window; - } - - if (node.toString() !== '[object Window]') { - var ownerDocument = node.ownerDocument; - return ownerDocument ? ownerDocument.defaultView || window : window; - } - - return node; - } - - function isElement(node) { - var OwnElement = getWindow(node).Element; - return node instanceof OwnElement || node instanceof Element; - } - - function isHTMLElement(node) { - var OwnElement = getWindow(node).HTMLElement; - return node instanceof OwnElement || node instanceof HTMLElement; - } - - function isShadowRoot(node) { - // IE 11 has no ShadowRoot - if (typeof ShadowRoot === 'undefined') { - return false; - } - - var OwnElement = getWindow(node).ShadowRoot; - return node instanceof OwnElement || node instanceof ShadowRoot; - } - - // and applies them to the HTMLElements such as popper and arrow - - function applyStyles(_ref) { - var state = _ref.state; - Object.keys(state.elements).forEach(function (name) { - var style = state.styles[name] || {}; - var attributes = state.attributes[name] || {}; - var element = state.elements[name]; // arrow is optional + virtual elements - - if (!isHTMLElement(element) || !getNodeName(element)) { - return; - } // Flow doesn't support to extend this property, but it's the most - // effective way to apply styles to an HTMLElement - // $FlowFixMe[cannot-write] - - - Object.assign(element.style, style); - Object.keys(attributes).forEach(function (name) { - var value = attributes[name]; - - if (value === false) { - element.removeAttribute(name); - } else { - element.setAttribute(name, value === true ? '' : value); - } - }); - }); - } - - function effect$2(_ref2) { - var state = _ref2.state; - var initialStyles = { - popper: { - position: state.options.strategy, - left: '0', - top: '0', - margin: '0' - }, - arrow: { - position: 'absolute' - }, - reference: {} - }; - Object.assign(state.elements.popper.style, initialStyles.popper); - state.styles = initialStyles; - - if (state.elements.arrow) { - Object.assign(state.elements.arrow.style, initialStyles.arrow); - } - - return function () { - Object.keys(state.elements).forEach(function (name) { - var element = state.elements[name]; - var attributes = state.attributes[name] || {}; - var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them - - var style = styleProperties.reduce(function (style, property) { - style[property] = ''; - return style; - }, {}); // arrow is optional + virtual elements - - if (!isHTMLElement(element) || !getNodeName(element)) { - return; - } - - Object.assign(element.style, style); - Object.keys(attributes).forEach(function (attribute) { - element.removeAttribute(attribute); - }); - }); - }; - } // eslint-disable-next-line import/no-unused-modules - - - const applyStyles$1 = { - name: 'applyStyles', - enabled: true, - phase: 'write', - fn: applyStyles, - effect: effect$2, - requires: ['computeStyles'] - }; - - function getBasePlacement(placement) { - return placement.split('-')[0]; - } - - var max = Math.max; - var min = Math.min; - var round = Math.round; - - function getUAString() { - var uaData = navigator.userAgentData; - - if (uaData != null && uaData.brands) { - return uaData.brands.map(function (item) { - return item.brand + "/" + item.version; - }).join(' '); - } - - return navigator.userAgent; - } - - function isLayoutViewport() { - return !/^((?!chrome|android).)*safari/i.test(getUAString()); - } - - function getBoundingClientRect(element, includeScale, isFixedStrategy) { - if (includeScale === void 0) { - includeScale = false; - } - - if (isFixedStrategy === void 0) { - isFixedStrategy = false; - } - - var clientRect = element.getBoundingClientRect(); - var scaleX = 1; - var scaleY = 1; - - if (includeScale && isHTMLElement(element)) { - scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; - scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; - } - - var _ref = isElement(element) ? getWindow(element) : window, - visualViewport = _ref.visualViewport; - - var addVisualOffsets = !isLayoutViewport() && isFixedStrategy; - var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; - var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; - var width = clientRect.width / scaleX; - var height = clientRect.height / scaleY; - return { - width: width, - height: height, - top: y, - right: x + width, - bottom: y + height, - left: x, - x: x, - y: y - }; - } - - // means it doesn't take into account transforms. - - function getLayoutRect(element) { - var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed. - // Fixes https://github.com/popperjs/popper-core/issues/1223 - - var width = element.offsetWidth; - var height = element.offsetHeight; - - if (Math.abs(clientRect.width - width) <= 1) { - width = clientRect.width; - } - - if (Math.abs(clientRect.height - height) <= 1) { - height = clientRect.height; - } - - return { - x: element.offsetLeft, - y: element.offsetTop, - width: width, - height: height - }; - } - - function contains(parent, child) { - var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method - - if (parent.contains(child)) { - return true; - } // then fallback to custom implementation with Shadow DOM support - else if (rootNode && isShadowRoot(rootNode)) { - var next = child; - - do { - if (next && parent.isSameNode(next)) { - return true; - } // $FlowFixMe[prop-missing]: need a better way to handle this... - - - next = next.parentNode || next.host; - } while (next); - } // Give up, the result is false - - - return false; - } - - function getComputedStyle$1(element) { - return getWindow(element).getComputedStyle(element); - } - - function isTableElement(element) { - return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; - } - - function getDocumentElement(element) { - // $FlowFixMe[incompatible-return]: assume body is always available - return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing] - element.document) || window.document).documentElement; - } - - function getParentNode(element) { - if (getNodeName(element) === 'html') { - return element; - } - - return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle - // $FlowFixMe[incompatible-return] - // $FlowFixMe[prop-missing] - element.assignedSlot || // step into the shadow DOM of the parent of a slotted node - element.parentNode || ( // DOM Element detected - isShadowRoot(element) ? element.host : null) || // ShadowRoot detected - // $FlowFixMe[incompatible-call]: HTMLElement is a Node - getDocumentElement(element) // fallback - - ); - } - - function getTrueOffsetParent(element) { - if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837 - getComputedStyle$1(element).position === 'fixed') { - return null; - } - - return element.offsetParent; - } // `.offsetParent` reports `null` for fixed elements, while absolute elements - // return the containing block - - - function getContainingBlock(element) { - var isFirefox = /firefox/i.test(getUAString()); - var isIE = /Trident/i.test(getUAString()); - - if (isIE && isHTMLElement(element)) { - // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport - var elementCss = getComputedStyle$1(element); - - if (elementCss.position === 'fixed') { - return null; - } - } - - var currentNode = getParentNode(element); - - if (isShadowRoot(currentNode)) { - currentNode = currentNode.host; - } - - while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) { - var css = getComputedStyle$1(currentNode); // This is non-exhaustive but covers the most common CSS properties that - // create a containing block. - // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block - - if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') { - return currentNode; - } else { - currentNode = currentNode.parentNode; - } - } - - return null; - } // Gets the closest ancestor positioned element. Handles some edge cases, - // such as table ancestors and cross browser bugs. - - - function getOffsetParent(element) { - var window = getWindow(element); - var offsetParent = getTrueOffsetParent(element); - - while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') { - offsetParent = getTrueOffsetParent(offsetParent); - } - - if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static')) { - return window; - } - - return offsetParent || getContainingBlock(element) || window; - } - - function getMainAxisFromPlacement(placement) { - return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; - } - - function within(min$1, value, max$1) { - return max(min$1, min(value, max$1)); - } - function withinMaxClamp(min, value, max) { - var v = within(min, value, max); - return v > max ? max : v; - } - - function getFreshSideObject() { - return { - top: 0, - right: 0, - bottom: 0, - left: 0 - }; - } - - function mergePaddingObject(paddingObject) { - return Object.assign({}, getFreshSideObject(), paddingObject); - } - - function expandToHashMap(value, keys) { - return keys.reduce(function (hashMap, key) { - hashMap[key] = value; - return hashMap; - }, {}); - } - - var toPaddingObject = function toPaddingObject(padding, state) { - padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { - placement: state.placement - })) : padding; - return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); - }; - - function arrow(_ref) { - var _state$modifiersData$; - - var state = _ref.state, - name = _ref.name, - options = _ref.options; - var arrowElement = state.elements.arrow; - var popperOffsets = state.modifiersData.popperOffsets; - var basePlacement = getBasePlacement(state.placement); - var axis = getMainAxisFromPlacement(basePlacement); - var isVertical = [left, right].indexOf(basePlacement) >= 0; - var len = isVertical ? 'height' : 'width'; - - if (!arrowElement || !popperOffsets) { - return; - } - - var paddingObject = toPaddingObject(options.padding, state); - var arrowRect = getLayoutRect(arrowElement); - var minProp = axis === 'y' ? top : left; - var maxProp = axis === 'y' ? bottom : right; - var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; - var startDiff = popperOffsets[axis] - state.rects.reference[axis]; - var arrowOffsetParent = getOffsetParent(arrowElement); - var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; - var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is - // outside of the popper bounds - - var min = paddingObject[minProp]; - var max = clientSize - arrowRect[len] - paddingObject[maxProp]; - var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; - var offset = within(min, center, max); // Prevents breaking syntax highlighting... - - var axisProp = axis; - state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); - } - - function effect$1(_ref2) { - var state = _ref2.state, - options = _ref2.options; - var _options$element = options.element, - arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; - - if (arrowElement == null) { - return; - } // CSS selector - - - if (typeof arrowElement === 'string') { - arrowElement = state.elements.popper.querySelector(arrowElement); - - if (!arrowElement) { - return; - } - } - - if (!contains(state.elements.popper, arrowElement)) { - - return; - } - - state.elements.arrow = arrowElement; - } // eslint-disable-next-line import/no-unused-modules - - - const arrow$1 = { - name: 'arrow', - enabled: true, - phase: 'main', - fn: arrow, - effect: effect$1, - requires: ['popperOffsets'], - requiresIfExists: ['preventOverflow'] - }; - - function getVariation(placement) { - return placement.split('-')[1]; - } - - var unsetSides = { - top: 'auto', - right: 'auto', - bottom: 'auto', - left: 'auto' - }; // Round the offsets to the nearest suitable subpixel based on the DPR. - // Zooming can change the DPR, but it seems to report a value that will - // cleanly divide the values into the appropriate subpixels. - - function roundOffsetsByDPR(_ref) { - var x = _ref.x, - y = _ref.y; - var win = window; - var dpr = win.devicePixelRatio || 1; - return { - x: round(x * dpr) / dpr || 0, - y: round(y * dpr) / dpr || 0 - }; - } - - function mapToStyles(_ref2) { - var _Object$assign2; - - var popper = _ref2.popper, - popperRect = _ref2.popperRect, - placement = _ref2.placement, - variation = _ref2.variation, - offsets = _ref2.offsets, - position = _ref2.position, - gpuAcceleration = _ref2.gpuAcceleration, - adaptive = _ref2.adaptive, - roundOffsets = _ref2.roundOffsets, - isFixed = _ref2.isFixed; - var _offsets$x = offsets.x, - x = _offsets$x === void 0 ? 0 : _offsets$x, - _offsets$y = offsets.y, - y = _offsets$y === void 0 ? 0 : _offsets$y; - - var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({ - x: x, - y: y - }) : { - x: x, - y: y - }; - - x = _ref3.x; - y = _ref3.y; - var hasX = offsets.hasOwnProperty('x'); - var hasY = offsets.hasOwnProperty('y'); - var sideX = left; - var sideY = top; - var win = window; - - if (adaptive) { - var offsetParent = getOffsetParent(popper); - var heightProp = 'clientHeight'; - var widthProp = 'clientWidth'; - - if (offsetParent === getWindow(popper)) { - offsetParent = getDocumentElement(popper); - - if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') { - heightProp = 'scrollHeight'; - widthProp = 'scrollWidth'; - } - } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it - - - offsetParent = offsetParent; - - if (placement === top || (placement === left || placement === right) && variation === end) { - sideY = bottom; - var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing] - offsetParent[heightProp]; - y -= offsetY - popperRect.height; - y *= gpuAcceleration ? 1 : -1; - } - - if (placement === left || (placement === top || placement === bottom) && variation === end) { - sideX = right; - var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing] - offsetParent[widthProp]; - x -= offsetX - popperRect.width; - x *= gpuAcceleration ? 1 : -1; - } - } - - var commonStyles = Object.assign({ - position: position - }, adaptive && unsetSides); - - var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ - x: x, - y: y - }) : { - x: x, - y: y - }; - - x = _ref4.x; - y = _ref4.y; - - if (gpuAcceleration) { - var _Object$assign; - - return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); - } - - return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); - } - - function computeStyles(_ref5) { - var state = _ref5.state, - options = _ref5.options; - var _options$gpuAccelerat = options.gpuAcceleration, - gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, - _options$adaptive = options.adaptive, - adaptive = _options$adaptive === void 0 ? true : _options$adaptive, - _options$roundOffsets = options.roundOffsets, - roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; - - var commonStyles = { - placement: getBasePlacement(state.placement), - variation: getVariation(state.placement), - popper: state.elements.popper, - popperRect: state.rects.popper, - gpuAcceleration: gpuAcceleration, - isFixed: state.options.strategy === 'fixed' - }; - - if (state.modifiersData.popperOffsets != null) { - state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.popperOffsets, - position: state.options.strategy, - adaptive: adaptive, - roundOffsets: roundOffsets - }))); - } - - if (state.modifiersData.arrow != null) { - state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { - offsets: state.modifiersData.arrow, - position: 'absolute', - adaptive: false, - roundOffsets: roundOffsets - }))); - } - - state.attributes.popper = Object.assign({}, state.attributes.popper, { - 'data-popper-placement': state.placement - }); - } // eslint-disable-next-line import/no-unused-modules - - - const computeStyles$1 = { - name: 'computeStyles', - enabled: true, - phase: 'beforeWrite', - fn: computeStyles, - data: {} - }; - - var passive = { - passive: true - }; - - function effect(_ref) { - var state = _ref.state, - instance = _ref.instance, - options = _ref.options; - var _options$scroll = options.scroll, - scroll = _options$scroll === void 0 ? true : _options$scroll, - _options$resize = options.resize, - resize = _options$resize === void 0 ? true : _options$resize; - var window = getWindow(state.elements.popper); - var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); - - if (scroll) { - scrollParents.forEach(function (scrollParent) { - scrollParent.addEventListener('scroll', instance.update, passive); - }); - } - - if (resize) { - window.addEventListener('resize', instance.update, passive); - } - - return function () { - if (scroll) { - scrollParents.forEach(function (scrollParent) { - scrollParent.removeEventListener('scroll', instance.update, passive); - }); - } - - if (resize) { - window.removeEventListener('resize', instance.update, passive); - } - }; - } // eslint-disable-next-line import/no-unused-modules - - - const eventListeners = { - name: 'eventListeners', - enabled: true, - phase: 'write', - fn: function fn() {}, - effect: effect, - data: {} - }; - - var hash$1 = { - left: 'right', - right: 'left', - bottom: 'top', - top: 'bottom' - }; - function getOppositePlacement(placement) { - return placement.replace(/left|right|bottom|top/g, function (matched) { - return hash$1[matched]; - }); - } - - var hash = { - start: 'end', - end: 'start' - }; - function getOppositeVariationPlacement(placement) { - return placement.replace(/start|end/g, function (matched) { - return hash[matched]; - }); - } - - function getWindowScroll(node) { - var win = getWindow(node); - var scrollLeft = win.pageXOffset; - var scrollTop = win.pageYOffset; - return { - scrollLeft: scrollLeft, - scrollTop: scrollTop - }; - } - - function getWindowScrollBarX(element) { - // If has a CSS width greater than the viewport, then this will be - // incorrect for RTL. - // Popper 1 is broken in this case and never had a bug report so let's assume - // it's not an issue. I don't think anyone ever specifies width on - // anyway. - // Browsers where the left scrollbar doesn't cause an issue report `0` for - // this (e.g. Edge 2019, IE11, Safari) - return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; - } - - function getViewportRect(element, strategy) { - var win = getWindow(element); - var html = getDocumentElement(element); - var visualViewport = win.visualViewport; - var width = html.clientWidth; - var height = html.clientHeight; - var x = 0; - var y = 0; - - if (visualViewport) { - width = visualViewport.width; - height = visualViewport.height; - var layoutViewport = isLayoutViewport(); - - if (layoutViewport || !layoutViewport && strategy === 'fixed') { - x = visualViewport.offsetLeft; - y = visualViewport.offsetTop; - } - } - - return { - width: width, - height: height, - x: x + getWindowScrollBarX(element), - y: y - }; - } - - // of the `` and `` rect bounds if horizontally scrollable - - function getDocumentRect(element) { - var _element$ownerDocumen; - - var html = getDocumentElement(element); - var winScroll = getWindowScroll(element); - var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; - var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); - var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); - var x = -winScroll.scrollLeft + getWindowScrollBarX(element); - var y = -winScroll.scrollTop; - - if (getComputedStyle$1(body || html).direction === 'rtl') { - x += max(html.clientWidth, body ? body.clientWidth : 0) - width; - } - - return { - width: width, - height: height, - x: x, - y: y - }; - } - - function isScrollParent(element) { - // Firefox wants us to check `-x` and `-y` variations as well - var _getComputedStyle = getComputedStyle$1(element), - overflow = _getComputedStyle.overflow, - overflowX = _getComputedStyle.overflowX, - overflowY = _getComputedStyle.overflowY; - - return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); - } - - function getScrollParent(node) { - if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { - // $FlowFixMe[incompatible-return]: assume body is always available - return node.ownerDocument.body; - } - - if (isHTMLElement(node) && isScrollParent(node)) { - return node; - } - - return getScrollParent(getParentNode(node)); - } - - /* - given a DOM element, return the list of all scroll parents, up the list of ancesors - until we get to the top window object. This list is what we attach scroll listeners - to, because if any of these parent elements scroll, we'll need to re-calculate the - reference element's position. - */ - - function listScrollParents(element, list) { - var _element$ownerDocumen; - - if (list === void 0) { - list = []; - } - - var scrollParent = getScrollParent(element); - var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); - var win = getWindow(scrollParent); - var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; - var updatedList = list.concat(target); - return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here - updatedList.concat(listScrollParents(getParentNode(target))); - } - - function rectToClientRect(rect) { - return Object.assign({}, rect, { - left: rect.x, - top: rect.y, - right: rect.x + rect.width, - bottom: rect.y + rect.height - }); - } - - function getInnerBoundingClientRect(element, strategy) { - var rect = getBoundingClientRect(element, false, strategy === 'fixed'); - rect.top = rect.top + element.clientTop; - rect.left = rect.left + element.clientLeft; - rect.bottom = rect.top + element.clientHeight; - rect.right = rect.left + element.clientWidth; - rect.width = element.clientWidth; - rect.height = element.clientHeight; - rect.x = rect.left; - rect.y = rect.top; - return rect; - } - - function getClientRectFromMixedType(element, clippingParent, strategy) { - return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); - } // A "clipping parent" is an overflowable container with the characteristic of - // clipping (or hiding) overflowing elements with a position different from - // `initial` - - - function getClippingParents(element) { - var clippingParents = listScrollParents(getParentNode(element)); - var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle$1(element).position) >= 0; - var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; - - if (!isElement(clipperElement)) { - return []; - } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414 - - - return clippingParents.filter(function (clippingParent) { - return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body'; - }); - } // Gets the maximum area that the element is visible in due to any number of - // clipping parents - - - function getClippingRect(element, boundary, rootBoundary, strategy) { - var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); - var clippingParents = [].concat(mainClippingParents, [rootBoundary]); - var firstClippingParent = clippingParents[0]; - var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { - var rect = getClientRectFromMixedType(element, clippingParent, strategy); - accRect.top = max(rect.top, accRect.top); - accRect.right = min(rect.right, accRect.right); - accRect.bottom = min(rect.bottom, accRect.bottom); - accRect.left = max(rect.left, accRect.left); - return accRect; - }, getClientRectFromMixedType(element, firstClippingParent, strategy)); - clippingRect.width = clippingRect.right - clippingRect.left; - clippingRect.height = clippingRect.bottom - clippingRect.top; - clippingRect.x = clippingRect.left; - clippingRect.y = clippingRect.top; - return clippingRect; - } - - function computeOffsets(_ref) { - var reference = _ref.reference, - element = _ref.element, - placement = _ref.placement; - var basePlacement = placement ? getBasePlacement(placement) : null; - var variation = placement ? getVariation(placement) : null; - var commonX = reference.x + reference.width / 2 - element.width / 2; - var commonY = reference.y + reference.height / 2 - element.height / 2; - var offsets; - - switch (basePlacement) { - case top: - offsets = { - x: commonX, - y: reference.y - element.height - }; - break; - - case bottom: - offsets = { - x: commonX, - y: reference.y + reference.height - }; - break; - - case right: - offsets = { - x: reference.x + reference.width, - y: commonY - }; - break; - - case left: - offsets = { - x: reference.x - element.width, - y: commonY - }; - break; - - default: - offsets = { - x: reference.x, - y: reference.y - }; - } - - var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; - - if (mainAxis != null) { - var len = mainAxis === 'y' ? 'height' : 'width'; - - switch (variation) { - case start: - offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); - break; - - case end: - offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); - break; - } - } - - return offsets; - } - - function detectOverflow(state, options) { - if (options === void 0) { - options = {}; - } - - var _options = options, - _options$placement = _options.placement, - placement = _options$placement === void 0 ? state.placement : _options$placement, - _options$strategy = _options.strategy, - strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, - _options$boundary = _options.boundary, - boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, - _options$rootBoundary = _options.rootBoundary, - rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, - _options$elementConte = _options.elementContext, - elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, - _options$altBoundary = _options.altBoundary, - altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, - _options$padding = _options.padding, - padding = _options$padding === void 0 ? 0 : _options$padding; - var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); - var altContext = elementContext === popper ? reference : popper; - var popperRect = state.rects.popper; - var element = state.elements[altBoundary ? altContext : elementContext]; - var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); - var referenceClientRect = getBoundingClientRect(state.elements.reference); - var popperOffsets = computeOffsets({ - reference: referenceClientRect, - element: popperRect, - strategy: 'absolute', - placement: placement - }); - var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets)); - var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect - // 0 or negative = within the clipping rect - - var overflowOffsets = { - top: clippingClientRect.top - elementClientRect.top + paddingObject.top, - bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, - left: clippingClientRect.left - elementClientRect.left + paddingObject.left, - right: elementClientRect.right - clippingClientRect.right + paddingObject.right - }; - var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element - - if (elementContext === popper && offsetData) { - var offset = offsetData[placement]; - Object.keys(overflowOffsets).forEach(function (key) { - var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; - var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x'; - overflowOffsets[key] += offset[axis] * multiply; - }); - } - - return overflowOffsets; - } - - function computeAutoPlacement(state, options) { - if (options === void 0) { - options = {}; - } - - var _options = options, - placement = _options.placement, - boundary = _options.boundary, - rootBoundary = _options.rootBoundary, - padding = _options.padding, - flipVariations = _options.flipVariations, - _options$allowedAutoP = _options.allowedAutoPlacements, - allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; - var variation = getVariation(placement); - var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { - return getVariation(placement) === variation; - }) : basePlacements; - var allowedPlacements = placements$1.filter(function (placement) { - return allowedAutoPlacements.indexOf(placement) >= 0; - }); - - if (allowedPlacements.length === 0) { - allowedPlacements = placements$1; - } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions... - - - var overflows = allowedPlacements.reduce(function (acc, placement) { - acc[placement] = detectOverflow(state, { - placement: placement, - boundary: boundary, - rootBoundary: rootBoundary, - padding: padding - })[getBasePlacement(placement)]; - return acc; - }, {}); - return Object.keys(overflows).sort(function (a, b) { - return overflows[a] - overflows[b]; - }); - } - - function getExpandedFallbackPlacements(placement) { - if (getBasePlacement(placement) === auto) { - return []; - } - - var oppositePlacement = getOppositePlacement(placement); - return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; - } - - function flip(_ref) { - var state = _ref.state, - options = _ref.options, - name = _ref.name; - - if (state.modifiersData[name]._skip) { - return; - } - - var _options$mainAxis = options.mainAxis, - checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, - _options$altAxis = options.altAxis, - checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, - specifiedFallbackPlacements = options.fallbackPlacements, - padding = options.padding, - boundary = options.boundary, - rootBoundary = options.rootBoundary, - altBoundary = options.altBoundary, - _options$flipVariatio = options.flipVariations, - flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, - allowedAutoPlacements = options.allowedAutoPlacements; - var preferredPlacement = state.options.placement; - var basePlacement = getBasePlacement(preferredPlacement); - var isBasePlacement = basePlacement === preferredPlacement; - var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); - var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { - return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, { - placement: placement, - boundary: boundary, - rootBoundary: rootBoundary, - padding: padding, - flipVariations: flipVariations, - allowedAutoPlacements: allowedAutoPlacements - }) : placement); - }, []); - var referenceRect = state.rects.reference; - var popperRect = state.rects.popper; - var checksMap = new Map(); - var makeFallbackChecks = true; - var firstFittingPlacement = placements[0]; - - for (var i = 0; i < placements.length; i++) { - var placement = placements[i]; - - var _basePlacement = getBasePlacement(placement); - - var isStartVariation = getVariation(placement) === start; - var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; - var len = isVertical ? 'width' : 'height'; - var overflow = detectOverflow(state, { - placement: placement, - boundary: boundary, - rootBoundary: rootBoundary, - altBoundary: altBoundary, - padding: padding - }); - var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; - - if (referenceRect[len] > popperRect[len]) { - mainVariationSide = getOppositePlacement(mainVariationSide); - } - - var altVariationSide = getOppositePlacement(mainVariationSide); - var checks = []; - - if (checkMainAxis) { - checks.push(overflow[_basePlacement] <= 0); - } - - if (checkAltAxis) { - checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); - } - - if (checks.every(function (check) { - return check; - })) { - firstFittingPlacement = placement; - makeFallbackChecks = false; - break; - } - - checksMap.set(placement, checks); - } - - if (makeFallbackChecks) { - // `2` may be desired in some cases – research later - var numberOfChecks = flipVariations ? 3 : 1; - - var _loop = function _loop(_i) { - var fittingPlacement = placements.find(function (placement) { - var checks = checksMap.get(placement); - - if (checks) { - return checks.slice(0, _i).every(function (check) { - return check; - }); - } - }); - - if (fittingPlacement) { - firstFittingPlacement = fittingPlacement; - return "break"; - } - }; - - for (var _i = numberOfChecks; _i > 0; _i--) { - var _ret = _loop(_i); - - if (_ret === "break") break; - } - } - - if (state.placement !== firstFittingPlacement) { - state.modifiersData[name]._skip = true; - state.placement = firstFittingPlacement; - state.reset = true; - } - } // eslint-disable-next-line import/no-unused-modules - - - const flip$1 = { - name: 'flip', - enabled: true, - phase: 'main', - fn: flip, - requiresIfExists: ['offset'], - data: { - _skip: false - } - }; - - function getSideOffsets(overflow, rect, preventedOffsets) { - if (preventedOffsets === void 0) { - preventedOffsets = { - x: 0, - y: 0 - }; - } - - return { - top: overflow.top - rect.height - preventedOffsets.y, - right: overflow.right - rect.width + preventedOffsets.x, - bottom: overflow.bottom - rect.height + preventedOffsets.y, - left: overflow.left - rect.width - preventedOffsets.x - }; - } - - function isAnySideFullyClipped(overflow) { - return [top, right, bottom, left].some(function (side) { - return overflow[side] >= 0; - }); - } - - function hide(_ref) { - var state = _ref.state, - name = _ref.name; - var referenceRect = state.rects.reference; - var popperRect = state.rects.popper; - var preventedOffsets = state.modifiersData.preventOverflow; - var referenceOverflow = detectOverflow(state, { - elementContext: 'reference' - }); - var popperAltOverflow = detectOverflow(state, { - altBoundary: true - }); - var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); - var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); - var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); - var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); - state.modifiersData[name] = { - referenceClippingOffsets: referenceClippingOffsets, - popperEscapeOffsets: popperEscapeOffsets, - isReferenceHidden: isReferenceHidden, - hasPopperEscaped: hasPopperEscaped - }; - state.attributes.popper = Object.assign({}, state.attributes.popper, { - 'data-popper-reference-hidden': isReferenceHidden, - 'data-popper-escaped': hasPopperEscaped - }); - } // eslint-disable-next-line import/no-unused-modules - - - const hide$1 = { - name: 'hide', - enabled: true, - phase: 'main', - requiresIfExists: ['preventOverflow'], - fn: hide - }; - - function distanceAndSkiddingToXY(placement, rects, offset) { - var basePlacement = getBasePlacement(placement); - var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; - - var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { - placement: placement - })) : offset, - skidding = _ref[0], - distance = _ref[1]; - - skidding = skidding || 0; - distance = (distance || 0) * invertDistance; - return [left, right].indexOf(basePlacement) >= 0 ? { - x: distance, - y: skidding - } : { - x: skidding, - y: distance - }; - } - - function offset(_ref2) { - var state = _ref2.state, - options = _ref2.options, - name = _ref2.name; - var _options$offset = options.offset, - offset = _options$offset === void 0 ? [0, 0] : _options$offset; - var data = placements.reduce(function (acc, placement) { - acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); - return acc; - }, {}); - var _data$state$placement = data[state.placement], - x = _data$state$placement.x, - y = _data$state$placement.y; - - if (state.modifiersData.popperOffsets != null) { - state.modifiersData.popperOffsets.x += x; - state.modifiersData.popperOffsets.y += y; - } - - state.modifiersData[name] = data; - } // eslint-disable-next-line import/no-unused-modules - - - const offset$1 = { - name: 'offset', - enabled: true, - phase: 'main', - requires: ['popperOffsets'], - fn: offset - }; - - function popperOffsets(_ref) { - var state = _ref.state, - name = _ref.name; - // Offsets are the actual position the popper needs to have to be - // properly positioned near its reference element - // This is the most basic placement, and will be adjusted by - // the modifiers in the next step - state.modifiersData[name] = computeOffsets({ - reference: state.rects.reference, - element: state.rects.popper, - strategy: 'absolute', - placement: state.placement - }); - } // eslint-disable-next-line import/no-unused-modules - - - const popperOffsets$1 = { - name: 'popperOffsets', - enabled: true, - phase: 'read', - fn: popperOffsets, - data: {} - }; - - function getAltAxis(axis) { - return axis === 'x' ? 'y' : 'x'; - } - - function preventOverflow(_ref) { - var state = _ref.state, - options = _ref.options, - name = _ref.name; - var _options$mainAxis = options.mainAxis, - checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, - _options$altAxis = options.altAxis, - checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, - boundary = options.boundary, - rootBoundary = options.rootBoundary, - altBoundary = options.altBoundary, - padding = options.padding, - _options$tether = options.tether, - tether = _options$tether === void 0 ? true : _options$tether, - _options$tetherOffset = options.tetherOffset, - tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; - var overflow = detectOverflow(state, { - boundary: boundary, - rootBoundary: rootBoundary, - padding: padding, - altBoundary: altBoundary - }); - var basePlacement = getBasePlacement(state.placement); - var variation = getVariation(state.placement); - var isBasePlacement = !variation; - var mainAxis = getMainAxisFromPlacement(basePlacement); - var altAxis = getAltAxis(mainAxis); - var popperOffsets = state.modifiersData.popperOffsets; - var referenceRect = state.rects.reference; - var popperRect = state.rects.popper; - var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { - placement: state.placement - })) : tetherOffset; - var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? { - mainAxis: tetherOffsetValue, - altAxis: tetherOffsetValue - } : Object.assign({ - mainAxis: 0, - altAxis: 0 - }, tetherOffsetValue); - var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; - var data = { - x: 0, - y: 0 - }; - - if (!popperOffsets) { - return; - } - - if (checkMainAxis) { - var _offsetModifierState$; - - var mainSide = mainAxis === 'y' ? top : left; - var altSide = mainAxis === 'y' ? bottom : right; - var len = mainAxis === 'y' ? 'height' : 'width'; - var offset = popperOffsets[mainAxis]; - var min$1 = offset + overflow[mainSide]; - var max$1 = offset - overflow[altSide]; - var additive = tether ? -popperRect[len] / 2 : 0; - var minLen = variation === start ? referenceRect[len] : popperRect[len]; - var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go - // outside the reference bounds - - var arrowElement = state.elements.arrow; - var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { - width: 0, - height: 0 - }; - var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject(); - var arrowPaddingMin = arrowPaddingObject[mainSide]; - var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want - // to include its full size in the calculation. If the reference is small - // and near the edge of a boundary, the popper can overflow even if the - // reference is not overflowing as well (e.g. virtual elements with no - // width or height) - - var arrowLen = within(0, referenceRect[len], arrowRect[len]); - var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; - var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; - var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); - var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; - var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; - var tetherMin = offset + minOffset - offsetModifierValue - clientOffset; - var tetherMax = offset + maxOffset - offsetModifierValue; - var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1); - popperOffsets[mainAxis] = preventedOffset; - data[mainAxis] = preventedOffset - offset; - } - - if (checkAltAxis) { - var _offsetModifierState$2; - - var _mainSide = mainAxis === 'x' ? top : left; - - var _altSide = mainAxis === 'x' ? bottom : right; - - var _offset = popperOffsets[altAxis]; - - var _len = altAxis === 'y' ? 'height' : 'width'; - - var _min = _offset + overflow[_mainSide]; - - var _max = _offset - overflow[_altSide]; - - var isOriginSide = [top, left].indexOf(basePlacement) !== -1; - - var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; - - var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; - - var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; - - var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); - - popperOffsets[altAxis] = _preventedOffset; - data[altAxis] = _preventedOffset - _offset; - } - - state.modifiersData[name] = data; - } // eslint-disable-next-line import/no-unused-modules - - - const preventOverflow$1 = { - name: 'preventOverflow', - enabled: true, - phase: 'main', - fn: preventOverflow, - requiresIfExists: ['offset'] - }; - - function getHTMLElementScroll(element) { - return { - scrollLeft: element.scrollLeft, - scrollTop: element.scrollTop - }; - } - - function getNodeScroll(node) { - if (node === getWindow(node) || !isHTMLElement(node)) { - return getWindowScroll(node); - } else { - return getHTMLElementScroll(node); - } - } - - function isElementScaled(element) { - var rect = element.getBoundingClientRect(); - var scaleX = round(rect.width) / element.offsetWidth || 1; - var scaleY = round(rect.height) / element.offsetHeight || 1; - return scaleX !== 1 || scaleY !== 1; - } // Returns the composite rect of an element relative to its offsetParent. - // Composite means it takes into account transforms as well as layout. - - - function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { - if (isFixed === void 0) { - isFixed = false; - } - - var isOffsetParentAnElement = isHTMLElement(offsetParent); - var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); - var documentElement = getDocumentElement(offsetParent); - var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); - var scroll = { - scrollLeft: 0, - scrollTop: 0 - }; - var offsets = { - x: 0, - y: 0 - }; - - if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { - if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078 - isScrollParent(documentElement)) { - scroll = getNodeScroll(offsetParent); - } - - if (isHTMLElement(offsetParent)) { - offsets = getBoundingClientRect(offsetParent, true); - offsets.x += offsetParent.clientLeft; - offsets.y += offsetParent.clientTop; - } else if (documentElement) { - offsets.x = getWindowScrollBarX(documentElement); - } - } - - return { - x: rect.left + scroll.scrollLeft - offsets.x, - y: rect.top + scroll.scrollTop - offsets.y, - width: rect.width, - height: rect.height - }; - } - - function order(modifiers) { - var map = new Map(); - var visited = new Set(); - var result = []; - modifiers.forEach(function (modifier) { - map.set(modifier.name, modifier); - }); // On visiting object, check for its dependencies and visit them recursively - - function sort(modifier) { - visited.add(modifier.name); - var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); - requires.forEach(function (dep) { - if (!visited.has(dep)) { - var depModifier = map.get(dep); - - if (depModifier) { - sort(depModifier); - } - } - }); - result.push(modifier); - } - - modifiers.forEach(function (modifier) { - if (!visited.has(modifier.name)) { - // check for visited object - sort(modifier); - } - }); - return result; - } - - function orderModifiers(modifiers) { - // order based on dependencies - var orderedModifiers = order(modifiers); // order based on phase - - return modifierPhases.reduce(function (acc, phase) { - return acc.concat(orderedModifiers.filter(function (modifier) { - return modifier.phase === phase; - })); - }, []); - } - - function debounce(fn) { - var pending; - return function () { - if (!pending) { - pending = new Promise(function (resolve) { - Promise.resolve().then(function () { - pending = undefined; - resolve(fn()); - }); - }); - } - - return pending; - }; - } - - function mergeByName(modifiers) { - var merged = modifiers.reduce(function (merged, current) { - var existing = merged[current.name]; - merged[current.name] = existing ? Object.assign({}, existing, current, { - options: Object.assign({}, existing.options, current.options), - data: Object.assign({}, existing.data, current.data) - }) : current; - return merged; - }, {}); // IE11 does not support Object.values - - return Object.keys(merged).map(function (key) { - return merged[key]; - }); - } - - var DEFAULT_OPTIONS = { - placement: 'bottom', - modifiers: [], - strategy: 'absolute' - }; - - function areValidElements() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return !args.some(function (element) { - return !(element && typeof element.getBoundingClientRect === 'function'); - }); - } - - function popperGenerator(generatorOptions) { - if (generatorOptions === void 0) { - generatorOptions = {}; - } - - var _generatorOptions = generatorOptions, - _generatorOptions$def = _generatorOptions.defaultModifiers, - defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, - _generatorOptions$def2 = _generatorOptions.defaultOptions, - defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; - return function createPopper(reference, popper, options) { - if (options === void 0) { - options = defaultOptions; - } - - var state = { - placement: 'bottom', - orderedModifiers: [], - options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), - modifiersData: {}, - elements: { - reference: reference, - popper: popper - }, - attributes: {}, - styles: {} - }; - var effectCleanupFns = []; - var isDestroyed = false; - var instance = { - state: state, - setOptions: function setOptions(setOptionsAction) { - var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction; - cleanupModifierEffects(); - state.options = Object.assign({}, defaultOptions, state.options, options); - state.scrollParents = { - reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [], - popper: listScrollParents(popper) - }; // Orders the modifiers based on their dependencies and `phase` - // properties - - var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers - - state.orderedModifiers = orderedModifiers.filter(function (m) { - return m.enabled; - }); // Validate the provided modifiers so that the consumer will get warned - - runModifierEffects(); - return instance.update(); - }, - // Sync update – it will always be executed, even if not necessary. This - // is useful for low frequency updates where sync behavior simplifies the - // logic. - // For high frequency updates (e.g. `resize` and `scroll` events), always - // prefer the async Popper#update method - forceUpdate: function forceUpdate() { - if (isDestroyed) { - return; - } - - var _state$elements = state.elements, - reference = _state$elements.reference, - popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements - // anymore - - if (!areValidElements(reference, popper)) { - - return; - } // Store the reference and popper rects to be read by modifiers - - - state.rects = { - reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'), - popper: getLayoutRect(popper) - }; // Modifiers have the ability to reset the current update cycle. The - // most common use case for this is the `flip` modifier changing the - // placement, which then needs to re-run all the modifiers, because the - // logic was previously ran for the previous placement and is therefore - // stale/incorrect - - state.reset = false; - state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier - // is filled with the initial data specified by the modifier. This means - // it doesn't persist and is fresh on each update. - // To ensure persistent data, use `${name}#persistent` - - state.orderedModifiers.forEach(function (modifier) { - return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); - }); - - for (var index = 0; index < state.orderedModifiers.length; index++) { - - if (state.reset === true) { - state.reset = false; - index = -1; - continue; - } - - var _state$orderedModifie = state.orderedModifiers[index], - fn = _state$orderedModifie.fn, - _state$orderedModifie2 = _state$orderedModifie.options, - _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, - name = _state$orderedModifie.name; - - if (typeof fn === 'function') { - state = fn({ - state: state, - options: _options, - name: name, - instance: instance - }) || state; - } - } - }, - // Async and optimistically optimized update – it will not be executed if - // not necessary (debounced to run at most once-per-tick) - update: debounce(function () { - return new Promise(function (resolve) { - instance.forceUpdate(); - resolve(state); - }); - }), - destroy: function destroy() { - cleanupModifierEffects(); - isDestroyed = true; - } - }; - - if (!areValidElements(reference, popper)) { - - return instance; - } - - instance.setOptions(options).then(function (state) { - if (!isDestroyed && options.onFirstUpdate) { - options.onFirstUpdate(state); - } - }); // Modifiers have the ability to execute arbitrary code before the first - // update cycle runs. They will be executed in the same order as the update - // cycle. This is useful when a modifier adds some persistent data that - // other modifiers need to use, but the modifier is run after the dependent - // one. - - function runModifierEffects() { - state.orderedModifiers.forEach(function (_ref3) { - var name = _ref3.name, - _ref3$options = _ref3.options, - options = _ref3$options === void 0 ? {} : _ref3$options, - effect = _ref3.effect; - - if (typeof effect === 'function') { - var cleanupFn = effect({ - state: state, - name: name, - instance: instance, - options: options - }); - - var noopFn = function noopFn() {}; - - effectCleanupFns.push(cleanupFn || noopFn); - } - }); - } - - function cleanupModifierEffects() { - effectCleanupFns.forEach(function (fn) { - return fn(); - }); - effectCleanupFns = []; - } - - return instance; - }; - } - var createPopper$2 = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules - - var defaultModifiers$1 = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1]; - var createPopper$1 = /*#__PURE__*/popperGenerator({ - defaultModifiers: defaultModifiers$1 - }); // eslint-disable-next-line import/no-unused-modules - - var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; - var createPopper = /*#__PURE__*/popperGenerator({ - defaultModifiers: defaultModifiers - }); // eslint-disable-next-line import/no-unused-modules - - const Popper = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({ - __proto__: null, - popperGenerator, - detectOverflow, - createPopperBase: createPopper$2, - createPopper, - createPopperLite: createPopper$1, - top, - bottom, - right, - left, - auto, - basePlacements, - start, - end, - clippingParents, - viewport, - popper, - reference, - variationPlacements, - placements, - beforeRead, - read, - afterRead, - beforeMain, - main, - afterMain, - beforeWrite, - write, - afterWrite, - modifierPhases, - applyStyles: applyStyles$1, - arrow: arrow$1, - computeStyles: computeStyles$1, - eventListeners, - flip: flip$1, - hide: hide$1, - offset: offset$1, - popperOffsets: popperOffsets$1, - preventOverflow: preventOverflow$1 - }, Symbol.toStringTag, { value: 'Module' })); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): dropdown.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$a = 'dropdown'; - const DATA_KEY$6 = 'bs.dropdown'; - const EVENT_KEY$6 = `.${DATA_KEY$6}`; - const DATA_API_KEY$3 = '.data-api'; - const ESCAPE_KEY$2 = 'Escape'; - const TAB_KEY$1 = 'Tab'; - const ARROW_UP_KEY$1 = 'ArrowUp'; - const ARROW_DOWN_KEY$1 = 'ArrowDown'; - const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button - - const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`; - const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`; - const EVENT_SHOW$5 = `show${EVENT_KEY$6}`; - const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`; - const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; - const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`; - const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`; - const CLASS_NAME_SHOW$6 = 'show'; - const CLASS_NAME_DROPUP = 'dropup'; - const CLASS_NAME_DROPEND = 'dropend'; - const CLASS_NAME_DROPSTART = 'dropstart'; - const CLASS_NAME_DROPUP_CENTER = 'dropup-center'; - const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'; - const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)'; - const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`; - const SELECTOR_MENU = '.dropdown-menu'; - const SELECTOR_NAVBAR = '.navbar'; - const SELECTOR_NAVBAR_NAV = '.navbar-nav'; - const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; - const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'; - const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'; - const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'; - const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'; - const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; - const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; - const PLACEMENT_TOPCENTER = 'top'; - const PLACEMENT_BOTTOMCENTER = 'bottom'; - const Default$9 = { - autoClose: true, - boundary: 'clippingParents', - display: 'dynamic', - offset: [0, 2], - popperConfig: null, - reference: 'toggle' - }; - const DefaultType$9 = { - autoClose: '(boolean|string)', - boundary: '(string|element)', - display: 'string', - offset: '(array|string|function)', - popperConfig: '(null|object|function)', - reference: '(string|element|object)' - }; - /** - * Class definition - */ - - class Dropdown extends BaseComponent { - constructor(element, config) { - super(element, config); - this._popper = null; - this._parent = this._element.parentNode; // dropdown wrapper - // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/ - - this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); - this._inNavbar = this._detectNavbar(); - } // Getters - - - static get Default() { - return Default$9; - } - - static get DefaultType() { - return DefaultType$9; - } - - static get NAME() { - return NAME$a; - } // Public - - - toggle() { - return this._isShown() ? this.hide() : this.show(); - } - - show() { - if (isDisabled(this._element) || this._isShown()) { - return; - } - - const relatedTarget = { - relatedTarget: this._element - }; - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget); - - if (showEvent.defaultPrevented) { - return; - } - - this._createPopper(); // If this is a touch-enabled device we add extra - // empty mouseover listeners to the body's immediate children; - // only needed because of broken event delegation on iOS - // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html - - - if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) { - for (const element of [].concat(...document.body.children)) { - EventHandler.on(element, 'mouseover', noop); - } - } - - this._element.focus(); - - this._element.setAttribute('aria-expanded', true); - - this._menu.classList.add(CLASS_NAME_SHOW$6); - - this._element.classList.add(CLASS_NAME_SHOW$6); - - EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget); - } - - hide() { - if (isDisabled(this._element) || !this._isShown()) { - return; - } - - const relatedTarget = { - relatedTarget: this._element - }; - - this._completeHide(relatedTarget); - } - - dispose() { - if (this._popper) { - this._popper.destroy(); - } - - super.dispose(); - } - - update() { - this._inNavbar = this._detectNavbar(); - - if (this._popper) { - this._popper.update(); - } - } // Private - - - _completeHide(relatedTarget) { - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget); - - if (hideEvent.defaultPrevented) { - return; - } // If this is a touch-enabled device we remove the extra - // empty mouseover listeners we added for iOS support - - - if ('ontouchstart' in document.documentElement) { - for (const element of [].concat(...document.body.children)) { - EventHandler.off(element, 'mouseover', noop); - } - } - - if (this._popper) { - this._popper.destroy(); - } - - this._menu.classList.remove(CLASS_NAME_SHOW$6); - - this._element.classList.remove(CLASS_NAME_SHOW$6); - - this._element.setAttribute('aria-expanded', 'false'); - - Manipulator.removeDataAttribute(this._menu, 'popper'); - EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget); - } - - _getConfig(config) { - config = super._getConfig(config); - - if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') { - // Popper virtual elements require a getBoundingClientRect method - throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); - } - - return config; - } - - _createPopper() { - if (typeof Popper === 'undefined') { - throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); - } - - let referenceElement = this._element; - - if (this._config.reference === 'parent') { - referenceElement = this._parent; - } else if (isElement$1(this._config.reference)) { - referenceElement = getElement(this._config.reference); - } else if (typeof this._config.reference === 'object') { - referenceElement = this._config.reference; - } - - const popperConfig = this._getPopperConfig(); - - this._popper = createPopper(referenceElement, this._menu, popperConfig); - } - - _isShown() { - return this._menu.classList.contains(CLASS_NAME_SHOW$6); - } - - _getPlacement() { - const parentDropdown = this._parent; - - if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { - return PLACEMENT_RIGHT; - } - - if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { - return PLACEMENT_LEFT; - } - - if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) { - return PLACEMENT_TOPCENTER; - } - - if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) { - return PLACEMENT_BOTTOMCENTER; - } // We need to trim the value because custom properties can also include spaces - - - const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'; - - if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { - return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; - } - - return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; - } - - _detectNavbar() { - return this._element.closest(SELECTOR_NAVBAR) !== null; - } - - _getOffset() { - const { - offset - } = this._config; - - if (typeof offset === 'string') { - return offset.split(',').map(value => Number.parseInt(value, 10)); - } - - if (typeof offset === 'function') { - return popperData => offset(popperData, this._element); - } - - return offset; - } - - _getPopperConfig() { - const defaultBsPopperConfig = { - placement: this._getPlacement(), - modifiers: [{ - name: 'preventOverflow', - options: { - boundary: this._config.boundary - } - }, { - name: 'offset', - options: { - offset: this._getOffset() - } - }] - }; // Disable Popper if we have a static display or Dropdown is in Navbar - - if (this._inNavbar || this._config.display === 'static') { - Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove - - defaultBsPopperConfig.modifiers = [{ - name: 'applyStyles', - enabled: false - }]; - } - - return { ...defaultBsPopperConfig, - ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) - }; - } - - _selectMenuItem({ - key, - target - }) { - const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element)); - - if (!items.length) { - return; - } // if target isn't included in items (e.g. when expanding the dropdown) - // allow cycling to get the last item in case key equals ARROW_UP_KEY - - - getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus(); - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const data = Dropdown.getOrCreateInstance(this, config); - - if (typeof config !== 'string') { - return; - } - - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](); - }); - } - - static clearMenus(event) { - if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) { - return; - } - - const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN); - - for (const toggle of openToggles) { - const context = Dropdown.getInstance(toggle); - - if (!context || context._config.autoClose === false) { - continue; - } - - const composedPath = event.composedPath(); - const isMenuTarget = composedPath.includes(context._menu); - - if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) { - continue; - } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu - - - if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { - continue; - } - - const relatedTarget = { - relatedTarget: context._element - }; - - if (event.type === 'click') { - relatedTarget.clickEvent = event; - } - - context._completeHide(relatedTarget); - } - } - - static dataApiKeydownHandler(event) { - // If not an UP | DOWN | ESCAPE key => not a dropdown command - // If input/textarea && if key is other than ESCAPE => not a dropdown command - const isInput = /input|textarea/i.test(event.target.tagName); - const isEscapeEvent = event.key === ESCAPE_KEY$2; - const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key); - - if (!isUpOrDownEvent && !isEscapeEvent) { - return; - } - - if (isInput && !isEscapeEvent) { - return; - } - - event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/ - - const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); - const instance = Dropdown.getOrCreateInstance(getToggleButton); - - if (isUpOrDownEvent) { - event.stopPropagation(); - instance.show(); - - instance._selectMenuItem(event); - - return; - } - - if (instance._isShown()) { - // else is escape and we check if it is shown - event.stopPropagation(); - instance.hide(); - getToggleButton.focus(); - } - } - - } - /** - * Data API implementation - */ - - - EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); - EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); - EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); - EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); - EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { - event.preventDefault(); - Dropdown.getOrCreateInstance(this).toggle(); - }); - /** - * jQuery - */ - - defineJQueryPlugin(Dropdown); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): util/scrollBar.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; - const SELECTOR_STICKY_CONTENT = '.sticky-top'; - const PROPERTY_PADDING = 'padding-right'; - const PROPERTY_MARGIN = 'margin-right'; - /** - * Class definition - */ - - class ScrollBarHelper { - constructor() { - this._element = document.body; - } // Public - - - getWidth() { - // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes - const documentWidth = document.documentElement.clientWidth; - return Math.abs(window.innerWidth - documentWidth); - } - - hide() { - const width = this.getWidth(); - - this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width - - - this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth - - - this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width); - - this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width); - } - - reset() { - this._resetElementAttributes(this._element, 'overflow'); - - this._resetElementAttributes(this._element, PROPERTY_PADDING); - - this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING); - - this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN); - } - - isOverflowing() { - return this.getWidth() > 0; - } // Private - - - _disableOverFlow() { - this._saveInitialAttribute(this._element, 'overflow'); - - this._element.style.overflow = 'hidden'; - } - - _setElementAttributes(selector, styleProperty, callback) { - const scrollbarWidth = this.getWidth(); - - const manipulationCallBack = element => { - if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { - return; - } - - this._saveInitialAttribute(element, styleProperty); - - const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty); - element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`); - }; - - this._applyManipulationCallback(selector, manipulationCallBack); - } - - _saveInitialAttribute(element, styleProperty) { - const actualValue = element.style.getPropertyValue(styleProperty); - - if (actualValue) { - Manipulator.setDataAttribute(element, styleProperty, actualValue); - } - } - - _resetElementAttributes(selector, styleProperty) { - const manipulationCallBack = element => { - const value = Manipulator.getDataAttribute(element, styleProperty); // We only want to remove the property if the value is `null`; the value can also be zero - - if (value === null) { - element.style.removeProperty(styleProperty); - return; - } - - Manipulator.removeDataAttribute(element, styleProperty); - element.style.setProperty(styleProperty, value); - }; - - this._applyManipulationCallback(selector, manipulationCallBack); - } - - _applyManipulationCallback(selector, callBack) { - if (isElement$1(selector)) { - callBack(selector); - return; - } - - for (const sel of SelectorEngine.find(selector, this._element)) { - callBack(sel); - } - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): util/backdrop.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$9 = 'backdrop'; - const CLASS_NAME_FADE$4 = 'fade'; - const CLASS_NAME_SHOW$5 = 'show'; - const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; - const Default$8 = { - className: 'modal-backdrop', - clickCallback: null, - isAnimated: false, - isVisible: true, - // if false, we use the backdrop helper without adding any element to the dom - rootElement: 'body' // give the choice to place backdrop under different elements - - }; - const DefaultType$8 = { - className: 'string', - clickCallback: '(function|null)', - isAnimated: 'boolean', - isVisible: 'boolean', - rootElement: '(element|string)' - }; - /** - * Class definition - */ - - class Backdrop extends Config { - constructor(config) { - super(); - this._config = this._getConfig(config); - this._isAppended = false; - this._element = null; - } // Getters - - - static get Default() { - return Default$8; - } - - static get DefaultType() { - return DefaultType$8; - } - - static get NAME() { - return NAME$9; - } // Public - - - show(callback) { - if (!this._config.isVisible) { - execute(callback); - return; - } - - this._append(); - - const element = this._getElement(); - - if (this._config.isAnimated) { - reflow(element); - } - - element.classList.add(CLASS_NAME_SHOW$5); - - this._emulateAnimation(() => { - execute(callback); - }); - } - - hide(callback) { - if (!this._config.isVisible) { - execute(callback); - return; - } - - this._getElement().classList.remove(CLASS_NAME_SHOW$5); - - this._emulateAnimation(() => { - this.dispose(); - execute(callback); - }); - } - - dispose() { - if (!this._isAppended) { - return; - } - - EventHandler.off(this._element, EVENT_MOUSEDOWN); - - this._element.remove(); - - this._isAppended = false; - } // Private - - - _getElement() { - if (!this._element) { - const backdrop = document.createElement('div'); - backdrop.className = this._config.className; - - if (this._config.isAnimated) { - backdrop.classList.add(CLASS_NAME_FADE$4); - } - - this._element = backdrop; - } - - return this._element; - } - - _configAfterMerge(config) { - // use getElement() with the default "body" to get a fresh Element on each instantiation - config.rootElement = getElement(config.rootElement); - return config; - } - - _append() { - if (this._isAppended) { - return; - } - - const element = this._getElement(); - - this._config.rootElement.append(element); - - EventHandler.on(element, EVENT_MOUSEDOWN, () => { - execute(this._config.clickCallback); - }); - this._isAppended = true; - } - - _emulateAnimation(callback) { - executeAfterTransition(callback, this._getElement(), this._config.isAnimated); - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): util/focustrap.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$8 = 'focustrap'; - const DATA_KEY$5 = 'bs.focustrap'; - const EVENT_KEY$5 = `.${DATA_KEY$5}`; - const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`; - const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; - const TAB_KEY = 'Tab'; - const TAB_NAV_FORWARD = 'forward'; - const TAB_NAV_BACKWARD = 'backward'; - const Default$7 = { - autofocus: true, - trapElement: null // The element to trap focus inside of - - }; - const DefaultType$7 = { - autofocus: 'boolean', - trapElement: 'element' - }; - /** - * Class definition - */ - - class FocusTrap extends Config { - constructor(config) { - super(); - this._config = this._getConfig(config); - this._isActive = false; - this._lastTabNavDirection = null; - } // Getters - - - static get Default() { - return Default$7; - } - - static get DefaultType() { - return DefaultType$7; - } - - static get NAME() { - return NAME$8; - } // Public - - - activate() { - if (this._isActive) { - return; - } - - if (this._config.autofocus) { - this._config.trapElement.focus(); - } - - EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop - - EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event)); - EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)); - this._isActive = true; - } - - deactivate() { - if (!this._isActive) { - return; - } - - this._isActive = false; - EventHandler.off(document, EVENT_KEY$5); - } // Private - - - _handleFocusin(event) { - const { - trapElement - } = this._config; - - if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) { - return; - } - - const elements = SelectorEngine.focusableChildren(trapElement); - - if (elements.length === 0) { - trapElement.focus(); - } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { - elements[elements.length - 1].focus(); - } else { - elements[0].focus(); - } - } - - _handleKeydown(event) { - if (event.key !== TAB_KEY) { - return; - } - - this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): modal.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$7 = 'modal'; - const DATA_KEY$4 = 'bs.modal'; - const EVENT_KEY$4 = `.${DATA_KEY$4}`; - const DATA_API_KEY$2 = '.data-api'; - const ESCAPE_KEY$1 = 'Escape'; - const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`; - const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; - const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; - const EVENT_SHOW$4 = `show${EVENT_KEY$4}`; - const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; - const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; - const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; - const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; - const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; - const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; - const CLASS_NAME_OPEN = 'modal-open'; - const CLASS_NAME_FADE$3 = 'fade'; - const CLASS_NAME_SHOW$4 = 'show'; - const CLASS_NAME_STATIC = 'modal-static'; - const OPEN_SELECTOR$1 = '.modal.show'; - const SELECTOR_DIALOG = '.modal-dialog'; - const SELECTOR_MODAL_BODY = '.modal-body'; - const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; - const Default$6 = { - backdrop: true, - focus: true, - keyboard: true - }; - const DefaultType$6 = { - backdrop: '(boolean|string)', - focus: 'boolean', - keyboard: 'boolean' - }; - /** - * Class definition - */ - - class Modal extends BaseComponent { - constructor(element, config) { - super(element, config); - this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); - this._backdrop = this._initializeBackDrop(); - this._focustrap = this._initializeFocusTrap(); - this._isShown = false; - this._isTransitioning = false; - this._scrollBar = new ScrollBarHelper(); - - this._addEventListeners(); - } // Getters - - - static get Default() { - return Default$6; - } - - static get DefaultType() { - return DefaultType$6; - } - - static get NAME() { - return NAME$7; - } // Public - - - toggle(relatedTarget) { - return this._isShown ? this.hide() : this.show(relatedTarget); - } - - show(relatedTarget) { - if (this._isShown || this._isTransitioning) { - return; - } - - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, { - relatedTarget - }); - - if (showEvent.defaultPrevented) { - return; - } - - this._isShown = true; - this._isTransitioning = true; - - this._scrollBar.hide(); - - document.body.classList.add(CLASS_NAME_OPEN); - - this._adjustDialog(); - - this._backdrop.show(() => this._showElement(relatedTarget)); - } - - hide() { - if (!this._isShown || this._isTransitioning) { - return; - } - - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4); - - if (hideEvent.defaultPrevented) { - return; - } - - this._isShown = false; - this._isTransitioning = true; - - this._focustrap.deactivate(); - - this._element.classList.remove(CLASS_NAME_SHOW$4); - - this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); - } - - dispose() { - for (const htmlElement of [window, this._dialog]) { - EventHandler.off(htmlElement, EVENT_KEY$4); - } - - this._backdrop.dispose(); - - this._focustrap.deactivate(); - - super.dispose(); - } - - handleUpdate() { - this._adjustDialog(); - } // Private - - - _initializeBackDrop() { - return new Backdrop({ - isVisible: Boolean(this._config.backdrop), - // 'static' option will be translated to true, and booleans will keep their value, - isAnimated: this._isAnimated() - }); - } - - _initializeFocusTrap() { - return new FocusTrap({ - trapElement: this._element - }); - } - - _showElement(relatedTarget) { - // try to append dynamic modal - if (!document.body.contains(this._element)) { - document.body.append(this._element); - } - - this._element.style.display = 'block'; - - this._element.removeAttribute('aria-hidden'); - - this._element.setAttribute('aria-modal', true); - - this._element.setAttribute('role', 'dialog'); - - this._element.scrollTop = 0; - const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); - - if (modalBody) { - modalBody.scrollTop = 0; - } - - reflow(this._element); - - this._element.classList.add(CLASS_NAME_SHOW$4); - - const transitionComplete = () => { - if (this._config.focus) { - this._focustrap.activate(); - } - - this._isTransitioning = false; - EventHandler.trigger(this._element, EVENT_SHOWN$4, { - relatedTarget - }); - }; - - this._queueCallback(transitionComplete, this._dialog, this._isAnimated()); - } - - _addEventListeners() { - EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => { - if (event.key !== ESCAPE_KEY$1) { - return; - } - - if (this._config.keyboard) { - event.preventDefault(); - this.hide(); - return; - } - - this._triggerBackdropTransition(); - }); - EventHandler.on(window, EVENT_RESIZE$1, () => { - if (this._isShown && !this._isTransitioning) { - this._adjustDialog(); - } - }); - EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => { - // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks - EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => { - if (this._element !== event.target || this._element !== event2.target) { - return; - } - - if (this._config.backdrop === 'static') { - this._triggerBackdropTransition(); - - return; - } - - if (this._config.backdrop) { - this.hide(); - } - }); - }); - } - - _hideModal() { - this._element.style.display = 'none'; - - this._element.setAttribute('aria-hidden', true); - - this._element.removeAttribute('aria-modal'); - - this._element.removeAttribute('role'); - - this._isTransitioning = false; - - this._backdrop.hide(() => { - document.body.classList.remove(CLASS_NAME_OPEN); - - this._resetAdjustments(); - - this._scrollBar.reset(); - - EventHandler.trigger(this._element, EVENT_HIDDEN$4); - }); - } - - _isAnimated() { - return this._element.classList.contains(CLASS_NAME_FADE$3); - } - - _triggerBackdropTransition() { - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); - - if (hideEvent.defaultPrevented) { - return; - } - - const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; - const initialOverflowY = this._element.style.overflowY; // return if the following background transition hasn't yet completed - - if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) { - return; - } - - if (!isModalOverflowing) { - this._element.style.overflowY = 'hidden'; - } - - this._element.classList.add(CLASS_NAME_STATIC); - - this._queueCallback(() => { - this._element.classList.remove(CLASS_NAME_STATIC); - - this._queueCallback(() => { - this._element.style.overflowY = initialOverflowY; - }, this._dialog); - }, this._dialog); - - this._element.focus(); - } - /** - * The following methods are used to handle overflowing modals - */ - - - _adjustDialog() { - const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; - - const scrollbarWidth = this._scrollBar.getWidth(); - - const isBodyOverflowing = scrollbarWidth > 0; - - if (isBodyOverflowing && !isModalOverflowing) { - const property = isRTL() ? 'paddingLeft' : 'paddingRight'; - this._element.style[property] = `${scrollbarWidth}px`; - } - - if (!isBodyOverflowing && isModalOverflowing) { - const property = isRTL() ? 'paddingRight' : 'paddingLeft'; - this._element.style[property] = `${scrollbarWidth}px`; - } - } - - _resetAdjustments() { - this._element.style.paddingLeft = ''; - this._element.style.paddingRight = ''; - } // Static - - - static jQueryInterface(config, relatedTarget) { - return this.each(function () { - const data = Modal.getOrCreateInstance(this, config); - - if (typeof config !== 'string') { - return; - } - - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](relatedTarget); - }); - } - - } - /** - * Data API implementation - */ - - - EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { - const target = getElementFromSelector(this); - - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - - EventHandler.one(target, EVENT_SHOW$4, showEvent => { - if (showEvent.defaultPrevented) { - // only register focus restorer if modal will actually get shown - return; - } - - EventHandler.one(target, EVENT_HIDDEN$4, () => { - if (isVisible(this)) { - this.focus(); - } - }); - }); // avoid conflict when clicking modal toggler while another one is open - - const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); - - if (alreadyOpen) { - Modal.getInstance(alreadyOpen).hide(); - } - - const data = Modal.getOrCreateInstance(target); - data.toggle(this); - }); - enableDismissTrigger(Modal); - /** - * jQuery - */ - - defineJQueryPlugin(Modal); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): offcanvas.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$6 = 'offcanvas'; - const DATA_KEY$3 = 'bs.offcanvas'; - const EVENT_KEY$3 = `.${DATA_KEY$3}`; - const DATA_API_KEY$1 = '.data-api'; - const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`; - const ESCAPE_KEY = 'Escape'; - const CLASS_NAME_SHOW$3 = 'show'; - const CLASS_NAME_SHOWING$1 = 'showing'; - const CLASS_NAME_HIDING = 'hiding'; - const CLASS_NAME_BACKDROP = 'offcanvas-backdrop'; - const OPEN_SELECTOR = '.offcanvas.show'; - const EVENT_SHOW$3 = `show${EVENT_KEY$3}`; - const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`; - const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`; - const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`; - const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`; - const EVENT_RESIZE = `resize${EVENT_KEY$3}`; - const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`; - const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`; - const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]'; - const Default$5 = { - backdrop: true, - keyboard: true, - scroll: false - }; - const DefaultType$5 = { - backdrop: '(boolean|string)', - keyboard: 'boolean', - scroll: 'boolean' - }; - /** - * Class definition - */ - - class Offcanvas extends BaseComponent { - constructor(element, config) { - super(element, config); - this._isShown = false; - this._backdrop = this._initializeBackDrop(); - this._focustrap = this._initializeFocusTrap(); - - this._addEventListeners(); - } // Getters - - - static get Default() { - return Default$5; - } - - static get DefaultType() { - return DefaultType$5; - } - - static get NAME() { - return NAME$6; - } // Public - - - toggle(relatedTarget) { - return this._isShown ? this.hide() : this.show(relatedTarget); - } - - show(relatedTarget) { - if (this._isShown) { - return; - } - - const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { - relatedTarget - }); - - if (showEvent.defaultPrevented) { - return; - } - - this._isShown = true; - - this._backdrop.show(); - - if (!this._config.scroll) { - new ScrollBarHelper().hide(); - } - - this._element.setAttribute('aria-modal', true); - - this._element.setAttribute('role', 'dialog'); - - this._element.classList.add(CLASS_NAME_SHOWING$1); - - const completeCallBack = () => { - if (!this._config.scroll || this._config.backdrop) { - this._focustrap.activate(); - } - - this._element.classList.add(CLASS_NAME_SHOW$3); - - this._element.classList.remove(CLASS_NAME_SHOWING$1); - - EventHandler.trigger(this._element, EVENT_SHOWN$3, { - relatedTarget - }); - }; - - this._queueCallback(completeCallBack, this._element, true); - } - - hide() { - if (!this._isShown) { - return; - } - - const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); - - if (hideEvent.defaultPrevented) { - return; - } - - this._focustrap.deactivate(); - - this._element.blur(); - - this._isShown = false; - - this._element.classList.add(CLASS_NAME_HIDING); - - this._backdrop.hide(); - - const completeCallback = () => { - this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING); - - this._element.removeAttribute('aria-modal'); - - this._element.removeAttribute('role'); - - if (!this._config.scroll) { - new ScrollBarHelper().reset(); - } - - EventHandler.trigger(this._element, EVENT_HIDDEN$3); - }; - - this._queueCallback(completeCallback, this._element, true); - } - - dispose() { - this._backdrop.dispose(); - - this._focustrap.deactivate(); - - super.dispose(); - } // Private - - - _initializeBackDrop() { - const clickCallback = () => { - if (this._config.backdrop === 'static') { - EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); - return; - } - - this.hide(); - }; // 'static' option will be translated to true, and booleans will keep their value - - - const isVisible = Boolean(this._config.backdrop); - return new Backdrop({ - className: CLASS_NAME_BACKDROP, - isVisible, - isAnimated: true, - rootElement: this._element.parentNode, - clickCallback: isVisible ? clickCallback : null - }); - } - - _initializeFocusTrap() { - return new FocusTrap({ - trapElement: this._element - }); - } - - _addEventListeners() { - EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => { - if (event.key !== ESCAPE_KEY) { - return; - } - - if (!this._config.keyboard) { - EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); - return; - } - - this.hide(); - }); - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const data = Offcanvas.getOrCreateInstance(this, config); - - if (typeof config !== 'string') { - return; - } - - if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](this); - }); - } - - } - /** - * Data API implementation - */ - - - EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { - const target = getElementFromSelector(this); - - if (['A', 'AREA'].includes(this.tagName)) { - event.preventDefault(); - } - - if (isDisabled(this)) { - return; - } - - EventHandler.one(target, EVENT_HIDDEN$3, () => { - // focus on trigger when it is closed - if (isVisible(this)) { - this.focus(); - } - }); // avoid conflict when clicking a toggler of an offcanvas, while another is open - - const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); - - if (alreadyOpen && alreadyOpen !== target) { - Offcanvas.getInstance(alreadyOpen).hide(); - } - - const data = Offcanvas.getOrCreateInstance(target); - data.toggle(this); - }); - EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { - for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { - Offcanvas.getOrCreateInstance(selector).show(); - } - }); - EventHandler.on(window, EVENT_RESIZE, () => { - for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) { - if (getComputedStyle(element).position !== 'fixed') { - Offcanvas.getOrCreateInstance(element).hide(); - } - } - }); - enableDismissTrigger(Offcanvas); - /** - * jQuery - */ - - defineJQueryPlugin(Offcanvas); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): util/sanitizer.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); - const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; - /** - * A pattern that recognizes a commonly useful subset of URLs that are safe. - * - * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts - */ - - const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; - /** - * A pattern that matches safe data URLs. Only matches image, video and audio types. - * - * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts - */ - - const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; - - const allowedAttribute = (attribute, allowedAttributeList) => { - const attributeName = attribute.nodeName.toLowerCase(); - - if (allowedAttributeList.includes(attributeName)) { - if (uriAttributes.has(attributeName)) { - return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue)); - } - - return true; - } // Check if a regular expression validates the attribute. - - - return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName)); - }; - - const DefaultAllowlist = { - // Global attributes allowed on any supplied element below. - '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], - a: ['target', 'href', 'title', 'rel'], - area: [], - b: [], - br: [], - col: [], - code: [], - div: [], - em: [], - hr: [], - h1: [], - h2: [], - h3: [], - h4: [], - h5: [], - h6: [], - i: [], - img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], - li: [], - ol: [], - p: [], - pre: [], - s: [], - small: [], - span: [], - sub: [], - sup: [], - strong: [], - u: [], - ul: [] - }; - function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { - if (!unsafeHtml.length) { - return unsafeHtml; - } - - if (sanitizeFunction && typeof sanitizeFunction === 'function') { - return sanitizeFunction(unsafeHtml); - } - - const domParser = new window.DOMParser(); - const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); - const elements = [].concat(...createdDocument.body.querySelectorAll('*')); - - for (const element of elements) { - const elementName = element.nodeName.toLowerCase(); - - if (!Object.keys(allowList).includes(elementName)) { - element.remove(); - continue; - } - - const attributeList = [].concat(...element.attributes); - const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []); - - for (const attribute of attributeList) { - if (!allowedAttribute(attribute, allowedAttributes)) { - element.removeAttribute(attribute.nodeName); - } - } - } - - return createdDocument.body.innerHTML; - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): util/template-factory.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$5 = 'TemplateFactory'; - const Default$4 = { - allowList: DefaultAllowlist, - content: {}, - // { selector : text , selector2 : text2 , } - extraClass: '', - html: false, - sanitize: true, - sanitizeFn: null, - template: '
' - }; - const DefaultType$4 = { - allowList: 'object', - content: 'object', - extraClass: '(string|function)', - html: 'boolean', - sanitize: 'boolean', - sanitizeFn: '(null|function)', - template: 'string' - }; - const DefaultContentType = { - entry: '(string|element|function|null)', - selector: '(string|element)' - }; - /** - * Class definition - */ - - class TemplateFactory extends Config { - constructor(config) { - super(); - this._config = this._getConfig(config); - } // Getters - - - static get Default() { - return Default$4; - } - - static get DefaultType() { - return DefaultType$4; - } - - static get NAME() { - return NAME$5; - } // Public - - - getContent() { - return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean); - } - - hasContent() { - return this.getContent().length > 0; - } - - changeContent(content) { - this._checkContent(content); - - this._config.content = { ...this._config.content, - ...content - }; - return this; - } - - toHtml() { - const templateWrapper = document.createElement('div'); - templateWrapper.innerHTML = this._maybeSanitize(this._config.template); - - for (const [selector, text] of Object.entries(this._config.content)) { - this._setContent(templateWrapper, text, selector); - } - - const template = templateWrapper.children[0]; - - const extraClass = this._resolvePossibleFunction(this._config.extraClass); - - if (extraClass) { - template.classList.add(...extraClass.split(' ')); - } - - return template; - } // Private - - - _typeCheckConfig(config) { - super._typeCheckConfig(config); - - this._checkContent(config.content); - } - - _checkContent(arg) { - for (const [selector, content] of Object.entries(arg)) { - super._typeCheckConfig({ - selector, - entry: content - }, DefaultContentType); - } - } - - _setContent(template, content, selector) { - const templateElement = SelectorEngine.findOne(selector, template); - - if (!templateElement) { - return; - } - - content = this._resolvePossibleFunction(content); - - if (!content) { - templateElement.remove(); - return; - } - - if (isElement$1(content)) { - this._putElementInTemplate(getElement(content), templateElement); - - return; - } - - if (this._config.html) { - templateElement.innerHTML = this._maybeSanitize(content); - return; - } - - templateElement.textContent = content; - } - - _maybeSanitize(arg) { - return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg; - } - - _resolvePossibleFunction(arg) { - return typeof arg === 'function' ? arg(this) : arg; - } - - _putElementInTemplate(element, templateElement) { - if (this._config.html) { - templateElement.innerHTML = ''; - templateElement.append(element); - return; - } - - templateElement.textContent = element.textContent; - } - - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): tooltip.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$4 = 'tooltip'; - const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']); - const CLASS_NAME_FADE$2 = 'fade'; - const CLASS_NAME_MODAL = 'modal'; - const CLASS_NAME_SHOW$2 = 'show'; - const SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; - const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; - const EVENT_MODAL_HIDE = 'hide.bs.modal'; - const TRIGGER_HOVER = 'hover'; - const TRIGGER_FOCUS = 'focus'; - const TRIGGER_CLICK = 'click'; - const TRIGGER_MANUAL = 'manual'; - const EVENT_HIDE$2 = 'hide'; - const EVENT_HIDDEN$2 = 'hidden'; - const EVENT_SHOW$2 = 'show'; - const EVENT_SHOWN$2 = 'shown'; - const EVENT_INSERTED = 'inserted'; - const EVENT_CLICK$1 = 'click'; - const EVENT_FOCUSIN$1 = 'focusin'; - const EVENT_FOCUSOUT$1 = 'focusout'; - const EVENT_MOUSEENTER = 'mouseenter'; - const EVENT_MOUSELEAVE = 'mouseleave'; - const AttachmentMap = { - AUTO: 'auto', - TOP: 'top', - RIGHT: isRTL() ? 'left' : 'right', - BOTTOM: 'bottom', - LEFT: isRTL() ? 'right' : 'left' - }; - const Default$3 = { - allowList: DefaultAllowlist, - animation: true, - boundary: 'clippingParents', - container: false, - customClass: '', - delay: 0, - fallbackPlacements: ['top', 'right', 'bottom', 'left'], - html: false, - offset: [0, 0], - placement: 'top', - popperConfig: null, - sanitize: true, - sanitizeFn: null, - selector: false, - template: '', - title: '', - trigger: 'hover focus' - }; - const DefaultType$3 = { - allowList: 'object', - animation: 'boolean', - boundary: '(string|element)', - container: '(string|element|boolean)', - customClass: '(string|function)', - delay: '(number|object)', - fallbackPlacements: 'array', - html: 'boolean', - offset: '(array|string|function)', - placement: '(string|function)', - popperConfig: '(null|object|function)', - sanitize: 'boolean', - sanitizeFn: '(null|function)', - selector: '(string|boolean)', - template: 'string', - title: '(string|element|function)', - trigger: 'string' - }; - /** - * Class definition - */ - - class Tooltip extends BaseComponent { - constructor(element, config) { - if (typeof Popper === 'undefined') { - throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); - } - - super(element, config); // Private - - this._isEnabled = true; - this._timeout = 0; - this._isHovered = null; - this._activeTrigger = {}; - this._popper = null; - this._templateFactory = null; - this._newContent = null; // Protected - - this.tip = null; - - this._setListeners(); - - if (!this._config.selector) { - this._fixTitle(); - } - } // Getters - - - static get Default() { - return Default$3; - } - - static get DefaultType() { - return DefaultType$3; - } - - static get NAME() { - return NAME$4; - } // Public - - - enable() { - this._isEnabled = true; - } - - disable() { - this._isEnabled = false; - } - - toggleEnabled() { - this._isEnabled = !this._isEnabled; - } - - toggle() { - if (!this._isEnabled) { - return; - } - - this._activeTrigger.click = !this._activeTrigger.click; - - if (this._isShown()) { - this._leave(); - - return; - } - - this._enter(); - } - - dispose() { - clearTimeout(this._timeout); - EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); - - if (this.tip) { - this.tip.remove(); - } - - if (this._element.getAttribute('data-bs-original-title')) { - this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title')); - } - - this._disposePopper(); - - super.dispose(); - } - - show() { - if (this._element.style.display === 'none') { - throw new Error('Please use show on visible elements'); - } - - if (!(this._isWithContent() && this._isEnabled)) { - return; - } - - const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2)); - const shadowRoot = findShadowRoot(this._element); - - const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); - - if (showEvent.defaultPrevented || !isInTheDom) { - return; - } // todo v6 remove this OR make it optional - - - if (this.tip) { - this.tip.remove(); - this.tip = null; - } - - const tip = this._getTipElement(); - - this._element.setAttribute('aria-describedby', tip.getAttribute('id')); - - const { - container - } = this._config; - - if (!this._element.ownerDocument.documentElement.contains(this.tip)) { - container.append(tip); - EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)); - } - - if (this._popper) { - this._popper.update(); - } else { - this._popper = this._createPopper(tip); - } - - tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra - // empty mouseover listeners to the body's immediate children; - // only needed because of broken event delegation on iOS - // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html - - if ('ontouchstart' in document.documentElement) { - for (const element of [].concat(...document.body.children)) { - EventHandler.on(element, 'mouseover', noop); - } - } - - const complete = () => { - EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2)); - - if (this._isHovered === false) { - this._leave(); - } - - this._isHovered = false; - }; - - this._queueCallback(complete, this.tip, this._isAnimated()); - } - - hide() { - if (!this._isShown()) { - return; - } - - const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2)); - - if (hideEvent.defaultPrevented) { - return; - } - - const tip = this._getTipElement(); - - tip.classList.remove(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we remove the extra - // empty mouseover listeners we added for iOS support - - if ('ontouchstart' in document.documentElement) { - for (const element of [].concat(...document.body.children)) { - EventHandler.off(element, 'mouseover', noop); - } - } - - this._activeTrigger[TRIGGER_CLICK] = false; - this._activeTrigger[TRIGGER_FOCUS] = false; - this._activeTrigger[TRIGGER_HOVER] = false; - this._isHovered = null; // it is a trick to support manual triggering - - const complete = () => { - if (this._isWithActiveTrigger()) { - return; - } - - if (!this._isHovered) { - tip.remove(); - } - - this._element.removeAttribute('aria-describedby'); - - EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2)); - - this._disposePopper(); - }; - - this._queueCallback(complete, this.tip, this._isAnimated()); - } - - update() { - if (this._popper) { - this._popper.update(); - } - } // Protected - - - _isWithContent() { - return Boolean(this._getTitle()); - } - - _getTipElement() { - if (!this.tip) { - this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); - } - - return this.tip; - } - - _createTipElement(content) { - const tip = this._getTemplateFactory(content).toHtml(); // todo: remove this check on v6 - - - if (!tip) { - return null; - } - - tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); // todo: on v6 the following can be achieved with CSS only - - tip.classList.add(`bs-${this.constructor.NAME}-auto`); - const tipId = getUID(this.constructor.NAME).toString(); - tip.setAttribute('id', tipId); - - if (this._isAnimated()) { - tip.classList.add(CLASS_NAME_FADE$2); - } - - return tip; - } - - setContent(content) { - this._newContent = content; - - if (this._isShown()) { - this._disposePopper(); - - this.show(); - } - } - - _getTemplateFactory(content) { - if (this._templateFactory) { - this._templateFactory.changeContent(content); - } else { - this._templateFactory = new TemplateFactory({ ...this._config, - // the `content` var has to be after `this._config` - // to override config.content in case of popover - content, - extraClass: this._resolvePossibleFunction(this._config.customClass) - }); - } - - return this._templateFactory; - } - - _getContentForTemplate() { - return { - [SELECTOR_TOOLTIP_INNER]: this._getTitle() - }; - } - - _getTitle() { - return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title'); - } // Private - - - _initializeOnDelegatedTarget(event) { - return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); - } - - _isAnimated() { - return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2); - } - - _isShown() { - return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2); - } - - _createPopper(tip) { - const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement; - const attachment = AttachmentMap[placement.toUpperCase()]; - return createPopper(this._element, tip, this._getPopperConfig(attachment)); - } - - _getOffset() { - const { - offset - } = this._config; - - if (typeof offset === 'string') { - return offset.split(',').map(value => Number.parseInt(value, 10)); - } - - if (typeof offset === 'function') { - return popperData => offset(popperData, this._element); - } - - return offset; - } - - _resolvePossibleFunction(arg) { - return typeof arg === 'function' ? arg.call(this._element) : arg; - } - - _getPopperConfig(attachment) { - const defaultBsPopperConfig = { - placement: attachment, - modifiers: [{ - name: 'flip', - options: { - fallbackPlacements: this._config.fallbackPlacements - } - }, { - name: 'offset', - options: { - offset: this._getOffset() - } - }, { - name: 'preventOverflow', - options: { - boundary: this._config.boundary - } - }, { - name: 'arrow', - options: { - element: `.${this.constructor.NAME}-arrow` - } - }, { - name: 'preSetPlacement', - enabled: true, - phase: 'beforeMain', - fn: data => { - // Pre-set Popper's placement attribute in order to read the arrow sizes properly. - // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement - this._getTipElement().setAttribute('data-popper-placement', data.state.placement); - } - }] - }; - return { ...defaultBsPopperConfig, - ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) - }; - } - - _setListeners() { - const triggers = this._config.trigger.split(' '); - - for (const trigger of triggers) { - if (trigger === 'click') { - EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => { - const context = this._initializeOnDelegatedTarget(event); - - context.toggle(); - }); - } else if (trigger !== TRIGGER_MANUAL) { - const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); - const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); - EventHandler.on(this._element, eventIn, this._config.selector, event => { - const context = this._initializeOnDelegatedTarget(event); - - context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; - - context._enter(); - }); - EventHandler.on(this._element, eventOut, this._config.selector, event => { - const context = this._initializeOnDelegatedTarget(event); - - context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); - - context._leave(); - }); - } - } - - this._hideModalHandler = () => { - if (this._element) { - this.hide(); - } - }; - - EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); - } - - _fixTitle() { - const title = this._element.getAttribute('title'); - - if (!title) { - return; - } - - if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) { - this._element.setAttribute('aria-label', title); - } - - this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility - - - this._element.removeAttribute('title'); - } - - _enter() { - if (this._isShown() || this._isHovered) { - this._isHovered = true; - return; - } - - this._isHovered = true; - - this._setTimeout(() => { - if (this._isHovered) { - this.show(); - } - }, this._config.delay.show); - } - - _leave() { - if (this._isWithActiveTrigger()) { - return; - } - - this._isHovered = false; - - this._setTimeout(() => { - if (!this._isHovered) { - this.hide(); - } - }, this._config.delay.hide); - } - - _setTimeout(handler, timeout) { - clearTimeout(this._timeout); - this._timeout = setTimeout(handler, timeout); - } - - _isWithActiveTrigger() { - return Object.values(this._activeTrigger).includes(true); - } - - _getConfig(config) { - const dataAttributes = Manipulator.getDataAttributes(this._element); - - for (const dataAttribute of Object.keys(dataAttributes)) { - if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) { - delete dataAttributes[dataAttribute]; - } - } - - config = { ...dataAttributes, - ...(typeof config === 'object' && config ? config : {}) - }; - config = this._mergeConfigObj(config); - config = this._configAfterMerge(config); - - this._typeCheckConfig(config); - - return config; - } - - _configAfterMerge(config) { - config.container = config.container === false ? document.body : getElement(config.container); - - if (typeof config.delay === 'number') { - config.delay = { - show: config.delay, - hide: config.delay - }; - } - - if (typeof config.title === 'number') { - config.title = config.title.toString(); - } - - if (typeof config.content === 'number') { - config.content = config.content.toString(); - } - - return config; - } - - _getDelegateConfig() { - const config = {}; - - for (const key in this._config) { - if (this.constructor.Default[key] !== this._config[key]) { - config[key] = this._config[key]; - } - } - - config.selector = false; - config.trigger = 'manual'; // In the future can be replaced with: - // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]]) - // `Object.fromEntries(keysWithDifferentValues)` - - return config; - } - - _disposePopper() { - if (this._popper) { - this._popper.destroy(); - - this._popper = null; - } - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const data = Tooltip.getOrCreateInstance(this, config); - - if (typeof config !== 'string') { - return; - } - - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](); - }); - } - - } - /** - * jQuery - */ - - - defineJQueryPlugin(Tooltip); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): popover.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$3 = 'popover'; - const SELECTOR_TITLE = '.popover-header'; - const SELECTOR_CONTENT = '.popover-body'; - const Default$2 = { ...Tooltip.Default, - content: '', - offset: [0, 8], - placement: 'right', - template: '', - trigger: 'click' - }; - const DefaultType$2 = { ...Tooltip.DefaultType, - content: '(null|string|element|function)' - }; - /** - * Class definition - */ - - class Popover extends Tooltip { - // Getters - static get Default() { - return Default$2; - } - - static get DefaultType() { - return DefaultType$2; - } - - static get NAME() { - return NAME$3; - } // Overrides - - - _isWithContent() { - return this._getTitle() || this._getContent(); - } // Private - - - _getContentForTemplate() { - return { - [SELECTOR_TITLE]: this._getTitle(), - [SELECTOR_CONTENT]: this._getContent() - }; - } - - _getContent() { - return this._resolvePossibleFunction(this._config.content); - } // Static - - - static jQueryInterface(config) { - return this.each(function () { - const data = Popover.getOrCreateInstance(this, config); - - if (typeof config !== 'string') { - return; - } - - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`); - } - - data[config](); - }); - } - - } - /** - * jQuery - */ - - - defineJQueryPlugin(Popover); - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v5.2.2): scrollspy.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Constants - */ - - const NAME$2 = 'scrollspy'; - const DATA_KEY$2 = 'bs.scrollspy'; - const EVENT_KEY$2 = `.${DATA_KEY$2}`; - const DATA_API_KEY = '.data-api'; - const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; - const EVENT_CLICK = `click${EVENT_KEY$2}`; - const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`; - const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; - const CLASS_NAME_ACTIVE$1 = 'active'; - const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; - const SELECTOR_TARGET_LINKS = '[href]'; - const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; - const SELECTOR_NAV_LINKS = '.nav-link'; - const SELECTOR_NAV_ITEMS = '.nav-item'; - const SELECTOR_LIST_ITEMS = '.list-group-item'; - const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`; - const SELECTOR_DROPDOWN = '.dropdown'; - const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle'; - const Default$1 = { - offset: null, - // TODO: v6 @deprecated, keep it for backwards compatibility reasons - rootMargin: '0px 0px -25%', - smoothScroll: false, - target: null, - threshold: [0.1, 0.5, 1] - }; - const DefaultType$1 = { - offset: '(number|null)', - // TODO v6 @deprecated, keep it for backwards compatibility reasons - rootMargin: 'string', - smoothScroll: 'boolean', - target: 'element', - threshold: 'array' - }; - /** - * Class definition - */ - - class ScrollSpy extends BaseComponent { - constructor(element, config) { - super(element, config); // this._element is the observablesContainer and config.target the menu links wrapper - - this._targetLinks = new Map(); - this._observableSections = new Map(); - this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element; - this._activeTarget = null; - this._observer = null; - this._previousScrollData = { - visibleEntryTop: 0, - parentScrollTop: 0 - }; - this.refresh(); // initialize - } // Getters - - - static get Default() { - return Default$1; - } - - static get DefaultType() { - return DefaultType$1; - } - - static get NAME() { - return NAME$2; - } // Public - - - refresh() { - this._initializeTargetsAndObservables(); - - this._maybeEnableSmoothScroll(); - - if (this._observer) { - this._observer.disconnect(); - } else { - this._observer = this._getNewObserver(); - } - - for (const section of this._observableSections.values()) { - this._observer.observe(section); - } - } - - dispose() { - this._observer.disconnect(); - - super.dispose(); - } // Private - - - _configAfterMerge(config) { - // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case - config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only - - config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin; - - if (typeof config.threshold === 'string') { - config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value)); - } - - return config; - } - - _maybeEnableSmoothScroll() { - if (!this._config.smoothScroll) { - return; - } // unregister any previous listeners - - - EventHandler.off(this._config.target, EVENT_CLICK); - EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => { - const observableSection = this._observableSections.get(event.target.hash); - - if (observableSection) { - event.preventDefault(); - const root = this._rootElement || window; - const height = observableSection.offsetTop - this._element.offsetTop; - - if (root.scrollTo) { - root.scrollTo({ - top: height, - behavior: 'smooth' - }); - return; - } // Chrome 60 doesn't support `scrollTo` - - - root.scrollTop = height; - } - }); - } - - _getNewObserver() { - const options = { - root: this._rootElement, - threshold: this._config.threshold, - rootMargin: this._config.rootMargin - }; - return new IntersectionObserver(entries => this._observerCallback(entries), options); - } // The logic of selection - - - _observerCallback(entries) { - const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`); - - const activate = entry => { - this._previousScrollData.visibleEntryTop = entry.target.offsetTop; - - this._process(targetElement(entry)); - }; - - const parentScrollTop = (this._rootElement || document.documentElement).scrollTop; - const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop; - this._previousScrollData.parentScrollTop = parentScrollTop; - - for (const entry of entries) { - if (!entry.isIntersecting) { - this._activeTarget = null; - - this._clearActiveClass(targetElement(entry)); - - continue; - } - - const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; // if we are scrolling down, pick the bigger offsetTop - - if (userScrollsDown && entryIsLowerThanPrevious) { - activate(entry); // if parent isn't scrolled, let's keep the first visible item, breaking the iteration - - if (!parentScrollTop) { - return; - } - - continue; - } // if we are scrolling up, pick the smallest offsetTop - - - if (!userScrollsDown && !entryIsLowerThanPrevious) { - activate(entry); - } - } - } - - _initializeTargetsAndObservables() { - this._targetLinks = new Map(); - this._observableSections = new Map(); - const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target); - - for (const anchor of targetLinks) { - // ensure that the anchor has an id and is not disabled - if (!anchor.hash || isDisabled(anchor)) { - continue; - } - - const observableSection = SelectorEngine.findOne(anchor.hash, this._element); // ensure that the observableSection exists & is visible - - if (isVisible(observableSection)) { - this._targetLinks.set(anchor.hash, anchor); - - this._observableSections.set(anchor.hash, observableSection); - } - } - } - - _process(target) { - if (this._activeTarget === target) { - return; - } - - this._clearActiveClass(this._config.target); - - this._activeTarget = target; - target.classList.add(CLASS_NAME_ACTIVE$1); - - this._activateParents(target); - - EventHandler.trigger(this._element, EVENT_ACTIVATE, { - relatedTarget: target - }); - } - - _activateParents(target) { - // Activate dropdown parents - if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { - SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1); - return; - } - - for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) { - // Set triggered links parents as active - // With both
    and