infinity-ui-elements 1.2.1 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Text/Text.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.stories.d.ts +2 -0
- package/dist/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.esm.js +88 -12
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +88 -12
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../src/components/Text/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,YAAY;;;;;;
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../src/components/Text/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,YAAY;;;;;;mFAgKhB,CAAC;AAEH,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IACxD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IACrD,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACtE,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC3C,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IAC9E,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,IAAI,+EAmBT,CAAC;AAIF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -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;;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,
|
|
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,qFAqRZ,CAAC;AAIF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -14,4 +14,6 @@ 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 AlwaysVisible: Story;
|
|
18
|
+
export declare const EdgeCases: Story;
|
|
17
19
|
//# 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;
|
|
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;AAEvD,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,aAAa,EAAE,KAsB3B,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}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-full{top:100%}.right-4{right:var(--spacing-4)}.bottom-full{bottom:100%}.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}}.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)}.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}.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}/**
|
|
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}}@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)}.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-\[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)}.-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-\[0_4px_20px_rgba\(0\,0\,0\,0\.15\)\]{--tw-shadow:0 4px 20px var(--tw-shadow-color,#00000026);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
|
@@ -384,12 +384,12 @@ const textVariants = cva("", {
|
|
|
384
384
|
{
|
|
385
385
|
variant: "body",
|
|
386
386
|
size: "large",
|
|
387
|
-
class: "font-size-200 leading-200 tracking-[0%]
|
|
387
|
+
class: "font-size-200 leading-200 tracking-[0%]",
|
|
388
388
|
},
|
|
389
389
|
{
|
|
390
390
|
variant: "body",
|
|
391
391
|
size: "medium",
|
|
392
|
-
class: "font-size-100 leading-100 tracking-[0%]
|
|
392
|
+
class: "font-size-100 leading-100 tracking-[0%]",
|
|
393
393
|
},
|
|
394
394
|
{
|
|
395
395
|
variant: "body",
|
|
@@ -426,10 +426,10 @@ const Text = React.forwardRef(({ className, variant, size, weight, color, as, ch
|
|
|
426
426
|
});
|
|
427
427
|
Text.displayName = "Text";
|
|
428
428
|
|
|
429
|
-
const tooltipVariants = cva("fixed z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium
|
|
429
|
+
const tooltipVariants = cva("fixed z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium border border-popup-outline-subtle flex flex-col p-4 rounded-xlarge min-w-[200px] max-w-[300px] transition-opacity duration-200", {
|
|
430
430
|
variants: {
|
|
431
431
|
isVisible: {
|
|
432
|
-
true: "opacity-100 pointer-events-auto",
|
|
432
|
+
true: "opacity-100 pointer-events-auto shadow-[0_4px_20px_rgba(0,0,0,0.15)]",
|
|
433
433
|
false: "opacity-0 pointer-events-none",
|
|
434
434
|
},
|
|
435
435
|
},
|
|
@@ -437,15 +437,15 @@ const tooltipVariants = cva("fixed z-50 bg-popup-fill-intense text-action-ink-on
|
|
|
437
437
|
isVisible: false,
|
|
438
438
|
},
|
|
439
439
|
});
|
|
440
|
-
const tooltipArrowVariants = cva("absolute w-0 h-0
|
|
440
|
+
const tooltipArrowVariants = cva("absolute w-0 h-0 border-solid border-[6px] -translate-x-1/2", {
|
|
441
441
|
variants: {
|
|
442
442
|
placement: {
|
|
443
|
-
"top-start": "top-full
|
|
444
|
-
top: "top-full
|
|
445
|
-
"top-end": "top-full
|
|
446
|
-
"bottom-start": "bottom-full
|
|
447
|
-
bottom: "bottom-full
|
|
448
|
-
"bottom-end": "bottom-full
|
|
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",
|
|
449
449
|
},
|
|
450
450
|
},
|
|
451
451
|
defaultVariants: {
|
|
@@ -455,6 +455,8 @@ const tooltipArrowVariants = cva("absolute w-0 h-0 border-solid border-[6px]",
|
|
|
455
455
|
const Tooltip = React.forwardRef(({ children, heading, description, placement = "top", showArrow = true, className, delay = 200, disabled = false, }, ref) => {
|
|
456
456
|
const [isVisible, setIsVisible] = React.useState(false);
|
|
457
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);
|
|
458
460
|
const timeoutRef = React.useRef(null);
|
|
459
461
|
const triggerRef = React.useRef(null);
|
|
460
462
|
const tooltipRef = React.useRef(null);
|
|
@@ -465,8 +467,11 @@ const Tooltip = React.forwardRef(({ children, heading, description, placement =
|
|
|
465
467
|
const tooltipRect = tooltipRef.current.getBoundingClientRect();
|
|
466
468
|
const gap = 8; // 8px gap between trigger and tooltip
|
|
467
469
|
const arrowSize = 6; // Size of the arrow
|
|
470
|
+
const viewportPadding = 8; // Minimum padding from viewport edges
|
|
468
471
|
let top = 0;
|
|
469
472
|
let left = 0;
|
|
473
|
+
let currentPlacement = placement;
|
|
474
|
+
// Calculate initial position based on placement
|
|
470
475
|
switch (placement) {
|
|
471
476
|
case "top-start":
|
|
472
477
|
top = triggerRect.top - tooltipRect.height - gap - arrowSize;
|
|
@@ -495,7 +500,72 @@ const Tooltip = React.forwardRef(({ children, heading, description, placement =
|
|
|
495
500
|
left = triggerRect.right - tooltipRect.width;
|
|
496
501
|
break;
|
|
497
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));
|
|
498
566
|
setPosition({ top, left });
|
|
567
|
+
setArrowPosition({ left: clampedArrowLeft });
|
|
568
|
+
setActualPlacement(currentPlacement);
|
|
499
569
|
}, [placement]);
|
|
500
570
|
const handleMouseEnter = () => {
|
|
501
571
|
if (disabled)
|
|
@@ -532,6 +602,10 @@ const Tooltip = React.forwardRef(({ children, heading, description, placement =
|
|
|
532
602
|
window.removeEventListener("resize", calculatePosition);
|
|
533
603
|
};
|
|
534
604
|
}, [isVisible, calculatePosition]);
|
|
605
|
+
React.useEffect(() => {
|
|
606
|
+
// Reset actualPlacement when placement prop changes
|
|
607
|
+
setActualPlacement(placement);
|
|
608
|
+
}, [placement]);
|
|
535
609
|
React.useEffect(() => {
|
|
536
610
|
return () => {
|
|
537
611
|
if (timeoutRef.current) {
|
|
@@ -576,7 +650,9 @@ const Tooltip = React.forwardRef(({ children, heading, description, placement =
|
|
|
576
650
|
return (jsxs(Fragment, { children: [trigger, jsxs("div", { ref: mergeRefs(tooltipRef, ref), id: "tooltip-content", role: "tooltip", className: cn(tooltipVariants({ isVisible }), className), style: {
|
|
577
651
|
top: `${position.top}px`,
|
|
578
652
|
left: `${position.left}px`,
|
|
579
|
-
}, "aria-hidden": !isVisible, children: [showArrow && (jsx("div", { className: cn(tooltipArrowVariants({ placement
|
|
653
|
+
}, "aria-hidden": !isVisible, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: [showArrow && (jsx("div", { className: cn(tooltipArrowVariants({ placement: actualPlacement })), style: {
|
|
654
|
+
left: `${arrowPosition.left}px`,
|
|
655
|
+
} })), jsxs("div", { className: "relative flex flex-col gap-2", 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 })] })] })] }));
|
|
580
656
|
});
|
|
581
657
|
Tooltip.displayName = "Tooltip";
|
|
582
658
|
|
package/dist/index.esm.js.map
CHANGED
|
@@ -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 \"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]\",\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 [position, setPosition] = React.useState({ top: 0, left: 0 });\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\n let top = 0;\n let left = 0;\n\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 setPosition({ top, left });\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 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 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 </>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n\nexport { Tooltip, tooltipVariants };\n"],"names":["_jsxs","_jsx","_Fragment"],"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: \"font-size-200 leading-200 tracking-[0%]\",\n },\n {\n variant: \"body\",\n size: \"medium\",\n class: \"font-size-100 leading-100 tracking-[0%]\",\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 border border-popup-outline-subtle flex flex-col 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 shadow-[0_4px_20px_rgba(0,0,0,0.15)]\",\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 onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\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 flex flex-col gap-2\">\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 // className=\"flex gap-3\"\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":"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"}
|
package/dist/index.js
CHANGED
|
@@ -405,12 +405,12 @@ const textVariants = classVarianceAuthority.cva("", {
|
|
|
405
405
|
{
|
|
406
406
|
variant: "body",
|
|
407
407
|
size: "large",
|
|
408
|
-
class: "font-size-200 leading-200 tracking-[0%]
|
|
408
|
+
class: "font-size-200 leading-200 tracking-[0%]",
|
|
409
409
|
},
|
|
410
410
|
{
|
|
411
411
|
variant: "body",
|
|
412
412
|
size: "medium",
|
|
413
|
-
class: "font-size-100 leading-100 tracking-[0%]
|
|
413
|
+
class: "font-size-100 leading-100 tracking-[0%]",
|
|
414
414
|
},
|
|
415
415
|
{
|
|
416
416
|
variant: "body",
|
|
@@ -447,10 +447,10 @@ const Text = React__namespace.forwardRef(({ className, variant, size, weight, co
|
|
|
447
447
|
});
|
|
448
448
|
Text.displayName = "Text";
|
|
449
449
|
|
|
450
|
-
const tooltipVariants = classVarianceAuthority.cva("fixed z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium
|
|
450
|
+
const tooltipVariants = classVarianceAuthority.cva("fixed z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium border border-popup-outline-subtle flex flex-col p-4 rounded-xlarge min-w-[200px] max-w-[300px] transition-opacity duration-200", {
|
|
451
451
|
variants: {
|
|
452
452
|
isVisible: {
|
|
453
|
-
true: "opacity-100 pointer-events-auto",
|
|
453
|
+
true: "opacity-100 pointer-events-auto shadow-[0_4px_20px_rgba(0,0,0,0.15)]",
|
|
454
454
|
false: "opacity-0 pointer-events-none",
|
|
455
455
|
},
|
|
456
456
|
},
|
|
@@ -458,15 +458,15 @@ const tooltipVariants = classVarianceAuthority.cva("fixed z-50 bg-popup-fill-int
|
|
|
458
458
|
isVisible: false,
|
|
459
459
|
},
|
|
460
460
|
});
|
|
461
|
-
const tooltipArrowVariants = classVarianceAuthority.cva("absolute w-0 h-0
|
|
461
|
+
const tooltipArrowVariants = classVarianceAuthority.cva("absolute w-0 h-0 border-solid border-[6px] -translate-x-1/2", {
|
|
462
462
|
variants: {
|
|
463
463
|
placement: {
|
|
464
|
-
"top-start": "top-full
|
|
465
|
-
top: "top-full
|
|
466
|
-
"top-end": "top-full
|
|
467
|
-
"bottom-start": "bottom-full
|
|
468
|
-
bottom: "bottom-full
|
|
469
|
-
"bottom-end": "bottom-full
|
|
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",
|
|
470
470
|
},
|
|
471
471
|
},
|
|
472
472
|
defaultVariants: {
|
|
@@ -476,6 +476,8 @@ const tooltipArrowVariants = classVarianceAuthority.cva("absolute w-0 h-0 borde
|
|
|
476
476
|
const Tooltip = React__namespace.forwardRef(({ children, heading, description, placement = "top", showArrow = true, className, delay = 200, disabled = false, }, ref) => {
|
|
477
477
|
const [isVisible, setIsVisible] = React__namespace.useState(false);
|
|
478
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);
|
|
479
481
|
const timeoutRef = React__namespace.useRef(null);
|
|
480
482
|
const triggerRef = React__namespace.useRef(null);
|
|
481
483
|
const tooltipRef = React__namespace.useRef(null);
|
|
@@ -486,8 +488,11 @@ const Tooltip = React__namespace.forwardRef(({ children, heading, description, p
|
|
|
486
488
|
const tooltipRect = tooltipRef.current.getBoundingClientRect();
|
|
487
489
|
const gap = 8; // 8px gap between trigger and tooltip
|
|
488
490
|
const arrowSize = 6; // Size of the arrow
|
|
491
|
+
const viewportPadding = 8; // Minimum padding from viewport edges
|
|
489
492
|
let top = 0;
|
|
490
493
|
let left = 0;
|
|
494
|
+
let currentPlacement = placement;
|
|
495
|
+
// Calculate initial position based on placement
|
|
491
496
|
switch (placement) {
|
|
492
497
|
case "top-start":
|
|
493
498
|
top = triggerRect.top - tooltipRect.height - gap - arrowSize;
|
|
@@ -516,7 +521,72 @@ const Tooltip = React__namespace.forwardRef(({ children, heading, description, p
|
|
|
516
521
|
left = triggerRect.right - tooltipRect.width;
|
|
517
522
|
break;
|
|
518
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));
|
|
519
587
|
setPosition({ top, left });
|
|
588
|
+
setArrowPosition({ left: clampedArrowLeft });
|
|
589
|
+
setActualPlacement(currentPlacement);
|
|
520
590
|
}, [placement]);
|
|
521
591
|
const handleMouseEnter = () => {
|
|
522
592
|
if (disabled)
|
|
@@ -553,6 +623,10 @@ const Tooltip = React__namespace.forwardRef(({ children, heading, description, p
|
|
|
553
623
|
window.removeEventListener("resize", calculatePosition);
|
|
554
624
|
};
|
|
555
625
|
}, [isVisible, calculatePosition]);
|
|
626
|
+
React__namespace.useEffect(() => {
|
|
627
|
+
// Reset actualPlacement when placement prop changes
|
|
628
|
+
setActualPlacement(placement);
|
|
629
|
+
}, [placement]);
|
|
556
630
|
React__namespace.useEffect(() => {
|
|
557
631
|
return () => {
|
|
558
632
|
if (timeoutRef.current) {
|
|
@@ -597,7 +671,9 @@ const Tooltip = React__namespace.forwardRef(({ children, heading, description, p
|
|
|
597
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: {
|
|
598
672
|
top: `${position.top}px`,
|
|
599
673
|
left: `${position.left}px`,
|
|
600
|
-
}, "aria-hidden": !isVisible, children: [showArrow && (jsxRuntime.jsx("div", { className: cn(tooltipArrowVariants({ placement
|
|
674
|
+
}, "aria-hidden": !isVisible, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: [showArrow && (jsxRuntime.jsx("div", { className: cn(tooltipArrowVariants({ placement: actualPlacement })), style: {
|
|
675
|
+
left: `${arrowPosition.left}px`,
|
|
676
|
+
} })), jsxRuntime.jsxs("div", { className: "relative flex flex-col gap-2", 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 })] })] })] }));
|
|
601
677
|
});
|
|
602
678
|
Tooltip.displayName = "Tooltip";
|
|
603
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 \"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]\",\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 [position, setPosition] = React.useState({ top: 0, left: 0 });\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\n let top = 0;\n let left = 0;\n\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 setPosition({ top, left });\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 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 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 </>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n\nexport { Tooltip, tooltipVariants };\n"],"names":["clsx","twMerge","cva","React","Slot","_jsxs","_jsx","PulseLoader","ClipLoader","_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,GAAGA,SAAI,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,GAAGC,qBAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,IAAA,OAAOD,SAAI,CAAC,cAAc,EAAE,aAAa,CAAC;AAC5C;;ACzBA,MAAM,cAAc,GAAGE,0BAAG,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,GAAGC,gBAAK,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,GAAGC,cAAI,GAAG,QAAQ;AAEtC,IAAA,MAAM,UAAU,GAAG,QAAQ,IAAI,SAAS,IAAI,KAAK;AAEjD,IAAA,MAAM,aAAa,IACjBC,kDACG,SAAS,IAAI,CAAC,UAAU,KACvBC,cAAA,CAACC,yBAAW,EAAA,EACV,KAAK,EAAE,CAAA,uBAAA,EAA0B,KAAK,UAAU,EAChD,IAAI,EAAE,EAAE,GACR,CACH,EACA,SAAS,IAAI,UAAU,KACtBD,cAAA,CAACE,wBAAU,EAAA,EACT,KAAK,EAAE,CAAA,uBAAA,EAA0B,KAAK,CAAA,QAAA,CAAU,EAChD,IAAI,EAAE,EAAE,EAAA,CACR,CACH,EACA,CAAC,SAAS,IAAI,WAAW,KACxBF,cAAA,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,cAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,YAAY,EAAA,CAAQ,CAAA,EAAA,CACzD,CACJ;IAED,QACEA,eAAC,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,GAAGJ,0BAAG,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,GAAGC,gBAAK,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,OAAOA,gBAAK,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,GAAGD,0BAAG,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,GAAGA,0BAAG,CAC9B,6CAA6C,EAC7C;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,SAAS,EAAE;AACT,YAAA,WAAW,EACT,uFAAuF;AACzF,YAAA,GAAG,EAAE,0GAA0G;AAC/G,YAAA,SAAS,EACP,wFAAwF;AAC1F,YAAA,cAAc,EACZ,0FAA0F;AAC5F,YAAA,MAAM,EACJ,6GAA6G;AAC/G,YAAA,YAAY,EACV,2FAA2F;AAC9F,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,SAAS,EAAE,KAAK;AACjB,KAAA;AACF,CAAA,CACF;AA2CD,MAAM,OAAO,GAAGC,gBAAK,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,GAAGA,gBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IACvD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,gBAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACnE,MAAM,UAAU,GAAGA,gBAAK,CAAC,MAAM,CAAuC,IAAI,CAAC;IAC3E,MAAM,UAAU,GAAGA,gBAAK,CAAC,MAAM,CAAc,IAAI,CAAC;IAClD,MAAM,UAAU,GAAGA,gBAAK,CAAC,MAAM,CAAiB,IAAI,CAAC;AAErD,IAAA,MAAM,iBAAiB,GAAGA,gBAAK,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;QAEpB,IAAI,GAAG,GAAG,CAAC;QACX,IAAI,IAAI,GAAG,CAAC;QAEZ,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;;AAGJ,QAAA,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC5B,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,IAAAA,gBAAK,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,IAAAA,gBAAK,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,GAAGA,gBAAK,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,QACEE,eAAA,CAAAI,mBAAA,EAAA,EAAA,QAAA,EAAA,CACG,OAAO,EAERJ,eAAA,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;AAC3B,iBAAA,EAAA,aAAA,EACY,CAAC,SAAS,EAAA,QAAA,EAAA,CAEtB,SAAS,KACRC,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAA,CAAI,CAC5D,EAEDD,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,UAAU,aACtB,OAAO,KACNC,cAAA,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,cAAA,CAAC,IAAI,EAAA,EACH,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,OAAO,EACZ,MAAM,EAAC,SAAS,EAChB,KAAK,EAAC,WAAW,YAEhB,WAAW,EAAA,CACP,IACH,CAAA,EAAA,CACF,CAAA,EAAA,CACL;AAEP,CAAC;AAGH,OAAO,CAAC,WAAW,GAAG,SAAS;;;;;;;;;;"}
|
|
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: \"font-size-200 leading-200 tracking-[0%]\",\n },\n {\n variant: \"body\",\n size: \"medium\",\n class: \"font-size-100 leading-100 tracking-[0%]\",\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 border border-popup-outline-subtle flex flex-col 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 shadow-[0_4px_20px_rgba(0,0,0,0.15)]\",\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 onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\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 flex flex-col gap-2\">\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 // className=\"flex gap-3\"\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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"}
|