@beeq/core 1.13.0 → 1.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/beeq/beeq.esm.js +1 -1
- package/dist/beeq/index.esm.js +1 -1
- package/dist/beeq/index.esm.js.map +1 -1
- package/dist/beeq/p-923da026.entry.js +6 -0
- package/dist/beeq/p-923da026.entry.js.map +1 -0
- package/dist/beeq/p-DXYHHeJY.js +6 -0
- package/dist/beeq/p-DXYHHeJY.js.map +1 -0
- package/dist/beeq/{p-2fd6ea70.entry.js → p-d4fa3abb.entry.js} +2 -2
- package/dist/beeq/p-d4fa3abb.entry.js.map +1 -0
- package/dist/beeq/p-seEHHqwi.js +6 -0
- package/dist/beeq/p-seEHHqwi.js.map +1 -0
- package/dist/beeq/svg/.icons-meta.json +1 -1
- package/dist/beeq.html-custom-data.json +74 -74
- package/dist/cjs/beeq.cjs.js +1 -1
- package/dist/cjs/bq-dropdown_2.cjs.entry.js +12 -6
- package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/bq-tooltip.cjs.entry.js +76 -14
- package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-CfLTYjba.js → index-CVDzXB4K.js} +213 -189
- package/dist/cjs/index-CVDzXB4K.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/isPopoverSupported-CfD5YIXR.js +18 -0
- package/dist/cjs/isPopoverSupported-CfD5YIXR.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/empty-state/scss/bq-empty-state.css +1 -1
- package/dist/collection/components/icon/svg/.icons-meta.json +1 -1
- package/dist/collection/components/panel/bq-panel.js +11 -5
- package/dist/collection/components/panel/bq-panel.js.map +1 -1
- package/dist/collection/components/progress/scss/bq-progress.css +1 -1
- package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
- package/dist/collection/components/slider/scss/bq-slider.css +1 -1
- package/dist/collection/components/tooltip/bq-tooltip.js +74 -13
- package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
- package/dist/collection/components/tooltip/scss/bq-tooltip.css +1 -1
- package/dist/collection/services/interfaces/floating-ui.js.map +1 -1
- package/dist/collection/services/libraries/floating-ui/index.js +93 -64
- package/dist/collection/services/libraries/floating-ui/index.js.map +1 -1
- package/dist/collection/shared/test-utils/setProperties.js +1 -1
- package/dist/collection/shared/test-utils/setProperties.js.map +1 -1
- package/dist/collection/shared/utils/index.js +1 -0
- package/dist/collection/shared/utils/index.js.map +1 -1
- package/dist/collection/shared/utils/isPopoverSupported.js +12 -0
- package/dist/collection/shared/utils/isPopoverSupported.js.map +1 -0
- package/dist/components/bq-date-picker.js +1 -1
- package/dist/components/bq-dropdown.js +1 -1
- package/dist/components/bq-empty-state.js +1 -1
- package/dist/components/bq-empty-state.js.map +1 -1
- package/dist/components/bq-panel.js +1 -1
- package/dist/components/bq-progress.js +1 -1
- package/dist/components/bq-progress.js.map +1 -1
- package/dist/components/bq-select.js +1 -1
- package/dist/components/bq-side-menu-item.js +1 -1
- package/dist/components/bq-side-menu-item.js.map +1 -1
- package/dist/components/bq-slider.js +1 -1
- package/dist/components/bq-slider.js.map +1 -1
- package/dist/components/bq-tooltip.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/p-B4jdbg-4.js +6 -0
- package/dist/components/p-B4jdbg-4.js.map +1 -0
- package/dist/components/p-DXYHHeJY.js +6 -0
- package/dist/components/p-DXYHHeJY.js.map +1 -0
- package/dist/components/{p-BS8hIETL.js → p-_I8PqzzU.js} +2 -2
- package/dist/components/{p-iyX-PhkX.js → p-c6L-z8md.js} +2 -2
- package/dist/components/p-c6L-z8md.js.map +1 -0
- package/dist/custom-elements.json +776 -736
- package/dist/esm/beeq.js +1 -1
- package/dist/esm/bq-dropdown_2.entry.js +12 -6
- package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
- package/dist/esm/bq-tooltip.entry.js +76 -14
- package/dist/esm/bq-tooltip.entry.js.map +1 -1
- package/dist/esm/{index-CSAZnAFf.js → index-DXYHHeJY.js} +213 -189
- package/dist/esm/index-DXYHHeJY.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/isPopoverSupported-seEHHqwi.js +16 -0
- package/dist/esm/isPopoverSupported-seEHHqwi.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/hydrate/index.js +304 -205
- package/dist/hydrate/index.mjs +304 -205
- package/dist/types/components/panel/bq-panel.d.ts +1 -0
- package/dist/types/components/tooltip/bq-tooltip.d.ts +14 -0
- package/dist/types/services/interfaces/floating-ui.d.ts +1 -1
- package/dist/types/services/libraries/floating-ui/index.d.ts +37 -14
- package/dist/types/shared/test-utils/setProperties.d.ts +1 -1
- package/dist/types/shared/utils/index.d.ts +1 -0
- package/dist/types/shared/utils/isPopoverSupported.d.ts +2 -0
- package/package.json +3 -3
- package/dist/beeq/p-2fd6ea70.entry.js.map +0 -1
- package/dist/beeq/p-CSAZnAFf.js +0 -6
- package/dist/beeq/p-CSAZnAFf.js.map +0 -1
- package/dist/beeq/p-a55354ee.entry.js +0 -6
- package/dist/beeq/p-a55354ee.entry.js.map +0 -1
- package/dist/cjs/index-CfLTYjba.js.map +0 -1
- package/dist/components/p-CSAZnAFf.js +0 -6
- package/dist/components/p-CSAZnAFf.js.map +0 -1
- package/dist/components/p-Dd3v3b2E.js +0 -6
- package/dist/components/p-Dd3v3b2E.js.map +0 -1
- package/dist/components/p-iyX-PhkX.js.map +0 -1
- package/dist/esm/index-CSAZnAFf.js.map +0 -1
- /package/dist/components/{p-BS8hIETL.js.map → p-_I8PqzzU.js.map} +0 -0
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
'use strict';
|
|
6
6
|
|
|
7
7
|
var index = require('./index-J9jJ-fFQ.js');
|
|
8
|
-
var index$1 = require('./index-
|
|
8
|
+
var index$1 = require('./index-CVDzXB4K.js');
|
|
9
9
|
var event = require('./event-BhuEFC-I.js');
|
|
10
|
+
var isPopoverSupported = require('./isPopoverSupported-CfD5YIXR.js');
|
|
10
11
|
|
|
11
|
-
const bqTooltipCss = () => `.bq-tooltip--arrow:before,.rotate-45,.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}.bq-tooltip--panel,.shadow-\\[shadow\\:--bq-tooltip--box-shadow\\]{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.start-0{inset-inline-start:0}.-z-\\[1\\]{z-index:-1}.z-\\[--bq-tooltip--z-index\\]{z-index:var(--bq-tooltip--z-index)}.box-border{box-sizing:border-box}.rotate-45{--tw-rotate:45deg}.rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rounded-\\[--bq-tooltip--border-radius\\]{border-radius:var(--bq-tooltip--border-radius)}.border-\\[length\\:--bq-tooltip--border-width\\]{border-width:var(--bq-tooltip--border-width)}.border-\\[color\\:--bq-tooltip--border-color\\]{border-color:var(--bq-tooltip--border-color)}.bg-\\[--bq-tooltip--background-color\\]{background-color:var(--bq-tooltip--background-color)}.text-\\[length\\:--bq-tooltip--font-size\\]{font-size:var(--bq-tooltip--font-size)}.leading-\\[--bq-tooltip--line-height\\]{line-height:var(--bq-tooltip--line-height)}.text-\\[color\\:--bq-tooltip--text-color\\]{color:var(--bq-tooltip--text-color)}.shadow-\\[shadow\\:--bq-tooltip--box-shadow\\]{--tw-shadow:var(--bq-tooltip--box-shadow);--tw-shadow-colored:var(--bq-tooltip--box-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.content-empty{--tw-content:"";content:var(--tw-content)}.bs-2{block-size:.5rem}.is-2{inline-size:.5rem}.is-\\[--bq-tooltip--width\\]{inline-size:var(--bq-tooltip--width)}.max-is-\\[--bq-tooltip--max-width\\]{max-inline-size:var(--bq-tooltip--max-width)}.p-b-\\[--bq-tooltip--paddingY\\]{padding-block:var(--bq-tooltip--paddingY)}.p-i-\\[--bq-tooltip--paddingX\\]{padding-inline:var(--bq-tooltip--paddingX)}.inset-bs-0{inset-block-start:0}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{--bq-tooltip--background-color:var(--bq-ui--inverse);--bq-tooltip--box-shadow:var(--bq-box-shadow--m);--bq-tooltip--font-size:var(--bq-font-size--m);--bq-tooltip--line-height:var(--bq-font-line-height--regular);--bq-tooltip--text-color:var(--bq-text--inverse);--bq-tooltip--paddingX:var(--bq-spacing-xs);--bq-tooltip--paddingY:var(--bq-spacing-xs2);--bq-tooltip--border-color:transparent;--bq-tooltip--border-radius:var(--bq-radius--s);--bq-tooltip--border-style:none;--bq-tooltip--border-width:unset;--bq-tooltip--max-width:320px;--bq-tooltip--width:max-content;--bq-tooltip--z-index:10}.bq-tooltip--panel{--tw-shadow:var(--bq-tooltip--box-shadow);--tw-shadow-colored:var(--bq-tooltip--box-shadow);-webkit-animation:fade-in .3s ease 0s;animation:fade-in .3s ease 0s;background-color:var(--bq-tooltip--background-color);border-color:var(--bq-tooltip--border-color);border-radius:var(--bq-tooltip--border-radius);border-width:var(--bq-tooltip--border-width);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-sizing:border-box;color:var(--bq-tooltip--text-color);font-size:var(--bq-tooltip--font-size);inline-size:var(--bq-tooltip--width);line-height:var(--bq-tooltip--line-height);max-inline-size:var(--bq-tooltip--max-width);padding-block:var(--bq-tooltip--paddingY);padding-inline:var(--bq-tooltip--paddingX);pointer-events:none;position:fixed;z-index:var(--bq-tooltip--z-index)}.bq-tooltip--arrow,.bq-tooltip--arrow:before{block-size:.5rem;inline-size:.5rem;position:absolute;z-index:-1}.bq-tooltip--arrow:before{--tw-rotate:45deg;--tw-content:"";background-color:var(--bq-tooltip--background-color);content:var(--tw-content);inset-block-start:0;inset-inline-start:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.visible{visibility:visible}.static{position:static}.relative{position:relative}.hidden{display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}`;
|
|
12
|
+
const bqTooltipCss = () => `.bq-tooltip--arrow:before,.rotate-45,.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}.bq-tooltip--panel,.shadow-\\[shadow\\:--bq-tooltip--box-shadow\\]{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.inset-\\[unset\\]{inset:unset}.start-0{inset-inline-start:0}.-z-\\[1\\]{z-index:-1}.z-\\[--bq-tooltip--z-index\\]{z-index:var(--bq-tooltip--z-index)}.m-0{margin:0}.box-border{box-sizing:border-box}.rotate-45{--tw-rotate:45deg}.rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.overflow-visible{overflow:visible}.rounded-\\[--bq-tooltip--border-radius\\]{border-radius:var(--bq-tooltip--border-radius)}.border-\\[length\\:--bq-tooltip--border-width\\]{border-width:var(--bq-tooltip--border-width)}.border-\\[color\\:--bq-tooltip--border-color\\]{border-color:var(--bq-tooltip--border-color)}.bg-\\[--bq-tooltip--background-color\\]{background-color:var(--bq-tooltip--background-color)}.text-\\[length\\:--bq-tooltip--font-size\\]{font-size:var(--bq-tooltip--font-size)}.leading-\\[--bq-tooltip--line-height\\]{line-height:var(--bq-tooltip--line-height)}.text-\\[color\\:--bq-tooltip--text-color\\]{color:var(--bq-tooltip--text-color)}.shadow-\\[shadow\\:--bq-tooltip--box-shadow\\]{--tw-shadow:var(--bq-tooltip--box-shadow);--tw-shadow-colored:var(--bq-tooltip--box-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.content-empty{--tw-content:"";content:var(--tw-content)}.bs-2{block-size:.5rem}.is-2{inline-size:.5rem}.is-\\[--bq-tooltip--width\\]{inline-size:var(--bq-tooltip--width)}.max-is-\\[--bq-tooltip--max-width\\]{max-inline-size:var(--bq-tooltip--max-width)}.p-b-\\[--bq-tooltip--paddingY\\]{padding-block:var(--bq-tooltip--paddingY)}.p-i-\\[--bq-tooltip--paddingX\\]{padding-inline:var(--bq-tooltip--paddingX)}.inset-bs-0{inset-block-start:0}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{--bq-tooltip--background-color:var(--bq-ui--inverse);--bq-tooltip--box-shadow:var(--bq-box-shadow--m);--bq-tooltip--font-size:var(--bq-font-size--m);--bq-tooltip--line-height:var(--bq-font-line-height--regular);--bq-tooltip--text-color:var(--bq-text--inverse);--bq-tooltip--paddingX:var(--bq-spacing-xs);--bq-tooltip--paddingY:var(--bq-spacing-xs2);--bq-tooltip--border-color:transparent;--bq-tooltip--border-radius:var(--bq-radius--s);--bq-tooltip--border-style:none;--bq-tooltip--border-width:unset;--bq-tooltip--max-width:320px;--bq-tooltip--width:max-content;--bq-tooltip--z-index:10}.bq-tooltip--panel{--tw-shadow:var(--bq-tooltip--box-shadow);--tw-shadow-colored:var(--bq-tooltip--box-shadow);-webkit-animation:fade-in .3s ease 0s;animation:fade-in .3s ease 0s;background-color:var(--bq-tooltip--background-color);border-color:var(--bq-tooltip--border-color);border-radius:var(--bq-tooltip--border-radius);border-style:var(--bq-tooltip--border-style);border-width:var(--bq-tooltip--border-width);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-sizing:border-box;color:var(--bq-tooltip--text-color);font-size:var(--bq-tooltip--font-size);inline-size:var(--bq-tooltip--width);line-height:var(--bq-tooltip--line-height);max-inline-size:var(--bq-tooltip--max-width);padding-block:var(--bq-tooltip--paddingY);padding-inline:var(--bq-tooltip--paddingX);pointer-events:none;position:fixed;z-index:var(--bq-tooltip--z-index)}.bq-tooltip--panel[popover]{inset:unset;margin:0;overflow:visible;position:absolute}.bq-tooltip--arrow,.bq-tooltip--arrow:before{block-size:.5rem;inline-size:.5rem;position:absolute;z-index:-1}.bq-tooltip--arrow:before{--tw-rotate:45deg;--tw-content:"";background-color:var(--bq-tooltip--background-color);content:var(--tw-content);inset-block-start:0;inset-inline-start:0}.bq-tooltip--arrow:before,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.visible{visibility:visible}.static{position:static}.relative{position:relative}.hidden{display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}`;
|
|
12
13
|
|
|
13
14
|
const BqTooltip = class {
|
|
14
15
|
constructor(hostRef) {
|
|
@@ -25,6 +26,16 @@ const BqTooltip = class {
|
|
|
25
26
|
panel;
|
|
26
27
|
arrow;
|
|
27
28
|
floatingUI;
|
|
29
|
+
/**
|
|
30
|
+
* Whether the runtime supports the HTML Popover API. When `true`, the
|
|
31
|
+
* panel is promoted to the browser top layer via `showPopover()`, which
|
|
32
|
+
* bypasses containing blocks created by ancestor `transform`, `filter`,
|
|
33
|
+
* `contain`, `will-change`, etc. When `false`, the panel remains a
|
|
34
|
+
* regular `position: fixed` element in the shadow root, which still
|
|
35
|
+
* covers the common case but is subject to those containing-block
|
|
36
|
+
* quirks.
|
|
37
|
+
*/
|
|
38
|
+
supportsPopover = isPopoverSupported.isPopoverSupported();
|
|
28
39
|
get el() { return index.getElement(this); }
|
|
29
40
|
// State() variables
|
|
30
41
|
// Inlined decorator, alphabetical order
|
|
@@ -57,12 +68,21 @@ const BqTooltip = class {
|
|
|
57
68
|
}
|
|
58
69
|
await this.show();
|
|
59
70
|
}
|
|
71
|
+
handleAlwaysVisibleChange() {
|
|
72
|
+
if (this.alwaysVisible || this.visible) {
|
|
73
|
+
this.showTooltip();
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
this.hideTooltip();
|
|
77
|
+
}
|
|
60
78
|
handleFloatingUIOptionsChange() {
|
|
61
|
-
this.floatingUI
|
|
79
|
+
this.floatingUI?.configure({
|
|
80
|
+
...(!this.hideArrow && { arrow: this.arrow }),
|
|
62
81
|
placement: this.placement,
|
|
63
82
|
distance: this.distance,
|
|
64
83
|
sameWidth: this.sameWidth,
|
|
65
|
-
strategy:
|
|
84
|
+
strategy: this.floatingStrategy,
|
|
85
|
+
skidding: 0,
|
|
66
86
|
});
|
|
67
87
|
}
|
|
68
88
|
// Events section
|
|
@@ -82,17 +102,49 @@ const BqTooltip = class {
|
|
|
82
102
|
// Ordered by their natural call order
|
|
83
103
|
// =====================================
|
|
84
104
|
componentDidLoad() {
|
|
105
|
+
// Promote the panel to the top layer when the Popover API is available.
|
|
106
|
+
// This escapes containing blocks created by ancestor `transform`,
|
|
107
|
+
// `filter`, `contain`, `will-change`, etc., which is the root cause of
|
|
108
|
+
// scroll-related tooltip drift inside virtualised or transformed
|
|
109
|
+
// containers (e.g. tall tables, dialogs). We use `manual` mode so BEEQ
|
|
110
|
+
// keeps full control of show/hide semantics (delegated close, focus,
|
|
111
|
+
// Escape) instead of the browser's `auto` light-dismiss behaviour.
|
|
112
|
+
if (this.supportsPopover) {
|
|
113
|
+
this.panel.popover = 'manual';
|
|
114
|
+
}
|
|
85
115
|
this.floatingUI = new index$1.FloatingUI(this.trigger, this.panel, {
|
|
86
116
|
...(!this.hideArrow && { arrow: this.arrow }),
|
|
87
117
|
placement: this.placement,
|
|
88
118
|
distance: this.distance,
|
|
89
119
|
sameWidth: this.sameWidth,
|
|
90
|
-
strategy:
|
|
120
|
+
strategy: this.floatingStrategy,
|
|
91
121
|
skidding: 0,
|
|
92
122
|
});
|
|
123
|
+
// Honour the initial `visible` / `always-visible` props. Stencil's
|
|
124
|
+
// `@Watch('visible')` does not fire for the initial value, so components
|
|
125
|
+
// rendered with `visible` already true (or `always-visible`) would
|
|
126
|
+
// otherwise stay hidden — in the Popover path because `showPopover()`
|
|
127
|
+
// is only called from `show()`, and in the fallback path because the
|
|
128
|
+
// panel's `hidden` attribute reflects the state at first render but
|
|
129
|
+
// Floating UI would not have run a first positioning pass. Calling
|
|
130
|
+
// `showTooltip()` here guarantees a consistent first paint.
|
|
131
|
+
if (this.visible || this.alwaysVisible) {
|
|
132
|
+
this.showTooltip();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
componentDidRender() {
|
|
136
|
+
const arrow = this.hideArrow ? null : this.arrow;
|
|
137
|
+
if (!this.floatingUI || this.floatingUI.options.arrow === arrow)
|
|
138
|
+
return;
|
|
139
|
+
this.floatingUI.configure({ arrow });
|
|
140
|
+
}
|
|
141
|
+
connectedCallback() {
|
|
142
|
+
if (!this.floatingUI || (!this.visible && !this.alwaysVisible))
|
|
143
|
+
return;
|
|
144
|
+
this.showTooltip();
|
|
93
145
|
}
|
|
94
146
|
disconnectedCallback() {
|
|
95
|
-
this.floatingUI?.
|
|
147
|
+
this.floatingUI?.stop();
|
|
96
148
|
}
|
|
97
149
|
// Listeners
|
|
98
150
|
// ==============
|
|
@@ -186,13 +238,23 @@ const BqTooltip = class {
|
|
|
186
238
|
showTooltip = () => {
|
|
187
239
|
if (!this.panel)
|
|
188
240
|
return;
|
|
189
|
-
this.
|
|
241
|
+
if (this.supportsPopover && !this.panel.matches(':popover-open')) {
|
|
242
|
+
this.panel.showPopover();
|
|
243
|
+
}
|
|
244
|
+
this.floatingUI?.start();
|
|
190
245
|
};
|
|
191
246
|
hideTooltip = () => {
|
|
192
247
|
if (!this.panel)
|
|
193
248
|
return;
|
|
249
|
+
this.floatingUI?.stop();
|
|
250
|
+
if (this.supportsPopover && this.panel.matches(':popover-open')) {
|
|
251
|
+
this.panel.hidePopover();
|
|
252
|
+
}
|
|
194
253
|
this.visible = false;
|
|
195
254
|
};
|
|
255
|
+
get floatingStrategy() {
|
|
256
|
+
return this.supportsPopover ? 'absolute' : 'fixed';
|
|
257
|
+
}
|
|
196
258
|
get isHidden() {
|
|
197
259
|
return !this.visible && !this.alwaysVisible;
|
|
198
260
|
}
|
|
@@ -200,22 +262,22 @@ const BqTooltip = class {
|
|
|
200
262
|
// Always the last one in the class.
|
|
201
263
|
// ===================================
|
|
202
264
|
render() {
|
|
203
|
-
return (index.h("div", { key: '
|
|
265
|
+
return (index.h("div", { key: 'ee9c0ef2273ac7fe6dfb0be9133309e2c667d0d4', class: "bq-tooltip relative", part: "base" }, index.h("div", { key: '659ef342fc16bb17fcd31ecec65d227716ec19d6', class: "bq-tooltip--trigger", onClick: this.handleTriggerOnClick, onFocusin: this.handleTriggerFocusin, onFocusout: this.handleTriggerFocusout, onMouseEnter: this.handleTriggerMouseOver, onMouseLeave: this.handleTriggerMouseLeave, part: "trigger", ref: (el) => {
|
|
204
266
|
this.trigger = el;
|
|
205
|
-
} }, index.h("slot", { key: '
|
|
267
|
+
} }, index.h("slot", { key: 'ca06aec8248f0697046e955496aeea7f576b668c', name: "trigger" })), index.h("div", { key: 'e0c6aeb17ef8389ee2b94bf539fe18b75e2b3efe', "aria-hidden": String(this.isHidden), class: "bq-tooltip--panel", hidden: this.supportsPopover ? undefined : this.isHidden, part: "panel", ref: (el) => {
|
|
206
268
|
this.panel = el;
|
|
207
|
-
}, role: "tooltip" }, !this.hideArrow && (index.h("div", { key: '
|
|
269
|
+
}, role: "tooltip" }, !this.hideArrow && (index.h("div", { key: 'b8a15a30ca88f460c957e99ed28492e967070d39', class: "bq-tooltip--arrow", ref: (el) => {
|
|
208
270
|
this.arrow = el;
|
|
209
|
-
} })), index.h("slot", { key: '
|
|
271
|
+
} })), index.h("slot", { key: 'da5bc5041f93451b355f383add0a72891168b79d' }))));
|
|
210
272
|
}
|
|
211
273
|
static get watchers() { return {
|
|
212
274
|
"visible": [{
|
|
213
275
|
"handleVisibleChange": 0
|
|
214
276
|
}],
|
|
215
|
-
"
|
|
216
|
-
"
|
|
277
|
+
"alwaysVisible": [{
|
|
278
|
+
"handleAlwaysVisibleChange": 0
|
|
217
279
|
}],
|
|
218
|
-
"
|
|
280
|
+
"distance": [{
|
|
219
281
|
"handleFloatingUIOptionsChange": 0
|
|
220
282
|
}],
|
|
221
283
|
"placement": [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"bq-tooltip.cjs.entry.js","mappings":"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","names":["FloatingUI","event","isEventTargetChildOfElement","h"],"sources":["../../packages/beeq/src/components/tooltip/scss/bq-tooltip.scss?tag=bq-tooltip&encapsulation=shadow","../../packages/beeq/src/components/tooltip/bq-tooltip.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Tooltip styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-tooltip.variables';\n\n.bq-tooltip--panel {\n @include animation-fade-in;\n @apply pointer-events-none fixed z-[--bq-tooltip--z-index] box-border bg-[--bq-tooltip--background-color];\n @apply is-[--bq-tooltip--width] max-is-[--bq-tooltip--max-width] p-b-[--bq-tooltip--paddingY] p-i-[--bq-tooltip--paddingX];\n @apply text-[length:--bq-tooltip--font-size] leading-[--bq-tooltip--line-height] text-[color:--bq-tooltip--text-color];\n @apply rounded-[--bq-tooltip--border-radius] border-[length:--bq-tooltip--border-width] border-[color:--bq-tooltip--border-color];\n @apply shadow-[shadow:--bq-tooltip--box-shadow];\n}\n\n.bq-tooltip--arrow {\n &,\n &::before {\n @apply absolute -z-[1] bs-2 is-2;\n }\n\n &::before {\n @apply start-0 rotate-45 bg-[--bq-tooltip--background-color] content-empty inset-bs-0;\n }\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, h, Listen, Method, Prop, Watch } from '@stencil/core';\n\nimport type { Placement } from '../../services/interfaces';\nimport { FloatingUI } from '../../services/libraries';\nimport { isEventTargetChildOfElement } from '../../shared/utils';\n\n/**\n * The Tooltip component is a small pop-up box that appears when a user hovers over or clicks on an element, providing additional information or context.\n *\n * @example How to use it\n * ```html\n * <bq-tooltip visible>\n * Yuhu! I'm a tooltip 🙃\n * <bq-button slot=\"trigger\">Hover me!</bq-button>\n * </bq-tooltip>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/64c562-tooltip\n * @status stable\n *\n * @attr {boolean} always-visible - If true, the tooltip will always be visible\n * @attr {number} distance - Distance between trigger element and tooltip\n * @attr {boolean} hide-arrow - If true, the arrow on the tooltip content won't be shown\n * @attr {\"top\" | \"right\" | \"bottom\" | \"left\"} placement - Defines the position of the tooltip\n * @attr {boolean} same-width - Whether the tooltip should have the same width as the trigger element (applicable only for content shorter than the trigger element)\n * @attr {\"click\" | \"hover\"} display-on - Set the action when the tooltip should be displayed, on hover (default) or click\n * @attr {boolean} visible - Indicates whether or not the tooltip is visible when the component is first rendered, and when interacting with the trigger\n *\n * @method show - Shows the tooltip\n * @method hide - Hides the tooltip\n *\n * @slot trigger - The element which displays tooltip on hover\n * @slot - The tooltip content\n *\n * @part base - The component wrapper container inside the shadow DOM\n * @part trigger - The `<div>` container that holds the element which displays tooltip on hover\n * @part panel - The `<div>` container that holds the tooltip content\n *\n * @cssprop --bq-tooltip--background-color - Tooltip background color\n * @cssprop --bq-tooltip--box-shadow - Tooltip box shadow\n * @cssprop --bq-tooltip--font-size - Tooltip font size\n * @cssprop --bq-tooltip--line-height - Tooltip line height\n * @cssprop --bq-tooltip--text-color - Tooltip text color\n * @cssprop --bq-tooltip--paddingX - Tooltip horizontal padding\n * @cssprop --bq-tooltip--paddingY - Tooltip vertical padding\n * @cssprop --bq-tooltip--border-color - Tooltip border color\n * @cssprop --bq-tooltip--border-radius - Tooltip border radius\n * @cssprop --bq-tooltip--border-style - Tooltip border style\n * @cssprop --bq-tooltip--border-width - Tooltip border width\n * @cssprop --bq-tooltip--z-index: Tooltip z-index\n */\n@Component({\n tag: 'bq-tooltip',\n styleUrl: './scss/bq-tooltip.scss',\n shadow: true,\n})\nexport class BqTooltip {\n // Own Properties\n // ====================\n private trigger: HTMLElement;\n private panel: HTMLElement;\n private arrow: HTMLElement;\n private floatingUI: FloatingUI;\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqTooltipElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** If true, the tooltip will always be visible */\n @Prop() alwaysVisible?: boolean = false;\n\n /** Distance between trigger element and tooltip */\n @Prop({ reflect: true }) distance?: number = 10;\n\n /** If true, the arrow on the tooltip content won't be shown */\n @Prop({ reflect: true }) hideArrow?: boolean = false;\n\n /* Defines the position of the tooltip */\n @Prop({ reflect: true }) placement?: Placement = 'top';\n\n /** Whether the tooltip should have the same width as the trigger element\n * (applicable only for content shorter than the trigger element) */\n @Prop({ reflect: true }) sameWidth?: boolean = false;\n\n /** Set the action when the tooltip should be displayed, on hover (default) or click */\n @Prop({ reflect: true }) displayOn: 'click' | 'hover' = 'hover';\n\n /**\n * Indicates whether or not the tooltip is visible when the component is first rendered,\n * and when interacting with the trigger\n */\n @Prop({ reflect: true, mutable: true }) visible? = false;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('visible')\n async handleVisibleChange() {\n if (!this.visible && !this.alwaysVisible) {\n return await this.hide();\n }\n\n await this.show();\n }\n\n @Watch('distance')\n @Watch('hideArrow')\n @Watch('placement')\n @Watch('sameWidth')\n handleFloatingUIOptionsChange() {\n this.floatingUI.init({\n placement: this.placement,\n distance: this.distance,\n sameWidth: this.sameWidth,\n strategy: 'fixed',\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Emitted when the tooltip trigger is clicked */\n @Event() bqClick: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is focused in */\n @Event() bqFocusIn: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is focused out */\n @Event() bqFocusOut: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is hovered in */\n @Event() bqHoverIn: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is hovered out */\n @Event() bqHoverOut: EventEmitter<HTMLBqTooltipElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentDidLoad() {\n this.floatingUI = new FloatingUI(this.trigger, this.panel, {\n ...(!this.hideArrow && { arrow: this.arrow }),\n placement: this.placement,\n distance: this.distance,\n sameWidth: this.sameWidth,\n strategy: 'absolute',\n skidding: 0,\n });\n }\n\n disconnectedCallback() {\n this.floatingUI?.destroy();\n }\n\n // Listeners\n // ==============\n\n @Listen('keydown', { target: 'document' })\n handleDocumentKeyDown(event: KeyboardEvent) {\n // Early returns for performance optimization\n if (this.alwaysVisible || !this.visible || this.displayOn !== 'click') return;\n // Hide tooltip when the user presses the escape key, but only if the displayOn is click and the tooltip is visible\n if (event.key !== 'Escape') return;\n\n this.hide();\n }\n\n @Listen('mousedown', { target: 'document' })\n handleDocumentMouseDown(event: MouseEvent) {\n // Early returns for performance optimization\n if (this.alwaysVisible || !this.visible) return;\n // Hide tooltip when the user clicks outside of the tooltip, but only if the displayOn is click and the tooltip is visible\n if (isEventTargetChildOfElement(event, this.el)) return;\n\n this.hide();\n }\n\n @Listen('scroll', { target: 'document', passive: true, capture: true })\n handleDocumentScroll() {\n // Early returns for performance optimization\n if (this.alwaysVisible || !this.visible) return;\n // Hide tooltip when the user scrolls, but only if the the tooltip is visible\n this.hide();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Shows the tooltip */\n @Method()\n async show() {\n this.visible = true;\n this.showTooltip();\n }\n\n /** Hides the tooltip */\n @Method()\n async hide() {\n if (this.alwaysVisible) return;\n\n this.visible = false;\n this.hideTooltip();\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleTriggerMouseOver = async () => {\n if (this.displayOn !== 'hover') return;\n\n const hoverEvent = this.bqHoverIn.emit(this.el);\n if (hoverEvent.defaultPrevented) return;\n\n await this.show();\n };\n\n private handleTriggerMouseLeave = async () => {\n if (this.displayOn !== 'hover') return;\n\n const hoverEvent = this.bqHoverOut.emit(this.el);\n if (hoverEvent.defaultPrevented) return;\n\n await this.hide();\n };\n\n private handleTriggerOnClick = async () => {\n if (this.displayOn !== 'click') return;\n\n const clickEvent = this.bqClick.emit(this.el);\n if (clickEvent.defaultPrevented) return;\n\n await (this.visible ? this.hide() : this.show());\n };\n\n private handleTriggerFocusin = async () => {\n if (this.visible || this.displayOn === 'click') return;\n\n const focusEvent = this.bqFocusIn.emit(this.el);\n if (focusEvent.defaultPrevented) return;\n\n await this.show();\n };\n\n private handleTriggerFocusout = async () => {\n if (!this.visible || this.displayOn === 'click') return;\n\n const focusEvent = this.bqFocusOut.emit(this.el);\n if (focusEvent.defaultPrevented) return;\n\n await this.hide();\n };\n\n private showTooltip = () => {\n if (!this.panel) return;\n this.floatingUI?.update();\n };\n\n private hideTooltip = () => {\n if (!this.panel) return;\n this.visible = false;\n };\n\n private get isHidden() {\n return !this.visible && !this.alwaysVisible;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-tooltip relative\" part=\"base\">\n {/* TRIGGER */}\n {/**\n * NOTE: We could use a native HTML button as trigger container, but it causes issues with\n * certain interactive elements inside the trigger slot (e.g., buttons, links, inputs...).\n * This is because nested interactive elements are not allowed inside a button.\n * Also, that will force the user to focus twice to reach the inner interactive element.\n */}\n {/** biome-ignore lint/a11y/noStaticElementInteractions: bypass the \"Static Elements should not be interactive.\" rule */}\n {/** biome-ignore lint/a11y/useKeyWithClickEvents: bypass the \"Enforce to have the onClick mouse event with the onKeyUp, the onKeyDown, or the onKeyPress keyboard event.\" rule */}\n <div\n class=\"bq-tooltip--trigger\"\n onClick={this.handleTriggerOnClick}\n onFocusin={this.handleTriggerFocusin}\n onFocusout={this.handleTriggerFocusout}\n onMouseEnter={this.handleTriggerMouseOver}\n onMouseLeave={this.handleTriggerMouseLeave}\n part=\"trigger\"\n ref={(el: HTMLDivElement) => {\n this.trigger = el;\n }}\n >\n <slot name=\"trigger\" />\n </div>\n {/* PANEL */}\n <div\n aria-hidden={this.isHidden}\n class=\"bq-tooltip--panel\"\n hidden={this.isHidden}\n part=\"panel\"\n ref={(el: HTMLDivElement) => {\n this.panel = el;\n }}\n role=\"tooltip\"\n >\n {!this.hideArrow && (\n <div\n class=\"bq-tooltip--arrow\"\n ref={(el: HTMLDivElement) => {\n this.arrow = el;\n }}\n />\n )}\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"bq-tooltip.cjs.entry.js","mappings":"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","names":["isPopoverSupported","FloatingUI","event","isEventTargetChildOfElement","h"],"sources":["../../packages/beeq/src/components/tooltip/scss/bq-tooltip.scss?tag=bq-tooltip&encapsulation=shadow","../../packages/beeq/src/components/tooltip/bq-tooltip.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Tooltip styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-tooltip.variables';\n\n.bq-tooltip--panel {\n @include animation-fade-in;\n @apply pointer-events-none fixed z-[--bq-tooltip--z-index] box-border bg-[--bq-tooltip--background-color];\n @apply is-[--bq-tooltip--width] max-is-[--bq-tooltip--max-width] p-b-[--bq-tooltip--paddingY] p-i-[--bq-tooltip--paddingX];\n @apply text-[length:--bq-tooltip--font-size] leading-[--bq-tooltip--line-height] text-[color:--bq-tooltip--text-color];\n @apply rounded-[--bq-tooltip--border-radius] border-[length:--bq-tooltip--border-width] border-[color:--bq-tooltip--border-color];\n @apply shadow-[shadow:--bq-tooltip--box-shadow];\n\n border-style: var(--bq-tooltip--border-style);\n\n &[popover] {\n @apply absolute m-0 overflow-visible inset-[unset];\n }\n}\n\n.bq-tooltip--arrow {\n &,\n &::before {\n @apply absolute -z-[1] bs-2 is-2;\n }\n\n &::before {\n @apply start-0 rotate-45 bg-[--bq-tooltip--background-color] content-empty inset-bs-0;\n }\n}\n","import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, h, Listen, Method, Prop, Watch } from '@stencil/core';\n\nimport type { Placement } from '../../services/interfaces';\nimport { FloatingUI } from '../../services/libraries';\nimport { isEventTargetChildOfElement, isPopoverSupported } from '../../shared/utils';\n\n/**\n * The Tooltip component is a small pop-up box that appears when a user hovers over or clicks on an element, providing additional information or context.\n *\n * @example How to use it\n * ```html\n * <bq-tooltip visible>\n * Yuhu! I'm a tooltip 🙃\n * <bq-button slot=\"trigger\">Hover me!</bq-button>\n * </bq-tooltip>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/64c562-tooltip\n * @status stable\n *\n * @attr {boolean} always-visible - If true, the tooltip will always be visible\n * @attr {number} distance - Distance between trigger element and tooltip\n * @attr {boolean} hide-arrow - If true, the arrow on the tooltip content won't be shown\n * @attr {\"top\" | \"right\" | \"bottom\" | \"left\"} placement - Defines the position of the tooltip\n * @attr {boolean} same-width - Whether the tooltip should have the same width as the trigger element (applicable only for content shorter than the trigger element)\n * @attr {\"click\" | \"hover\"} display-on - Set the action when the tooltip should be displayed, on hover (default) or click\n * @attr {boolean} visible - Indicates whether or not the tooltip is visible when the component is first rendered, and when interacting with the trigger\n *\n * @method show - Shows the tooltip\n * @method hide - Hides the tooltip\n *\n * @slot trigger - The element which displays tooltip on hover\n * @slot - The tooltip content\n *\n * @part base - The component wrapper container inside the shadow DOM\n * @part trigger - The `<div>` container that holds the element which displays tooltip on hover\n * @part panel - The `<div>` container that holds the tooltip content\n *\n * @cssprop --bq-tooltip--background-color - Tooltip background color\n * @cssprop --bq-tooltip--box-shadow - Tooltip box shadow\n * @cssprop --bq-tooltip--font-size - Tooltip font size\n * @cssprop --bq-tooltip--line-height - Tooltip line height\n * @cssprop --bq-tooltip--text-color - Tooltip text color\n * @cssprop --bq-tooltip--paddingX - Tooltip horizontal padding\n * @cssprop --bq-tooltip--paddingY - Tooltip vertical padding\n * @cssprop --bq-tooltip--border-color - Tooltip border color\n * @cssprop --bq-tooltip--border-radius - Tooltip border radius\n * @cssprop --bq-tooltip--border-style - Tooltip border style\n * @cssprop --bq-tooltip--border-width - Tooltip border width\n * @cssprop --bq-tooltip--z-index: Tooltip z-index\n */\n@Component({\n tag: 'bq-tooltip',\n styleUrl: './scss/bq-tooltip.scss',\n shadow: true,\n})\nexport class BqTooltip {\n // Own Properties\n // ====================\n private trigger: HTMLElement;\n private panel: HTMLElement;\n private arrow: HTMLElement;\n private floatingUI: FloatingUI;\n /**\n * Whether the runtime supports the HTML Popover API. When `true`, the\n * panel is promoted to the browser top layer via `showPopover()`, which\n * bypasses containing blocks created by ancestor `transform`, `filter`,\n * `contain`, `will-change`, etc. When `false`, the panel remains a\n * regular `position: fixed` element in the shadow root, which still\n * covers the common case but is subject to those containing-block\n * quirks.\n */\n private readonly supportsPopover = isPopoverSupported();\n\n // Reference to host HTML element\n // ===================================\n @Element() el!: HTMLBqTooltipElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** If true, the tooltip will always be visible */\n @Prop() alwaysVisible?: boolean = false;\n\n /** Distance between trigger element and tooltip */\n @Prop({ reflect: true }) distance?: number = 10;\n\n /** If true, the arrow on the tooltip content won't be shown */\n @Prop({ reflect: true }) hideArrow?: boolean = false;\n\n /* Defines the position of the tooltip */\n @Prop({ reflect: true }) placement?: Placement = 'top';\n\n /** Whether the tooltip should have the same width as the trigger element\n * (applicable only for content shorter than the trigger element) */\n @Prop({ reflect: true }) sameWidth?: boolean = false;\n\n /** Set the action when the tooltip should be displayed, on hover (default) or click */\n @Prop({ reflect: true }) displayOn: 'click' | 'hover' = 'hover';\n\n /**\n * Indicates whether or not the tooltip is visible when the component is first rendered,\n * and when interacting with the trigger\n */\n @Prop({ reflect: true, mutable: true }) visible? = false;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('visible')\n async handleVisibleChange() {\n if (!this.visible && !this.alwaysVisible) {\n return await this.hide();\n }\n\n await this.show();\n }\n\n @Watch('alwaysVisible')\n handleAlwaysVisibleChange() {\n if (this.alwaysVisible || this.visible) {\n this.showTooltip();\n return;\n }\n this.hideTooltip();\n }\n\n @Watch('distance')\n @Watch('placement')\n @Watch('sameWidth')\n handleFloatingUIOptionsChange() {\n this.floatingUI?.configure({\n ...(!this.hideArrow && { arrow: this.arrow }),\n placement: this.placement,\n distance: this.distance,\n sameWidth: this.sameWidth,\n strategy: this.floatingStrategy,\n skidding: 0,\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Emitted when the tooltip trigger is clicked */\n @Event() bqClick: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is focused in */\n @Event() bqFocusIn: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is focused out */\n @Event() bqFocusOut: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is hovered in */\n @Event() bqHoverIn: EventEmitter<HTMLBqTooltipElement>;\n\n /** Emitted when the tooltip trigger is hovered out */\n @Event() bqHoverOut: EventEmitter<HTMLBqTooltipElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentDidLoad() {\n // Promote the panel to the top layer when the Popover API is available.\n // This escapes containing blocks created by ancestor `transform`,\n // `filter`, `contain`, `will-change`, etc., which is the root cause of\n // scroll-related tooltip drift inside virtualised or transformed\n // containers (e.g. tall tables, dialogs). We use `manual` mode so BEEQ\n // keeps full control of show/hide semantics (delegated close, focus,\n // Escape) instead of the browser's `auto` light-dismiss behaviour.\n if (this.supportsPopover) {\n this.panel.popover = 'manual';\n }\n\n this.floatingUI = new FloatingUI(this.trigger, this.panel, {\n ...(!this.hideArrow && { arrow: this.arrow }),\n placement: this.placement,\n distance: this.distance,\n sameWidth: this.sameWidth,\n strategy: this.floatingStrategy,\n skidding: 0,\n });\n\n // Honour the initial `visible` / `always-visible` props. Stencil's\n // `@Watch('visible')` does not fire for the initial value, so components\n // rendered with `visible` already true (or `always-visible`) would\n // otherwise stay hidden — in the Popover path because `showPopover()`\n // is only called from `show()`, and in the fallback path because the\n // panel's `hidden` attribute reflects the state at first render but\n // Floating UI would not have run a first positioning pass. Calling\n // `showTooltip()` here guarantees a consistent first paint.\n if (this.visible || this.alwaysVisible) {\n this.showTooltip();\n }\n }\n\n componentDidRender() {\n const arrow = this.hideArrow ? null : this.arrow;\n if (!this.floatingUI || this.floatingUI.options.arrow === arrow) return;\n this.floatingUI.configure({ arrow });\n }\n\n connectedCallback() {\n if (!this.floatingUI || (!this.visible && !this.alwaysVisible)) return;\n this.showTooltip();\n }\n\n disconnectedCallback() {\n this.floatingUI?.stop();\n }\n\n // Listeners\n // ==============\n\n @Listen('keydown', { target: 'document' })\n handleDocumentKeyDown(event: KeyboardEvent) {\n // Early returns for performance optimization\n if (this.alwaysVisible || !this.visible || this.displayOn !== 'click') return;\n // Hide tooltip when the user presses the escape key, but only if the displayOn is click and the tooltip is visible\n if (event.key !== 'Escape') return;\n\n this.hide();\n }\n\n @Listen('mousedown', { target: 'document' })\n handleDocumentMouseDown(event: MouseEvent) {\n // Early returns for performance optimization\n if (this.alwaysVisible || !this.visible) return;\n // Hide tooltip when the user clicks outside of the tooltip, but only if the displayOn is click and the tooltip is visible\n if (isEventTargetChildOfElement(event, this.el)) return;\n\n this.hide();\n }\n\n @Listen('scroll', { target: 'document', passive: true, capture: true })\n handleDocumentScroll() {\n // Early returns for performance optimization\n if (this.alwaysVisible || !this.visible) return;\n // Hide tooltip when the user scrolls, but only if the the tooltip is visible\n this.hide();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Shows the tooltip */\n @Method()\n async show() {\n this.visible = true;\n this.showTooltip();\n }\n\n /** Hides the tooltip */\n @Method()\n async hide() {\n if (this.alwaysVisible) return;\n\n this.visible = false;\n this.hideTooltip();\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleTriggerMouseOver = async () => {\n if (this.displayOn !== 'hover') return;\n\n const hoverEvent = this.bqHoverIn.emit(this.el);\n if (hoverEvent.defaultPrevented) return;\n\n await this.show();\n };\n\n private handleTriggerMouseLeave = async () => {\n if (this.displayOn !== 'hover') return;\n\n const hoverEvent = this.bqHoverOut.emit(this.el);\n if (hoverEvent.defaultPrevented) return;\n\n await this.hide();\n };\n\n private handleTriggerOnClick = async () => {\n if (this.displayOn !== 'click') return;\n\n const clickEvent = this.bqClick.emit(this.el);\n if (clickEvent.defaultPrevented) return;\n\n await (this.visible ? this.hide() : this.show());\n };\n\n private handleTriggerFocusin = async () => {\n if (this.visible || this.displayOn === 'click') return;\n\n const focusEvent = this.bqFocusIn.emit(this.el);\n if (focusEvent.defaultPrevented) return;\n\n await this.show();\n };\n\n private handleTriggerFocusout = async () => {\n if (!this.visible || this.displayOn === 'click') return;\n\n const focusEvent = this.bqFocusOut.emit(this.el);\n if (focusEvent.defaultPrevented) return;\n\n await this.hide();\n };\n\n private showTooltip = () => {\n if (!this.panel) return;\n if (this.supportsPopover && !this.panel.matches(':popover-open')) {\n this.panel.showPopover();\n }\n this.floatingUI?.start();\n };\n\n private hideTooltip = () => {\n if (!this.panel) return;\n this.floatingUI?.stop();\n if (this.supportsPopover && this.panel.matches(':popover-open')) {\n this.panel.hidePopover();\n }\n this.visible = false;\n };\n\n private get floatingStrategy(): 'absolute' | 'fixed' {\n return this.supportsPopover ? 'absolute' : 'fixed';\n }\n\n private get isHidden() {\n return !this.visible && !this.alwaysVisible;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-tooltip relative\" part=\"base\">\n {/* TRIGGER */}\n {/**\n * NOTE: We could use a native HTML button as trigger container, but it causes issues with\n * certain interactive elements inside the trigger slot (e.g., buttons, links, inputs...).\n * This is because nested interactive elements are not allowed inside a button.\n * Also, that will force the user to focus twice to reach the inner interactive element.\n */}\n {/** biome-ignore lint/a11y/noStaticElementInteractions: bypass the \"Static Elements should not be interactive.\" rule */}\n {/** biome-ignore lint/a11y/useKeyWithClickEvents: bypass the \"Enforce to have the onClick mouse event with the onKeyUp, the onKeyDown, or the onKeyPress keyboard event.\" rule */}\n <div\n class=\"bq-tooltip--trigger\"\n onClick={this.handleTriggerOnClick}\n onFocusin={this.handleTriggerFocusin}\n onFocusout={this.handleTriggerFocusout}\n onMouseEnter={this.handleTriggerMouseOver}\n onMouseLeave={this.handleTriggerMouseLeave}\n part=\"trigger\"\n ref={(el: HTMLDivElement) => {\n this.trigger = el;\n }}\n >\n <slot name=\"trigger\" />\n </div>\n {/* PANEL */}\n {/*\n * When the Popover API is supported, visibility is driven imperatively\n * via `showPopover()` / `hidePopover()`. Setting `hidden={true}` in that\n * mode would force `display: none`, which makes `showPopover()` throw\n * an `InvalidStateError`. In the fallback path we keep the `hidden`\n * attribute so consumers without the Popover API keep the original\n * visibility behaviour.\n */}\n <div\n aria-hidden={String(this.isHidden)}\n class=\"bq-tooltip--panel\"\n hidden={this.supportsPopover ? undefined : this.isHidden}\n part=\"panel\"\n ref={(el: HTMLDivElement) => {\n this.panel = el;\n }}\n role=\"tooltip\"\n >\n {!this.hideArrow && (\n <div\n class=\"bq-tooltip--arrow\"\n ref={(el: HTMLDivElement) => {\n this.arrow = el;\n }}\n />\n )}\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|