infinity-ui-elements 1.2.0 → 1.2.2

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.
@@ -1,6 +1,5 @@
1
1
  import * as React from "react";
2
2
  declare const tooltipVariants: (props?: ({
3
- placement?: "top-start" | "top" | "top-end" | "bottom-start" | "bottom" | "bottom-end" | null | undefined;
4
3
  isVisible?: boolean | null | undefined;
5
4
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
6
5
  export interface TooltipProps {
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,QAAA,MAAM,eAAe;;;mFAsBpB,CAAC;AA0BF,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EACN,WAAW,GACX,KAAK,GACL,SAAS,GACT,cAAc,GACd,QAAQ,GACR,YAAY,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,OAAO,qFAsHZ,CAAC;AAIF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,QAAA,MAAM,eAAe;;mFAapB,CAAC;AA0BF,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EACN,WAAW,GACX,KAAK,GACL,SAAS,GACT,cAAc,GACd,QAAQ,GACR,YAAY,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,OAAO,qFAkRZ,CAAC;AAIF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -14,4 +14,5 @@ export declare const InstantTooltip: Story;
14
14
  export declare const Disabled: Story;
15
15
  export declare const DifferentTriggers: Story;
16
16
  export declare const Interactive: Story;
17
+ export declare const EdgeCases: Story;
17
18
  //# sourceMappingURL=Tooltip.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CA0B9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,OAAO,EAAE,KAerB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAa5B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAgBtB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KA0D3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAezB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAezB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAe5B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAetB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAwC/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KA8BzB,CAAC"}
1
+ {"version":3,"file":"Tooltip.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CA0B9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,OAAO,EAAE,KAarB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAW5B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KActB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KA0D3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAY1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAazB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAazB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAa5B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAatB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAwC/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KA4BzB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KA2DvB,CAAC"}
package/dist/index.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-500:oklch(63.7% .237 25.331);--color-teal-50:#e8eff1;--color-teal-100:#b9cdd2;--color-teal-300:#67939e;--color-teal-400:#497e8b;--color-teal-500:#1c5e6e;--color-teal-600:#195664;--color-teal-700:#14434e;--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-neutral-50:#c1c4c5;--color-neutral-100:#7a8081;--color-neutral-400:#50585a;--color-neutral-600:#343e40;--color-neutral-700:#232e30;--color-neutral-800:#142022;--color-neutral-900:#081416;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-blue-night-50:#e6e9ea;--color-blue-night-300:#5a6e73;--color-blue-night-500:#09262e;--color-blue-night-600:#08232a;--color-teal-900-18:#1c5e6e2e;--color-grove-50:#ebf6f2;--color-grove-100:#c1e3d6;--color-grove-200:#a3d6c3;--color-grove-300:#78c3a7;--color-grove-400:#5eb796;--color-grove-500:#36a57c;--color-grove-600:#319671;--color-grove-700:#267558;--color-brick-50:#faeceb;--color-brick-200:#e6a7a1;--color-brick-300:#da7e76;--color-brick-400:#d3655b;--color-brick-500:#c83f32;--color-brick-600:#b6392e;--color-brick-700:#8e2d24;--color-ember-50:#fdf5eb;--color-ember-200:#f4d1a2;--color-ember-300:#f0bc78;--color-ember-400:#edaf5d;--color-ember-500:#e89b35;--color-ember-600:#d38d30;--color-ember-700:#a56e26;--color-horizon-50:#ecf2f6;--color-horizon-200:#a5c4d4;--color-horizon-300:#7ca9c0;--color-horizon-400:#6398b4;--color-horizon-500:#3c7ea1;--color-horizon-600:#377393;--color-horizon-700:#2b5972;--color-neutral-00:#fff;--color-neutral-10:#fafafa;--color-neutral-20:#f5f6f6;--color-neutral-30:#ebecec;--color-neutral-60:#b2b6b7;--color-neutral-70:#a6aaab;--color-neutral-80:#979c9d;--color-surface-ink-neutral-normal:var(--color-neutral-900);--color-surface-ink-neutral-subtle:var(--color-neutral-700);--color-surface-ink-neutral-muted:var(--color-neutral-100);--color-surface-ink-neutral-disabled:var(--color-neutral-50);--color-surface-ink-primary-normal:var(--color-teal-500);--color-action-fill-positive-default:var(--color-grove-500);--color-action-fill-positive-hover:var(--color-grove-700);--color-action-fill-positive-faded:var(--color-grove-50);--color-action-fill-negative-default:var(--color-brick-500);--color-action-fill-negative-hover:var(--color-brick-700);--color-action-fill-negative-disabled:var(--color-brick-50);--color-action-fill-negative-faded:var(--color-brick-50);--color-action-fill-notice-default:var(--color-ember-500);--color-action-fill-notice-hover:var(--color-ember-700);--color-action-fill-notice-disabled:var(--color-ember-50);--color-action-fill-notice-faded:var(--color-ember-50);--color-action-fill-info-default:var(--color-horizon-500);--color-action-fill-info-hover:var(--color-horizon-700);--color-action-fill-info-disabled:var(--color-horizon-50);--color-action-fill-info-faded:var(--color-horizon-50);--color-action-fill-neutral-default:var(--color-neutral-600);--color-action-fill-neutral-hover:var(--color-neutral-800);--color-action-fill-neutral-disabled:var(--color-neutral-50);--color-action-fill-neutral-faded:var(--color-neutral-50);--color-action-fill-primary-default:var(--color-teal-500);--color-action-fill-primary-hover:var(--color-teal-700);--color-action-fill-primary-disabled:var(--color-teal-50);--color-action-fill-primary-faded:var(--color-teal-50);--color-action-outline-positive-disabled:var(--color-grove-200);--color-action-outline-positive-faded:var(--color-grove-200);--color-action-outline-positive-faded-hover:var(--color-grove-300);--color-action-outline-negative-disabled:var(--color-brick-50);--color-action-outline-negative-faded:var(--color-brick-200);--color-action-outline-negative-faded-hover:var(--color-brick-300);--color-action-outline-notice-disabled:var(--color-ember-50);--color-action-outline-notice-faded:var(--color-ember-200);--color-action-outline-notice-faded-hover:var(--color-ember-300);--color-action-outline-info-disabled:var(--color-horizon-50);--color-action-outline-info-faded:var(--color-horizon-200);--color-action-outline-info-faded-hover:var(--color-horizon-300);--color-action-outline-neutral-faded:var(--color-neutral-70);--color-action-outline-neutral-faded-hover:var(--color-neutral-80);--color-action-ink-positive-normal:var(--color-grove-700);--color-action-ink-negative-normal:var(--color-brick-600);--color-action-ink-negative-disabled:var(--color-brick-200);--color-action-ink-notice-normal:var(--color-ember-600);--color-action-ink-notice-disabled:var(--color-ember-200);--color-action-ink-info-normal:var(--color-horizon-700);--color-action-ink-info-disabled:var(--color-horizon-200);--color-action-ink-neutral-normal:var(--color-neutral-900);--color-action-ink-neutral-disabled:var(--color-neutral-60);--color-action-ink-primary-normal:var(--color-teal-600);--color-action-ink-primary-disabled:var(--color-teal-100);--color-action-ink-on-primary-normal:var(--color-neutral-00);--color-action-ink-on-primary-muted:var(--color-neutral-60);--color-popup-fill-intense:var(--color-blue-night-600);--color-popup-outline-subtle:var(--color-teal-900-18);--spacing-0:0px;--spacing-2:4px;--spacing-3:8px;--spacing-4:12px;--spacing-5:16px;--spacing-6:20px;--spacing-7:24px;--spacing-8:32px;--spacing-9:40px;--spacing-10:48px;--radius-medium:4px;--radius-xlarge:8px;--font-functional:"Clash Grotesk",system-ui,sans-serif;--font-display:"Switzer",system-ui,sans-serif;--text-25:10px;--text-50:11px;--text-75:12px;--text-100:14px;--text-200:16px;--text-300:18px;--text-400:20px;--text-500:24px;--text-600:32px;--text-700:40px;--text-800:48px;--text-900:56px;--text-1000:64px;--text-1100:72px;--leading-00:0px;--leading-25:14px;--leading-50:16px;--leading-75:18px;--leading-100:20px;--leading-200:24px;--leading-300:24px;--leading-400:26px;--leading-500:32px;--leading-600:38px;--leading-700:46px;--leading-800:56px;--leading-900:64px;--leading-1000:70px;--leading-1100:78px;--paragraph-spacing-100:8px;--paragraph-spacing-200:10px;--paragraph-spacing-300:11px;--paragraph-spacing-400:12px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn-primary{background-color:var(--color-blue-night-500)}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.top-full{top:100%}.right-0{right:var(--spacing-0)}.right-4{right:var(--spacing-4)}.bottom-full{bottom:100%}.left-0{left:var(--spacing-0)}.left-1\/2{left:50%}.left-4{left:var(--spacing-4)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-2{margin-top:var(--spacing-2)}.mr-2{margin-right:var(--spacing-2)}.mb-0{margin-bottom:var(--spacing-0)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-\[var\(--paragraph-spacing-100\)\]{margin-bottom:var(--paragraph-spacing-100)}.mb-\[var\(--paragraph-spacing-200\)\]{margin-bottom:var(--paragraph-spacing-200)}.mb-\[var\(--paragraph-spacing-300\)\]{margin-bottom:var(--paragraph-spacing-300)}.mb-\[var\(--paragraph-spacing-400\)\]{margin-bottom:var(--paragraph-spacing-400)}.flex{display:flex}.inline{display:inline}.inline-block{display:inline-block}.aspect-square{aspect-ratio:1}.h-0{height:var(--spacing-0)}.h-3{height:var(--spacing-3)}.h-4{height:var(--spacing-4)}.h-5{height:var(--spacing-5)}.h-7{height:var(--spacing-7)}.h-8{height:var(--spacing-8)}.h-9{height:var(--spacing-9)}.h-10{height:var(--spacing-10)}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-\[600px\]{min-height:600px}.w-0{width:var(--spacing-0)}.w-3{width:var(--spacing-3)}.w-4{width:var(--spacing-4)}.w-5{width:var(--spacing-5)}.w-7{width:var(--spacing-7)}.w-8{width:var(--spacing-8)}.w-9{width:var(--spacing-9)}.w-10{width:var(--spacing-10)}.w-\[500px\]{width:500px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[300px\]{max-width:300px}.min-w-\[200px\]{min-width:200px}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.gap-12{gap:calc(var(--spacing)*12)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing-4)*var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing-4)*calc(1 - var(--tw-space-y-reverse)))}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-medium{border-radius:var(--radius-medium)}.rounded-xlarge{border-radius:var(--radius-xlarge)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}.border-solid{--tw-border-style:solid;border-style:solid}.border-action-outline-info-faded{border-color:var(--color-action-outline-info-faded)}.border-action-outline-negative-faded{border-color:var(--color-action-outline-negative-faded)}.border-action-outline-neutral-faded{border-color:var(--color-action-outline-neutral-faded)}.border-action-outline-notice-faded{border-color:var(--color-action-outline-notice-faded)}.border-action-outline-positive-faded{border-color:var(--color-action-outline-positive-faded)}.border-popup-outline-subtle{border-color:var(--color-popup-outline-subtle)}.border-x-transparent{border-inline-color:#0000}.border-t-popup-fill-intense{border-top-color:var(--color-popup-fill-intense)}.border-t-transparent{border-top-color:#0000}.border-b-popup-fill-intense{border-bottom-color:var(--color-popup-fill-intense)}.border-b-transparent{border-bottom-color:#0000}.bg-action-fill-info-default{background-color:var(--color-action-fill-info-default)}.bg-action-fill-negative-default{background-color:var(--color-action-fill-negative-default)}.bg-action-fill-neutral-default{background-color:var(--color-action-fill-neutral-default)}.bg-action-fill-notice-default{background-color:var(--color-action-fill-notice-default)}.bg-action-fill-positive-default{background-color:var(--color-action-fill-positive-default)}.bg-action-fill-primary-default{background-color:var(--color-action-fill-primary-default)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-popup-fill-intense{background-color:var(--color-popup-fill-intense)}.p-0{padding:var(--spacing-0)}.p-2{padding:var(--spacing-2)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.px-3{padding-inline:var(--spacing-3)}.px-4{padding-inline:var(--spacing-4)}.px-6{padding-inline:var(--spacing-6)}.py-2{padding-block:var(--spacing-2)}.py-12{padding-block:calc(var(--spacing)*12)}.text-50{font-size:var(--text-50)}.leading-25{--tw-leading:var(--leading-25);line-height:var(--leading-25)}.leading-50{--tw-leading:var(--leading-50);line-height:var(--leading-50)}.leading-75{--tw-leading:var(--leading-75);line-height:var(--leading-75)}.leading-100{--tw-leading:var(--leading-100);line-height:var(--leading-100)}.leading-200{--tw-leading:var(--leading-200);line-height:var(--leading-200)}.leading-300{--tw-leading:var(--leading-300);line-height:var(--leading-300)}.leading-400{--tw-leading:var(--leading-400);line-height:var(--leading-400)}.leading-500{--tw-leading:var(--leading-500);line-height:var(--leading-500)}.leading-600{--tw-leading:var(--leading-600);line-height:var(--leading-600)}.leading-700{--tw-leading:var(--leading-700);line-height:var(--leading-700)}.leading-800{--tw-leading:var(--leading-800);line-height:var(--leading-800)}.leading-900{--tw-leading:var(--leading-900);line-height:var(--leading-900)}.leading-1000{--tw-leading:var(--leading-1000);line-height:var(--leading-1000)}.leading-1100{--tw-leading:var(--leading-1100);line-height:var(--leading-1100)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\%\]{--tw-tracking:0%;letter-spacing:0%}.whitespace-nowrap{white-space:nowrap}.text-action-ink-info-normal{color:var(--color-action-ink-info-normal)}.text-action-ink-negative-normal{color:var(--color-action-ink-negative-normal)}.text-action-ink-neutral-normal{color:var(--color-action-ink-neutral-normal)}.text-action-ink-notice-normal{color:var(--color-action-ink-notice-normal)}.text-action-ink-on-primary-normal{color:var(--color-action-ink-on-primary-normal)}.text-action-ink-positive-normal{color:var(--color-action-ink-positive-normal)}.text-action-ink-primary-normal{color:var(--color-action-ink-primary-normal)}.text-red-500{color:var(--color-red-500)}.text-surface-ink-neutral-disabled{color:var(--color-surface-ink-neutral-disabled)}.text-surface-ink-neutral-muted{color:var(--color-surface-ink-neutral-muted)}.text-surface-ink-neutral-normal{color:var(--color-surface-ink-neutral-normal)}.text-surface-ink-neutral-subtle{color:var(--color-surface-ink-neutral-subtle)}.text-surface-ink-primary-normal{color:var(--color-surface-ink-primary-normal)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.hover\:border-action-outline-info-faded-hover:hover{border-color:var(--color-action-outline-info-faded-hover)}.hover\:border-action-outline-negative-faded-hover:hover{border-color:var(--color-action-outline-negative-faded-hover)}.hover\:border-action-outline-notice-faded-hover:hover{border-color:var(--color-action-outline-notice-faded-hover)}.hover\:border-action-outline-positive-faded-hover:hover{border-color:var(--color-action-outline-positive-faded-hover)}.hover\:bg-action-fill-info-faded:hover{background-color:var(--color-action-fill-info-faded)}.hover\:bg-action-fill-info-hover:hover{background-color:var(--color-action-fill-info-hover)}.hover\:bg-action-fill-negative-faded:hover{background-color:var(--color-action-fill-negative-faded)}.hover\:bg-action-fill-negative-hover:hover{background-color:var(--color-action-fill-negative-hover)}.hover\:bg-action-fill-neutral-faded:hover{background-color:var(--color-action-fill-neutral-faded)}.hover\:bg-action-fill-neutral-hover:hover{background-color:var(--color-action-fill-neutral-hover)}.hover\:bg-action-fill-notice-faded:hover{background-color:var(--color-action-fill-notice-faded)}.hover\:bg-action-fill-notice-hover:hover{background-color:var(--color-action-fill-notice-hover)}.hover\:bg-action-fill-positive-faded:hover{background-color:var(--color-action-fill-positive-faded)}.hover\:bg-action-fill-positive-hover:hover{background-color:var(--color-action-fill-positive-hover)}.hover\:bg-action-fill-primary-faded:hover{background-color:var(--color-action-fill-primary-faded)}.hover\:bg-action-fill-primary-hover:hover{background-color:var(--color-action-fill-primary-hover)}.hover\:bg-action-outline-neutral-faded-hover:hover{background-color:var(--color-action-outline-neutral-faded-hover)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:bg-action-fill-info-disabled:disabled{background-color:var(--color-action-fill-info-disabled)}.disabled\:bg-action-fill-negative-disabled:disabled{background-color:var(--color-action-fill-negative-disabled)}.disabled\:bg-action-fill-neutral-disabled:disabled{background-color:var(--color-action-fill-neutral-disabled)}.disabled\:bg-action-fill-notice-disabled:disabled{background-color:var(--color-action-fill-notice-disabled)}.disabled\:bg-action-fill-primary-disabled:disabled{background-color:var(--color-action-fill-primary-disabled)}.disabled\:bg-action-outline-info-disabled:disabled{background-color:var(--color-action-outline-info-disabled)}.disabled\:bg-action-outline-negative-disabled:disabled{background-color:var(--color-action-outline-negative-disabled)}.disabled\:bg-action-outline-notice-disabled:disabled{background-color:var(--color-action-outline-notice-disabled)}.disabled\:bg-action-outline-positive-disabled:disabled{background-color:var(--color-action-outline-positive-disabled)}.disabled\:text-action-ink-info-disabled:disabled{color:var(--color-action-ink-info-disabled)}.disabled\:text-action-ink-negative-disabled:disabled{color:var(--color-action-ink-negative-disabled)}.disabled\:text-action-ink-neutral-disabled:disabled{color:var(--color-action-ink-neutral-disabled)}.disabled\:text-action-ink-notice-disabled:disabled{color:var(--color-action-ink-notice-disabled)}.disabled\:text-action-ink-on-primary-muted:disabled{color:var(--color-action-ink-on-primary-muted)}.disabled\:text-action-ink-primary-disabled:disabled{color:var(--color-action-ink-primary-disabled)}@media (min-width:48rem){.md\:h-\[28px\]{height:28px}.md\:h-\[32px\]{height:32px}.md\:h-\[36px\]{height:36px}.md\:h-\[44px\]{height:44px}}.font-functional{font-family:var(--font-functional)}.font-display{font-family:var(--font-display)}.font-size-25{font-size:var(--text-25)}.font-size-50{font-size:var(--text-50)}.font-size-75{font-size:var(--text-75)}.font-size-100{font-size:var(--text-100)}.font-size-200{font-size:var(--text-200)}.font-size-300{font-size:var(--text-300)}.font-size-400{font-size:var(--text-400)}.font-size-500{font-size:var(--text-500)}.font-size-600{font-size:var(--text-600)}.font-size-700{font-size:var(--text-700)}.font-size-800{font-size:var(--text-800)}.font-size-900{font-size:var(--text-900)}.font-size-1000{font-size:var(--text-1000)}.font-size-1100{font-size:var(--text-1100)}.leading-00{line-height:var(--leading-00)}.leading-25{line-height:var(--leading-25)}.leading-50{line-height:var(--leading-50)}.leading-75{line-height:var(--leading-75)}.leading-100{line-height:var(--leading-100)}.leading-200{line-height:var(--leading-200)}.leading-300{line-height:var(--leading-300)}.leading-400{line-height:var(--leading-400)}.leading-500{line-height:var(--leading-500)}.leading-600{line-height:var(--leading-600)}.leading-700{line-height:var(--leading-700)}.leading-800{line-height:var(--leading-800)}.leading-900{line-height:var(--leading-900)}.leading-1000{line-height:var(--leading-1000)}.leading-1100{line-height:var(--leading-1100)}}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Variable.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Variable.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Variable.ttf)format("truetype");font-weight:200 700;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Extralight.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Extralight.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Extralight.ttf)format("truetype");font-weight:200;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Light.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Light.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Light.ttf)format("truetype");font-weight:300;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Regular.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Regular.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Regular.ttf)format("truetype");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Medium.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Medium.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Medium.ttf)format("truetype");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Semibold.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Semibold.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Semibold.ttf)format("truetype");font-weight:600;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Bold.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Bold.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Bold.ttf)format("truetype");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Variable.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Variable.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Variable.ttf)format("truetype");font-weight:100 900;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-VariableItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-VariableItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-VariableItalic.ttf)format("truetype");font-weight:100 900;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Thin.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Thin.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Thin.ttf)format("truetype");font-weight:100;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-ThinItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-ThinItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-ThinItalic.ttf)format("truetype");font-weight:100;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Extralight.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Extralight.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Extralight.ttf)format("truetype");font-weight:200;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-ExtralightItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-ExtralightItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-ExtralightItalic.ttf)format("truetype");font-weight:200;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Light.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Light.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Light.ttf)format("truetype");font-weight:300;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-LightItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-LightItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-LightItalic.ttf)format("truetype");font-weight:300;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Regular.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Regular.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Regular.ttf)format("truetype");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Italic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Italic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Italic.ttf)format("truetype");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Medium.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Medium.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Medium.ttf)format("truetype");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-MediumItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-MediumItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-MediumItalic.ttf)format("truetype");font-weight:500;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Semibold.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Semibold.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Semibold.ttf)format("truetype");font-weight:600;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-SemiboldItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-SemiboldItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-SemiboldItalic.ttf)format("truetype");font-weight:600;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Bold.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Bold.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Bold.ttf)format("truetype");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-BoldItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-BoldItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-BoldItalic.ttf)format("truetype");font-weight:700;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Extrabold.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Extrabold.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Extrabold.ttf)format("truetype");font-weight:800;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-ExtraboldItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-ExtraboldItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-ExtraboldItalic.ttf)format("truetype");font-weight:800;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Black.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Black.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Black.ttf)format("truetype");font-weight:900;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-BlackItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-BlackItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-BlackItalic.ttf)format("truetype");font-weight:900;font-display:swap;font-style:italic}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}/**
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-500:oklch(63.7% .237 25.331);--color-teal-50:#e8eff1;--color-teal-100:#b9cdd2;--color-teal-300:#67939e;--color-teal-400:#497e8b;--color-teal-500:#1c5e6e;--color-teal-600:#195664;--color-teal-700:#14434e;--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-neutral-50:#c1c4c5;--color-neutral-100:#7a8081;--color-neutral-400:#50585a;--color-neutral-600:#343e40;--color-neutral-700:#232e30;--color-neutral-800:#142022;--color-neutral-900:#081416;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-blue-night-50:#e6e9ea;--color-blue-night-300:#5a6e73;--color-blue-night-500:#09262e;--color-blue-night-600:#08232a;--color-teal-900-18:#1c5e6e2e;--color-grove-50:#ebf6f2;--color-grove-100:#c1e3d6;--color-grove-200:#a3d6c3;--color-grove-300:#78c3a7;--color-grove-400:#5eb796;--color-grove-500:#36a57c;--color-grove-600:#319671;--color-grove-700:#267558;--color-brick-50:#faeceb;--color-brick-200:#e6a7a1;--color-brick-300:#da7e76;--color-brick-400:#d3655b;--color-brick-500:#c83f32;--color-brick-600:#b6392e;--color-brick-700:#8e2d24;--color-ember-50:#fdf5eb;--color-ember-200:#f4d1a2;--color-ember-300:#f0bc78;--color-ember-400:#edaf5d;--color-ember-500:#e89b35;--color-ember-600:#d38d30;--color-ember-700:#a56e26;--color-horizon-50:#ecf2f6;--color-horizon-200:#a5c4d4;--color-horizon-300:#7ca9c0;--color-horizon-400:#6398b4;--color-horizon-500:#3c7ea1;--color-horizon-600:#377393;--color-horizon-700:#2b5972;--color-neutral-00:#fff;--color-neutral-10:#fafafa;--color-neutral-20:#f5f6f6;--color-neutral-30:#ebecec;--color-neutral-60:#b2b6b7;--color-neutral-70:#a6aaab;--color-neutral-80:#979c9d;--color-surface-ink-neutral-normal:var(--color-neutral-900);--color-surface-ink-neutral-subtle:var(--color-neutral-700);--color-surface-ink-neutral-muted:var(--color-neutral-100);--color-surface-ink-neutral-disabled:var(--color-neutral-50);--color-surface-ink-primary-normal:var(--color-teal-500);--color-action-fill-positive-default:var(--color-grove-500);--color-action-fill-positive-hover:var(--color-grove-700);--color-action-fill-positive-faded:var(--color-grove-50);--color-action-fill-negative-default:var(--color-brick-500);--color-action-fill-negative-hover:var(--color-brick-700);--color-action-fill-negative-disabled:var(--color-brick-50);--color-action-fill-negative-faded:var(--color-brick-50);--color-action-fill-notice-default:var(--color-ember-500);--color-action-fill-notice-hover:var(--color-ember-700);--color-action-fill-notice-disabled:var(--color-ember-50);--color-action-fill-notice-faded:var(--color-ember-50);--color-action-fill-info-default:var(--color-horizon-500);--color-action-fill-info-hover:var(--color-horizon-700);--color-action-fill-info-disabled:var(--color-horizon-50);--color-action-fill-info-faded:var(--color-horizon-50);--color-action-fill-neutral-default:var(--color-neutral-600);--color-action-fill-neutral-hover:var(--color-neutral-800);--color-action-fill-neutral-disabled:var(--color-neutral-50);--color-action-fill-neutral-faded:var(--color-neutral-50);--color-action-fill-primary-default:var(--color-teal-500);--color-action-fill-primary-hover:var(--color-teal-700);--color-action-fill-primary-disabled:var(--color-teal-50);--color-action-fill-primary-faded:var(--color-teal-50);--color-action-outline-positive-disabled:var(--color-grove-200);--color-action-outline-positive-faded:var(--color-grove-200);--color-action-outline-positive-faded-hover:var(--color-grove-300);--color-action-outline-negative-disabled:var(--color-brick-50);--color-action-outline-negative-faded:var(--color-brick-200);--color-action-outline-negative-faded-hover:var(--color-brick-300);--color-action-outline-notice-disabled:var(--color-ember-50);--color-action-outline-notice-faded:var(--color-ember-200);--color-action-outline-notice-faded-hover:var(--color-ember-300);--color-action-outline-info-disabled:var(--color-horizon-50);--color-action-outline-info-faded:var(--color-horizon-200);--color-action-outline-info-faded-hover:var(--color-horizon-300);--color-action-outline-neutral-faded:var(--color-neutral-70);--color-action-outline-neutral-faded-hover:var(--color-neutral-80);--color-action-ink-positive-normal:var(--color-grove-700);--color-action-ink-negative-normal:var(--color-brick-600);--color-action-ink-negative-disabled:var(--color-brick-200);--color-action-ink-notice-normal:var(--color-ember-600);--color-action-ink-notice-disabled:var(--color-ember-200);--color-action-ink-info-normal:var(--color-horizon-700);--color-action-ink-info-disabled:var(--color-horizon-200);--color-action-ink-neutral-normal:var(--color-neutral-900);--color-action-ink-neutral-disabled:var(--color-neutral-60);--color-action-ink-primary-normal:var(--color-teal-600);--color-action-ink-primary-disabled:var(--color-teal-100);--color-action-ink-on-primary-normal:var(--color-neutral-00);--color-action-ink-on-primary-muted:var(--color-neutral-60);--color-popup-fill-intense:var(--color-blue-night-600);--color-popup-outline-subtle:var(--color-teal-900-18);--spacing-0:0px;--spacing-2:4px;--spacing-3:8px;--spacing-4:12px;--spacing-5:16px;--spacing-6:20px;--spacing-7:24px;--spacing-8:32px;--spacing-9:40px;--spacing-10:48px;--radius-medium:4px;--radius-xlarge:8px;--font-functional:"Clash Grotesk",system-ui,sans-serif;--font-display:"Switzer",system-ui,sans-serif;--text-25:10px;--text-50:11px;--text-75:12px;--text-100:14px;--text-200:16px;--text-300:18px;--text-400:20px;--text-500:24px;--text-600:32px;--text-700:40px;--text-800:48px;--text-900:56px;--text-1000:64px;--text-1100:72px;--leading-00:0px;--leading-25:14px;--leading-50:16px;--leading-75:18px;--leading-100:20px;--leading-200:24px;--leading-300:24px;--leading-400:26px;--leading-500:32px;--leading-600:38px;--leading-700:46px;--leading-800:56px;--leading-900:64px;--leading-1000:70px;--leading-1100:78px;--paragraph-spacing-100:8px;--paragraph-spacing-200:10px;--paragraph-spacing-300:11px;--paragraph-spacing-400:12px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn-primary{background-color:var(--color-blue-night-500)}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-1\/2{top:50%}.top-2{top:var(--spacing-2)}.top-full{top:100%}.right-2{right:var(--spacing-2)}.bottom-2{bottom:var(--spacing-2)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.left-2{left:var(--spacing-2)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mr-2{margin-right:var(--spacing-2)}.mb-0{margin-bottom:var(--spacing-0)}.mb-3{margin-bottom:var(--spacing-3)}.mb-\[var\(--paragraph-spacing-100\)\]{margin-bottom:var(--paragraph-spacing-100)}.mb-\[var\(--paragraph-spacing-200\)\]{margin-bottom:var(--paragraph-spacing-200)}.mb-\[var\(--paragraph-spacing-300\)\]{margin-bottom:var(--paragraph-spacing-300)}.mb-\[var\(--paragraph-spacing-400\)\]{margin-bottom:var(--paragraph-spacing-400)}.flex{display:flex}.inline{display:inline}.aspect-square{aspect-ratio:1}.h-0{height:var(--spacing-0)}.h-3{height:var(--spacing-3)}.h-4{height:var(--spacing-4)}.h-5{height:var(--spacing-5)}.h-7{height:var(--spacing-7)}.h-8{height:var(--spacing-8)}.h-9{height:var(--spacing-9)}.h-10{height:var(--spacing-10)}.h-screen{height:100vh}.min-h-\[600px\]{min-height:600px}.w-0{width:var(--spacing-0)}.w-3{width:var(--spacing-3)}.w-4{width:var(--spacing-4)}.w-5{width:var(--spacing-5)}.w-7{width:var(--spacing-7)}.w-8{width:var(--spacing-8)}.w-9{width:var(--spacing-9)}.w-10{width:var(--spacing-10)}.w-\[500px\]{width:500px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[300px\]{max-width:300px}.min-w-\[200px\]{min-width:200px}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.gap-12{gap:calc(var(--spacing)*12)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing-4)*var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing-4)*calc(1 - var(--tw-space-y-reverse)))}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-medium{border-radius:var(--radius-medium)}.rounded-xlarge{border-radius:var(--radius-xlarge)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}.border-solid{--tw-border-style:solid;border-style:solid}.border-action-outline-info-faded{border-color:var(--color-action-outline-info-faded)}.border-action-outline-negative-faded{border-color:var(--color-action-outline-negative-faded)}.border-action-outline-neutral-faded{border-color:var(--color-action-outline-neutral-faded)}.border-action-outline-notice-faded{border-color:var(--color-action-outline-notice-faded)}.border-action-outline-positive-faded{border-color:var(--color-action-outline-positive-faded)}.border-popup-outline-subtle{border-color:var(--color-popup-outline-subtle)}.border-x-transparent{border-inline-color:#0000}.border-t-popup-fill-intense{border-top-color:var(--color-popup-fill-intense)}.border-t-transparent{border-top-color:#0000}.border-b-popup-fill-intense{border-bottom-color:var(--color-popup-fill-intense)}.border-b-transparent{border-bottom-color:#0000}.bg-action-fill-info-default{background-color:var(--color-action-fill-info-default)}.bg-action-fill-negative-default{background-color:var(--color-action-fill-negative-default)}.bg-action-fill-neutral-default{background-color:var(--color-action-fill-neutral-default)}.bg-action-fill-notice-default{background-color:var(--color-action-fill-notice-default)}.bg-action-fill-positive-default{background-color:var(--color-action-fill-positive-default)}.bg-action-fill-primary-default{background-color:var(--color-action-fill-primary-default)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-popup-fill-intense{background-color:var(--color-popup-fill-intense)}.p-0{padding:var(--spacing-0)}.p-2{padding:var(--spacing-2)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.px-3{padding-inline:var(--spacing-3)}.px-4{padding-inline:var(--spacing-4)}.px-6{padding-inline:var(--spacing-6)}.py-2{padding-block:var(--spacing-2)}.py-12{padding-block:calc(var(--spacing)*12)}.text-50{font-size:var(--text-50)}.leading-25{--tw-leading:var(--leading-25);line-height:var(--leading-25)}.leading-50{--tw-leading:var(--leading-50);line-height:var(--leading-50)}.leading-75{--tw-leading:var(--leading-75);line-height:var(--leading-75)}.leading-100{--tw-leading:var(--leading-100);line-height:var(--leading-100)}.leading-200{--tw-leading:var(--leading-200);line-height:var(--leading-200)}.leading-300{--tw-leading:var(--leading-300);line-height:var(--leading-300)}.leading-400{--tw-leading:var(--leading-400);line-height:var(--leading-400)}.leading-500{--tw-leading:var(--leading-500);line-height:var(--leading-500)}.leading-600{--tw-leading:var(--leading-600);line-height:var(--leading-600)}.leading-700{--tw-leading:var(--leading-700);line-height:var(--leading-700)}.leading-800{--tw-leading:var(--leading-800);line-height:var(--leading-800)}.leading-900{--tw-leading:var(--leading-900);line-height:var(--leading-900)}.leading-1000{--tw-leading:var(--leading-1000);line-height:var(--leading-1000)}.leading-1100{--tw-leading:var(--leading-1100);line-height:var(--leading-1100)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\%\]{--tw-tracking:0%;letter-spacing:0%}.whitespace-nowrap{white-space:nowrap}.text-action-ink-info-normal{color:var(--color-action-ink-info-normal)}.text-action-ink-negative-normal{color:var(--color-action-ink-negative-normal)}.text-action-ink-neutral-normal{color:var(--color-action-ink-neutral-normal)}.text-action-ink-notice-normal{color:var(--color-action-ink-notice-normal)}.text-action-ink-on-primary-normal{color:var(--color-action-ink-on-primary-normal)}.text-action-ink-positive-normal{color:var(--color-action-ink-positive-normal)}.text-action-ink-primary-normal{color:var(--color-action-ink-primary-normal)}.text-red-500{color:var(--color-red-500)}.text-surface-ink-neutral-disabled{color:var(--color-surface-ink-neutral-disabled)}.text-surface-ink-neutral-muted{color:var(--color-surface-ink-neutral-muted)}.text-surface-ink-neutral-normal{color:var(--color-surface-ink-neutral-normal)}.text-surface-ink-neutral-subtle{color:var(--color-surface-ink-neutral-subtle)}.text-surface-ink-primary-normal{color:var(--color-surface-ink-primary-normal)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.hover\:border-action-outline-info-faded-hover:hover{border-color:var(--color-action-outline-info-faded-hover)}.hover\:border-action-outline-negative-faded-hover:hover{border-color:var(--color-action-outline-negative-faded-hover)}.hover\:border-action-outline-notice-faded-hover:hover{border-color:var(--color-action-outline-notice-faded-hover)}.hover\:border-action-outline-positive-faded-hover:hover{border-color:var(--color-action-outline-positive-faded-hover)}.hover\:bg-action-fill-info-faded:hover{background-color:var(--color-action-fill-info-faded)}.hover\:bg-action-fill-info-hover:hover{background-color:var(--color-action-fill-info-hover)}.hover\:bg-action-fill-negative-faded:hover{background-color:var(--color-action-fill-negative-faded)}.hover\:bg-action-fill-negative-hover:hover{background-color:var(--color-action-fill-negative-hover)}.hover\:bg-action-fill-neutral-faded:hover{background-color:var(--color-action-fill-neutral-faded)}.hover\:bg-action-fill-neutral-hover:hover{background-color:var(--color-action-fill-neutral-hover)}.hover\:bg-action-fill-notice-faded:hover{background-color:var(--color-action-fill-notice-faded)}.hover\:bg-action-fill-notice-hover:hover{background-color:var(--color-action-fill-notice-hover)}.hover\:bg-action-fill-positive-faded:hover{background-color:var(--color-action-fill-positive-faded)}.hover\:bg-action-fill-positive-hover:hover{background-color:var(--color-action-fill-positive-hover)}.hover\:bg-action-fill-primary-faded:hover{background-color:var(--color-action-fill-primary-faded)}.hover\:bg-action-fill-primary-hover:hover{background-color:var(--color-action-fill-primary-hover)}.hover\:bg-action-outline-neutral-faded-hover:hover{background-color:var(--color-action-outline-neutral-faded-hover)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:bg-action-fill-info-disabled:disabled{background-color:var(--color-action-fill-info-disabled)}.disabled\:bg-action-fill-negative-disabled:disabled{background-color:var(--color-action-fill-negative-disabled)}.disabled\:bg-action-fill-neutral-disabled:disabled{background-color:var(--color-action-fill-neutral-disabled)}.disabled\:bg-action-fill-notice-disabled:disabled{background-color:var(--color-action-fill-notice-disabled)}.disabled\:bg-action-fill-primary-disabled:disabled{background-color:var(--color-action-fill-primary-disabled)}.disabled\:bg-action-outline-info-disabled:disabled{background-color:var(--color-action-outline-info-disabled)}.disabled\:bg-action-outline-negative-disabled:disabled{background-color:var(--color-action-outline-negative-disabled)}.disabled\:bg-action-outline-notice-disabled:disabled{background-color:var(--color-action-outline-notice-disabled)}.disabled\:bg-action-outline-positive-disabled:disabled{background-color:var(--color-action-outline-positive-disabled)}.disabled\:text-action-ink-info-disabled:disabled{color:var(--color-action-ink-info-disabled)}.disabled\:text-action-ink-negative-disabled:disabled{color:var(--color-action-ink-negative-disabled)}.disabled\:text-action-ink-neutral-disabled:disabled{color:var(--color-action-ink-neutral-disabled)}.disabled\:text-action-ink-notice-disabled:disabled{color:var(--color-action-ink-notice-disabled)}.disabled\:text-action-ink-on-primary-muted:disabled{color:var(--color-action-ink-on-primary-muted)}.disabled\:text-action-ink-primary-disabled:disabled{color:var(--color-action-ink-primary-disabled)}@media (min-width:48rem){.md\:h-\[28px\]{height:28px}.md\:h-\[32px\]{height:32px}.md\:h-\[36px\]{height:36px}.md\:h-\[44px\]{height:44px}}.font-functional{font-family:var(--font-functional)}.font-display{font-family:var(--font-display)}.font-size-25{font-size:var(--text-25)}.font-size-50{font-size:var(--text-50)}.font-size-75{font-size:var(--text-75)}.font-size-100{font-size:var(--text-100)}.font-size-200{font-size:var(--text-200)}.font-size-300{font-size:var(--text-300)}.font-size-400{font-size:var(--text-400)}.font-size-500{font-size:var(--text-500)}.font-size-600{font-size:var(--text-600)}.font-size-700{font-size:var(--text-700)}.font-size-800{font-size:var(--text-800)}.font-size-900{font-size:var(--text-900)}.font-size-1000{font-size:var(--text-1000)}.font-size-1100{font-size:var(--text-1100)}.leading-00{line-height:var(--leading-00)}.leading-25{line-height:var(--leading-25)}.leading-50{line-height:var(--leading-50)}.leading-75{line-height:var(--leading-75)}.leading-100{line-height:var(--leading-100)}.leading-200{line-height:var(--leading-200)}.leading-300{line-height:var(--leading-300)}.leading-400{line-height:var(--leading-400)}.leading-500{line-height:var(--leading-500)}.leading-600{line-height:var(--leading-600)}.leading-700{line-height:var(--leading-700)}.leading-800{line-height:var(--leading-800)}.leading-900{line-height:var(--leading-900)}.leading-1000{line-height:var(--leading-1000)}.leading-1100{line-height:var(--leading-1100)}}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Variable.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Variable.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Variable.ttf)format("truetype");font-weight:200 700;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Extralight.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Extralight.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Extralight.ttf)format("truetype");font-weight:200;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Light.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Light.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Light.ttf)format("truetype");font-weight:300;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Regular.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Regular.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Regular.ttf)format("truetype");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Medium.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Medium.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Medium.ttf)format("truetype");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Semibold.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Semibold.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Semibold.ttf)format("truetype");font-weight:600;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Bold.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Bold.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Bold.ttf)format("truetype");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Variable.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Variable.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Variable.ttf)format("truetype");font-weight:100 900;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-VariableItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-VariableItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-VariableItalic.ttf)format("truetype");font-weight:100 900;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Thin.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Thin.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Thin.ttf)format("truetype");font-weight:100;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-ThinItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-ThinItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-ThinItalic.ttf)format("truetype");font-weight:100;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Extralight.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Extralight.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Extralight.ttf)format("truetype");font-weight:200;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-ExtralightItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-ExtralightItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-ExtralightItalic.ttf)format("truetype");font-weight:200;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Light.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Light.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Light.ttf)format("truetype");font-weight:300;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-LightItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-LightItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-LightItalic.ttf)format("truetype");font-weight:300;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Regular.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Regular.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Regular.ttf)format("truetype");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Italic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Italic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Italic.ttf)format("truetype");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Medium.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Medium.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Medium.ttf)format("truetype");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-MediumItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-MediumItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-MediumItalic.ttf)format("truetype");font-weight:500;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Semibold.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Semibold.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Semibold.ttf)format("truetype");font-weight:600;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-SemiboldItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-SemiboldItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-SemiboldItalic.ttf)format("truetype");font-weight:600;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Bold.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Bold.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Bold.ttf)format("truetype");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-BoldItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-BoldItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-BoldItalic.ttf)format("truetype");font-weight:700;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Extrabold.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Extrabold.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Extrabold.ttf)format("truetype");font-weight:800;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-ExtraboldItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-ExtraboldItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-ExtraboldItalic.ttf)format("truetype");font-weight:800;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Black.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Black.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Black.ttf)format("truetype");font-weight:900;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-BlackItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-BlackItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-BlackItalic.ttf)format("truetype");font-weight:900;font-display:swap;font-style:italic}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}/**
3
3
  * @license
4
4
  *
5
5
  * Font Family: Clash Grotesk
package/dist/index.esm.js CHANGED
@@ -426,35 +426,26 @@ const Text = React.forwardRef(({ className, variant, size, weight, color, as, ch
426
426
  });
427
427
  Text.displayName = "Text";
428
428
 
429
- const tooltipVariants = cva("absolute z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium shadow-lg border border-popup-outline-subtle flex flex-col gap-2 p-4 rounded-xlarge min-w-[200px] max-w-[300px] transition-opacity duration-200", {
429
+ const tooltipVariants = cva("fixed z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium shadow-lg border border-popup-outline-subtle flex flex-col gap-2 p-4 rounded-xlarge min-w-[200px] max-w-[300px] transition-opacity duration-200", {
430
430
  variants: {
431
- placement: {
432
- "top-start": "bottom-full left-0 mb-2",
433
- top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
434
- "top-end": "bottom-full right-0 mb-2",
435
- "bottom-start": "top-full left-0 mt-2",
436
- bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
437
- "bottom-end": "top-full right-0 mt-2",
438
- },
439
431
  isVisible: {
440
432
  true: "opacity-100 pointer-events-auto",
441
433
  false: "opacity-0 pointer-events-none",
442
434
  },
443
435
  },
444
436
  defaultVariants: {
445
- placement: "top",
446
437
  isVisible: false,
447
438
  },
448
439
  });
449
- const tooltipArrowVariants = cva("absolute w-0 h-0 border-solid border-[6px]", {
440
+ const tooltipArrowVariants = cva("absolute w-0 h-0 border-solid border-[6px] -translate-x-1/2", {
450
441
  variants: {
451
442
  placement: {
452
- "top-start": "top-full left-4 border-t-popup-fill-intense border-x-transparent border-b-transparent",
453
- top: "top-full left-1/2 -translate-x-1/2 border-t-popup-fill-intense border-x-transparent border-b-transparent",
454
- "top-end": "top-full right-4 border-t-popup-fill-intense border-x-transparent border-b-transparent",
455
- "bottom-start": "bottom-full left-4 border-b-popup-fill-intense border-x-transparent border-t-transparent",
456
- bottom: "bottom-full left-1/2 -translate-x-1/2 border-b-popup-fill-intense border-x-transparent border-t-transparent",
457
- "bottom-end": "bottom-full right-4 border-b-popup-fill-intense border-x-transparent border-t-transparent",
443
+ "top-start": "top-full border-t-popup-fill-intense border-x-transparent border-b-transparent",
444
+ top: "top-full border-t-popup-fill-intense border-x-transparent border-b-transparent",
445
+ "top-end": "top-full border-t-popup-fill-intense border-x-transparent border-b-transparent",
446
+ "bottom-start": "bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent",
447
+ bottom: "bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent",
448
+ "bottom-end": "bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent",
458
449
  },
459
450
  },
460
451
  defaultVariants: {
@@ -463,8 +454,119 @@ const tooltipArrowVariants = cva("absolute w-0 h-0 border-solid border-[6px]",
463
454
  });
464
455
  const Tooltip = React.forwardRef(({ children, heading, description, placement = "top", showArrow = true, className, delay = 200, disabled = false, }, ref) => {
465
456
  const [isVisible, setIsVisible] = React.useState(false);
457
+ const [position, setPosition] = React.useState({ top: 0, left: 0 });
458
+ const [arrowPosition, setArrowPosition] = React.useState({ left: 0 });
459
+ const [actualPlacement, setActualPlacement] = React.useState(placement);
466
460
  const timeoutRef = React.useRef(null);
467
- const containerRef = React.useRef(null);
461
+ const triggerRef = React.useRef(null);
462
+ const tooltipRef = React.useRef(null);
463
+ const calculatePosition = React.useCallback(() => {
464
+ if (!triggerRef.current || !tooltipRef.current)
465
+ return;
466
+ const triggerRect = triggerRef.current.getBoundingClientRect();
467
+ const tooltipRect = tooltipRef.current.getBoundingClientRect();
468
+ const gap = 8; // 8px gap between trigger and tooltip
469
+ const arrowSize = 6; // Size of the arrow
470
+ const viewportPadding = 8; // Minimum padding from viewport edges
471
+ let top = 0;
472
+ let left = 0;
473
+ let currentPlacement = placement;
474
+ // Calculate initial position based on placement
475
+ switch (placement) {
476
+ case "top-start":
477
+ top = triggerRect.top - tooltipRect.height - gap - arrowSize;
478
+ left = triggerRect.left;
479
+ break;
480
+ case "top":
481
+ top = triggerRect.top - tooltipRect.height - gap - arrowSize;
482
+ left =
483
+ triggerRect.left + triggerRect.width / 2 - tooltipRect.width / 2;
484
+ break;
485
+ case "top-end":
486
+ top = triggerRect.top - tooltipRect.height - gap - arrowSize;
487
+ left = triggerRect.right - tooltipRect.width;
488
+ break;
489
+ case "bottom-start":
490
+ top = triggerRect.bottom + gap + arrowSize;
491
+ left = triggerRect.left;
492
+ break;
493
+ case "bottom":
494
+ top = triggerRect.bottom + gap + arrowSize;
495
+ left =
496
+ triggerRect.left + triggerRect.width / 2 - tooltipRect.width / 2;
497
+ break;
498
+ case "bottom-end":
499
+ top = triggerRect.bottom + gap + arrowSize;
500
+ left = triggerRect.right - tooltipRect.width;
501
+ break;
502
+ }
503
+ // Get viewport dimensions
504
+ const viewportWidth = window.innerWidth;
505
+ const viewportHeight = window.innerHeight;
506
+ // Adjust horizontal position to keep tooltip within viewport
507
+ if (left < viewportPadding) {
508
+ // Tooltip would overflow on the left
509
+ left = viewportPadding;
510
+ }
511
+ else if (left + tooltipRect.width > viewportWidth - viewportPadding) {
512
+ // Tooltip would overflow on the right
513
+ left = viewportWidth - tooltipRect.width - viewportPadding;
514
+ }
515
+ // Adjust vertical position to keep tooltip within viewport
516
+ if (top < viewportPadding) {
517
+ // Tooltip would overflow at the top
518
+ // Try to flip to bottom if there's more space there
519
+ const spaceBelow = viewportHeight - triggerRect.bottom;
520
+ const spaceAbove = triggerRect.top;
521
+ if (spaceBelow > spaceAbove) {
522
+ // Flip to bottom
523
+ top = triggerRect.bottom + gap + arrowSize;
524
+ // Update placement to reflect the flip
525
+ if (placement === "top-start")
526
+ currentPlacement = "bottom-start";
527
+ else if (placement === "top")
528
+ currentPlacement = "bottom";
529
+ else if (placement === "top-end")
530
+ currentPlacement = "bottom-end";
531
+ }
532
+ else {
533
+ // Keep at top but adjust to stay in viewport
534
+ top = viewportPadding;
535
+ }
536
+ }
537
+ else if (top + tooltipRect.height > viewportHeight - viewportPadding) {
538
+ // Tooltip would overflow at the bottom
539
+ // Try to flip to top if there's more space there
540
+ const spaceAbove = triggerRect.top;
541
+ const spaceBelow = viewportHeight - triggerRect.bottom;
542
+ if (spaceAbove > spaceBelow) {
543
+ // Flip to top
544
+ top = triggerRect.top - tooltipRect.height - gap - arrowSize;
545
+ // Update placement to reflect the flip
546
+ if (placement === "bottom-start")
547
+ currentPlacement = "top-start";
548
+ else if (placement === "bottom")
549
+ currentPlacement = "top";
550
+ else if (placement === "bottom-end")
551
+ currentPlacement = "top-end";
552
+ }
553
+ else {
554
+ // Keep at bottom but adjust to stay in viewport
555
+ top = viewportHeight - tooltipRect.height - viewportPadding;
556
+ }
557
+ }
558
+ // Calculate arrow position relative to trigger
559
+ // The arrow should point to the center of the trigger element
560
+ const triggerCenterX = triggerRect.left + triggerRect.width / 2;
561
+ const tooltipLeft = left;
562
+ const arrowLeft = triggerCenterX - tooltipLeft;
563
+ // Clamp arrow position to stay within tooltip bounds (with padding)
564
+ const arrowPadding = 16; // Minimum distance from tooltip edges
565
+ const clampedArrowLeft = Math.max(arrowPadding, Math.min(arrowLeft, tooltipRect.width - arrowPadding));
566
+ setPosition({ top, left });
567
+ setArrowPosition({ left: clampedArrowLeft });
568
+ setActualPlacement(currentPlacement);
569
+ }, [placement]);
468
570
  const handleMouseEnter = () => {
469
571
  if (disabled)
470
572
  return;
@@ -489,6 +591,21 @@ const Tooltip = React.forwardRef(({ children, heading, description, placement =
489
591
  const handleBlur = () => {
490
592
  setIsVisible(false);
491
593
  };
594
+ React.useEffect(() => {
595
+ if (isVisible) {
596
+ calculatePosition();
597
+ window.addEventListener("scroll", calculatePosition, true);
598
+ window.addEventListener("resize", calculatePosition);
599
+ }
600
+ return () => {
601
+ window.removeEventListener("scroll", calculatePosition, true);
602
+ window.removeEventListener("resize", calculatePosition);
603
+ };
604
+ }, [isVisible, calculatePosition]);
605
+ React.useEffect(() => {
606
+ // Reset actualPlacement when placement prop changes
607
+ setActualPlacement(placement);
608
+ }, [placement]);
492
609
  React.useEffect(() => {
493
610
  return () => {
494
611
  if (timeoutRef.current) {
@@ -496,8 +613,22 @@ const Tooltip = React.forwardRef(({ children, heading, description, placement =
496
613
  }
497
614
  };
498
615
  }, []);
616
+ // Merge refs function
617
+ const mergeRefs = (...refs) => {
618
+ return (node) => {
619
+ refs.forEach((ref) => {
620
+ if (typeof ref === "function") {
621
+ ref(node);
622
+ }
623
+ else if (ref && typeof ref === "object" && "current" in ref) {
624
+ ref.current = node;
625
+ }
626
+ });
627
+ };
628
+ };
499
629
  // Clone the child element and add event handlers
500
630
  const trigger = React.cloneElement(children, {
631
+ ref: mergeRefs(triggerRef, children.ref),
501
632
  onMouseEnter: (e) => {
502
633
  handleMouseEnter();
503
634
  children.props.onMouseEnter?.(e);
@@ -516,7 +647,12 @@ const Tooltip = React.forwardRef(({ children, heading, description, placement =
516
647
  },
517
648
  "aria-describedby": isVisible ? "tooltip-content" : undefined,
518
649
  });
519
- return (jsxs("div", { ref: containerRef, className: "relative inline-block", style: { position: "relative" }, children: [trigger, jsxs("div", { ref: ref, id: "tooltip-content", role: "tooltip", className: cn(tooltipVariants({ placement, isVisible }), className), "aria-hidden": !isVisible, children: [showArrow && (jsx("div", { className: cn(tooltipArrowVariants({ placement })) })), jsxs("div", { className: "relative", children: [heading && (jsx(Text, { variant: "body", size: "medium", weight: "semibold", color: "onPrimary", children: heading })), jsx(Text, { variant: "body", size: "small", weight: "regular", color: "onPrimary", children: description })] })] })] }));
650
+ return (jsxs(Fragment, { children: [trigger, jsxs("div", { ref: mergeRefs(tooltipRef, ref), id: "tooltip-content", role: "tooltip", className: cn(tooltipVariants({ isVisible }), className), style: {
651
+ top: `${position.top}px`,
652
+ left: `${position.left}px`,
653
+ }, "aria-hidden": !isVisible, children: [showArrow && (jsx("div", { className: cn(tooltipArrowVariants({ placement: actualPlacement })), style: {
654
+ left: `${arrowPosition.left}px`,
655
+ } })), jsxs("div", { className: "relative", children: [heading && (jsx(Text, { variant: "body", size: "medium", weight: "semibold", color: "onPrimary", children: heading })), jsx(Text, { variant: "body", size: "small", weight: "regular", color: "onPrimary", children: description })] })] })] }));
520
656
  });
521
657
  Tooltip.displayName = "Tooltip";
522
658
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/lib/utils.ts","../src/components/Button/Button.tsx","../src/components/Text/Text.tsx","../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n// Define patterns for custom classes that should be preserved\n// This approach is more scalable than hardcoding individual class names\nconst CUSTOM_CLASS_PATTERNS = [\n // Custom font classes\n /^font-(functional|display)$/,\n // Custom spacing classes (example)\n // /^spacing-(xs|sm|md|lg|xl)$/,\n // Custom color classes (example)\n // /^color-(primary|secondary|accent)$/,\n // Any class that starts with 'custom-'\n /^custom-/,\n];\n\nfunction isCustomClass(className: string): boolean {\n return CUSTOM_CLASS_PATTERNS.some((pattern) => pattern.test(className));\n}\n\nexport function cn(...inputs: ClassValue[]) {\n // Use clsx first to combine classes, then use twMerge for standard Tailwind classes\n const combined = clsx(inputs);\n\n // Split classes and filter out our custom classes before merging\n const classes = combined.split(\" \");\n const customClasses = classes.filter((cls) => isCustomClass(cls));\n const standardClasses = classes.filter((cls) => !isCustomClass(cls));\n\n // Merge standard classes and add back custom classes\n const mergedStandard = twMerge(standardClasses.join(\" \"));\n return clsx(mergedStandard, customClasses);\n}\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport { PulseLoader, ClipLoader } from \"react-spinners\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst buttonVariants = cva(\n \"items-center gap-3 justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none\",\n {\n variants: {\n variant: {\n primary:\n \"bg-action-fill-primary-default text-action-ink-on-primary-normal hover:bg-action-fill-primary-hover\",\n secondary:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n tertiary: \"hover:bg-accent hover:text-accent-foreground\",\n },\n color: {\n primary: \"\",\n positive: \"\",\n negative: \"\",\n notice: \"\",\n info: \"\",\n neutral: \"\",\n },\n size: {\n xsmall: \"md:h-[28px] px-3 text-xs rounded-medium\",\n small: \"md:h-[32px] px-4 text-xs rounded-medium\",\n medium: \"md:h-[36px] px-6 py-2 rounded-medium\",\n large: \"md:h-[44px] px-6 text-base rounded-xlarge\",\n },\n isIconOnly: {\n true: \"aspect-square p-0\",\n false: \"\",\n },\n isLoading: {\n true: \"cursor-not-allowed\",\n false: \"\",\n },\n isDisabled: {\n true: \"cursor-not-allowed\",\n false: \"cursor-pointer\",\n },\n isFullWidth: {\n true: \"flex w-full\",\n false: \"flex w-fit\",\n },\n },\n compoundVariants: [\n // Primary variant colors\n {\n variant: \"primary\",\n color: \"primary\",\n class: `bg-action-fill-primary-default text-action-ink-on-primary-normal \n hover:bg-action-fill-primary-hover \n disabled:bg-action-fill-primary-disabled\n disabled:text-action-ink-primary-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"positive\",\n class: `bg-action-fill-positive-default text-action-ink-on-primary-normal \n hover:bg-action-fill-positive-hover \n disabled:bg-action-fill-primary-disabled\n disabled:text-action-ink-primary-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"negative\",\n class: `bg-action-fill-negative-default text-action-ink-on-primary-normal \n hover:bg-action-fill-negative-hover \n disabled:bg-action-fill-negative-disabled\n disabled:text-action-ink-negative-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"notice\",\n class: `bg-action-fill-notice-default text-action-ink-on-primary-normal \n hover:bg-action-fill-notice-hover \n disabled:bg-action-fill-notice-disabled\n disabled:text-action-ink-notice-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"info\",\n class: `bg-action-fill-info-default text-action-ink-on-primary-normal \n hover:bg-action-fill-info-hover \n disabled:bg-action-fill-info-disabled\n disabled:text-action-ink-info-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"neutral\",\n class: `bg-action-fill-neutral-default text-action-ink-on-primary-normal \n hover:bg-action-fill-neutral-hover \n disabled:bg-action-fill-neutral-disabled\n disabled:text-action-ink-neutral-disabled\n `,\n },\n // Secondary variant colors\n {\n variant: \"secondary\",\n color: \"primary\",\n class: `border-action-outline-info-faded text-action-ink-primary-normal hover:border-action-outline-info-faded-hover \n disabled:bg-action-outline-info-disabled\n disabled:text-action-ink-primary-disabled\n disabled:border-action-outline-primary-disabled\n `,\n },\n {\n variant: \"secondary\",\n color: \"positive\",\n class:\n \"border-action-outline-positive-faded text-action-ink-positive-normal hover:border-action-outline-positive-faded-hover disabled:bg-action-outline-positive-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"negative\",\n class:\n \"border-action-outline-negative-faded text-action-ink-negative-normal hover:border-action-outline-negative-faded-hover disabled:bg-action-outline-negative-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"notice\",\n class:\n \"border-action-outline-notice-faded text-action-ink-notice-normal hover:border-action-outline-notice-faded-hover disabled:bg-action-outline-notice-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"info\",\n class:\n \"border-action-outline-info-faded text-action-ink-info-normal hover:border-action-outline-info-faded-hover disabled:bg-action-outline-info-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"neutral\",\n class:\n \"border-action-outline-neutral-faded text-action-ink-neutral-normal hover:bg-action-outline-neutral-faded-hover\",\n },\n // Tertiary variant colors\n {\n variant: \"tertiary\",\n color: \"primary\",\n class: `text-action-ink-primary-normal \n hover:bg-action-fill-primary-faded \n disabled:text-action-ink-on-primary-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"positive\",\n class: `text-action-ink-positive-normal \n hover:bg-action-fill-positive-faded \n disabled:text-action-ink-on-positive-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"negative\",\n class: `text-action-ink-negative-normal \n hover:bg-action-fill-negative-faded \n disabled:text-action-ink-on-negative-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"notice\",\n class: `text-action-ink-notice-normal \n hover:bg-action-fill-notice-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"info\",\n class: `text-action-ink-info-normal \n hover:bg-action-fill-info-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"neutral\",\n class: `text-action-ink-neutral-normal \n hover:bg-action-fill-neutral-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n // Icon only sizing\n {\n isIconOnly: true,\n size: \"xsmall\",\n class: \"h-7 w-7\",\n },\n {\n isIconOnly: true,\n size: \"small\",\n class: \"h-8 w-8\",\n },\n {\n isIconOnly: true,\n size: \"medium\",\n class: \"h-9 w-9\",\n },\n {\n isIconOnly: true,\n size: \"large\",\n class: \"h-10 w-10\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n color: \"primary\",\n size: \"medium\",\n isIconOnly: false,\n isLoading: false,\n isFullWidth: false,\n },\n }\n);\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"color\"> {\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n color?: \"primary\" | \"positive\" | \"negative\" | \"notice\" | \"info\" | \"neutral\";\n size?: \"xsmall\" | \"small\" | \"medium\" | \"large\";\n isIconOnly?: boolean;\n isLoading?: boolean;\n isDisabled?: boolean;\n isFullWidth?: boolean;\n asChild?: boolean;\n leadingIcon?: React.ReactNode;\n trailingIcon?: React.ReactNode;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant = \"primary\",\n color = \"primary\",\n size,\n isIconOnly,\n isLoading,\n asChild = false,\n leadingIcon,\n trailingIcon,\n isFullWidth = false,\n children,\n disabled,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\";\n\n const isDisabled = disabled || isLoading || false;\n\n const buttonContent = (\n <>\n {isLoading && !isIconOnly && (\n <PulseLoader\n color={`var(--color-action-ink-${color}-normal)`}\n size={10}\n />\n )}\n {isLoading && isIconOnly && (\n <ClipLoader\n color={`var(--color-action-ink-${color}-normal)`}\n size={20}\n />\n )}\n {!isLoading && leadingIcon && (\n <span className=\"mr-2\">{leadingIcon}</span>\n )}\n {!isIconOnly && !isLoading && children}\n {isIconOnly && !isLoading && children}\n {!isLoading && trailingIcon && <span>{trailingIcon}</span>}\n </>\n );\n\n return (\n <Comp\n className={cn(\n buttonVariants({\n variant,\n color,\n size,\n isIconOnly,\n isLoading,\n isDisabled,\n isFullWidth,\n }),\n className\n )}\n ref={ref}\n disabled={isDisabled}\n {...props}\n >\n {buttonContent}\n </Comp>\n );\n }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst textVariants = cva(\"\", {\n variants: {\n variant: {\n display: \"font-functional font-medium\",\n heading: \"font-display\",\n body: \"font-display\",\n caption: \"font-display font-semibold\",\n },\n size: {\n \"2xlarge\": \"font-size-700 leading-700 tracking-[0%] mb-0\",\n xlarge: \"font-size-1100 leading-1100 tracking-[0%] mb-0\",\n large: \"font-size-1000 leading-1000 tracking-[0%] mb-0\",\n medium: \"font-size-900 leading-900 tracking-[0%] mb-0\",\n small: \"font-size-800 leading-800 tracking-[0%] mb-0\",\n xsmall:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n weight: {\n regular: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n },\n color: {\n default: \"text-surface-ink-neutral-normal\",\n subtle: \"text-surface-ink-neutral-subtle\",\n muted: \"text-surface-ink-neutral-muted\",\n disabled: \"text-surface-ink-neutral-disabled\",\n primary: \"text-surface-ink-primary-normal\",\n onPrimary: \"text-action-ink-on-primary-normal\",\n },\n as: {\n h1: \"\",\n h2: \"\",\n h3: \"\",\n h4: \"\",\n h5: \"\",\n h6: \"\",\n p: \"\",\n span: \"\",\n div: \"\",\n },\n },\n compoundVariants: [\n // Display variants use Clash Grotesk with medium weight\n {\n variant: \"display\",\n weight: \"regular\",\n class: \"font-medium\",\n },\n {\n variant: \"display\",\n weight: \"medium\",\n class: \"font-medium\",\n },\n {\n variant: \"display\",\n weight: \"semibold\",\n class: \"font-medium\",\n },\n // Caption is always semibold\n {\n variant: \"caption\",\n weight: \"regular\",\n class: \"font-semibold\",\n },\n {\n variant: \"caption\",\n weight: \"medium\",\n class: \"font-semibold\",\n },\n {\n variant: \"caption\",\n weight: \"semibold\",\n class: \"font-semibold\",\n },\n // Size-specific styling based on variant\n // Display sizes\n {\n variant: \"display\",\n size: \"xlarge\",\n class: \"font-size-1100 leading-1100 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"large\",\n class: \"font-size-1000 leading-1000 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"medium\",\n class: \"font-size-900 leading-900 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"small\",\n class: \"font-size-800 leading-800 tracking-[0%] mb-0\",\n },\n // Heading sizes\n {\n variant: \"heading\",\n size: \"2xlarge\",\n class: \"font-size-700 leading-700 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"xlarge\",\n class: \"font-size-600 leading-600 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"large\",\n class: \"font-size-500 leading-500 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"medium\",\n class: \"font-size-400 leading-400 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"small\",\n class: \"font-size-300 leading-300 tracking-[0%] mb-0\",\n },\n // Body sizes\n {\n variant: \"body\",\n size: \"large\",\n class:\n \"font-size-200 leading-200 tracking-[0%] mb-[var(--paragraph-spacing-400)]\",\n },\n {\n variant: \"body\",\n size: \"medium\",\n class:\n \"font-size-100 leading-100 tracking-[0%] mb-[var(--paragraph-spacing-300)]\",\n },\n {\n variant: \"body\",\n size: \"small\",\n class:\n \"font-size-75 leading-75 tracking-[0%] mb-[var(--paragraph-spacing-200)]\",\n },\n {\n variant: \"body\",\n size: \"xsmall\",\n class:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n // Caption sizes\n {\n variant: \"caption\",\n size: \"medium\",\n class: \"text-50 leading-50 tracking-[0%] mb-0\",\n },\n ],\n defaultVariants: {\n variant: \"body\",\n size: \"medium\",\n weight: \"regular\",\n color: \"default\",\n as: \"p\",\n },\n});\n\nexport interface TextProps\n extends Omit<React.HTMLAttributes<HTMLElement>, \"color\"> {\n children: React.ReactNode;\n variant?: \"display\" | \"heading\" | \"body\" | \"caption\";\n size?: \"2xlarge\" | \"xlarge\" | \"large\" | \"medium\" | \"small\" | \"xsmall\";\n weight?: \"regular\" | \"medium\" | \"semibold\";\n color?: \"default\" | \"subtle\" | \"muted\" | \"disabled\" | \"primary\" | \"onPrimary\";\n as?: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"span\" | \"div\";\n className?: string;\n}\n\nconst Text = React.forwardRef<HTMLElement, TextProps>(\n (\n { className, variant, size, weight, color, as, children, ...props },\n ref\n ) => {\n const Component = as || \"p\";\n\n return React.createElement(\n Component,\n {\n className: cn(\n textVariants({ variant, size, weight, color, as, className })\n ),\n ref,\n ...props,\n },\n children\n );\n }\n);\n\nText.displayName = \"Text\";\n\nexport { Text, textVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { Text } from \"../Text\";\n\nconst tooltipVariants = cva(\n \"absolute z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium shadow-lg border border-popup-outline-subtle flex flex-col gap-2 p-4 rounded-xlarge min-w-[200px] max-w-[300px] transition-opacity duration-200\",\n {\n variants: {\n placement: {\n \"top-start\": \"bottom-full left-0 mb-2\",\n top: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\n \"top-end\": \"bottom-full right-0 mb-2\",\n \"bottom-start\": \"top-full left-0 mt-2\",\n bottom: \"top-full left-1/2 -translate-x-1/2 mt-2\",\n \"bottom-end\": \"top-full right-0 mt-2\",\n },\n isVisible: {\n true: \"opacity-100 pointer-events-auto\",\n false: \"opacity-0 pointer-events-none\",\n },\n },\n defaultVariants: {\n placement: \"top\",\n isVisible: false,\n },\n }\n);\n\nconst tooltipArrowVariants = cva(\n \"absolute w-0 h-0 border-solid border-[6px]\",\n {\n variants: {\n placement: {\n \"top-start\":\n \"top-full left-4 border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n top: \"top-full left-1/2 -translate-x-1/2 border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n \"top-end\":\n \"top-full right-4 border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n \"bottom-start\":\n \"bottom-full left-4 border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n bottom:\n \"bottom-full left-1/2 -translate-x-1/2 border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n \"bottom-end\":\n \"bottom-full right-4 border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n },\n },\n defaultVariants: {\n placement: \"top\",\n },\n }\n);\n\nexport interface TooltipProps {\n /**\n * The trigger element that the tooltip will attach to\n */\n children: React.ReactElement;\n /**\n * Heading text for the tooltip\n */\n heading?: string;\n /**\n * Description text for the tooltip\n */\n description: string;\n /**\n * Placement of the tooltip relative to the trigger\n */\n placement?:\n | \"top-start\"\n | \"top\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"bottom-end\";\n /**\n * Whether to show the arrow/anchor\n */\n showArrow?: boolean;\n /**\n * Custom class name for the tooltip container\n */\n className?: string;\n /**\n * Delay before showing tooltip (in milliseconds)\n */\n delay?: number;\n /**\n * Whether the tooltip is disabled\n */\n disabled?: boolean;\n}\n\nconst Tooltip = React.forwardRef<HTMLDivElement, TooltipProps>(\n (\n {\n children,\n heading,\n description,\n placement = \"top\",\n showArrow = true,\n className,\n delay = 200,\n disabled = false,\n },\n ref\n ) => {\n const [isVisible, setIsVisible] = React.useState(false);\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n const handleMouseEnter = () => {\n if (disabled) return;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n setIsVisible(true);\n }, delay);\n };\n\n const handleMouseLeave = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n setIsVisible(false);\n };\n\n const handleFocus = () => {\n if (disabled) return;\n setIsVisible(true);\n };\n\n const handleBlur = () => {\n setIsVisible(false);\n };\n\n React.useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n // Clone the child element and add event handlers\n const trigger = React.cloneElement(children, {\n onMouseEnter: (e: React.MouseEvent) => {\n handleMouseEnter();\n children.props.onMouseEnter?.(e);\n },\n onMouseLeave: (e: React.MouseEvent) => {\n handleMouseLeave();\n children.props.onMouseLeave?.(e);\n },\n onFocus: (e: React.FocusEvent) => {\n handleFocus();\n children.props.onFocus?.(e);\n },\n onBlur: (e: React.FocusEvent) => {\n handleBlur();\n children.props.onBlur?.(e);\n },\n \"aria-describedby\": isVisible ? \"tooltip-content\" : undefined,\n });\n\n return (\n <div\n ref={containerRef}\n className=\"relative inline-block\"\n style={{ position: \"relative\" }}\n >\n {trigger}\n\n <div\n ref={ref}\n id=\"tooltip-content\"\n role=\"tooltip\"\n className={cn(tooltipVariants({ placement, isVisible }), className)}\n aria-hidden={!isVisible}\n >\n {showArrow && (\n <div className={cn(tooltipArrowVariants({ placement }))} />\n )}\n\n <div className=\"relative\">\n {heading && (\n <Text\n variant=\"body\"\n size=\"medium\"\n weight=\"semibold\"\n color=\"onPrimary\"\n >\n {heading}\n </Text>\n )}\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color=\"onPrimary\"\n >\n {description}\n </Text>\n </div>\n </div>\n </div>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n\nexport { Tooltip, tooltipVariants };\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/lib/utils.ts","../src/components/Button/Button.tsx","../src/components/Text/Text.tsx","../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n// Define patterns for custom classes that should be preserved\n// This approach is more scalable than hardcoding individual class names\nconst CUSTOM_CLASS_PATTERNS = [\n // Custom font classes\n /^font-(functional|display)$/,\n // Custom spacing classes (example)\n // /^spacing-(xs|sm|md|lg|xl)$/,\n // Custom color classes (example)\n // /^color-(primary|secondary|accent)$/,\n // Any class that starts with 'custom-'\n /^custom-/,\n];\n\nfunction isCustomClass(className: string): boolean {\n return CUSTOM_CLASS_PATTERNS.some((pattern) => pattern.test(className));\n}\n\nexport function cn(...inputs: ClassValue[]) {\n // Use clsx first to combine classes, then use twMerge for standard Tailwind classes\n const combined = clsx(inputs);\n\n // Split classes and filter out our custom classes before merging\n const classes = combined.split(\" \");\n const customClasses = classes.filter((cls) => isCustomClass(cls));\n const standardClasses = classes.filter((cls) => !isCustomClass(cls));\n\n // Merge standard classes and add back custom classes\n const mergedStandard = twMerge(standardClasses.join(\" \"));\n return clsx(mergedStandard, customClasses);\n}\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport { PulseLoader, ClipLoader } from \"react-spinners\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst buttonVariants = cva(\n \"items-center gap-3 justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none\",\n {\n variants: {\n variant: {\n primary:\n \"bg-action-fill-primary-default text-action-ink-on-primary-normal hover:bg-action-fill-primary-hover\",\n secondary:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n tertiary: \"hover:bg-accent hover:text-accent-foreground\",\n },\n color: {\n primary: \"\",\n positive: \"\",\n negative: \"\",\n notice: \"\",\n info: \"\",\n neutral: \"\",\n },\n size: {\n xsmall: \"md:h-[28px] px-3 text-xs rounded-medium\",\n small: \"md:h-[32px] px-4 text-xs rounded-medium\",\n medium: \"md:h-[36px] px-6 py-2 rounded-medium\",\n large: \"md:h-[44px] px-6 text-base rounded-xlarge\",\n },\n isIconOnly: {\n true: \"aspect-square p-0\",\n false: \"\",\n },\n isLoading: {\n true: \"cursor-not-allowed\",\n false: \"\",\n },\n isDisabled: {\n true: \"cursor-not-allowed\",\n false: \"cursor-pointer\",\n },\n isFullWidth: {\n true: \"flex w-full\",\n false: \"flex w-fit\",\n },\n },\n compoundVariants: [\n // Primary variant colors\n {\n variant: \"primary\",\n color: \"primary\",\n class: `bg-action-fill-primary-default text-action-ink-on-primary-normal \n hover:bg-action-fill-primary-hover \n disabled:bg-action-fill-primary-disabled\n disabled:text-action-ink-primary-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"positive\",\n class: `bg-action-fill-positive-default text-action-ink-on-primary-normal \n hover:bg-action-fill-positive-hover \n disabled:bg-action-fill-primary-disabled\n disabled:text-action-ink-primary-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"negative\",\n class: `bg-action-fill-negative-default text-action-ink-on-primary-normal \n hover:bg-action-fill-negative-hover \n disabled:bg-action-fill-negative-disabled\n disabled:text-action-ink-negative-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"notice\",\n class: `bg-action-fill-notice-default text-action-ink-on-primary-normal \n hover:bg-action-fill-notice-hover \n disabled:bg-action-fill-notice-disabled\n disabled:text-action-ink-notice-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"info\",\n class: `bg-action-fill-info-default text-action-ink-on-primary-normal \n hover:bg-action-fill-info-hover \n disabled:bg-action-fill-info-disabled\n disabled:text-action-ink-info-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"neutral\",\n class: `bg-action-fill-neutral-default text-action-ink-on-primary-normal \n hover:bg-action-fill-neutral-hover \n disabled:bg-action-fill-neutral-disabled\n disabled:text-action-ink-neutral-disabled\n `,\n },\n // Secondary variant colors\n {\n variant: \"secondary\",\n color: \"primary\",\n class: `border-action-outline-info-faded text-action-ink-primary-normal hover:border-action-outline-info-faded-hover \n disabled:bg-action-outline-info-disabled\n disabled:text-action-ink-primary-disabled\n disabled:border-action-outline-primary-disabled\n `,\n },\n {\n variant: \"secondary\",\n color: \"positive\",\n class:\n \"border-action-outline-positive-faded text-action-ink-positive-normal hover:border-action-outline-positive-faded-hover disabled:bg-action-outline-positive-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"negative\",\n class:\n \"border-action-outline-negative-faded text-action-ink-negative-normal hover:border-action-outline-negative-faded-hover disabled:bg-action-outline-negative-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"notice\",\n class:\n \"border-action-outline-notice-faded text-action-ink-notice-normal hover:border-action-outline-notice-faded-hover disabled:bg-action-outline-notice-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"info\",\n class:\n \"border-action-outline-info-faded text-action-ink-info-normal hover:border-action-outline-info-faded-hover disabled:bg-action-outline-info-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"neutral\",\n class:\n \"border-action-outline-neutral-faded text-action-ink-neutral-normal hover:bg-action-outline-neutral-faded-hover\",\n },\n // Tertiary variant colors\n {\n variant: \"tertiary\",\n color: \"primary\",\n class: `text-action-ink-primary-normal \n hover:bg-action-fill-primary-faded \n disabled:text-action-ink-on-primary-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"positive\",\n class: `text-action-ink-positive-normal \n hover:bg-action-fill-positive-faded \n disabled:text-action-ink-on-positive-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"negative\",\n class: `text-action-ink-negative-normal \n hover:bg-action-fill-negative-faded \n disabled:text-action-ink-on-negative-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"notice\",\n class: `text-action-ink-notice-normal \n hover:bg-action-fill-notice-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"info\",\n class: `text-action-ink-info-normal \n hover:bg-action-fill-info-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"neutral\",\n class: `text-action-ink-neutral-normal \n hover:bg-action-fill-neutral-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n // Icon only sizing\n {\n isIconOnly: true,\n size: \"xsmall\",\n class: \"h-7 w-7\",\n },\n {\n isIconOnly: true,\n size: \"small\",\n class: \"h-8 w-8\",\n },\n {\n isIconOnly: true,\n size: \"medium\",\n class: \"h-9 w-9\",\n },\n {\n isIconOnly: true,\n size: \"large\",\n class: \"h-10 w-10\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n color: \"primary\",\n size: \"medium\",\n isIconOnly: false,\n isLoading: false,\n isFullWidth: false,\n },\n }\n);\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"color\"> {\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n color?: \"primary\" | \"positive\" | \"negative\" | \"notice\" | \"info\" | \"neutral\";\n size?: \"xsmall\" | \"small\" | \"medium\" | \"large\";\n isIconOnly?: boolean;\n isLoading?: boolean;\n isDisabled?: boolean;\n isFullWidth?: boolean;\n asChild?: boolean;\n leadingIcon?: React.ReactNode;\n trailingIcon?: React.ReactNode;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant = \"primary\",\n color = \"primary\",\n size,\n isIconOnly,\n isLoading,\n asChild = false,\n leadingIcon,\n trailingIcon,\n isFullWidth = false,\n children,\n disabled,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\";\n\n const isDisabled = disabled || isLoading || false;\n\n const buttonContent = (\n <>\n {isLoading && !isIconOnly && (\n <PulseLoader\n color={`var(--color-action-ink-${color}-normal)`}\n size={10}\n />\n )}\n {isLoading && isIconOnly && (\n <ClipLoader\n color={`var(--color-action-ink-${color}-normal)`}\n size={20}\n />\n )}\n {!isLoading && leadingIcon && (\n <span className=\"mr-2\">{leadingIcon}</span>\n )}\n {!isIconOnly && !isLoading && children}\n {isIconOnly && !isLoading && children}\n {!isLoading && trailingIcon && <span>{trailingIcon}</span>}\n </>\n );\n\n return (\n <Comp\n className={cn(\n buttonVariants({\n variant,\n color,\n size,\n isIconOnly,\n isLoading,\n isDisabled,\n isFullWidth,\n }),\n className\n )}\n ref={ref}\n disabled={isDisabled}\n {...props}\n >\n {buttonContent}\n </Comp>\n );\n }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst textVariants = cva(\"\", {\n variants: {\n variant: {\n display: \"font-functional font-medium\",\n heading: \"font-display\",\n body: \"font-display\",\n caption: \"font-display font-semibold\",\n },\n size: {\n \"2xlarge\": \"font-size-700 leading-700 tracking-[0%] mb-0\",\n xlarge: \"font-size-1100 leading-1100 tracking-[0%] mb-0\",\n large: \"font-size-1000 leading-1000 tracking-[0%] mb-0\",\n medium: \"font-size-900 leading-900 tracking-[0%] mb-0\",\n small: \"font-size-800 leading-800 tracking-[0%] mb-0\",\n xsmall:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n weight: {\n regular: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n },\n color: {\n default: \"text-surface-ink-neutral-normal\",\n subtle: \"text-surface-ink-neutral-subtle\",\n muted: \"text-surface-ink-neutral-muted\",\n disabled: \"text-surface-ink-neutral-disabled\",\n primary: \"text-surface-ink-primary-normal\",\n onPrimary: \"text-action-ink-on-primary-normal\",\n },\n as: {\n h1: \"\",\n h2: \"\",\n h3: \"\",\n h4: \"\",\n h5: \"\",\n h6: \"\",\n p: \"\",\n span: \"\",\n div: \"\",\n },\n },\n compoundVariants: [\n // Display variants use Clash Grotesk with medium weight\n {\n variant: \"display\",\n weight: \"regular\",\n class: \"font-medium\",\n },\n {\n variant: \"display\",\n weight: \"medium\",\n class: \"font-medium\",\n },\n {\n variant: \"display\",\n weight: \"semibold\",\n class: \"font-medium\",\n },\n // Caption is always semibold\n {\n variant: \"caption\",\n weight: \"regular\",\n class: \"font-semibold\",\n },\n {\n variant: \"caption\",\n weight: \"medium\",\n class: \"font-semibold\",\n },\n {\n variant: \"caption\",\n weight: \"semibold\",\n class: \"font-semibold\",\n },\n // Size-specific styling based on variant\n // Display sizes\n {\n variant: \"display\",\n size: \"xlarge\",\n class: \"font-size-1100 leading-1100 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"large\",\n class: \"font-size-1000 leading-1000 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"medium\",\n class: \"font-size-900 leading-900 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"small\",\n class: \"font-size-800 leading-800 tracking-[0%] mb-0\",\n },\n // Heading sizes\n {\n variant: \"heading\",\n size: \"2xlarge\",\n class: \"font-size-700 leading-700 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"xlarge\",\n class: \"font-size-600 leading-600 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"large\",\n class: \"font-size-500 leading-500 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"medium\",\n class: \"font-size-400 leading-400 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"small\",\n class: \"font-size-300 leading-300 tracking-[0%] mb-0\",\n },\n // Body sizes\n {\n variant: \"body\",\n size: \"large\",\n class:\n \"font-size-200 leading-200 tracking-[0%] mb-[var(--paragraph-spacing-400)]\",\n },\n {\n variant: \"body\",\n size: \"medium\",\n class:\n \"font-size-100 leading-100 tracking-[0%] mb-[var(--paragraph-spacing-300)]\",\n },\n {\n variant: \"body\",\n size: \"small\",\n class:\n \"font-size-75 leading-75 tracking-[0%] mb-[var(--paragraph-spacing-200)]\",\n },\n {\n variant: \"body\",\n size: \"xsmall\",\n class:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n // Caption sizes\n {\n variant: \"caption\",\n size: \"medium\",\n class: \"text-50 leading-50 tracking-[0%] mb-0\",\n },\n ],\n defaultVariants: {\n variant: \"body\",\n size: \"medium\",\n weight: \"regular\",\n color: \"default\",\n as: \"p\",\n },\n});\n\nexport interface TextProps\n extends Omit<React.HTMLAttributes<HTMLElement>, \"color\"> {\n children: React.ReactNode;\n variant?: \"display\" | \"heading\" | \"body\" | \"caption\";\n size?: \"2xlarge\" | \"xlarge\" | \"large\" | \"medium\" | \"small\" | \"xsmall\";\n weight?: \"regular\" | \"medium\" | \"semibold\";\n color?: \"default\" | \"subtle\" | \"muted\" | \"disabled\" | \"primary\" | \"onPrimary\";\n as?: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"span\" | \"div\";\n className?: string;\n}\n\nconst Text = React.forwardRef<HTMLElement, TextProps>(\n (\n { className, variant, size, weight, color, as, children, ...props },\n ref\n ) => {\n const Component = as || \"p\";\n\n return React.createElement(\n Component,\n {\n className: cn(\n textVariants({ variant, size, weight, color, as, className })\n ),\n ref,\n ...props,\n },\n children\n );\n }\n);\n\nText.displayName = \"Text\";\n\nexport { Text, textVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { Text } from \"../Text\";\n\nconst tooltipVariants = cva(\n \"fixed z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium shadow-lg border border-popup-outline-subtle flex flex-col gap-2 p-4 rounded-xlarge min-w-[200px] max-w-[300px] transition-opacity duration-200\",\n {\n variants: {\n isVisible: {\n true: \"opacity-100 pointer-events-auto\",\n false: \"opacity-0 pointer-events-none\",\n },\n },\n defaultVariants: {\n isVisible: false,\n },\n }\n);\n\nconst tooltipArrowVariants = cva(\n \"absolute w-0 h-0 border-solid border-[6px] -translate-x-1/2\",\n {\n variants: {\n placement: {\n \"top-start\":\n \"top-full border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n top: \"top-full border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n \"top-end\":\n \"top-full border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n \"bottom-start\":\n \"bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n bottom:\n \"bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n \"bottom-end\":\n \"bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n },\n },\n defaultVariants: {\n placement: \"top\",\n },\n }\n);\n\nexport interface TooltipProps {\n /**\n * The trigger element that the tooltip will attach to\n */\n children: React.ReactElement;\n /**\n * Heading text for the tooltip\n */\n heading?: string;\n /**\n * Description text for the tooltip\n */\n description: string;\n /**\n * Placement of the tooltip relative to the trigger\n */\n placement?:\n | \"top-start\"\n | \"top\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"bottom-end\";\n /**\n * Whether to show the arrow/anchor\n */\n showArrow?: boolean;\n /**\n * Custom class name for the tooltip container\n */\n className?: string;\n /**\n * Delay before showing tooltip (in milliseconds)\n */\n delay?: number;\n /**\n * Whether the tooltip is disabled\n */\n disabled?: boolean;\n}\n\nconst Tooltip = React.forwardRef<HTMLDivElement, TooltipProps>(\n (\n {\n children,\n heading,\n description,\n placement = \"top\",\n showArrow = true,\n className,\n delay = 200,\n disabled = false,\n },\n ref\n ) => {\n const [isVisible, setIsVisible] = React.useState(false);\n const [position, setPosition] = React.useState({ top: 0, left: 0 });\n const [arrowPosition, setArrowPosition] = React.useState({ left: 0 });\n const [actualPlacement, setActualPlacement] = React.useState<\n \"top-start\" | \"top\" | \"top-end\" | \"bottom-start\" | \"bottom\" | \"bottom-end\"\n >(placement);\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const triggerRef = React.useRef<HTMLElement>(null);\n const tooltipRef = React.useRef<HTMLDivElement>(null);\n\n const calculatePosition = React.useCallback(() => {\n if (!triggerRef.current || !tooltipRef.current) return;\n\n const triggerRect = triggerRef.current.getBoundingClientRect();\n const tooltipRect = tooltipRef.current.getBoundingClientRect();\n const gap = 8; // 8px gap between trigger and tooltip\n const arrowSize = 6; // Size of the arrow\n const viewportPadding = 8; // Minimum padding from viewport edges\n\n let top = 0;\n let left = 0;\n let currentPlacement = placement;\n\n // Calculate initial position based on placement\n switch (placement) {\n case \"top-start\":\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n left = triggerRect.left;\n break;\n case \"top\":\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n left =\n triggerRect.left + triggerRect.width / 2 - tooltipRect.width / 2;\n break;\n case \"top-end\":\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n left = triggerRect.right - tooltipRect.width;\n break;\n case \"bottom-start\":\n top = triggerRect.bottom + gap + arrowSize;\n left = triggerRect.left;\n break;\n case \"bottom\":\n top = triggerRect.bottom + gap + arrowSize;\n left =\n triggerRect.left + triggerRect.width / 2 - tooltipRect.width / 2;\n break;\n case \"bottom-end\":\n top = triggerRect.bottom + gap + arrowSize;\n left = triggerRect.right - tooltipRect.width;\n break;\n }\n\n // Get viewport dimensions\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n // Adjust horizontal position to keep tooltip within viewport\n if (left < viewportPadding) {\n // Tooltip would overflow on the left\n left = viewportPadding;\n } else if (left + tooltipRect.width > viewportWidth - viewportPadding) {\n // Tooltip would overflow on the right\n left = viewportWidth - tooltipRect.width - viewportPadding;\n }\n\n // Adjust vertical position to keep tooltip within viewport\n if (top < viewportPadding) {\n // Tooltip would overflow at the top\n // Try to flip to bottom if there's more space there\n const spaceBelow = viewportHeight - triggerRect.bottom;\n const spaceAbove = triggerRect.top;\n\n if (spaceBelow > spaceAbove) {\n // Flip to bottom\n top = triggerRect.bottom + gap + arrowSize;\n // Update placement to reflect the flip\n if (placement === \"top-start\") currentPlacement = \"bottom-start\";\n else if (placement === \"top\") currentPlacement = \"bottom\";\n else if (placement === \"top-end\") currentPlacement = \"bottom-end\";\n } else {\n // Keep at top but adjust to stay in viewport\n top = viewportPadding;\n }\n } else if (top + tooltipRect.height > viewportHeight - viewportPadding) {\n // Tooltip would overflow at the bottom\n // Try to flip to top if there's more space there\n const spaceAbove = triggerRect.top;\n const spaceBelow = viewportHeight - triggerRect.bottom;\n\n if (spaceAbove > spaceBelow) {\n // Flip to top\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n // Update placement to reflect the flip\n if (placement === \"bottom-start\") currentPlacement = \"top-start\";\n else if (placement === \"bottom\") currentPlacement = \"top\";\n else if (placement === \"bottom-end\") currentPlacement = \"top-end\";\n } else {\n // Keep at bottom but adjust to stay in viewport\n top = viewportHeight - tooltipRect.height - viewportPadding;\n }\n }\n\n // Calculate arrow position relative to trigger\n // The arrow should point to the center of the trigger element\n const triggerCenterX = triggerRect.left + triggerRect.width / 2;\n const tooltipLeft = left;\n const arrowLeft = triggerCenterX - tooltipLeft;\n\n // Clamp arrow position to stay within tooltip bounds (with padding)\n const arrowPadding = 16; // Minimum distance from tooltip edges\n const clampedArrowLeft = Math.max(\n arrowPadding,\n Math.min(arrowLeft, tooltipRect.width - arrowPadding)\n );\n\n setPosition({ top, left });\n setArrowPosition({ left: clampedArrowLeft });\n setActualPlacement(currentPlacement);\n }, [placement]);\n\n const handleMouseEnter = () => {\n if (disabled) return;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n setIsVisible(true);\n }, delay);\n };\n\n const handleMouseLeave = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n setIsVisible(false);\n };\n\n const handleFocus = () => {\n if (disabled) return;\n setIsVisible(true);\n };\n\n const handleBlur = () => {\n setIsVisible(false);\n };\n\n React.useEffect(() => {\n if (isVisible) {\n calculatePosition();\n window.addEventListener(\"scroll\", calculatePosition, true);\n window.addEventListener(\"resize\", calculatePosition);\n }\n\n return () => {\n window.removeEventListener(\"scroll\", calculatePosition, true);\n window.removeEventListener(\"resize\", calculatePosition);\n };\n }, [isVisible, calculatePosition]);\n\n React.useEffect(() => {\n // Reset actualPlacement when placement prop changes\n setActualPlacement(placement);\n }, [placement]);\n\n React.useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n // Merge refs function\n const mergeRefs = (...refs: any[]) => {\n return (node: any) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref && typeof ref === \"object\" && \"current\" in ref) {\n (ref as any).current = node;\n }\n });\n };\n };\n\n // Clone the child element and add event handlers\n const trigger = React.cloneElement(children, {\n ref: mergeRefs(triggerRef, (children as any).ref),\n onMouseEnter: (e: React.MouseEvent) => {\n handleMouseEnter();\n children.props.onMouseEnter?.(e);\n },\n onMouseLeave: (e: React.MouseEvent) => {\n handleMouseLeave();\n children.props.onMouseLeave?.(e);\n },\n onFocus: (e: React.FocusEvent) => {\n handleFocus();\n children.props.onFocus?.(e);\n },\n onBlur: (e: React.FocusEvent) => {\n handleBlur();\n children.props.onBlur?.(e);\n },\n \"aria-describedby\": isVisible ? \"tooltip-content\" : undefined,\n });\n\n return (\n <>\n {trigger}\n\n <div\n ref={mergeRefs(tooltipRef, ref)}\n id=\"tooltip-content\"\n role=\"tooltip\"\n className={cn(tooltipVariants({ isVisible }), className)}\n style={{\n top: `${position.top}px`,\n left: `${position.left}px`,\n }}\n aria-hidden={!isVisible}\n >\n {showArrow && (\n <div\n className={cn(\n tooltipArrowVariants({ placement: actualPlacement })\n )}\n style={{\n left: `${arrowPosition.left}px`,\n }}\n />\n )}\n\n <div className=\"relative\">\n {heading && (\n <Text\n variant=\"body\"\n size=\"medium\"\n weight=\"semibold\"\n color=\"onPrimary\"\n >\n {heading}\n </Text>\n )}\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color=\"onPrimary\"\n >\n {description}\n </Text>\n </div>\n </div>\n </>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n\nexport { Tooltip, tooltipVariants };\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":";;;;;;;;AAGA;AACA;AACA,MAAM,qBAAqB,GAAG;;IAE5B,6BAA6B;;;;;;IAM7B,UAAU;CACX;AAED,SAAS,aAAa,CAAC,SAAiB,EAAA;AACtC,IAAA,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACzE;AAEM,SAAU,EAAE,CAAC,GAAG,MAAoB,EAAA;;AAExC,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;;IAG7B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACnC,IAAA,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC;AACjE,IAAA,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;;IAGpE,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,IAAA,OAAO,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC;AAC5C;;ACzBA,MAAM,cAAc,GAAG,GAAG,CACxB,mPAAmP,EACnP;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EACL,qGAAqG;AACvG,YAAA,SAAS,EACP,gFAAgF;AAClF,YAAA,QAAQ,EAAE,8CAA8C;AACzD,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,MAAM,EAAE,yCAAyC;AACjD,YAAA,KAAK,EAAE,yCAAyC;AAChD,YAAA,MAAM,EAAE,sCAAsC;AAC9C,YAAA,KAAK,EAAE,2CAA2C;AACnD,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,mBAAmB;AACzB,YAAA,KAAK,EAAE,EAAE;AACV,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,KAAK,EAAE,EAAE;AACV,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,KAAK,EAAE,gBAAgB;AACxB,SAAA;AACD,QAAA,WAAW,EAAE;AACX,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,KAAK,EAAE,YAAY;AACpB,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;;AAEhB,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,CAAA;;;;AAIJ,UAAA,CAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,KAAK,EAAE,CAAA;;;;AAIJ,UAAA,CAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,KAAK,EAAE,CAAA;;;;AAIJ,UAAA,CAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,KAAK,EAAE,CAAA;;;;AAIJ,UAAA,CAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,KAAK,EAAE,CAAA;;;;AAIJ,UAAA,CAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,CAAA;;;;AAIJ,UAAA,CAAA;AACJ,SAAA;;AAED,QAAA;AACE,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,CAAA;;;;AAIJ,UAAA,CAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,KAAK,EACH,oKAAoK;AACvK,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,KAAK,EACH,oKAAoK;AACvK,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,KAAK,EACH,4JAA4J;AAC/J,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,KAAK,EACH,oJAAoJ;AACvJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EACH,gHAAgH;AACnH,SAAA;;AAED,QAAA;AACE,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,CAAA;;;AAGJ,UAAA,CAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,KAAK,EAAE,CAAA;;;AAGJ,UAAA,CAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,KAAK,EAAE,CAAA;;;AAGJ,UAAA,CAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,KAAK,EAAE,CAAA;;;AAGJ,UAAA,CAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,KAAK,EAAE,CAAA;;;AAGJ,UAAA,CAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,CAAA;;;AAGJ,UAAA,CAAA;AACJ,SAAA;;AAED,QAAA;AACE,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,SAAS;AACjB,SAAA;AACD,QAAA;AACE,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE,SAAS;AACjB,SAAA;AACD,QAAA;AACE,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,SAAS;AACjB,SAAA;AACD,QAAA;AACE,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE,WAAW;AACnB,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,WAAW,EAAE,KAAK;AACnB,KAAA;AACF,CAAA;AAiBH,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CACE,EACE,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,KAAK,GAAG,SAAS,EACjB,IAAI,EACJ,UAAU,EACV,SAAS,EACT,OAAO,GAAG,KAAK,EACf,WAAW,EACX,YAAY,EACZ,WAAW,GAAG,KAAK,EACnB,QAAQ,EACR,QAAQ,EACR,GAAG,KAAK,EACT,EACD,GAAG,KACD;IACF,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ;AAEtC,IAAA,MAAM,UAAU,GAAG,QAAQ,IAAI,SAAS,IAAI,KAAK;AAEjD,IAAA,MAAM,aAAa,IACjBA,4BACG,SAAS,IAAI,CAAC,UAAU,KACvBC,GAAA,CAAC,WAAW,EAAA,EACV,KAAK,EAAE,CAAA,uBAAA,EAA0B,KAAK,UAAU,EAChD,IAAI,EAAE,EAAE,GACR,CACH,EACA,SAAS,IAAI,UAAU,KACtBA,GAAA,CAAC,UAAU,EAAA,EACT,KAAK,EAAE,CAAA,uBAAA,EAA0B,KAAK,CAAA,QAAA,CAAU,EAChD,IAAI,EAAE,EAAE,EAAA,CACR,CACH,EACA,CAAC,SAAS,IAAI,WAAW,KACxBA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,MAAM,YAAE,WAAW,EAAA,CAAQ,CAC5C,EACA,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,QAAQ,EACrC,UAAU,IAAI,CAAC,SAAS,IAAI,QAAQ,EACpC,CAAC,SAAS,IAAI,YAAY,IAAIA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,YAAY,EAAA,CAAQ,CAAA,EAAA,CACzD,CACJ;IAED,QACEA,IAAC,IAAI,EAAA,EACH,SAAS,EAAE,EAAE,CACX,cAAc,CAAC;YACb,OAAO;YACP,KAAK;YACL,IAAI;YACJ,UAAU;YACV,SAAS;YACT,UAAU;YACV,WAAW;AACZ,SAAA,CAAC,EACF,SAAS,CACV,EACD,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,UAAU,EAAA,GAChB,KAAK,YAER,aAAa,EAAA,CACT;AAEX,CAAC;AAEH,MAAM,CAAC,WAAW,GAAG,QAAQ;;AClT7B,MAAM,YAAY,GAAG,GAAG,CAAC,EAAE,EAAE;AAC3B,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,6BAA6B;AACtC,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,OAAO,EAAE,4BAA4B;AACtC,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,SAAS,EAAE,8CAA8C;AACzD,YAAA,MAAM,EAAE,gDAAgD;AACxD,YAAA,KAAK,EAAE,gDAAgD;AACvD,YAAA,MAAM,EAAE,8CAA8C;AACtD,YAAA,KAAK,EAAE,8CAA8C;AACrD,YAAA,MAAM,EACJ,yEAAyE;AAC5E,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,QAAQ,EAAE,eAAe;AAC1B,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,iCAAiC;AAC1C,YAAA,MAAM,EAAE,iCAAiC;AACzC,YAAA,KAAK,EAAE,gCAAgC;AACvC,YAAA,QAAQ,EAAE,mCAAmC;AAC7C,YAAA,OAAO,EAAE,iCAAiC;AAC1C,YAAA,SAAS,EAAE,mCAAmC;AAC/C,SAAA;AACD,QAAA,EAAE,EAAE;AACF,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,CAAC,EAAE,EAAE;AACL,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,GAAG,EAAE,EAAE;AACR,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;;AAEhB,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,KAAK,EAAE,aAAa;AACrB,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,KAAK,EAAE,aAAa;AACrB,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,KAAK,EAAE,aAAa;AACrB,SAAA;;AAED,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;;;AAGD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,gDAAgD;AACxD,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE,gDAAgD;AACxD,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,8CAA8C;AACtD,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE,8CAA8C;AACtD,SAAA;;AAED,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,8CAA8C;AACtD,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,8CAA8C;AACtD,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE,8CAA8C;AACtD,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,8CAA8C;AACtD,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE,8CAA8C;AACtD,SAAA;;AAED,QAAA;AACE,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EACH,2EAA2E;AAC9E,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EACH,2EAA2E;AAC9E,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EACH,yEAAyE;AAC5E,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EACH,yEAAyE;AAC5E,SAAA;;AAED,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,uCAAuC;AAC/C,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,EAAE,EAAE,GAAG;AACR,KAAA;AACF,CAAA;AAaD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAC3B,CACE,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EACnE,GAAG,KACD;AACF,IAAA,MAAM,SAAS,GAAG,EAAE,IAAI,GAAG;AAE3B,IAAA,OAAO,KAAK,CAAC,aAAa,CACxB,SAAS,EACT;AACE,QAAA,SAAS,EAAE,EAAE,CACX,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAC9D;QACD,GAAG;AACH,QAAA,GAAG,KAAK;KACT,EACD,QAAQ,CACT;AACH,CAAC;AAGH,IAAI,CAAC,WAAW,GAAG,MAAM;;ACnMzB,MAAM,eAAe,GAAG,GAAG,CACzB,mOAAmO,EACnO;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,iCAAiC;AACvC,YAAA,KAAK,EAAE,+BAA+B;AACvC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,SAAS,EAAE,KAAK;AACjB,KAAA;AACF,CAAA;AAGH,MAAM,oBAAoB,GAAG,GAAG,CAC9B,6DAA6D,EAC7D;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,SAAS,EAAE;AACT,YAAA,WAAW,EACT,gFAAgF;AAClF,YAAA,GAAG,EAAE,gFAAgF;AACrF,YAAA,SAAS,EACP,gFAAgF;AAClF,YAAA,cAAc,EACZ,mFAAmF;AACrF,YAAA,MAAM,EACJ,mFAAmF;AACrF,YAAA,YAAY,EACV,mFAAmF;AACtF,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,SAAS,EAAE,KAAK;AACjB,KAAA;AACF,CAAA,CACF;AA2CD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAC9B,CACE,EACE,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,GAAG,KAAK,EACjB,SAAS,GAAG,IAAI,EAChB,SAAS,EACT,KAAK,GAAG,GAAG,EACX,QAAQ,GAAG,KAAK,GACjB,EACD,GAAG,KACD;AACF,IAAA,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IACvD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACnE,IAAA,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACrE,IAAA,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAE1D,SAAS,CAAC;IACZ,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAuC,IAAI,CAAC;IAC3E,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAc,IAAI,CAAC;IAClD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC;AAErD,IAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,MAAK;QAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE;QAEhD,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE;QAC9D,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE;AAC9D,QAAA,MAAM,GAAG,GAAG,CAAC,CAAC;AACd,QAAA,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,QAAA,MAAM,eAAe,GAAG,CAAC,CAAC;QAE1B,IAAI,GAAG,GAAG,CAAC;QACX,IAAI,IAAI,GAAG,CAAC;QACZ,IAAI,gBAAgB,GAAG,SAAS;;QAGhC,QAAQ,SAAS;AACf,YAAA,KAAK,WAAW;AACd,gBAAA,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;AAC5D,gBAAA,IAAI,GAAG,WAAW,CAAC,IAAI;gBACvB;AACF,YAAA,KAAK,KAAK;AACR,gBAAA,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;gBAC5D,IAAI;AACF,oBAAA,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC;gBAClE;AACF,YAAA,KAAK,SAAS;AACZ,gBAAA,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;gBAC5D,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK;gBAC5C;AACF,YAAA,KAAK,cAAc;gBACjB,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;AAC1C,gBAAA,IAAI,GAAG,WAAW,CAAC,IAAI;gBACvB;AACF,YAAA,KAAK,QAAQ;gBACX,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;gBAC1C,IAAI;AACF,oBAAA,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC;gBAClE;AACF,YAAA,KAAK,YAAY;gBACf,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;gBAC1C,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK;gBAC5C;;;AAIJ,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU;AACvC,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW;;AAGzC,QAAA,IAAI,IAAI,GAAG,eAAe,EAAE;;YAE1B,IAAI,GAAG,eAAe;QACxB;aAAO,IAAI,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,aAAa,GAAG,eAAe,EAAE;;YAErE,IAAI,GAAG,aAAa,GAAG,WAAW,CAAC,KAAK,GAAG,eAAe;QAC5D;;AAGA,QAAA,IAAI,GAAG,GAAG,eAAe,EAAE;;;AAGzB,YAAA,MAAM,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC,MAAM;AACtD,YAAA,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG;AAElC,YAAA,IAAI,UAAU,GAAG,UAAU,EAAE;;gBAE3B,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;;gBAE1C,IAAI,SAAS,KAAK,WAAW;oBAAE,gBAAgB,GAAG,cAAc;qBAC3D,IAAI,SAAS,KAAK,KAAK;oBAAE,gBAAgB,GAAG,QAAQ;qBACpD,IAAI,SAAS,KAAK,SAAS;oBAAE,gBAAgB,GAAG,YAAY;YACnE;iBAAO;;gBAEL,GAAG,GAAG,eAAe;YACvB;QACF;aAAO,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,cAAc,GAAG,eAAe,EAAE;;;AAGtE,YAAA,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG;AAClC,YAAA,MAAM,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC,MAAM;AAEtD,YAAA,IAAI,UAAU,GAAG,UAAU,EAAE;;AAE3B,gBAAA,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;;gBAE5D,IAAI,SAAS,KAAK,cAAc;oBAAE,gBAAgB,GAAG,WAAW;qBAC3D,IAAI,SAAS,KAAK,QAAQ;oBAAE,gBAAgB,GAAG,KAAK;qBACpD,IAAI,SAAS,KAAK,YAAY;oBAAE,gBAAgB,GAAG,SAAS;YACnE;iBAAO;;gBAEL,GAAG,GAAG,cAAc,GAAG,WAAW,CAAC,MAAM,GAAG,eAAe;YAC7D;QACF;;;QAIA,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC;QAC/D,MAAM,WAAW,GAAG,IAAI;AACxB,QAAA,MAAM,SAAS,GAAG,cAAc,GAAG,WAAW;;AAG9C,QAAA,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAC/B,YAAY,EACZ,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,GAAG,YAAY,CAAC,CACtD;AAED,QAAA,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC1B,QAAA,gBAAgB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAC5C,kBAAkB,CAAC,gBAAgB,CAAC;AACtC,IAAA,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAEf,MAAM,gBAAgB,GAAG,MAAK;AAC5B,QAAA,IAAI,QAAQ;YAAE;AAEd,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE;AACtB,YAAA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;QAClC;AAEA,QAAA,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,MAAK;YACnC,YAAY,CAAC,IAAI,CAAC;QACpB,CAAC,EAAE,KAAK,CAAC;AACX,IAAA,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAK;AAC5B,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE;AACtB,YAAA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;QAClC;QACA,YAAY,CAAC,KAAK,CAAC;AACrB,IAAA,CAAC;IAED,MAAM,WAAW,GAAG,MAAK;AACvB,QAAA,IAAI,QAAQ;YAAE;QACd,YAAY,CAAC,IAAI,CAAC;AACpB,IAAA,CAAC;IAED,MAAM,UAAU,GAAG,MAAK;QACtB,YAAY,CAAC,KAAK,CAAC;AACrB,IAAA,CAAC;AAED,IAAA,KAAK,CAAC,SAAS,CAAC,MAAK;QACnB,IAAI,SAAS,EAAE;AACb,YAAA,iBAAiB,EAAE;YACnB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC;AAC1D,YAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QACtD;AAEA,QAAA,OAAO,MAAK;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,CAAC;AAC7D,YAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC;AACzD,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAElC,IAAA,KAAK,CAAC,SAAS,CAAC,MAAK;;QAEnB,kBAAkB,CAAC,SAAS,CAAC;AAC/B,IAAA,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAEf,IAAA,KAAK,CAAC,SAAS,CAAC,MAAK;AACnB,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,UAAU,CAAC,OAAO,EAAE;AACtB,gBAAA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;YAClC;AACF,QAAA,CAAC;IACH,CAAC,EAAE,EAAE,CAAC;;AAGN,IAAA,MAAM,SAAS,GAAG,CAAC,GAAG,IAAW,KAAI;QACnC,OAAO,CAAC,IAAS,KAAI;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACnB,gBAAA,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;oBAC7B,GAAG,CAAC,IAAI,CAAC;gBACX;qBAAO,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,EAAE;AAC5D,oBAAA,GAAW,CAAC,OAAO,GAAG,IAAI;gBAC7B;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC;AACH,IAAA,CAAC;;AAGD,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;QAC3C,GAAG,EAAE,SAAS,CAAC,UAAU,EAAG,QAAgB,CAAC,GAAG,CAAC;AACjD,QAAA,YAAY,EAAE,CAAC,CAAmB,KAAI;AACpC,YAAA,gBAAgB,EAAE;YAClB,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;QAClC,CAAC;AACD,QAAA,YAAY,EAAE,CAAC,CAAmB,KAAI;AACpC,YAAA,gBAAgB,EAAE;YAClB,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;QAClC,CAAC;AACD,QAAA,OAAO,EAAE,CAAC,CAAmB,KAAI;AAC/B,YAAA,WAAW,EAAE;YACb,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QAC7B,CAAC;AACD,QAAA,MAAM,EAAE,CAAC,CAAmB,KAAI;AAC9B,YAAA,UAAU,EAAE;YACZ,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,kBAAkB,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS;AAC9D,KAAA,CAAC;AAEF,IAAA,QACED,IAAA,CAAAE,QAAA,EAAA,EAAA,QAAA,EAAA,CACG,OAAO,EAERF,IAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,EAC/B,EAAE,EAAC,iBAAiB,EACpB,IAAI,EAAC,SAAS,EACd,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,EACxD,KAAK,EAAE;AACL,oBAAA,GAAG,EAAE,CAAA,EAAG,QAAQ,CAAC,GAAG,CAAA,EAAA,CAAI;AACxB,oBAAA,IAAI,EAAE,CAAA,EAAG,QAAQ,CAAC,IAAI,CAAA,EAAA,CAAI;iBAC3B,EAAA,aAAA,EACY,CAAC,SAAS,EAAA,QAAA,EAAA,CAEtB,SAAS,KACRC,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,oBAAoB,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CACrD,EACD,KAAK,EAAE;AACL,4BAAA,IAAI,EAAE,CAAA,EAAG,aAAa,CAAC,IAAI,CAAA,EAAA,CAAI;yBAChC,EAAA,CACD,CACH,EAEDD,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,UAAU,EAAA,QAAA,EAAA,CACtB,OAAO,KACNC,GAAA,CAAC,IAAI,EAAA,EACH,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,QAAQ,EACb,MAAM,EAAC,UAAU,EACjB,KAAK,EAAC,WAAW,EAAA,QAAA,EAEhB,OAAO,EAAA,CACH,CACR,EACDA,GAAA,CAAC,IAAI,EAAA,EACH,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,OAAO,EACZ,MAAM,EAAC,SAAS,EAChB,KAAK,EAAC,WAAW,EAAA,QAAA,EAEhB,WAAW,EAAA,CACP,CAAA,EAAA,CACH,CAAA,EAAA,CACF,CAAA,EAAA,CACL;AAEP,CAAC;AAGH,OAAO,CAAC,WAAW,GAAG,SAAS;;;;"}
package/dist/index.js CHANGED
@@ -447,35 +447,26 @@ const Text = React__namespace.forwardRef(({ className, variant, size, weight, co
447
447
  });
448
448
  Text.displayName = "Text";
449
449
 
450
- const tooltipVariants = classVarianceAuthority.cva("absolute z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium shadow-lg border border-popup-outline-subtle flex flex-col gap-2 p-4 rounded-xlarge min-w-[200px] max-w-[300px] transition-opacity duration-200", {
450
+ const tooltipVariants = classVarianceAuthority.cva("fixed z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium shadow-lg border border-popup-outline-subtle flex flex-col gap-2 p-4 rounded-xlarge min-w-[200px] max-w-[300px] transition-opacity duration-200", {
451
451
  variants: {
452
- placement: {
453
- "top-start": "bottom-full left-0 mb-2",
454
- top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
455
- "top-end": "bottom-full right-0 mb-2",
456
- "bottom-start": "top-full left-0 mt-2",
457
- bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
458
- "bottom-end": "top-full right-0 mt-2",
459
- },
460
452
  isVisible: {
461
453
  true: "opacity-100 pointer-events-auto",
462
454
  false: "opacity-0 pointer-events-none",
463
455
  },
464
456
  },
465
457
  defaultVariants: {
466
- placement: "top",
467
458
  isVisible: false,
468
459
  },
469
460
  });
470
- const tooltipArrowVariants = classVarianceAuthority.cva("absolute w-0 h-0 border-solid border-[6px]", {
461
+ const tooltipArrowVariants = classVarianceAuthority.cva("absolute w-0 h-0 border-solid border-[6px] -translate-x-1/2", {
471
462
  variants: {
472
463
  placement: {
473
- "top-start": "top-full left-4 border-t-popup-fill-intense border-x-transparent border-b-transparent",
474
- top: "top-full left-1/2 -translate-x-1/2 border-t-popup-fill-intense border-x-transparent border-b-transparent",
475
- "top-end": "top-full right-4 border-t-popup-fill-intense border-x-transparent border-b-transparent",
476
- "bottom-start": "bottom-full left-4 border-b-popup-fill-intense border-x-transparent border-t-transparent",
477
- bottom: "bottom-full left-1/2 -translate-x-1/2 border-b-popup-fill-intense border-x-transparent border-t-transparent",
478
- "bottom-end": "bottom-full right-4 border-b-popup-fill-intense border-x-transparent border-t-transparent",
464
+ "top-start": "top-full border-t-popup-fill-intense border-x-transparent border-b-transparent",
465
+ top: "top-full border-t-popup-fill-intense border-x-transparent border-b-transparent",
466
+ "top-end": "top-full border-t-popup-fill-intense border-x-transparent border-b-transparent",
467
+ "bottom-start": "bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent",
468
+ bottom: "bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent",
469
+ "bottom-end": "bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent",
479
470
  },
480
471
  },
481
472
  defaultVariants: {
@@ -484,8 +475,119 @@ const tooltipArrowVariants = classVarianceAuthority.cva("absolute w-0 h-0 borde
484
475
  });
485
476
  const Tooltip = React__namespace.forwardRef(({ children, heading, description, placement = "top", showArrow = true, className, delay = 200, disabled = false, }, ref) => {
486
477
  const [isVisible, setIsVisible] = React__namespace.useState(false);
478
+ const [position, setPosition] = React__namespace.useState({ top: 0, left: 0 });
479
+ const [arrowPosition, setArrowPosition] = React__namespace.useState({ left: 0 });
480
+ const [actualPlacement, setActualPlacement] = React__namespace.useState(placement);
487
481
  const timeoutRef = React__namespace.useRef(null);
488
- const containerRef = React__namespace.useRef(null);
482
+ const triggerRef = React__namespace.useRef(null);
483
+ const tooltipRef = React__namespace.useRef(null);
484
+ const calculatePosition = React__namespace.useCallback(() => {
485
+ if (!triggerRef.current || !tooltipRef.current)
486
+ return;
487
+ const triggerRect = triggerRef.current.getBoundingClientRect();
488
+ const tooltipRect = tooltipRef.current.getBoundingClientRect();
489
+ const gap = 8; // 8px gap between trigger and tooltip
490
+ const arrowSize = 6; // Size of the arrow
491
+ const viewportPadding = 8; // Minimum padding from viewport edges
492
+ let top = 0;
493
+ let left = 0;
494
+ let currentPlacement = placement;
495
+ // Calculate initial position based on placement
496
+ switch (placement) {
497
+ case "top-start":
498
+ top = triggerRect.top - tooltipRect.height - gap - arrowSize;
499
+ left = triggerRect.left;
500
+ break;
501
+ case "top":
502
+ top = triggerRect.top - tooltipRect.height - gap - arrowSize;
503
+ left =
504
+ triggerRect.left + triggerRect.width / 2 - tooltipRect.width / 2;
505
+ break;
506
+ case "top-end":
507
+ top = triggerRect.top - tooltipRect.height - gap - arrowSize;
508
+ left = triggerRect.right - tooltipRect.width;
509
+ break;
510
+ case "bottom-start":
511
+ top = triggerRect.bottom + gap + arrowSize;
512
+ left = triggerRect.left;
513
+ break;
514
+ case "bottom":
515
+ top = triggerRect.bottom + gap + arrowSize;
516
+ left =
517
+ triggerRect.left + triggerRect.width / 2 - tooltipRect.width / 2;
518
+ break;
519
+ case "bottom-end":
520
+ top = triggerRect.bottom + gap + arrowSize;
521
+ left = triggerRect.right - tooltipRect.width;
522
+ break;
523
+ }
524
+ // Get viewport dimensions
525
+ const viewportWidth = window.innerWidth;
526
+ const viewportHeight = window.innerHeight;
527
+ // Adjust horizontal position to keep tooltip within viewport
528
+ if (left < viewportPadding) {
529
+ // Tooltip would overflow on the left
530
+ left = viewportPadding;
531
+ }
532
+ else if (left + tooltipRect.width > viewportWidth - viewportPadding) {
533
+ // Tooltip would overflow on the right
534
+ left = viewportWidth - tooltipRect.width - viewportPadding;
535
+ }
536
+ // Adjust vertical position to keep tooltip within viewport
537
+ if (top < viewportPadding) {
538
+ // Tooltip would overflow at the top
539
+ // Try to flip to bottom if there's more space there
540
+ const spaceBelow = viewportHeight - triggerRect.bottom;
541
+ const spaceAbove = triggerRect.top;
542
+ if (spaceBelow > spaceAbove) {
543
+ // Flip to bottom
544
+ top = triggerRect.bottom + gap + arrowSize;
545
+ // Update placement to reflect the flip
546
+ if (placement === "top-start")
547
+ currentPlacement = "bottom-start";
548
+ else if (placement === "top")
549
+ currentPlacement = "bottom";
550
+ else if (placement === "top-end")
551
+ currentPlacement = "bottom-end";
552
+ }
553
+ else {
554
+ // Keep at top but adjust to stay in viewport
555
+ top = viewportPadding;
556
+ }
557
+ }
558
+ else if (top + tooltipRect.height > viewportHeight - viewportPadding) {
559
+ // Tooltip would overflow at the bottom
560
+ // Try to flip to top if there's more space there
561
+ const spaceAbove = triggerRect.top;
562
+ const spaceBelow = viewportHeight - triggerRect.bottom;
563
+ if (spaceAbove > spaceBelow) {
564
+ // Flip to top
565
+ top = triggerRect.top - tooltipRect.height - gap - arrowSize;
566
+ // Update placement to reflect the flip
567
+ if (placement === "bottom-start")
568
+ currentPlacement = "top-start";
569
+ else if (placement === "bottom")
570
+ currentPlacement = "top";
571
+ else if (placement === "bottom-end")
572
+ currentPlacement = "top-end";
573
+ }
574
+ else {
575
+ // Keep at bottom but adjust to stay in viewport
576
+ top = viewportHeight - tooltipRect.height - viewportPadding;
577
+ }
578
+ }
579
+ // Calculate arrow position relative to trigger
580
+ // The arrow should point to the center of the trigger element
581
+ const triggerCenterX = triggerRect.left + triggerRect.width / 2;
582
+ const tooltipLeft = left;
583
+ const arrowLeft = triggerCenterX - tooltipLeft;
584
+ // Clamp arrow position to stay within tooltip bounds (with padding)
585
+ const arrowPadding = 16; // Minimum distance from tooltip edges
586
+ const clampedArrowLeft = Math.max(arrowPadding, Math.min(arrowLeft, tooltipRect.width - arrowPadding));
587
+ setPosition({ top, left });
588
+ setArrowPosition({ left: clampedArrowLeft });
589
+ setActualPlacement(currentPlacement);
590
+ }, [placement]);
489
591
  const handleMouseEnter = () => {
490
592
  if (disabled)
491
593
  return;
@@ -510,6 +612,21 @@ const Tooltip = React__namespace.forwardRef(({ children, heading, description, p
510
612
  const handleBlur = () => {
511
613
  setIsVisible(false);
512
614
  };
615
+ React__namespace.useEffect(() => {
616
+ if (isVisible) {
617
+ calculatePosition();
618
+ window.addEventListener("scroll", calculatePosition, true);
619
+ window.addEventListener("resize", calculatePosition);
620
+ }
621
+ return () => {
622
+ window.removeEventListener("scroll", calculatePosition, true);
623
+ window.removeEventListener("resize", calculatePosition);
624
+ };
625
+ }, [isVisible, calculatePosition]);
626
+ React__namespace.useEffect(() => {
627
+ // Reset actualPlacement when placement prop changes
628
+ setActualPlacement(placement);
629
+ }, [placement]);
513
630
  React__namespace.useEffect(() => {
514
631
  return () => {
515
632
  if (timeoutRef.current) {
@@ -517,8 +634,22 @@ const Tooltip = React__namespace.forwardRef(({ children, heading, description, p
517
634
  }
518
635
  };
519
636
  }, []);
637
+ // Merge refs function
638
+ const mergeRefs = (...refs) => {
639
+ return (node) => {
640
+ refs.forEach((ref) => {
641
+ if (typeof ref === "function") {
642
+ ref(node);
643
+ }
644
+ else if (ref && typeof ref === "object" && "current" in ref) {
645
+ ref.current = node;
646
+ }
647
+ });
648
+ };
649
+ };
520
650
  // Clone the child element and add event handlers
521
651
  const trigger = React__namespace.cloneElement(children, {
652
+ ref: mergeRefs(triggerRef, children.ref),
522
653
  onMouseEnter: (e) => {
523
654
  handleMouseEnter();
524
655
  children.props.onMouseEnter?.(e);
@@ -537,7 +668,12 @@ const Tooltip = React__namespace.forwardRef(({ children, heading, description, p
537
668
  },
538
669
  "aria-describedby": isVisible ? "tooltip-content" : undefined,
539
670
  });
540
- return (jsxRuntime.jsxs("div", { ref: containerRef, className: "relative inline-block", style: { position: "relative" }, children: [trigger, jsxRuntime.jsxs("div", { ref: ref, id: "tooltip-content", role: "tooltip", className: cn(tooltipVariants({ placement, isVisible }), className), "aria-hidden": !isVisible, children: [showArrow && (jsxRuntime.jsx("div", { className: cn(tooltipArrowVariants({ placement })) })), jsxRuntime.jsxs("div", { className: "relative", children: [heading && (jsxRuntime.jsx(Text, { variant: "body", size: "medium", weight: "semibold", color: "onPrimary", children: heading })), jsxRuntime.jsx(Text, { variant: "body", size: "small", weight: "regular", color: "onPrimary", children: description })] })] })] }));
671
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [trigger, jsxRuntime.jsxs("div", { ref: mergeRefs(tooltipRef, ref), id: "tooltip-content", role: "tooltip", className: cn(tooltipVariants({ isVisible }), className), style: {
672
+ top: `${position.top}px`,
673
+ left: `${position.left}px`,
674
+ }, "aria-hidden": !isVisible, children: [showArrow && (jsxRuntime.jsx("div", { className: cn(tooltipArrowVariants({ placement: actualPlacement })), style: {
675
+ left: `${arrowPosition.left}px`,
676
+ } })), jsxRuntime.jsxs("div", { className: "relative", children: [heading && (jsxRuntime.jsx(Text, { variant: "body", size: "medium", weight: "semibold", color: "onPrimary", children: heading })), jsxRuntime.jsx(Text, { variant: "body", size: "small", weight: "regular", color: "onPrimary", children: description })] })] })] }));
541
677
  });
542
678
  Tooltip.displayName = "Tooltip";
543
679
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/lib/utils.ts","../src/components/Button/Button.tsx","../src/components/Text/Text.tsx","../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n// Define patterns for custom classes that should be preserved\n// This approach is more scalable than hardcoding individual class names\nconst CUSTOM_CLASS_PATTERNS = [\n // Custom font classes\n /^font-(functional|display)$/,\n // Custom spacing classes (example)\n // /^spacing-(xs|sm|md|lg|xl)$/,\n // Custom color classes (example)\n // /^color-(primary|secondary|accent)$/,\n // Any class that starts with 'custom-'\n /^custom-/,\n];\n\nfunction isCustomClass(className: string): boolean {\n return CUSTOM_CLASS_PATTERNS.some((pattern) => pattern.test(className));\n}\n\nexport function cn(...inputs: ClassValue[]) {\n // Use clsx first to combine classes, then use twMerge for standard Tailwind classes\n const combined = clsx(inputs);\n\n // Split classes and filter out our custom classes before merging\n const classes = combined.split(\" \");\n const customClasses = classes.filter((cls) => isCustomClass(cls));\n const standardClasses = classes.filter((cls) => !isCustomClass(cls));\n\n // Merge standard classes and add back custom classes\n const mergedStandard = twMerge(standardClasses.join(\" \"));\n return clsx(mergedStandard, customClasses);\n}\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport { PulseLoader, ClipLoader } from \"react-spinners\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst buttonVariants = cva(\n \"items-center gap-3 justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none\",\n {\n variants: {\n variant: {\n primary:\n \"bg-action-fill-primary-default text-action-ink-on-primary-normal hover:bg-action-fill-primary-hover\",\n secondary:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n tertiary: \"hover:bg-accent hover:text-accent-foreground\",\n },\n color: {\n primary: \"\",\n positive: \"\",\n negative: \"\",\n notice: \"\",\n info: \"\",\n neutral: \"\",\n },\n size: {\n xsmall: \"md:h-[28px] px-3 text-xs rounded-medium\",\n small: \"md:h-[32px] px-4 text-xs rounded-medium\",\n medium: \"md:h-[36px] px-6 py-2 rounded-medium\",\n large: \"md:h-[44px] px-6 text-base rounded-xlarge\",\n },\n isIconOnly: {\n true: \"aspect-square p-0\",\n false: \"\",\n },\n isLoading: {\n true: \"cursor-not-allowed\",\n false: \"\",\n },\n isDisabled: {\n true: \"cursor-not-allowed\",\n false: \"cursor-pointer\",\n },\n isFullWidth: {\n true: \"flex w-full\",\n false: \"flex w-fit\",\n },\n },\n compoundVariants: [\n // Primary variant colors\n {\n variant: \"primary\",\n color: \"primary\",\n class: `bg-action-fill-primary-default text-action-ink-on-primary-normal \n hover:bg-action-fill-primary-hover \n disabled:bg-action-fill-primary-disabled\n disabled:text-action-ink-primary-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"positive\",\n class: `bg-action-fill-positive-default text-action-ink-on-primary-normal \n hover:bg-action-fill-positive-hover \n disabled:bg-action-fill-primary-disabled\n disabled:text-action-ink-primary-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"negative\",\n class: `bg-action-fill-negative-default text-action-ink-on-primary-normal \n hover:bg-action-fill-negative-hover \n disabled:bg-action-fill-negative-disabled\n disabled:text-action-ink-negative-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"notice\",\n class: `bg-action-fill-notice-default text-action-ink-on-primary-normal \n hover:bg-action-fill-notice-hover \n disabled:bg-action-fill-notice-disabled\n disabled:text-action-ink-notice-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"info\",\n class: `bg-action-fill-info-default text-action-ink-on-primary-normal \n hover:bg-action-fill-info-hover \n disabled:bg-action-fill-info-disabled\n disabled:text-action-ink-info-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"neutral\",\n class: `bg-action-fill-neutral-default text-action-ink-on-primary-normal \n hover:bg-action-fill-neutral-hover \n disabled:bg-action-fill-neutral-disabled\n disabled:text-action-ink-neutral-disabled\n `,\n },\n // Secondary variant colors\n {\n variant: \"secondary\",\n color: \"primary\",\n class: `border-action-outline-info-faded text-action-ink-primary-normal hover:border-action-outline-info-faded-hover \n disabled:bg-action-outline-info-disabled\n disabled:text-action-ink-primary-disabled\n disabled:border-action-outline-primary-disabled\n `,\n },\n {\n variant: \"secondary\",\n color: \"positive\",\n class:\n \"border-action-outline-positive-faded text-action-ink-positive-normal hover:border-action-outline-positive-faded-hover disabled:bg-action-outline-positive-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"negative\",\n class:\n \"border-action-outline-negative-faded text-action-ink-negative-normal hover:border-action-outline-negative-faded-hover disabled:bg-action-outline-negative-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"notice\",\n class:\n \"border-action-outline-notice-faded text-action-ink-notice-normal hover:border-action-outline-notice-faded-hover disabled:bg-action-outline-notice-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"info\",\n class:\n \"border-action-outline-info-faded text-action-ink-info-normal hover:border-action-outline-info-faded-hover disabled:bg-action-outline-info-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"neutral\",\n class:\n \"border-action-outline-neutral-faded text-action-ink-neutral-normal hover:bg-action-outline-neutral-faded-hover\",\n },\n // Tertiary variant colors\n {\n variant: \"tertiary\",\n color: \"primary\",\n class: `text-action-ink-primary-normal \n hover:bg-action-fill-primary-faded \n disabled:text-action-ink-on-primary-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"positive\",\n class: `text-action-ink-positive-normal \n hover:bg-action-fill-positive-faded \n disabled:text-action-ink-on-positive-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"negative\",\n class: `text-action-ink-negative-normal \n hover:bg-action-fill-negative-faded \n disabled:text-action-ink-on-negative-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"notice\",\n class: `text-action-ink-notice-normal \n hover:bg-action-fill-notice-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"info\",\n class: `text-action-ink-info-normal \n hover:bg-action-fill-info-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"neutral\",\n class: `text-action-ink-neutral-normal \n hover:bg-action-fill-neutral-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n // Icon only sizing\n {\n isIconOnly: true,\n size: \"xsmall\",\n class: \"h-7 w-7\",\n },\n {\n isIconOnly: true,\n size: \"small\",\n class: \"h-8 w-8\",\n },\n {\n isIconOnly: true,\n size: \"medium\",\n class: \"h-9 w-9\",\n },\n {\n isIconOnly: true,\n size: \"large\",\n class: \"h-10 w-10\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n color: \"primary\",\n size: \"medium\",\n isIconOnly: false,\n isLoading: false,\n isFullWidth: false,\n },\n }\n);\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"color\"> {\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n color?: \"primary\" | \"positive\" | \"negative\" | \"notice\" | \"info\" | \"neutral\";\n size?: \"xsmall\" | \"small\" | \"medium\" | \"large\";\n isIconOnly?: boolean;\n isLoading?: boolean;\n isDisabled?: boolean;\n isFullWidth?: boolean;\n asChild?: boolean;\n leadingIcon?: React.ReactNode;\n trailingIcon?: React.ReactNode;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant = \"primary\",\n color = \"primary\",\n size,\n isIconOnly,\n isLoading,\n asChild = false,\n leadingIcon,\n trailingIcon,\n isFullWidth = false,\n children,\n disabled,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\";\n\n const isDisabled = disabled || isLoading || false;\n\n const buttonContent = (\n <>\n {isLoading && !isIconOnly && (\n <PulseLoader\n color={`var(--color-action-ink-${color}-normal)`}\n size={10}\n />\n )}\n {isLoading && isIconOnly && (\n <ClipLoader\n color={`var(--color-action-ink-${color}-normal)`}\n size={20}\n />\n )}\n {!isLoading && leadingIcon && (\n <span className=\"mr-2\">{leadingIcon}</span>\n )}\n {!isIconOnly && !isLoading && children}\n {isIconOnly && !isLoading && children}\n {!isLoading && trailingIcon && <span>{trailingIcon}</span>}\n </>\n );\n\n return (\n <Comp\n className={cn(\n buttonVariants({\n variant,\n color,\n size,\n isIconOnly,\n isLoading,\n isDisabled,\n isFullWidth,\n }),\n className\n )}\n ref={ref}\n disabled={isDisabled}\n {...props}\n >\n {buttonContent}\n </Comp>\n );\n }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst textVariants = cva(\"\", {\n variants: {\n variant: {\n display: \"font-functional font-medium\",\n heading: \"font-display\",\n body: \"font-display\",\n caption: \"font-display font-semibold\",\n },\n size: {\n \"2xlarge\": \"font-size-700 leading-700 tracking-[0%] mb-0\",\n xlarge: \"font-size-1100 leading-1100 tracking-[0%] mb-0\",\n large: \"font-size-1000 leading-1000 tracking-[0%] mb-0\",\n medium: \"font-size-900 leading-900 tracking-[0%] mb-0\",\n small: \"font-size-800 leading-800 tracking-[0%] mb-0\",\n xsmall:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n weight: {\n regular: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n },\n color: {\n default: \"text-surface-ink-neutral-normal\",\n subtle: \"text-surface-ink-neutral-subtle\",\n muted: \"text-surface-ink-neutral-muted\",\n disabled: \"text-surface-ink-neutral-disabled\",\n primary: \"text-surface-ink-primary-normal\",\n onPrimary: \"text-action-ink-on-primary-normal\",\n },\n as: {\n h1: \"\",\n h2: \"\",\n h3: \"\",\n h4: \"\",\n h5: \"\",\n h6: \"\",\n p: \"\",\n span: \"\",\n div: \"\",\n },\n },\n compoundVariants: [\n // Display variants use Clash Grotesk with medium weight\n {\n variant: \"display\",\n weight: \"regular\",\n class: \"font-medium\",\n },\n {\n variant: \"display\",\n weight: \"medium\",\n class: \"font-medium\",\n },\n {\n variant: \"display\",\n weight: \"semibold\",\n class: \"font-medium\",\n },\n // Caption is always semibold\n {\n variant: \"caption\",\n weight: \"regular\",\n class: \"font-semibold\",\n },\n {\n variant: \"caption\",\n weight: \"medium\",\n class: \"font-semibold\",\n },\n {\n variant: \"caption\",\n weight: \"semibold\",\n class: \"font-semibold\",\n },\n // Size-specific styling based on variant\n // Display sizes\n {\n variant: \"display\",\n size: \"xlarge\",\n class: \"font-size-1100 leading-1100 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"large\",\n class: \"font-size-1000 leading-1000 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"medium\",\n class: \"font-size-900 leading-900 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"small\",\n class: \"font-size-800 leading-800 tracking-[0%] mb-0\",\n },\n // Heading sizes\n {\n variant: \"heading\",\n size: \"2xlarge\",\n class: \"font-size-700 leading-700 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"xlarge\",\n class: \"font-size-600 leading-600 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"large\",\n class: \"font-size-500 leading-500 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"medium\",\n class: \"font-size-400 leading-400 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"small\",\n class: \"font-size-300 leading-300 tracking-[0%] mb-0\",\n },\n // Body sizes\n {\n variant: \"body\",\n size: \"large\",\n class:\n \"font-size-200 leading-200 tracking-[0%] mb-[var(--paragraph-spacing-400)]\",\n },\n {\n variant: \"body\",\n size: \"medium\",\n class:\n \"font-size-100 leading-100 tracking-[0%] mb-[var(--paragraph-spacing-300)]\",\n },\n {\n variant: \"body\",\n size: \"small\",\n class:\n \"font-size-75 leading-75 tracking-[0%] mb-[var(--paragraph-spacing-200)]\",\n },\n {\n variant: \"body\",\n size: \"xsmall\",\n class:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n // Caption sizes\n {\n variant: \"caption\",\n size: \"medium\",\n class: \"text-50 leading-50 tracking-[0%] mb-0\",\n },\n ],\n defaultVariants: {\n variant: \"body\",\n size: \"medium\",\n weight: \"regular\",\n color: \"default\",\n as: \"p\",\n },\n});\n\nexport interface TextProps\n extends Omit<React.HTMLAttributes<HTMLElement>, \"color\"> {\n children: React.ReactNode;\n variant?: \"display\" | \"heading\" | \"body\" | \"caption\";\n size?: \"2xlarge\" | \"xlarge\" | \"large\" | \"medium\" | \"small\" | \"xsmall\";\n weight?: \"regular\" | \"medium\" | \"semibold\";\n color?: \"default\" | \"subtle\" | \"muted\" | \"disabled\" | \"primary\" | \"onPrimary\";\n as?: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"span\" | \"div\";\n className?: string;\n}\n\nconst Text = React.forwardRef<HTMLElement, TextProps>(\n (\n { className, variant, size, weight, color, as, children, ...props },\n ref\n ) => {\n const Component = as || \"p\";\n\n return React.createElement(\n Component,\n {\n className: cn(\n textVariants({ variant, size, weight, color, as, className })\n ),\n ref,\n ...props,\n },\n children\n );\n }\n);\n\nText.displayName = \"Text\";\n\nexport { Text, textVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { Text } from \"../Text\";\n\nconst tooltipVariants = cva(\n \"absolute z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium shadow-lg border border-popup-outline-subtle flex flex-col gap-2 p-4 rounded-xlarge min-w-[200px] max-w-[300px] transition-opacity duration-200\",\n {\n variants: {\n placement: {\n \"top-start\": \"bottom-full left-0 mb-2\",\n top: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\n \"top-end\": \"bottom-full right-0 mb-2\",\n \"bottom-start\": \"top-full left-0 mt-2\",\n bottom: \"top-full left-1/2 -translate-x-1/2 mt-2\",\n \"bottom-end\": \"top-full right-0 mt-2\",\n },\n isVisible: {\n true: \"opacity-100 pointer-events-auto\",\n false: \"opacity-0 pointer-events-none\",\n },\n },\n defaultVariants: {\n placement: \"top\",\n isVisible: false,\n },\n }\n);\n\nconst tooltipArrowVariants = cva(\n \"absolute w-0 h-0 border-solid border-[6px]\",\n {\n variants: {\n placement: {\n \"top-start\":\n \"top-full left-4 border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n top: \"top-full left-1/2 -translate-x-1/2 border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n \"top-end\":\n \"top-full right-4 border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n \"bottom-start\":\n \"bottom-full left-4 border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n bottom:\n \"bottom-full left-1/2 -translate-x-1/2 border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n \"bottom-end\":\n \"bottom-full right-4 border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n },\n },\n defaultVariants: {\n placement: \"top\",\n },\n }\n);\n\nexport interface TooltipProps {\n /**\n * The trigger element that the tooltip will attach to\n */\n children: React.ReactElement;\n /**\n * Heading text for the tooltip\n */\n heading?: string;\n /**\n * Description text for the tooltip\n */\n description: string;\n /**\n * Placement of the tooltip relative to the trigger\n */\n placement?:\n | \"top-start\"\n | \"top\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"bottom-end\";\n /**\n * Whether to show the arrow/anchor\n */\n showArrow?: boolean;\n /**\n * Custom class name for the tooltip container\n */\n className?: string;\n /**\n * Delay before showing tooltip (in milliseconds)\n */\n delay?: number;\n /**\n * Whether the tooltip is disabled\n */\n disabled?: boolean;\n}\n\nconst Tooltip = React.forwardRef<HTMLDivElement, TooltipProps>(\n (\n {\n children,\n heading,\n description,\n placement = \"top\",\n showArrow = true,\n className,\n delay = 200,\n disabled = false,\n },\n ref\n ) => {\n const [isVisible, setIsVisible] = React.useState(false);\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n const handleMouseEnter = () => {\n if (disabled) return;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n setIsVisible(true);\n }, delay);\n };\n\n const handleMouseLeave = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n setIsVisible(false);\n };\n\n const handleFocus = () => {\n if (disabled) return;\n setIsVisible(true);\n };\n\n const handleBlur = () => {\n setIsVisible(false);\n };\n\n React.useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n // Clone the child element and add event handlers\n const trigger = React.cloneElement(children, {\n onMouseEnter: (e: React.MouseEvent) => {\n handleMouseEnter();\n children.props.onMouseEnter?.(e);\n },\n onMouseLeave: (e: React.MouseEvent) => {\n handleMouseLeave();\n children.props.onMouseLeave?.(e);\n },\n onFocus: (e: React.FocusEvent) => {\n handleFocus();\n children.props.onFocus?.(e);\n },\n onBlur: (e: React.FocusEvent) => {\n handleBlur();\n children.props.onBlur?.(e);\n },\n \"aria-describedby\": isVisible ? \"tooltip-content\" : undefined,\n });\n\n return (\n <div\n ref={containerRef}\n className=\"relative inline-block\"\n style={{ position: \"relative\" }}\n >\n {trigger}\n\n <div\n ref={ref}\n id=\"tooltip-content\"\n role=\"tooltip\"\n className={cn(tooltipVariants({ placement, isVisible }), className)}\n aria-hidden={!isVisible}\n >\n {showArrow && (\n <div className={cn(tooltipArrowVariants({ placement }))} />\n )}\n\n <div className=\"relative\">\n {heading && (\n <Text\n variant=\"body\"\n size=\"medium\"\n weight=\"semibold\"\n color=\"onPrimary\"\n >\n {heading}\n </Text>\n )}\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color=\"onPrimary\"\n >\n {description}\n </Text>\n </div>\n </div>\n </div>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n\nexport { Tooltip, tooltipVariants };\n"],"names":["clsx","twMerge","cva","React","Slot","_jsxs","_jsx","PulseLoader","ClipLoader"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/lib/utils.ts","../src/components/Button/Button.tsx","../src/components/Text/Text.tsx","../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n// Define patterns for custom classes that should be preserved\n// This approach is more scalable than hardcoding individual class names\nconst CUSTOM_CLASS_PATTERNS = [\n // Custom font classes\n /^font-(functional|display)$/,\n // Custom spacing classes (example)\n // /^spacing-(xs|sm|md|lg|xl)$/,\n // Custom color classes (example)\n // /^color-(primary|secondary|accent)$/,\n // Any class that starts with 'custom-'\n /^custom-/,\n];\n\nfunction isCustomClass(className: string): boolean {\n return CUSTOM_CLASS_PATTERNS.some((pattern) => pattern.test(className));\n}\n\nexport function cn(...inputs: ClassValue[]) {\n // Use clsx first to combine classes, then use twMerge for standard Tailwind classes\n const combined = clsx(inputs);\n\n // Split classes and filter out our custom classes before merging\n const classes = combined.split(\" \");\n const customClasses = classes.filter((cls) => isCustomClass(cls));\n const standardClasses = classes.filter((cls) => !isCustomClass(cls));\n\n // Merge standard classes and add back custom classes\n const mergedStandard = twMerge(standardClasses.join(\" \"));\n return clsx(mergedStandard, customClasses);\n}\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport { PulseLoader, ClipLoader } from \"react-spinners\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst buttonVariants = cva(\n \"items-center gap-3 justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none\",\n {\n variants: {\n variant: {\n primary:\n \"bg-action-fill-primary-default text-action-ink-on-primary-normal hover:bg-action-fill-primary-hover\",\n secondary:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n tertiary: \"hover:bg-accent hover:text-accent-foreground\",\n },\n color: {\n primary: \"\",\n positive: \"\",\n negative: \"\",\n notice: \"\",\n info: \"\",\n neutral: \"\",\n },\n size: {\n xsmall: \"md:h-[28px] px-3 text-xs rounded-medium\",\n small: \"md:h-[32px] px-4 text-xs rounded-medium\",\n medium: \"md:h-[36px] px-6 py-2 rounded-medium\",\n large: \"md:h-[44px] px-6 text-base rounded-xlarge\",\n },\n isIconOnly: {\n true: \"aspect-square p-0\",\n false: \"\",\n },\n isLoading: {\n true: \"cursor-not-allowed\",\n false: \"\",\n },\n isDisabled: {\n true: \"cursor-not-allowed\",\n false: \"cursor-pointer\",\n },\n isFullWidth: {\n true: \"flex w-full\",\n false: \"flex w-fit\",\n },\n },\n compoundVariants: [\n // Primary variant colors\n {\n variant: \"primary\",\n color: \"primary\",\n class: `bg-action-fill-primary-default text-action-ink-on-primary-normal \n hover:bg-action-fill-primary-hover \n disabled:bg-action-fill-primary-disabled\n disabled:text-action-ink-primary-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"positive\",\n class: `bg-action-fill-positive-default text-action-ink-on-primary-normal \n hover:bg-action-fill-positive-hover \n disabled:bg-action-fill-primary-disabled\n disabled:text-action-ink-primary-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"negative\",\n class: `bg-action-fill-negative-default text-action-ink-on-primary-normal \n hover:bg-action-fill-negative-hover \n disabled:bg-action-fill-negative-disabled\n disabled:text-action-ink-negative-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"notice\",\n class: `bg-action-fill-notice-default text-action-ink-on-primary-normal \n hover:bg-action-fill-notice-hover \n disabled:bg-action-fill-notice-disabled\n disabled:text-action-ink-notice-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"info\",\n class: `bg-action-fill-info-default text-action-ink-on-primary-normal \n hover:bg-action-fill-info-hover \n disabled:bg-action-fill-info-disabled\n disabled:text-action-ink-info-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"neutral\",\n class: `bg-action-fill-neutral-default text-action-ink-on-primary-normal \n hover:bg-action-fill-neutral-hover \n disabled:bg-action-fill-neutral-disabled\n disabled:text-action-ink-neutral-disabled\n `,\n },\n // Secondary variant colors\n {\n variant: \"secondary\",\n color: \"primary\",\n class: `border-action-outline-info-faded text-action-ink-primary-normal hover:border-action-outline-info-faded-hover \n disabled:bg-action-outline-info-disabled\n disabled:text-action-ink-primary-disabled\n disabled:border-action-outline-primary-disabled\n `,\n },\n {\n variant: \"secondary\",\n color: \"positive\",\n class:\n \"border-action-outline-positive-faded text-action-ink-positive-normal hover:border-action-outline-positive-faded-hover disabled:bg-action-outline-positive-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"negative\",\n class:\n \"border-action-outline-negative-faded text-action-ink-negative-normal hover:border-action-outline-negative-faded-hover disabled:bg-action-outline-negative-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"notice\",\n class:\n \"border-action-outline-notice-faded text-action-ink-notice-normal hover:border-action-outline-notice-faded-hover disabled:bg-action-outline-notice-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"info\",\n class:\n \"border-action-outline-info-faded text-action-ink-info-normal hover:border-action-outline-info-faded-hover disabled:bg-action-outline-info-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"neutral\",\n class:\n \"border-action-outline-neutral-faded text-action-ink-neutral-normal hover:bg-action-outline-neutral-faded-hover\",\n },\n // Tertiary variant colors\n {\n variant: \"tertiary\",\n color: \"primary\",\n class: `text-action-ink-primary-normal \n hover:bg-action-fill-primary-faded \n disabled:text-action-ink-on-primary-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"positive\",\n class: `text-action-ink-positive-normal \n hover:bg-action-fill-positive-faded \n disabled:text-action-ink-on-positive-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"negative\",\n class: `text-action-ink-negative-normal \n hover:bg-action-fill-negative-faded \n disabled:text-action-ink-on-negative-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"notice\",\n class: `text-action-ink-notice-normal \n hover:bg-action-fill-notice-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"info\",\n class: `text-action-ink-info-normal \n hover:bg-action-fill-info-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"neutral\",\n class: `text-action-ink-neutral-normal \n hover:bg-action-fill-neutral-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n // Icon only sizing\n {\n isIconOnly: true,\n size: \"xsmall\",\n class: \"h-7 w-7\",\n },\n {\n isIconOnly: true,\n size: \"small\",\n class: \"h-8 w-8\",\n },\n {\n isIconOnly: true,\n size: \"medium\",\n class: \"h-9 w-9\",\n },\n {\n isIconOnly: true,\n size: \"large\",\n class: \"h-10 w-10\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n color: \"primary\",\n size: \"medium\",\n isIconOnly: false,\n isLoading: false,\n isFullWidth: false,\n },\n }\n);\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"color\"> {\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n color?: \"primary\" | \"positive\" | \"negative\" | \"notice\" | \"info\" | \"neutral\";\n size?: \"xsmall\" | \"small\" | \"medium\" | \"large\";\n isIconOnly?: boolean;\n isLoading?: boolean;\n isDisabled?: boolean;\n isFullWidth?: boolean;\n asChild?: boolean;\n leadingIcon?: React.ReactNode;\n trailingIcon?: React.ReactNode;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant = \"primary\",\n color = \"primary\",\n size,\n isIconOnly,\n isLoading,\n asChild = false,\n leadingIcon,\n trailingIcon,\n isFullWidth = false,\n children,\n disabled,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\";\n\n const isDisabled = disabled || isLoading || false;\n\n const buttonContent = (\n <>\n {isLoading && !isIconOnly && (\n <PulseLoader\n color={`var(--color-action-ink-${color}-normal)`}\n size={10}\n />\n )}\n {isLoading && isIconOnly && (\n <ClipLoader\n color={`var(--color-action-ink-${color}-normal)`}\n size={20}\n />\n )}\n {!isLoading && leadingIcon && (\n <span className=\"mr-2\">{leadingIcon}</span>\n )}\n {!isIconOnly && !isLoading && children}\n {isIconOnly && !isLoading && children}\n {!isLoading && trailingIcon && <span>{trailingIcon}</span>}\n </>\n );\n\n return (\n <Comp\n className={cn(\n buttonVariants({\n variant,\n color,\n size,\n isIconOnly,\n isLoading,\n isDisabled,\n isFullWidth,\n }),\n className\n )}\n ref={ref}\n disabled={isDisabled}\n {...props}\n >\n {buttonContent}\n </Comp>\n );\n }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst textVariants = cva(\"\", {\n variants: {\n variant: {\n display: \"font-functional font-medium\",\n heading: \"font-display\",\n body: \"font-display\",\n caption: \"font-display font-semibold\",\n },\n size: {\n \"2xlarge\": \"font-size-700 leading-700 tracking-[0%] mb-0\",\n xlarge: \"font-size-1100 leading-1100 tracking-[0%] mb-0\",\n large: \"font-size-1000 leading-1000 tracking-[0%] mb-0\",\n medium: \"font-size-900 leading-900 tracking-[0%] mb-0\",\n small: \"font-size-800 leading-800 tracking-[0%] mb-0\",\n xsmall:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n weight: {\n regular: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n },\n color: {\n default: \"text-surface-ink-neutral-normal\",\n subtle: \"text-surface-ink-neutral-subtle\",\n muted: \"text-surface-ink-neutral-muted\",\n disabled: \"text-surface-ink-neutral-disabled\",\n primary: \"text-surface-ink-primary-normal\",\n onPrimary: \"text-action-ink-on-primary-normal\",\n },\n as: {\n h1: \"\",\n h2: \"\",\n h3: \"\",\n h4: \"\",\n h5: \"\",\n h6: \"\",\n p: \"\",\n span: \"\",\n div: \"\",\n },\n },\n compoundVariants: [\n // Display variants use Clash Grotesk with medium weight\n {\n variant: \"display\",\n weight: \"regular\",\n class: \"font-medium\",\n },\n {\n variant: \"display\",\n weight: \"medium\",\n class: \"font-medium\",\n },\n {\n variant: \"display\",\n weight: \"semibold\",\n class: \"font-medium\",\n },\n // Caption is always semibold\n {\n variant: \"caption\",\n weight: \"regular\",\n class: \"font-semibold\",\n },\n {\n variant: \"caption\",\n weight: \"medium\",\n class: \"font-semibold\",\n },\n {\n variant: \"caption\",\n weight: \"semibold\",\n class: \"font-semibold\",\n },\n // Size-specific styling based on variant\n // Display sizes\n {\n variant: \"display\",\n size: \"xlarge\",\n class: \"font-size-1100 leading-1100 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"large\",\n class: \"font-size-1000 leading-1000 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"medium\",\n class: \"font-size-900 leading-900 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"small\",\n class: \"font-size-800 leading-800 tracking-[0%] mb-0\",\n },\n // Heading sizes\n {\n variant: \"heading\",\n size: \"2xlarge\",\n class: \"font-size-700 leading-700 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"xlarge\",\n class: \"font-size-600 leading-600 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"large\",\n class: \"font-size-500 leading-500 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"medium\",\n class: \"font-size-400 leading-400 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"small\",\n class: \"font-size-300 leading-300 tracking-[0%] mb-0\",\n },\n // Body sizes\n {\n variant: \"body\",\n size: \"large\",\n class:\n \"font-size-200 leading-200 tracking-[0%] mb-[var(--paragraph-spacing-400)]\",\n },\n {\n variant: \"body\",\n size: \"medium\",\n class:\n \"font-size-100 leading-100 tracking-[0%] mb-[var(--paragraph-spacing-300)]\",\n },\n {\n variant: \"body\",\n size: \"small\",\n class:\n \"font-size-75 leading-75 tracking-[0%] mb-[var(--paragraph-spacing-200)]\",\n },\n {\n variant: \"body\",\n size: \"xsmall\",\n class:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n // Caption sizes\n {\n variant: \"caption\",\n size: \"medium\",\n class: \"text-50 leading-50 tracking-[0%] mb-0\",\n },\n ],\n defaultVariants: {\n variant: \"body\",\n size: \"medium\",\n weight: \"regular\",\n color: \"default\",\n as: \"p\",\n },\n});\n\nexport interface TextProps\n extends Omit<React.HTMLAttributes<HTMLElement>, \"color\"> {\n children: React.ReactNode;\n variant?: \"display\" | \"heading\" | \"body\" | \"caption\";\n size?: \"2xlarge\" | \"xlarge\" | \"large\" | \"medium\" | \"small\" | \"xsmall\";\n weight?: \"regular\" | \"medium\" | \"semibold\";\n color?: \"default\" | \"subtle\" | \"muted\" | \"disabled\" | \"primary\" | \"onPrimary\";\n as?: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"span\" | \"div\";\n className?: string;\n}\n\nconst Text = React.forwardRef<HTMLElement, TextProps>(\n (\n { className, variant, size, weight, color, as, children, ...props },\n ref\n ) => {\n const Component = as || \"p\";\n\n return React.createElement(\n Component,\n {\n className: cn(\n textVariants({ variant, size, weight, color, as, className })\n ),\n ref,\n ...props,\n },\n children\n );\n }\n);\n\nText.displayName = \"Text\";\n\nexport { Text, textVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { Text } from \"../Text\";\n\nconst tooltipVariants = cva(\n \"fixed z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium shadow-lg border border-popup-outline-subtle flex flex-col gap-2 p-4 rounded-xlarge min-w-[200px] max-w-[300px] transition-opacity duration-200\",\n {\n variants: {\n isVisible: {\n true: \"opacity-100 pointer-events-auto\",\n false: \"opacity-0 pointer-events-none\",\n },\n },\n defaultVariants: {\n isVisible: false,\n },\n }\n);\n\nconst tooltipArrowVariants = cva(\n \"absolute w-0 h-0 border-solid border-[6px] -translate-x-1/2\",\n {\n variants: {\n placement: {\n \"top-start\":\n \"top-full border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n top: \"top-full border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n \"top-end\":\n \"top-full border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n \"bottom-start\":\n \"bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n bottom:\n \"bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n \"bottom-end\":\n \"bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n },\n },\n defaultVariants: {\n placement: \"top\",\n },\n }\n);\n\nexport interface TooltipProps {\n /**\n * The trigger element that the tooltip will attach to\n */\n children: React.ReactElement;\n /**\n * Heading text for the tooltip\n */\n heading?: string;\n /**\n * Description text for the tooltip\n */\n description: string;\n /**\n * Placement of the tooltip relative to the trigger\n */\n placement?:\n | \"top-start\"\n | \"top\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"bottom-end\";\n /**\n * Whether to show the arrow/anchor\n */\n showArrow?: boolean;\n /**\n * Custom class name for the tooltip container\n */\n className?: string;\n /**\n * Delay before showing tooltip (in milliseconds)\n */\n delay?: number;\n /**\n * Whether the tooltip is disabled\n */\n disabled?: boolean;\n}\n\nconst Tooltip = React.forwardRef<HTMLDivElement, TooltipProps>(\n (\n {\n children,\n heading,\n description,\n placement = \"top\",\n showArrow = true,\n className,\n delay = 200,\n disabled = false,\n },\n ref\n ) => {\n const [isVisible, setIsVisible] = React.useState(false);\n const [position, setPosition] = React.useState({ top: 0, left: 0 });\n const [arrowPosition, setArrowPosition] = React.useState({ left: 0 });\n const [actualPlacement, setActualPlacement] = React.useState<\n \"top-start\" | \"top\" | \"top-end\" | \"bottom-start\" | \"bottom\" | \"bottom-end\"\n >(placement);\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const triggerRef = React.useRef<HTMLElement>(null);\n const tooltipRef = React.useRef<HTMLDivElement>(null);\n\n const calculatePosition = React.useCallback(() => {\n if (!triggerRef.current || !tooltipRef.current) return;\n\n const triggerRect = triggerRef.current.getBoundingClientRect();\n const tooltipRect = tooltipRef.current.getBoundingClientRect();\n const gap = 8; // 8px gap between trigger and tooltip\n const arrowSize = 6; // Size of the arrow\n const viewportPadding = 8; // Minimum padding from viewport edges\n\n let top = 0;\n let left = 0;\n let currentPlacement = placement;\n\n // Calculate initial position based on placement\n switch (placement) {\n case \"top-start\":\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n left = triggerRect.left;\n break;\n case \"top\":\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n left =\n triggerRect.left + triggerRect.width / 2 - tooltipRect.width / 2;\n break;\n case \"top-end\":\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n left = triggerRect.right - tooltipRect.width;\n break;\n case \"bottom-start\":\n top = triggerRect.bottom + gap + arrowSize;\n left = triggerRect.left;\n break;\n case \"bottom\":\n top = triggerRect.bottom + gap + arrowSize;\n left =\n triggerRect.left + triggerRect.width / 2 - tooltipRect.width / 2;\n break;\n case \"bottom-end\":\n top = triggerRect.bottom + gap + arrowSize;\n left = triggerRect.right - tooltipRect.width;\n break;\n }\n\n // Get viewport dimensions\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n // Adjust horizontal position to keep tooltip within viewport\n if (left < viewportPadding) {\n // Tooltip would overflow on the left\n left = viewportPadding;\n } else if (left + tooltipRect.width > viewportWidth - viewportPadding) {\n // Tooltip would overflow on the right\n left = viewportWidth - tooltipRect.width - viewportPadding;\n }\n\n // Adjust vertical position to keep tooltip within viewport\n if (top < viewportPadding) {\n // Tooltip would overflow at the top\n // Try to flip to bottom if there's more space there\n const spaceBelow = viewportHeight - triggerRect.bottom;\n const spaceAbove = triggerRect.top;\n\n if (spaceBelow > spaceAbove) {\n // Flip to bottom\n top = triggerRect.bottom + gap + arrowSize;\n // Update placement to reflect the flip\n if (placement === \"top-start\") currentPlacement = \"bottom-start\";\n else if (placement === \"top\") currentPlacement = \"bottom\";\n else if (placement === \"top-end\") currentPlacement = \"bottom-end\";\n } else {\n // Keep at top but adjust to stay in viewport\n top = viewportPadding;\n }\n } else if (top + tooltipRect.height > viewportHeight - viewportPadding) {\n // Tooltip would overflow at the bottom\n // Try to flip to top if there's more space there\n const spaceAbove = triggerRect.top;\n const spaceBelow = viewportHeight - triggerRect.bottom;\n\n if (spaceAbove > spaceBelow) {\n // Flip to top\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n // Update placement to reflect the flip\n if (placement === \"bottom-start\") currentPlacement = \"top-start\";\n else if (placement === \"bottom\") currentPlacement = \"top\";\n else if (placement === \"bottom-end\") currentPlacement = \"top-end\";\n } else {\n // Keep at bottom but adjust to stay in viewport\n top = viewportHeight - tooltipRect.height - viewportPadding;\n }\n }\n\n // Calculate arrow position relative to trigger\n // The arrow should point to the center of the trigger element\n const triggerCenterX = triggerRect.left + triggerRect.width / 2;\n const tooltipLeft = left;\n const arrowLeft = triggerCenterX - tooltipLeft;\n\n // Clamp arrow position to stay within tooltip bounds (with padding)\n const arrowPadding = 16; // Minimum distance from tooltip edges\n const clampedArrowLeft = Math.max(\n arrowPadding,\n Math.min(arrowLeft, tooltipRect.width - arrowPadding)\n );\n\n setPosition({ top, left });\n setArrowPosition({ left: clampedArrowLeft });\n setActualPlacement(currentPlacement);\n }, [placement]);\n\n const handleMouseEnter = () => {\n if (disabled) return;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n setIsVisible(true);\n }, delay);\n };\n\n const handleMouseLeave = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n setIsVisible(false);\n };\n\n const handleFocus = () => {\n if (disabled) return;\n setIsVisible(true);\n };\n\n const handleBlur = () => {\n setIsVisible(false);\n };\n\n React.useEffect(() => {\n if (isVisible) {\n calculatePosition();\n window.addEventListener(\"scroll\", calculatePosition, true);\n window.addEventListener(\"resize\", calculatePosition);\n }\n\n return () => {\n window.removeEventListener(\"scroll\", calculatePosition, true);\n window.removeEventListener(\"resize\", calculatePosition);\n };\n }, [isVisible, calculatePosition]);\n\n React.useEffect(() => {\n // Reset actualPlacement when placement prop changes\n setActualPlacement(placement);\n }, [placement]);\n\n React.useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n // Merge refs function\n const mergeRefs = (...refs: any[]) => {\n return (node: any) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref && typeof ref === \"object\" && \"current\" in ref) {\n (ref as any).current = node;\n }\n });\n };\n };\n\n // Clone the child element and add event handlers\n const trigger = React.cloneElement(children, {\n ref: mergeRefs(triggerRef, (children as any).ref),\n onMouseEnter: (e: React.MouseEvent) => {\n handleMouseEnter();\n children.props.onMouseEnter?.(e);\n },\n onMouseLeave: (e: React.MouseEvent) => {\n handleMouseLeave();\n children.props.onMouseLeave?.(e);\n },\n onFocus: (e: React.FocusEvent) => {\n handleFocus();\n children.props.onFocus?.(e);\n },\n onBlur: (e: React.FocusEvent) => {\n handleBlur();\n children.props.onBlur?.(e);\n },\n \"aria-describedby\": isVisible ? \"tooltip-content\" : undefined,\n });\n\n return (\n <>\n {trigger}\n\n <div\n ref={mergeRefs(tooltipRef, ref)}\n id=\"tooltip-content\"\n role=\"tooltip\"\n className={cn(tooltipVariants({ isVisible }), className)}\n style={{\n top: `${position.top}px`,\n left: `${position.left}px`,\n }}\n aria-hidden={!isVisible}\n >\n {showArrow && (\n <div\n className={cn(\n tooltipArrowVariants({ placement: actualPlacement })\n )}\n style={{\n left: `${arrowPosition.left}px`,\n }}\n />\n )}\n\n <div className=\"relative\">\n {heading && (\n <Text\n variant=\"body\"\n size=\"medium\"\n weight=\"semibold\"\n color=\"onPrimary\"\n >\n {heading}\n </Text>\n )}\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color=\"onPrimary\"\n >\n {description}\n </Text>\n </div>\n </div>\n </>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n\nexport { Tooltip, tooltipVariants };\n"],"names":["clsx","twMerge","cva","React","Slot","_jsxs","_jsx","PulseLoader","ClipLoader","_Fragment"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "infinity-ui-elements",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "A React TypeScript component library with Tailwind CSS design system",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",