infinity-ui-elements 1.2.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +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,qFA8LZ,CAAC;AAIF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,QAAA,MAAM,eAAe;;mFAapB,CAAC;AA0BF,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EACN,WAAW,GACX,KAAK,GACL,SAAS,GACT,cAAc,GACd,QAAQ,GACR,YAAY,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,OAAO,qFAkRZ,CAAC;AAIF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -14,4 +14,5 @@ export declare const InstantTooltip: Story;
14
14
  export declare const Disabled: Story;
15
15
  export declare const DifferentTriggers: Story;
16
16
  export declare const Interactive: Story;
17
+ export declare const EdgeCases: Story;
17
18
  //# sourceMappingURL=Tooltip.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CA0B9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,OAAO,EAAE,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"}
1
+ {"version":3,"file":"Tooltip.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CA0B9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,OAAO,EAAE,KAarB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAW5B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KActB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KA0D3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAY1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAazB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAazB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAa5B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAatB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAwC/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KA4BzB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KA2DvB,CAAC"}
package/dist/index.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-500:oklch(63.7% .237 25.331);--color-teal-50:#e8eff1;--color-teal-100:#b9cdd2;--color-teal-300:#67939e;--color-teal-400:#497e8b;--color-teal-500:#1c5e6e;--color-teal-600:#195664;--color-teal-700:#14434e;--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-neutral-50:#c1c4c5;--color-neutral-100:#7a8081;--color-neutral-400:#50585a;--color-neutral-600:#343e40;--color-neutral-700:#232e30;--color-neutral-800:#142022;--color-neutral-900:#081416;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-blue-night-50:#e6e9ea;--color-blue-night-300:#5a6e73;--color-blue-night-500:#09262e;--color-blue-night-600:#08232a;--color-teal-900-18:#1c5e6e2e;--color-grove-50:#ebf6f2;--color-grove-100:#c1e3d6;--color-grove-200:#a3d6c3;--color-grove-300:#78c3a7;--color-grove-400:#5eb796;--color-grove-500:#36a57c;--color-grove-600:#319671;--color-grove-700:#267558;--color-brick-50:#faeceb;--color-brick-200:#e6a7a1;--color-brick-300:#da7e76;--color-brick-400:#d3655b;--color-brick-500:#c83f32;--color-brick-600:#b6392e;--color-brick-700:#8e2d24;--color-ember-50:#fdf5eb;--color-ember-200:#f4d1a2;--color-ember-300:#f0bc78;--color-ember-400:#edaf5d;--color-ember-500:#e89b35;--color-ember-600:#d38d30;--color-ember-700:#a56e26;--color-horizon-50:#ecf2f6;--color-horizon-200:#a5c4d4;--color-horizon-300:#7ca9c0;--color-horizon-400:#6398b4;--color-horizon-500:#3c7ea1;--color-horizon-600:#377393;--color-horizon-700:#2b5972;--color-neutral-00:#fff;--color-neutral-10:#fafafa;--color-neutral-20:#f5f6f6;--color-neutral-30:#ebecec;--color-neutral-60:#b2b6b7;--color-neutral-70:#a6aaab;--color-neutral-80:#979c9d;--color-surface-ink-neutral-normal:var(--color-neutral-900);--color-surface-ink-neutral-subtle:var(--color-neutral-700);--color-surface-ink-neutral-muted:var(--color-neutral-100);--color-surface-ink-neutral-disabled:var(--color-neutral-50);--color-surface-ink-primary-normal:var(--color-teal-500);--color-action-fill-positive-default:var(--color-grove-500);--color-action-fill-positive-hover:var(--color-grove-700);--color-action-fill-positive-faded:var(--color-grove-50);--color-action-fill-negative-default:var(--color-brick-500);--color-action-fill-negative-hover:var(--color-brick-700);--color-action-fill-negative-disabled:var(--color-brick-50);--color-action-fill-negative-faded:var(--color-brick-50);--color-action-fill-notice-default:var(--color-ember-500);--color-action-fill-notice-hover:var(--color-ember-700);--color-action-fill-notice-disabled:var(--color-ember-50);--color-action-fill-notice-faded:var(--color-ember-50);--color-action-fill-info-default:var(--color-horizon-500);--color-action-fill-info-hover:var(--color-horizon-700);--color-action-fill-info-disabled:var(--color-horizon-50);--color-action-fill-info-faded:var(--color-horizon-50);--color-action-fill-neutral-default:var(--color-neutral-600);--color-action-fill-neutral-hover:var(--color-neutral-800);--color-action-fill-neutral-disabled:var(--color-neutral-50);--color-action-fill-neutral-faded:var(--color-neutral-50);--color-action-fill-primary-default:var(--color-teal-500);--color-action-fill-primary-hover:var(--color-teal-700);--color-action-fill-primary-disabled:var(--color-teal-50);--color-action-fill-primary-faded:var(--color-teal-50);--color-action-outline-positive-disabled:var(--color-grove-200);--color-action-outline-positive-faded:var(--color-grove-200);--color-action-outline-positive-faded-hover:var(--color-grove-300);--color-action-outline-negative-disabled:var(--color-brick-50);--color-action-outline-negative-faded:var(--color-brick-200);--color-action-outline-negative-faded-hover:var(--color-brick-300);--color-action-outline-notice-disabled:var(--color-ember-50);--color-action-outline-notice-faded:var(--color-ember-200);--color-action-outline-notice-faded-hover:var(--color-ember-300);--color-action-outline-info-disabled:var(--color-horizon-50);--color-action-outline-info-faded:var(--color-horizon-200);--color-action-outline-info-faded-hover:var(--color-horizon-300);--color-action-outline-neutral-faded:var(--color-neutral-70);--color-action-outline-neutral-faded-hover:var(--color-neutral-80);--color-action-ink-positive-normal:var(--color-grove-700);--color-action-ink-negative-normal:var(--color-brick-600);--color-action-ink-negative-disabled:var(--color-brick-200);--color-action-ink-notice-normal:var(--color-ember-600);--color-action-ink-notice-disabled:var(--color-ember-200);--color-action-ink-info-normal:var(--color-horizon-700);--color-action-ink-info-disabled:var(--color-horizon-200);--color-action-ink-neutral-normal:var(--color-neutral-900);--color-action-ink-neutral-disabled:var(--color-neutral-60);--color-action-ink-primary-normal:var(--color-teal-600);--color-action-ink-primary-disabled:var(--color-teal-100);--color-action-ink-on-primary-normal:var(--color-neutral-00);--color-action-ink-on-primary-muted:var(--color-neutral-60);--color-popup-fill-intense:var(--color-blue-night-600);--color-popup-outline-subtle:var(--color-teal-900-18);--spacing-0:0px;--spacing-2:4px;--spacing-3:8px;--spacing-4:12px;--spacing-5:16px;--spacing-6:20px;--spacing-7:24px;--spacing-8:32px;--spacing-9:40px;--spacing-10:48px;--radius-medium:4px;--radius-xlarge:8px;--font-functional:"Clash Grotesk",system-ui,sans-serif;--font-display:"Switzer",system-ui,sans-serif;--text-25:10px;--text-50:11px;--text-75:12px;--text-100:14px;--text-200:16px;--text-300:18px;--text-400:20px;--text-500:24px;--text-600:32px;--text-700:40px;--text-800:48px;--text-900:56px;--text-1000:64px;--text-1100:72px;--leading-00:0px;--leading-25:14px;--leading-50:16px;--leading-75:18px;--leading-100:20px;--leading-200:24px;--leading-300:24px;--leading-400:26px;--leading-500:32px;--leading-600:38px;--leading-700:46px;--leading-800:56px;--leading-900:64px;--leading-1000:70px;--leading-1100:78px;--paragraph-spacing-100:8px;--paragraph-spacing-200:10px;--paragraph-spacing-300:11px;--paragraph-spacing-400:12px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn-primary{background-color:var(--color-blue-night-500)}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.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;--paragraph-spacing-300:11px;--paragraph-spacing-400:12px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn-primary{background-color:var(--color-blue-night-500)}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-1\/2{top:50%}.top-2{top:var(--spacing-2)}.top-full{top:100%}.right-2{right:var(--spacing-2)}.bottom-2{bottom:var(--spacing-2)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.left-2{left:var(--spacing-2)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mr-2{margin-right:var(--spacing-2)}.mb-0{margin-bottom:var(--spacing-0)}.mb-3{margin-bottom:var(--spacing-3)}.mb-\[var\(--paragraph-spacing-100\)\]{margin-bottom:var(--paragraph-spacing-100)}.mb-\[var\(--paragraph-spacing-200\)\]{margin-bottom:var(--paragraph-spacing-200)}.mb-\[var\(--paragraph-spacing-300\)\]{margin-bottom:var(--paragraph-spacing-300)}.mb-\[var\(--paragraph-spacing-400\)\]{margin-bottom:var(--paragraph-spacing-400)}.flex{display:flex}.inline{display:inline}.aspect-square{aspect-ratio:1}.h-0{height:var(--spacing-0)}.h-3{height:var(--spacing-3)}.h-4{height:var(--spacing-4)}.h-5{height:var(--spacing-5)}.h-7{height:var(--spacing-7)}.h-8{height:var(--spacing-8)}.h-9{height:var(--spacing-9)}.h-10{height:var(--spacing-10)}.h-screen{height:100vh}.min-h-\[600px\]{min-height:600px}.w-0{width:var(--spacing-0)}.w-3{width:var(--spacing-3)}.w-4{width:var(--spacing-4)}.w-5{width:var(--spacing-5)}.w-7{width:var(--spacing-7)}.w-8{width:var(--spacing-8)}.w-9{width:var(--spacing-9)}.w-10{width:var(--spacing-10)}.w-\[500px\]{width:500px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[300px\]{max-width:300px}.min-w-\[200px\]{min-width:200px}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.gap-12{gap:calc(var(--spacing)*12)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing-4)*var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing-4)*calc(1 - var(--tw-space-y-reverse)))}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-medium{border-radius:var(--radius-medium)}.rounded-xlarge{border-radius:var(--radius-xlarge)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}.border-solid{--tw-border-style:solid;border-style:solid}.border-action-outline-info-faded{border-color:var(--color-action-outline-info-faded)}.border-action-outline-negative-faded{border-color:var(--color-action-outline-negative-faded)}.border-action-outline-neutral-faded{border-color:var(--color-action-outline-neutral-faded)}.border-action-outline-notice-faded{border-color:var(--color-action-outline-notice-faded)}.border-action-outline-positive-faded{border-color:var(--color-action-outline-positive-faded)}.border-popup-outline-subtle{border-color:var(--color-popup-outline-subtle)}.border-x-transparent{border-inline-color:#0000}.border-t-popup-fill-intense{border-top-color:var(--color-popup-fill-intense)}.border-t-transparent{border-top-color:#0000}.border-b-popup-fill-intense{border-bottom-color:var(--color-popup-fill-intense)}.border-b-transparent{border-bottom-color:#0000}.bg-action-fill-info-default{background-color:var(--color-action-fill-info-default)}.bg-action-fill-negative-default{background-color:var(--color-action-fill-negative-default)}.bg-action-fill-neutral-default{background-color:var(--color-action-fill-neutral-default)}.bg-action-fill-notice-default{background-color:var(--color-action-fill-notice-default)}.bg-action-fill-positive-default{background-color:var(--color-action-fill-positive-default)}.bg-action-fill-primary-default{background-color:var(--color-action-fill-primary-default)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-popup-fill-intense{background-color:var(--color-popup-fill-intense)}.p-0{padding:var(--spacing-0)}.p-2{padding:var(--spacing-2)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.px-3{padding-inline:var(--spacing-3)}.px-4{padding-inline:var(--spacing-4)}.px-6{padding-inline:var(--spacing-6)}.py-2{padding-block:var(--spacing-2)}.py-12{padding-block:calc(var(--spacing)*12)}.text-50{font-size:var(--text-50)}.leading-25{--tw-leading:var(--leading-25);line-height:var(--leading-25)}.leading-50{--tw-leading:var(--leading-50);line-height:var(--leading-50)}.leading-75{--tw-leading:var(--leading-75);line-height:var(--leading-75)}.leading-100{--tw-leading:var(--leading-100);line-height:var(--leading-100)}.leading-200{--tw-leading:var(--leading-200);line-height:var(--leading-200)}.leading-300{--tw-leading:var(--leading-300);line-height:var(--leading-300)}.leading-400{--tw-leading:var(--leading-400);line-height:var(--leading-400)}.leading-500{--tw-leading:var(--leading-500);line-height:var(--leading-500)}.leading-600{--tw-leading:var(--leading-600);line-height:var(--leading-600)}.leading-700{--tw-leading:var(--leading-700);line-height:var(--leading-700)}.leading-800{--tw-leading:var(--leading-800);line-height:var(--leading-800)}.leading-900{--tw-leading:var(--leading-900);line-height:var(--leading-900)}.leading-1000{--tw-leading:var(--leading-1000);line-height:var(--leading-1000)}.leading-1100{--tw-leading:var(--leading-1100);line-height:var(--leading-1100)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\%\]{--tw-tracking:0%;letter-spacing:0%}.whitespace-nowrap{white-space:nowrap}.text-action-ink-info-normal{color:var(--color-action-ink-info-normal)}.text-action-ink-negative-normal{color:var(--color-action-ink-negative-normal)}.text-action-ink-neutral-normal{color:var(--color-action-ink-neutral-normal)}.text-action-ink-notice-normal{color:var(--color-action-ink-notice-normal)}.text-action-ink-on-primary-normal{color:var(--color-action-ink-on-primary-normal)}.text-action-ink-positive-normal{color:var(--color-action-ink-positive-normal)}.text-action-ink-primary-normal{color:var(--color-action-ink-primary-normal)}.text-red-500{color:var(--color-red-500)}.text-surface-ink-neutral-disabled{color:var(--color-surface-ink-neutral-disabled)}.text-surface-ink-neutral-muted{color:var(--color-surface-ink-neutral-muted)}.text-surface-ink-neutral-normal{color:var(--color-surface-ink-neutral-normal)}.text-surface-ink-neutral-subtle{color:var(--color-surface-ink-neutral-subtle)}.text-surface-ink-primary-normal{color:var(--color-surface-ink-primary-normal)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.hover\:border-action-outline-info-faded-hover:hover{border-color:var(--color-action-outline-info-faded-hover)}.hover\:border-action-outline-negative-faded-hover:hover{border-color:var(--color-action-outline-negative-faded-hover)}.hover\:border-action-outline-notice-faded-hover:hover{border-color:var(--color-action-outline-notice-faded-hover)}.hover\:border-action-outline-positive-faded-hover:hover{border-color:var(--color-action-outline-positive-faded-hover)}.hover\:bg-action-fill-info-faded:hover{background-color:var(--color-action-fill-info-faded)}.hover\:bg-action-fill-info-hover:hover{background-color:var(--color-action-fill-info-hover)}.hover\:bg-action-fill-negative-faded:hover{background-color:var(--color-action-fill-negative-faded)}.hover\:bg-action-fill-negative-hover:hover{background-color:var(--color-action-fill-negative-hover)}.hover\:bg-action-fill-neutral-faded:hover{background-color:var(--color-action-fill-neutral-faded)}.hover\:bg-action-fill-neutral-hover:hover{background-color:var(--color-action-fill-neutral-hover)}.hover\:bg-action-fill-notice-faded:hover{background-color:var(--color-action-fill-notice-faded)}.hover\:bg-action-fill-notice-hover:hover{background-color:var(--color-action-fill-notice-hover)}.hover\:bg-action-fill-positive-faded:hover{background-color:var(--color-action-fill-positive-faded)}.hover\:bg-action-fill-positive-hover:hover{background-color:var(--color-action-fill-positive-hover)}.hover\:bg-action-fill-primary-faded:hover{background-color:var(--color-action-fill-primary-faded)}.hover\:bg-action-fill-primary-hover:hover{background-color:var(--color-action-fill-primary-hover)}.hover\:bg-action-outline-neutral-faded-hover:hover{background-color:var(--color-action-outline-neutral-faded-hover)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:bg-action-fill-info-disabled:disabled{background-color:var(--color-action-fill-info-disabled)}.disabled\:bg-action-fill-negative-disabled:disabled{background-color:var(--color-action-fill-negative-disabled)}.disabled\:bg-action-fill-neutral-disabled:disabled{background-color:var(--color-action-fill-neutral-disabled)}.disabled\:bg-action-fill-notice-disabled:disabled{background-color:var(--color-action-fill-notice-disabled)}.disabled\:bg-action-fill-primary-disabled:disabled{background-color:var(--color-action-fill-primary-disabled)}.disabled\:bg-action-outline-info-disabled:disabled{background-color:var(--color-action-outline-info-disabled)}.disabled\:bg-action-outline-negative-disabled:disabled{background-color:var(--color-action-outline-negative-disabled)}.disabled\:bg-action-outline-notice-disabled:disabled{background-color:var(--color-action-outline-notice-disabled)}.disabled\:bg-action-outline-positive-disabled:disabled{background-color:var(--color-action-outline-positive-disabled)}.disabled\:text-action-ink-info-disabled:disabled{color:var(--color-action-ink-info-disabled)}.disabled\:text-action-ink-negative-disabled:disabled{color:var(--color-action-ink-negative-disabled)}.disabled\:text-action-ink-neutral-disabled:disabled{color:var(--color-action-ink-neutral-disabled)}.disabled\:text-action-ink-notice-disabled:disabled{color:var(--color-action-ink-notice-disabled)}.disabled\:text-action-ink-on-primary-muted:disabled{color:var(--color-action-ink-on-primary-muted)}.disabled\:text-action-ink-primary-disabled:disabled{color:var(--color-action-ink-primary-disabled)}@media (min-width:48rem){.md\:h-\[28px\]{height:28px}.md\:h-\[32px\]{height:32px}.md\:h-\[36px\]{height:36px}.md\:h-\[44px\]{height:44px}}.font-functional{font-family:var(--font-functional)}.font-display{font-family:var(--font-display)}.font-size-25{font-size:var(--text-25)}.font-size-50{font-size:var(--text-50)}.font-size-75{font-size:var(--text-75)}.font-size-100{font-size:var(--text-100)}.font-size-200{font-size:var(--text-200)}.font-size-300{font-size:var(--text-300)}.font-size-400{font-size:var(--text-400)}.font-size-500{font-size:var(--text-500)}.font-size-600{font-size:var(--text-600)}.font-size-700{font-size:var(--text-700)}.font-size-800{font-size:var(--text-800)}.font-size-900{font-size:var(--text-900)}.font-size-1000{font-size:var(--text-1000)}.font-size-1100{font-size:var(--text-1100)}.leading-00{line-height:var(--leading-00)}.leading-25{line-height:var(--leading-25)}.leading-50{line-height:var(--leading-50)}.leading-75{line-height:var(--leading-75)}.leading-100{line-height:var(--leading-100)}.leading-200{line-height:var(--leading-200)}.leading-300{line-height:var(--leading-300)}.leading-400{line-height:var(--leading-400)}.leading-500{line-height:var(--leading-500)}.leading-600{line-height:var(--leading-600)}.leading-700{line-height:var(--leading-700)}.leading-800{line-height:var(--leading-800)}.leading-900{line-height:var(--leading-900)}.leading-1000{line-height:var(--leading-1000)}.leading-1100{line-height:var(--leading-1100)}}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Variable.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Variable.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Variable.ttf)format("truetype");font-weight:200 700;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Extralight.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Extralight.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Extralight.ttf)format("truetype");font-weight:200;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Light.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Light.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Light.ttf)format("truetype");font-weight:300;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Regular.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Regular.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Regular.ttf)format("truetype");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Medium.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Medium.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Medium.ttf)format("truetype");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Semibold.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Semibold.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Semibold.ttf)format("truetype");font-weight:600;font-display:swap;font-style:normal}@font-face{font-family:Clash Grotesk;src:url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Bold.woff2)format("woff2"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Bold.woff)format("woff"),url(../src/assets/fonts/clash-grotesk/ClashGrotesk-Bold.ttf)format("truetype");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Variable.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Variable.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Variable.ttf)format("truetype");font-weight:100 900;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-VariableItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-VariableItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-VariableItalic.ttf)format("truetype");font-weight:100 900;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Thin.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Thin.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Thin.ttf)format("truetype");font-weight:100;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-ThinItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-ThinItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-ThinItalic.ttf)format("truetype");font-weight:100;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Extralight.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Extralight.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Extralight.ttf)format("truetype");font-weight:200;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-ExtralightItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-ExtralightItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-ExtralightItalic.ttf)format("truetype");font-weight:200;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Light.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Light.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Light.ttf)format("truetype");font-weight:300;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-LightItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-LightItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-LightItalic.ttf)format("truetype");font-weight:300;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Regular.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Regular.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Regular.ttf)format("truetype");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Italic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Italic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Italic.ttf)format("truetype");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Medium.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Medium.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Medium.ttf)format("truetype");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-MediumItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-MediumItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-MediumItalic.ttf)format("truetype");font-weight:500;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Semibold.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Semibold.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Semibold.ttf)format("truetype");font-weight:600;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-SemiboldItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-SemiboldItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-SemiboldItalic.ttf)format("truetype");font-weight:600;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Bold.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Bold.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Bold.ttf)format("truetype");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-BoldItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-BoldItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-BoldItalic.ttf)format("truetype");font-weight:700;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Extrabold.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Extrabold.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Extrabold.ttf)format("truetype");font-weight:800;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-ExtraboldItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-ExtraboldItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-ExtraboldItalic.ttf)format("truetype");font-weight:800;font-display:swap;font-style:italic}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-Black.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-Black.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-Black.ttf)format("truetype");font-weight:900;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(../src/assets/fonts/switzer/Switzer-BlackItalic.woff2)format("woff2"),url(../src/assets/fonts/switzer/Switzer-BlackItalic.woff)format("woff"),url(../src/assets/fonts/switzer/Switzer-BlackItalic.ttf)format("truetype");font-weight:900;font-display:swap;font-style:italic}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}/**
3
3
  * @license
4
4
  *
5
5
  * Font Family: Clash Grotesk
package/dist/index.esm.js CHANGED
@@ -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 border-solid border-[6px]", {
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 left-4 border-t-popup-fill-intense border-x-transparent border-b-transparent",
444
- top: "top-full left-1/2 -translate-x-1/2 border-t-popup-fill-intense border-x-transparent border-b-transparent",
445
- "top-end": "top-full right-4 border-t-popup-fill-intense border-x-transparent border-b-transparent",
446
- "bottom-start": "bottom-full left-4 border-b-popup-fill-intense border-x-transparent border-t-transparent",
447
- bottom: "bottom-full left-1/2 -translate-x-1/2 border-b-popup-fill-intense border-x-transparent border-t-transparent",
448
- "bottom-end": "bottom-full right-4 border-b-popup-fill-intense border-x-transparent border-t-transparent",
443
+ "top-start": "top-full border-t-popup-fill-intense border-x-transparent border-b-transparent",
444
+ top: "top-full border-t-popup-fill-intense border-x-transparent border-b-transparent",
445
+ "top-end": "top-full border-t-popup-fill-intense border-x-transparent border-b-transparent",
446
+ "bottom-start": "bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent",
447
+ bottom: "bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent",
448
+ "bottom-end": "bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent",
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 })) })), jsxs("div", { className: "relative", children: [heading && (jsx(Text, { variant: "body", size: "medium", weight: "semibold", color: "onPrimary", children: heading })), jsx(Text, { variant: "body", size: "small", weight: "regular", color: "onPrimary", children: description })] })] })] }));
653
+ }, "aria-hidden": !isVisible, children: [showArrow && (jsx("div", { className: cn(tooltipArrowVariants({ placement: actualPlacement })), style: {
654
+ left: `${arrowPosition.left}px`,
655
+ } })), jsxs("div", { className: "relative", children: [heading && (jsx(Text, { variant: "body", size: "medium", weight: "semibold", color: "onPrimary", children: heading })), jsx(Text, { variant: "body", size: "small", weight: "regular", color: "onPrimary", children: description })] })] })] }));
580
656
  });
581
657
  Tooltip.displayName = "Tooltip";
582
658
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/lib/utils.ts","../src/components/Button/Button.tsx","../src/components/Text/Text.tsx","../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n// Define patterns for custom classes that should be preserved\n// This approach is more scalable than hardcoding individual class names\nconst CUSTOM_CLASS_PATTERNS = [\n // Custom font classes\n /^font-(functional|display)$/,\n // Custom spacing classes (example)\n // /^spacing-(xs|sm|md|lg|xl)$/,\n // Custom color classes (example)\n // /^color-(primary|secondary|accent)$/,\n // Any class that starts with 'custom-'\n /^custom-/,\n];\n\nfunction isCustomClass(className: string): boolean {\n return CUSTOM_CLASS_PATTERNS.some((pattern) => pattern.test(className));\n}\n\nexport function cn(...inputs: ClassValue[]) {\n // Use clsx first to combine classes, then use twMerge for standard Tailwind classes\n const combined = clsx(inputs);\n\n // Split classes and filter out our custom classes before merging\n const classes = combined.split(\" \");\n const customClasses = classes.filter((cls) => isCustomClass(cls));\n const standardClasses = classes.filter((cls) => !isCustomClass(cls));\n\n // Merge standard classes and add back custom classes\n const mergedStandard = twMerge(standardClasses.join(\" \"));\n return clsx(mergedStandard, customClasses);\n}\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport { PulseLoader, ClipLoader } from \"react-spinners\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst buttonVariants = cva(\n \"items-center gap-3 justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none\",\n {\n variants: {\n variant: {\n primary:\n \"bg-action-fill-primary-default text-action-ink-on-primary-normal hover:bg-action-fill-primary-hover\",\n secondary:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n tertiary: \"hover:bg-accent hover:text-accent-foreground\",\n },\n color: {\n primary: \"\",\n positive: \"\",\n negative: \"\",\n notice: \"\",\n info: \"\",\n neutral: \"\",\n },\n size: {\n xsmall: \"md:h-[28px] px-3 text-xs rounded-medium\",\n small: \"md:h-[32px] px-4 text-xs rounded-medium\",\n medium: \"md:h-[36px] px-6 py-2 rounded-medium\",\n large: \"md:h-[44px] px-6 text-base rounded-xlarge\",\n },\n isIconOnly: {\n true: \"aspect-square p-0\",\n false: \"\",\n },\n isLoading: {\n true: \"cursor-not-allowed\",\n false: \"\",\n },\n isDisabled: {\n true: \"cursor-not-allowed\",\n false: \"cursor-pointer\",\n },\n isFullWidth: {\n true: \"flex w-full\",\n false: \"flex w-fit\",\n },\n },\n compoundVariants: [\n // Primary variant colors\n {\n variant: \"primary\",\n color: \"primary\",\n class: `bg-action-fill-primary-default text-action-ink-on-primary-normal \n hover:bg-action-fill-primary-hover \n disabled:bg-action-fill-primary-disabled\n disabled:text-action-ink-primary-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"positive\",\n class: `bg-action-fill-positive-default text-action-ink-on-primary-normal \n hover:bg-action-fill-positive-hover \n disabled:bg-action-fill-primary-disabled\n disabled:text-action-ink-primary-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"negative\",\n class: `bg-action-fill-negative-default text-action-ink-on-primary-normal \n hover:bg-action-fill-negative-hover \n disabled:bg-action-fill-negative-disabled\n disabled:text-action-ink-negative-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"notice\",\n class: `bg-action-fill-notice-default text-action-ink-on-primary-normal \n hover:bg-action-fill-notice-hover \n disabled:bg-action-fill-notice-disabled\n disabled:text-action-ink-notice-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"info\",\n class: `bg-action-fill-info-default text-action-ink-on-primary-normal \n hover:bg-action-fill-info-hover \n disabled:bg-action-fill-info-disabled\n disabled:text-action-ink-info-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"neutral\",\n class: `bg-action-fill-neutral-default text-action-ink-on-primary-normal \n hover:bg-action-fill-neutral-hover \n disabled:bg-action-fill-neutral-disabled\n disabled:text-action-ink-neutral-disabled\n `,\n },\n // Secondary variant colors\n {\n variant: \"secondary\",\n color: \"primary\",\n class: `border-action-outline-info-faded text-action-ink-primary-normal hover:border-action-outline-info-faded-hover \n disabled:bg-action-outline-info-disabled\n disabled:text-action-ink-primary-disabled\n disabled:border-action-outline-primary-disabled\n `,\n },\n {\n variant: \"secondary\",\n color: \"positive\",\n class:\n \"border-action-outline-positive-faded text-action-ink-positive-normal hover:border-action-outline-positive-faded-hover disabled:bg-action-outline-positive-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"negative\",\n class:\n \"border-action-outline-negative-faded text-action-ink-negative-normal hover:border-action-outline-negative-faded-hover disabled:bg-action-outline-negative-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"notice\",\n class:\n \"border-action-outline-notice-faded text-action-ink-notice-normal hover:border-action-outline-notice-faded-hover disabled:bg-action-outline-notice-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"info\",\n class:\n \"border-action-outline-info-faded text-action-ink-info-normal hover:border-action-outline-info-faded-hover disabled:bg-action-outline-info-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"neutral\",\n class:\n \"border-action-outline-neutral-faded text-action-ink-neutral-normal hover:bg-action-outline-neutral-faded-hover\",\n },\n // Tertiary variant colors\n {\n variant: \"tertiary\",\n color: \"primary\",\n class: `text-action-ink-primary-normal \n hover:bg-action-fill-primary-faded \n disabled:text-action-ink-on-primary-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"positive\",\n class: `text-action-ink-positive-normal \n hover:bg-action-fill-positive-faded \n disabled:text-action-ink-on-positive-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"negative\",\n class: `text-action-ink-negative-normal \n hover:bg-action-fill-negative-faded \n disabled:text-action-ink-on-negative-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"notice\",\n class: `text-action-ink-notice-normal \n hover:bg-action-fill-notice-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"info\",\n class: `text-action-ink-info-normal \n hover:bg-action-fill-info-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"neutral\",\n class: `text-action-ink-neutral-normal \n hover:bg-action-fill-neutral-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n // Icon only sizing\n {\n isIconOnly: true,\n size: \"xsmall\",\n class: \"h-7 w-7\",\n },\n {\n isIconOnly: true,\n size: \"small\",\n class: \"h-8 w-8\",\n },\n {\n isIconOnly: true,\n size: \"medium\",\n class: \"h-9 w-9\",\n },\n {\n isIconOnly: true,\n size: \"large\",\n class: \"h-10 w-10\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n color: \"primary\",\n size: \"medium\",\n isIconOnly: false,\n isLoading: false,\n isFullWidth: false,\n },\n }\n);\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"color\"> {\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n color?: \"primary\" | \"positive\" | \"negative\" | \"notice\" | \"info\" | \"neutral\";\n size?: \"xsmall\" | \"small\" | \"medium\" | \"large\";\n isIconOnly?: boolean;\n isLoading?: boolean;\n isDisabled?: boolean;\n isFullWidth?: boolean;\n asChild?: boolean;\n leadingIcon?: React.ReactNode;\n trailingIcon?: React.ReactNode;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant = \"primary\",\n color = \"primary\",\n size,\n isIconOnly,\n isLoading,\n asChild = false,\n leadingIcon,\n trailingIcon,\n isFullWidth = false,\n children,\n disabled,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\";\n\n const isDisabled = disabled || isLoading || false;\n\n const buttonContent = (\n <>\n {isLoading && !isIconOnly && (\n <PulseLoader\n color={`var(--color-action-ink-${color}-normal)`}\n size={10}\n />\n )}\n {isLoading && isIconOnly && (\n <ClipLoader\n color={`var(--color-action-ink-${color}-normal)`}\n size={20}\n />\n )}\n {!isLoading && leadingIcon && (\n <span className=\"mr-2\">{leadingIcon}</span>\n )}\n {!isIconOnly && !isLoading && children}\n {isIconOnly && !isLoading && children}\n {!isLoading && trailingIcon && <span>{trailingIcon}</span>}\n </>\n );\n\n return (\n <Comp\n className={cn(\n buttonVariants({\n variant,\n color,\n size,\n isIconOnly,\n isLoading,\n isDisabled,\n isFullWidth,\n }),\n className\n )}\n ref={ref}\n disabled={isDisabled}\n {...props}\n >\n {buttonContent}\n </Comp>\n );\n }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst textVariants = cva(\"\", {\n variants: {\n variant: {\n display: \"font-functional font-medium\",\n heading: \"font-display\",\n body: \"font-display\",\n caption: \"font-display font-semibold\",\n },\n size: {\n \"2xlarge\": \"font-size-700 leading-700 tracking-[0%] mb-0\",\n xlarge: \"font-size-1100 leading-1100 tracking-[0%] mb-0\",\n large: \"font-size-1000 leading-1000 tracking-[0%] mb-0\",\n medium: \"font-size-900 leading-900 tracking-[0%] mb-0\",\n small: \"font-size-800 leading-800 tracking-[0%] mb-0\",\n xsmall:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n weight: {\n regular: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n },\n color: {\n default: \"text-surface-ink-neutral-normal\",\n subtle: \"text-surface-ink-neutral-subtle\",\n muted: \"text-surface-ink-neutral-muted\",\n disabled: \"text-surface-ink-neutral-disabled\",\n primary: \"text-surface-ink-primary-normal\",\n onPrimary: \"text-action-ink-on-primary-normal\",\n },\n as: {\n h1: \"\",\n h2: \"\",\n h3: \"\",\n h4: \"\",\n h5: \"\",\n h6: \"\",\n p: \"\",\n span: \"\",\n div: \"\",\n },\n },\n compoundVariants: [\n // Display variants use Clash Grotesk with medium weight\n {\n variant: \"display\",\n weight: \"regular\",\n class: \"font-medium\",\n },\n {\n variant: \"display\",\n weight: \"medium\",\n class: \"font-medium\",\n },\n {\n variant: \"display\",\n weight: \"semibold\",\n class: \"font-medium\",\n },\n // Caption is always semibold\n {\n variant: \"caption\",\n weight: \"regular\",\n class: \"font-semibold\",\n },\n {\n variant: \"caption\",\n weight: \"medium\",\n class: \"font-semibold\",\n },\n {\n variant: \"caption\",\n weight: \"semibold\",\n class: \"font-semibold\",\n },\n // Size-specific styling based on variant\n // Display sizes\n {\n variant: \"display\",\n size: \"xlarge\",\n class: \"font-size-1100 leading-1100 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"large\",\n class: \"font-size-1000 leading-1000 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"medium\",\n class: \"font-size-900 leading-900 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"small\",\n class: \"font-size-800 leading-800 tracking-[0%] mb-0\",\n },\n // Heading sizes\n {\n variant: \"heading\",\n size: \"2xlarge\",\n class: \"font-size-700 leading-700 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"xlarge\",\n class: \"font-size-600 leading-600 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"large\",\n class: \"font-size-500 leading-500 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"medium\",\n class: \"font-size-400 leading-400 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"small\",\n class: \"font-size-300 leading-300 tracking-[0%] mb-0\",\n },\n // Body sizes\n {\n variant: \"body\",\n size: \"large\",\n class:\n \"font-size-200 leading-200 tracking-[0%] mb-[var(--paragraph-spacing-400)]\",\n },\n {\n variant: \"body\",\n size: \"medium\",\n class:\n \"font-size-100 leading-100 tracking-[0%] mb-[var(--paragraph-spacing-300)]\",\n },\n {\n variant: \"body\",\n size: \"small\",\n class:\n \"font-size-75 leading-75 tracking-[0%] mb-[var(--paragraph-spacing-200)]\",\n },\n {\n variant: \"body\",\n size: \"xsmall\",\n class:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n // Caption sizes\n {\n variant: \"caption\",\n size: \"medium\",\n class: \"text-50 leading-50 tracking-[0%] mb-0\",\n },\n ],\n defaultVariants: {\n variant: \"body\",\n size: \"medium\",\n weight: \"regular\",\n color: \"default\",\n as: \"p\",\n },\n});\n\nexport interface TextProps\n extends Omit<React.HTMLAttributes<HTMLElement>, \"color\"> {\n children: React.ReactNode;\n variant?: \"display\" | \"heading\" | \"body\" | \"caption\";\n size?: \"2xlarge\" | \"xlarge\" | \"large\" | \"medium\" | \"small\" | \"xsmall\";\n weight?: \"regular\" | \"medium\" | \"semibold\";\n color?: \"default\" | \"subtle\" | \"muted\" | \"disabled\" | \"primary\" | \"onPrimary\";\n as?: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"span\" | \"div\";\n className?: string;\n}\n\nconst Text = React.forwardRef<HTMLElement, TextProps>(\n (\n { className, variant, size, weight, color, as, children, ...props },\n ref\n ) => {\n const Component = as || \"p\";\n\n return React.createElement(\n Component,\n {\n className: cn(\n textVariants({ variant, size, weight, color, as, className })\n ),\n ref,\n ...props,\n },\n children\n );\n }\n);\n\nText.displayName = \"Text\";\n\nexport { Text, textVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { Text } from \"../Text\";\n\nconst tooltipVariants = cva(\n \"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:\n \"font-size-200 leading-200 tracking-[0%] mb-[var(--paragraph-spacing-400)]\",\n },\n {\n variant: \"body\",\n size: \"medium\",\n class:\n \"font-size-100 leading-100 tracking-[0%] mb-[var(--paragraph-spacing-300)]\",\n },\n {\n variant: \"body\",\n size: \"small\",\n class:\n \"font-size-75 leading-75 tracking-[0%] mb-[var(--paragraph-spacing-200)]\",\n },\n {\n variant: \"body\",\n size: \"xsmall\",\n class:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n // Caption sizes\n {\n variant: \"caption\",\n size: \"medium\",\n class: \"text-50 leading-50 tracking-[0%] mb-0\",\n },\n ],\n defaultVariants: {\n variant: \"body\",\n size: \"medium\",\n weight: \"regular\",\n color: \"default\",\n as: \"p\",\n },\n});\n\nexport interface TextProps\n extends Omit<React.HTMLAttributes<HTMLElement>, \"color\"> {\n children: React.ReactNode;\n variant?: \"display\" | \"heading\" | \"body\" | \"caption\";\n size?: \"2xlarge\" | \"xlarge\" | \"large\" | \"medium\" | \"small\" | \"xsmall\";\n weight?: \"regular\" | \"medium\" | \"semibold\";\n color?: \"default\" | \"subtle\" | \"muted\" | \"disabled\" | \"primary\" | \"onPrimary\";\n as?: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"span\" | \"div\";\n className?: string;\n}\n\nconst Text = React.forwardRef<HTMLElement, TextProps>(\n (\n { className, variant, size, weight, color, as, children, ...props },\n ref\n ) => {\n const Component = as || \"p\";\n\n return React.createElement(\n Component,\n {\n className: cn(\n textVariants({ variant, size, weight, color, as, className })\n ),\n ref,\n ...props,\n },\n children\n );\n }\n);\n\nText.displayName = \"Text\";\n\nexport { Text, textVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { Text } from \"../Text\";\n\nconst tooltipVariants = cva(\n \"fixed z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium shadow-lg border border-popup-outline-subtle flex flex-col gap-2 p-4 rounded-xlarge min-w-[200px] max-w-[300px] transition-opacity duration-200\",\n {\n variants: {\n isVisible: {\n true: \"opacity-100 pointer-events-auto\",\n false: \"opacity-0 pointer-events-none\",\n },\n },\n defaultVariants: {\n isVisible: false,\n },\n }\n);\n\nconst tooltipArrowVariants = cva(\n \"absolute w-0 h-0 border-solid border-[6px] -translate-x-1/2\",\n {\n variants: {\n placement: {\n \"top-start\":\n \"top-full border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n top: \"top-full border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n \"top-end\":\n \"top-full border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n \"bottom-start\":\n \"bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n bottom:\n \"bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n \"bottom-end\":\n \"bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n },\n },\n defaultVariants: {\n placement: \"top\",\n },\n }\n);\n\nexport interface TooltipProps {\n /**\n * The trigger element that the tooltip will attach to\n */\n children: React.ReactElement;\n /**\n * Heading text for the tooltip\n */\n heading?: string;\n /**\n * Description text for the tooltip\n */\n description: string;\n /**\n * Placement of the tooltip relative to the trigger\n */\n placement?:\n | \"top-start\"\n | \"top\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"bottom-end\";\n /**\n * Whether to show the arrow/anchor\n */\n showArrow?: boolean;\n /**\n * Custom class name for the tooltip container\n */\n className?: string;\n /**\n * Delay before showing tooltip (in milliseconds)\n */\n delay?: number;\n /**\n * Whether the tooltip is disabled\n */\n disabled?: boolean;\n}\n\nconst Tooltip = React.forwardRef<HTMLDivElement, TooltipProps>(\n (\n {\n children,\n heading,\n description,\n placement = \"top\",\n showArrow = true,\n className,\n delay = 200,\n disabled = false,\n },\n ref\n ) => {\n const [isVisible, setIsVisible] = React.useState(false);\n const [position, setPosition] = React.useState({ top: 0, left: 0 });\n const [arrowPosition, setArrowPosition] = React.useState({ left: 0 });\n const [actualPlacement, setActualPlacement] = React.useState<\n \"top-start\" | \"top\" | \"top-end\" | \"bottom-start\" | \"bottom\" | \"bottom-end\"\n >(placement);\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const triggerRef = React.useRef<HTMLElement>(null);\n const tooltipRef = React.useRef<HTMLDivElement>(null);\n\n const calculatePosition = React.useCallback(() => {\n if (!triggerRef.current || !tooltipRef.current) return;\n\n const triggerRect = triggerRef.current.getBoundingClientRect();\n const tooltipRect = tooltipRef.current.getBoundingClientRect();\n const gap = 8; // 8px gap between trigger and tooltip\n const arrowSize = 6; // Size of the arrow\n const viewportPadding = 8; // Minimum padding from viewport edges\n\n let top = 0;\n let left = 0;\n let currentPlacement = placement;\n\n // Calculate initial position based on placement\n switch (placement) {\n case \"top-start\":\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n left = triggerRect.left;\n break;\n case \"top\":\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n left =\n triggerRect.left + triggerRect.width / 2 - tooltipRect.width / 2;\n break;\n case \"top-end\":\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n left = triggerRect.right - tooltipRect.width;\n break;\n case \"bottom-start\":\n top = triggerRect.bottom + gap + arrowSize;\n left = triggerRect.left;\n break;\n case \"bottom\":\n top = triggerRect.bottom + gap + arrowSize;\n left =\n triggerRect.left + triggerRect.width / 2 - tooltipRect.width / 2;\n break;\n case \"bottom-end\":\n top = triggerRect.bottom + gap + arrowSize;\n left = triggerRect.right - tooltipRect.width;\n break;\n }\n\n // Get viewport dimensions\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n // Adjust horizontal position to keep tooltip within viewport\n if (left < viewportPadding) {\n // Tooltip would overflow on the left\n left = viewportPadding;\n } else if (left + tooltipRect.width > viewportWidth - viewportPadding) {\n // Tooltip would overflow on the right\n left = viewportWidth - tooltipRect.width - viewportPadding;\n }\n\n // Adjust vertical position to keep tooltip within viewport\n if (top < viewportPadding) {\n // Tooltip would overflow at the top\n // Try to flip to bottom if there's more space there\n const spaceBelow = viewportHeight - triggerRect.bottom;\n const spaceAbove = triggerRect.top;\n\n if (spaceBelow > spaceAbove) {\n // Flip to bottom\n top = triggerRect.bottom + gap + arrowSize;\n // Update placement to reflect the flip\n if (placement === \"top-start\") currentPlacement = \"bottom-start\";\n else if (placement === \"top\") currentPlacement = \"bottom\";\n else if (placement === \"top-end\") currentPlacement = \"bottom-end\";\n } else {\n // Keep at top but adjust to stay in viewport\n top = viewportPadding;\n }\n } else if (top + tooltipRect.height > viewportHeight - viewportPadding) {\n // Tooltip would overflow at the bottom\n // Try to flip to top if there's more space there\n const spaceAbove = triggerRect.top;\n const spaceBelow = viewportHeight - triggerRect.bottom;\n\n if (spaceAbove > spaceBelow) {\n // Flip to top\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n // Update placement to reflect the flip\n if (placement === \"bottom-start\") currentPlacement = \"top-start\";\n else if (placement === \"bottom\") currentPlacement = \"top\";\n else if (placement === \"bottom-end\") currentPlacement = \"top-end\";\n } else {\n // Keep at bottom but adjust to stay in viewport\n top = viewportHeight - tooltipRect.height - viewportPadding;\n }\n }\n\n // Calculate arrow position relative to trigger\n // The arrow should point to the center of the trigger element\n const triggerCenterX = triggerRect.left + triggerRect.width / 2;\n const tooltipLeft = left;\n const arrowLeft = triggerCenterX - tooltipLeft;\n\n // Clamp arrow position to stay within tooltip bounds (with padding)\n const arrowPadding = 16; // Minimum distance from tooltip edges\n const clampedArrowLeft = Math.max(\n arrowPadding,\n Math.min(arrowLeft, tooltipRect.width - arrowPadding)\n );\n\n setPosition({ top, left });\n setArrowPosition({ left: clampedArrowLeft });\n setActualPlacement(currentPlacement);\n }, [placement]);\n\n const handleMouseEnter = () => {\n if (disabled) return;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n setIsVisible(true);\n }, delay);\n };\n\n const handleMouseLeave = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n setIsVisible(false);\n };\n\n const handleFocus = () => {\n if (disabled) return;\n setIsVisible(true);\n };\n\n const handleBlur = () => {\n setIsVisible(false);\n };\n\n React.useEffect(() => {\n if (isVisible) {\n calculatePosition();\n window.addEventListener(\"scroll\", calculatePosition, true);\n window.addEventListener(\"resize\", calculatePosition);\n }\n\n return () => {\n window.removeEventListener(\"scroll\", calculatePosition, true);\n window.removeEventListener(\"resize\", calculatePosition);\n };\n }, [isVisible, calculatePosition]);\n\n React.useEffect(() => {\n // Reset actualPlacement when placement prop changes\n setActualPlacement(placement);\n }, [placement]);\n\n React.useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n // Merge refs function\n const mergeRefs = (...refs: any[]) => {\n return (node: any) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref && typeof ref === \"object\" && \"current\" in ref) {\n (ref as any).current = node;\n }\n });\n };\n };\n\n // Clone the child element and add event handlers\n const trigger = React.cloneElement(children, {\n ref: mergeRefs(triggerRef, (children as any).ref),\n onMouseEnter: (e: React.MouseEvent) => {\n handleMouseEnter();\n children.props.onMouseEnter?.(e);\n },\n onMouseLeave: (e: React.MouseEvent) => {\n handleMouseLeave();\n children.props.onMouseLeave?.(e);\n },\n onFocus: (e: React.FocusEvent) => {\n handleFocus();\n children.props.onFocus?.(e);\n },\n onBlur: (e: React.FocusEvent) => {\n handleBlur();\n children.props.onBlur?.(e);\n },\n \"aria-describedby\": isVisible ? \"tooltip-content\" : undefined,\n });\n\n return (\n <>\n {trigger}\n\n <div\n ref={mergeRefs(tooltipRef, ref)}\n id=\"tooltip-content\"\n role=\"tooltip\"\n className={cn(tooltipVariants({ isVisible }), className)}\n style={{\n top: `${position.top}px`,\n left: `${position.left}px`,\n }}\n aria-hidden={!isVisible}\n >\n {showArrow && (\n <div\n className={cn(\n tooltipArrowVariants({ placement: actualPlacement })\n )}\n style={{\n left: `${arrowPosition.left}px`,\n }}\n />\n )}\n\n <div className=\"relative\">\n {heading && (\n <Text\n variant=\"body\"\n size=\"medium\"\n weight=\"semibold\"\n color=\"onPrimary\"\n >\n {heading}\n </Text>\n )}\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color=\"onPrimary\"\n >\n {description}\n </Text>\n </div>\n </div>\n </>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n\nexport { Tooltip, tooltipVariants };\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -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 border-solid border-[6px]", {
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 left-4 border-t-popup-fill-intense border-x-transparent border-b-transparent",
465
- top: "top-full left-1/2 -translate-x-1/2 border-t-popup-fill-intense border-x-transparent border-b-transparent",
466
- "top-end": "top-full right-4 border-t-popup-fill-intense border-x-transparent border-b-transparent",
467
- "bottom-start": "bottom-full left-4 border-b-popup-fill-intense border-x-transparent border-t-transparent",
468
- bottom: "bottom-full left-1/2 -translate-x-1/2 border-b-popup-fill-intense border-x-transparent border-t-transparent",
469
- "bottom-end": "bottom-full right-4 border-b-popup-fill-intense border-x-transparent border-t-transparent",
464
+ "top-start": "top-full border-t-popup-fill-intense border-x-transparent border-b-transparent",
465
+ top: "top-full border-t-popup-fill-intense border-x-transparent border-b-transparent",
466
+ "top-end": "top-full border-t-popup-fill-intense border-x-transparent border-b-transparent",
467
+ "bottom-start": "bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent",
468
+ bottom: "bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent",
469
+ "bottom-end": "bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent",
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 })) })), jsxRuntime.jsxs("div", { className: "relative", children: [heading && (jsxRuntime.jsx(Text, { variant: "body", size: "medium", weight: "semibold", color: "onPrimary", children: heading })), jsxRuntime.jsx(Text, { variant: "body", size: "small", weight: "regular", color: "onPrimary", children: description })] })] })] }));
674
+ }, "aria-hidden": !isVisible, children: [showArrow && (jsxRuntime.jsx("div", { className: cn(tooltipArrowVariants({ placement: actualPlacement })), style: {
675
+ left: `${arrowPosition.left}px`,
676
+ } })), jsxRuntime.jsxs("div", { className: "relative", children: [heading && (jsxRuntime.jsx(Text, { variant: "body", size: "medium", weight: "semibold", color: "onPrimary", children: heading })), jsxRuntime.jsx(Text, { variant: "body", size: "small", weight: "regular", color: "onPrimary", children: description })] })] })] }));
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":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/lib/utils.ts","../src/components/Button/Button.tsx","../src/components/Text/Text.tsx","../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n// Define patterns for custom classes that should be preserved\n// This approach is more scalable than hardcoding individual class names\nconst CUSTOM_CLASS_PATTERNS = [\n // Custom font classes\n /^font-(functional|display)$/,\n // Custom spacing classes (example)\n // /^spacing-(xs|sm|md|lg|xl)$/,\n // Custom color classes (example)\n // /^color-(primary|secondary|accent)$/,\n // Any class that starts with 'custom-'\n /^custom-/,\n];\n\nfunction isCustomClass(className: string): boolean {\n return CUSTOM_CLASS_PATTERNS.some((pattern) => pattern.test(className));\n}\n\nexport function cn(...inputs: ClassValue[]) {\n // Use clsx first to combine classes, then use twMerge for standard Tailwind classes\n const combined = clsx(inputs);\n\n // Split classes and filter out our custom classes before merging\n const classes = combined.split(\" \");\n const customClasses = classes.filter((cls) => isCustomClass(cls));\n const standardClasses = classes.filter((cls) => !isCustomClass(cls));\n\n // Merge standard classes and add back custom classes\n const mergedStandard = twMerge(standardClasses.join(\" \"));\n return clsx(mergedStandard, customClasses);\n}\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport { PulseLoader, ClipLoader } from \"react-spinners\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst buttonVariants = cva(\n \"items-center gap-3 justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none\",\n {\n variants: {\n variant: {\n primary:\n \"bg-action-fill-primary-default text-action-ink-on-primary-normal hover:bg-action-fill-primary-hover\",\n secondary:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n tertiary: \"hover:bg-accent hover:text-accent-foreground\",\n },\n color: {\n primary: \"\",\n positive: \"\",\n negative: \"\",\n notice: \"\",\n info: \"\",\n neutral: \"\",\n },\n size: {\n xsmall: \"md:h-[28px] px-3 text-xs rounded-medium\",\n small: \"md:h-[32px] px-4 text-xs rounded-medium\",\n medium: \"md:h-[36px] px-6 py-2 rounded-medium\",\n large: \"md:h-[44px] px-6 text-base rounded-xlarge\",\n },\n isIconOnly: {\n true: \"aspect-square p-0\",\n false: \"\",\n },\n isLoading: {\n true: \"cursor-not-allowed\",\n false: \"\",\n },\n isDisabled: {\n true: \"cursor-not-allowed\",\n false: \"cursor-pointer\",\n },\n isFullWidth: {\n true: \"flex w-full\",\n false: \"flex w-fit\",\n },\n },\n compoundVariants: [\n // Primary variant colors\n {\n variant: \"primary\",\n color: \"primary\",\n class: `bg-action-fill-primary-default text-action-ink-on-primary-normal \n hover:bg-action-fill-primary-hover \n disabled:bg-action-fill-primary-disabled\n disabled:text-action-ink-primary-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"positive\",\n class: `bg-action-fill-positive-default text-action-ink-on-primary-normal \n hover:bg-action-fill-positive-hover \n disabled:bg-action-fill-primary-disabled\n disabled:text-action-ink-primary-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"negative\",\n class: `bg-action-fill-negative-default text-action-ink-on-primary-normal \n hover:bg-action-fill-negative-hover \n disabled:bg-action-fill-negative-disabled\n disabled:text-action-ink-negative-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"notice\",\n class: `bg-action-fill-notice-default text-action-ink-on-primary-normal \n hover:bg-action-fill-notice-hover \n disabled:bg-action-fill-notice-disabled\n disabled:text-action-ink-notice-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"info\",\n class: `bg-action-fill-info-default text-action-ink-on-primary-normal \n hover:bg-action-fill-info-hover \n disabled:bg-action-fill-info-disabled\n disabled:text-action-ink-info-disabled\n `,\n },\n {\n variant: \"primary\",\n color: \"neutral\",\n class: `bg-action-fill-neutral-default text-action-ink-on-primary-normal \n hover:bg-action-fill-neutral-hover \n disabled:bg-action-fill-neutral-disabled\n disabled:text-action-ink-neutral-disabled\n `,\n },\n // Secondary variant colors\n {\n variant: \"secondary\",\n color: \"primary\",\n class: `border-action-outline-info-faded text-action-ink-primary-normal hover:border-action-outline-info-faded-hover \n disabled:bg-action-outline-info-disabled\n disabled:text-action-ink-primary-disabled\n disabled:border-action-outline-primary-disabled\n `,\n },\n {\n variant: \"secondary\",\n color: \"positive\",\n class:\n \"border-action-outline-positive-faded text-action-ink-positive-normal hover:border-action-outline-positive-faded-hover disabled:bg-action-outline-positive-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"negative\",\n class:\n \"border-action-outline-negative-faded text-action-ink-negative-normal hover:border-action-outline-negative-faded-hover disabled:bg-action-outline-negative-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"notice\",\n class:\n \"border-action-outline-notice-faded text-action-ink-notice-normal hover:border-action-outline-notice-faded-hover disabled:bg-action-outline-notice-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"info\",\n class:\n \"border-action-outline-info-faded text-action-ink-info-normal hover:border-action-outline-info-faded-hover disabled:bg-action-outline-info-disabled\",\n },\n {\n variant: \"secondary\",\n color: \"neutral\",\n class:\n \"border-action-outline-neutral-faded text-action-ink-neutral-normal hover:bg-action-outline-neutral-faded-hover\",\n },\n // Tertiary variant colors\n {\n variant: \"tertiary\",\n color: \"primary\",\n class: `text-action-ink-primary-normal \n hover:bg-action-fill-primary-faded \n disabled:text-action-ink-on-primary-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"positive\",\n class: `text-action-ink-positive-normal \n hover:bg-action-fill-positive-faded \n disabled:text-action-ink-on-positive-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"negative\",\n class: `text-action-ink-negative-normal \n hover:bg-action-fill-negative-faded \n disabled:text-action-ink-on-negative-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"notice\",\n class: `text-action-ink-notice-normal \n hover:bg-action-fill-notice-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"info\",\n class: `text-action-ink-info-normal \n hover:bg-action-fill-info-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n {\n variant: \"tertiary\",\n color: \"neutral\",\n class: `text-action-ink-neutral-normal \n hover:bg-action-fill-neutral-faded \n disabled:text-action-ink-on-notice-muted\n `,\n },\n // Icon only sizing\n {\n isIconOnly: true,\n size: \"xsmall\",\n class: \"h-7 w-7\",\n },\n {\n isIconOnly: true,\n size: \"small\",\n class: \"h-8 w-8\",\n },\n {\n isIconOnly: true,\n size: \"medium\",\n class: \"h-9 w-9\",\n },\n {\n isIconOnly: true,\n size: \"large\",\n class: \"h-10 w-10\",\n },\n ],\n defaultVariants: {\n variant: \"primary\",\n color: \"primary\",\n size: \"medium\",\n isIconOnly: false,\n isLoading: false,\n isFullWidth: false,\n },\n }\n);\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"color\"> {\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n color?: \"primary\" | \"positive\" | \"negative\" | \"notice\" | \"info\" | \"neutral\";\n size?: \"xsmall\" | \"small\" | \"medium\" | \"large\";\n isIconOnly?: boolean;\n isLoading?: boolean;\n isDisabled?: boolean;\n isFullWidth?: boolean;\n asChild?: boolean;\n leadingIcon?: React.ReactNode;\n trailingIcon?: React.ReactNode;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant = \"primary\",\n color = \"primary\",\n size,\n isIconOnly,\n isLoading,\n asChild = false,\n leadingIcon,\n trailingIcon,\n isFullWidth = false,\n children,\n disabled,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\";\n\n const isDisabled = disabled || isLoading || false;\n\n const buttonContent = (\n <>\n {isLoading && !isIconOnly && (\n <PulseLoader\n color={`var(--color-action-ink-${color}-normal)`}\n size={10}\n />\n )}\n {isLoading && isIconOnly && (\n <ClipLoader\n color={`var(--color-action-ink-${color}-normal)`}\n size={20}\n />\n )}\n {!isLoading && leadingIcon && (\n <span className=\"mr-2\">{leadingIcon}</span>\n )}\n {!isIconOnly && !isLoading && children}\n {isIconOnly && !isLoading && children}\n {!isLoading && trailingIcon && <span>{trailingIcon}</span>}\n </>\n );\n\n return (\n <Comp\n className={cn(\n buttonVariants({\n variant,\n color,\n size,\n isIconOnly,\n isLoading,\n isDisabled,\n isFullWidth,\n }),\n className\n )}\n ref={ref}\n disabled={isDisabled}\n {...props}\n >\n {buttonContent}\n </Comp>\n );\n }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst textVariants = cva(\"\", {\n variants: {\n variant: {\n display: \"font-functional font-medium\",\n heading: \"font-display\",\n body: \"font-display\",\n caption: \"font-display font-semibold\",\n },\n size: {\n \"2xlarge\": \"font-size-700 leading-700 tracking-[0%] mb-0\",\n xlarge: \"font-size-1100 leading-1100 tracking-[0%] mb-0\",\n large: \"font-size-1000 leading-1000 tracking-[0%] mb-0\",\n medium: \"font-size-900 leading-900 tracking-[0%] mb-0\",\n small: \"font-size-800 leading-800 tracking-[0%] mb-0\",\n xsmall:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n weight: {\n regular: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n },\n color: {\n default: \"text-surface-ink-neutral-normal\",\n subtle: \"text-surface-ink-neutral-subtle\",\n muted: \"text-surface-ink-neutral-muted\",\n disabled: \"text-surface-ink-neutral-disabled\",\n primary: \"text-surface-ink-primary-normal\",\n onPrimary: \"text-action-ink-on-primary-normal\",\n },\n as: {\n h1: \"\",\n h2: \"\",\n h3: \"\",\n h4: \"\",\n h5: \"\",\n h6: \"\",\n p: \"\",\n span: \"\",\n div: \"\",\n },\n },\n compoundVariants: [\n // Display variants use Clash Grotesk with medium weight\n {\n variant: \"display\",\n weight: \"regular\",\n class: \"font-medium\",\n },\n {\n variant: \"display\",\n weight: \"medium\",\n class: \"font-medium\",\n },\n {\n variant: \"display\",\n weight: \"semibold\",\n class: \"font-medium\",\n },\n // Caption is always semibold\n {\n variant: \"caption\",\n weight: \"regular\",\n class: \"font-semibold\",\n },\n {\n variant: \"caption\",\n weight: \"medium\",\n class: \"font-semibold\",\n },\n {\n variant: \"caption\",\n weight: \"semibold\",\n class: \"font-semibold\",\n },\n // Size-specific styling based on variant\n // Display sizes\n {\n variant: \"display\",\n size: \"xlarge\",\n class: \"font-size-1100 leading-1100 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"large\",\n class: \"font-size-1000 leading-1000 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"medium\",\n class: \"font-size-900 leading-900 tracking-[0%] mb-0\",\n },\n {\n variant: \"display\",\n size: \"small\",\n class: \"font-size-800 leading-800 tracking-[0%] mb-0\",\n },\n // Heading sizes\n {\n variant: \"heading\",\n size: \"2xlarge\",\n class: \"font-size-700 leading-700 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"xlarge\",\n class: \"font-size-600 leading-600 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"large\",\n class: \"font-size-500 leading-500 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"medium\",\n class: \"font-size-400 leading-400 tracking-[0%] mb-0\",\n },\n {\n variant: \"heading\",\n size: \"small\",\n class: \"font-size-300 leading-300 tracking-[0%] mb-0\",\n },\n // Body sizes\n {\n variant: \"body\",\n size: \"large\",\n class:\n \"font-size-200 leading-200 tracking-[0%] mb-[var(--paragraph-spacing-400)]\",\n },\n {\n variant: \"body\",\n size: \"medium\",\n class:\n \"font-size-100 leading-100 tracking-[0%] mb-[var(--paragraph-spacing-300)]\",\n },\n {\n variant: \"body\",\n size: \"small\",\n class:\n \"font-size-75 leading-75 tracking-[0%] mb-[var(--paragraph-spacing-200)]\",\n },\n {\n variant: \"body\",\n size: \"xsmall\",\n class:\n \"font-size-25 leading-25 tracking-[0%] mb-[var(--paragraph-spacing-100)]\",\n },\n // Caption sizes\n {\n variant: \"caption\",\n size: \"medium\",\n class: \"text-50 leading-50 tracking-[0%] mb-0\",\n },\n ],\n defaultVariants: {\n variant: \"body\",\n size: \"medium\",\n weight: \"regular\",\n color: \"default\",\n as: \"p\",\n },\n});\n\nexport interface TextProps\n extends Omit<React.HTMLAttributes<HTMLElement>, \"color\"> {\n children: React.ReactNode;\n variant?: \"display\" | \"heading\" | \"body\" | \"caption\";\n size?: \"2xlarge\" | \"xlarge\" | \"large\" | \"medium\" | \"small\" | \"xsmall\";\n weight?: \"regular\" | \"medium\" | \"semibold\";\n color?: \"default\" | \"subtle\" | \"muted\" | \"disabled\" | \"primary\" | \"onPrimary\";\n as?: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"span\" | \"div\";\n className?: string;\n}\n\nconst Text = React.forwardRef<HTMLElement, TextProps>(\n (\n { className, variant, size, weight, color, as, children, ...props },\n ref\n ) => {\n const Component = as || \"p\";\n\n return React.createElement(\n Component,\n {\n className: cn(\n textVariants({ variant, size, weight, color, as, className })\n ),\n ref,\n ...props,\n },\n children\n );\n }\n);\n\nText.displayName = \"Text\";\n\nexport { Text, textVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { Text } from \"../Text\";\n\nconst tooltipVariants = cva(\n \"fixed z-50 bg-popup-fill-intense text-action-ink-on-primary-normal rounded-medium shadow-lg border border-popup-outline-subtle flex flex-col gap-2 p-4 rounded-xlarge min-w-[200px] max-w-[300px] transition-opacity duration-200\",\n {\n variants: {\n isVisible: {\n true: \"opacity-100 pointer-events-auto\",\n false: \"opacity-0 pointer-events-none\",\n },\n },\n defaultVariants: {\n isVisible: false,\n },\n }\n);\n\nconst tooltipArrowVariants = cva(\n \"absolute w-0 h-0 border-solid border-[6px] -translate-x-1/2\",\n {\n variants: {\n placement: {\n \"top-start\":\n \"top-full border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n top: \"top-full border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n \"top-end\":\n \"top-full border-t-popup-fill-intense border-x-transparent border-b-transparent\",\n \"bottom-start\":\n \"bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n bottom:\n \"bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n \"bottom-end\":\n \"bottom-full border-b-popup-fill-intense border-x-transparent border-t-transparent\",\n },\n },\n defaultVariants: {\n placement: \"top\",\n },\n }\n);\n\nexport interface TooltipProps {\n /**\n * The trigger element that the tooltip will attach to\n */\n children: React.ReactElement;\n /**\n * Heading text for the tooltip\n */\n heading?: string;\n /**\n * Description text for the tooltip\n */\n description: string;\n /**\n * Placement of the tooltip relative to the trigger\n */\n placement?:\n | \"top-start\"\n | \"top\"\n | \"top-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"bottom-end\";\n /**\n * Whether to show the arrow/anchor\n */\n showArrow?: boolean;\n /**\n * Custom class name for the tooltip container\n */\n className?: string;\n /**\n * Delay before showing tooltip (in milliseconds)\n */\n delay?: number;\n /**\n * Whether the tooltip is disabled\n */\n disabled?: boolean;\n}\n\nconst Tooltip = React.forwardRef<HTMLDivElement, TooltipProps>(\n (\n {\n children,\n heading,\n description,\n placement = \"top\",\n showArrow = true,\n className,\n delay = 200,\n disabled = false,\n },\n ref\n ) => {\n const [isVisible, setIsVisible] = React.useState(false);\n const [position, setPosition] = React.useState({ top: 0, left: 0 });\n const [arrowPosition, setArrowPosition] = React.useState({ left: 0 });\n const [actualPlacement, setActualPlacement] = React.useState<\n \"top-start\" | \"top\" | \"top-end\" | \"bottom-start\" | \"bottom\" | \"bottom-end\"\n >(placement);\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const triggerRef = React.useRef<HTMLElement>(null);\n const tooltipRef = React.useRef<HTMLDivElement>(null);\n\n const calculatePosition = React.useCallback(() => {\n if (!triggerRef.current || !tooltipRef.current) return;\n\n const triggerRect = triggerRef.current.getBoundingClientRect();\n const tooltipRect = tooltipRef.current.getBoundingClientRect();\n const gap = 8; // 8px gap between trigger and tooltip\n const arrowSize = 6; // Size of the arrow\n const viewportPadding = 8; // Minimum padding from viewport edges\n\n let top = 0;\n let left = 0;\n let currentPlacement = placement;\n\n // Calculate initial position based on placement\n switch (placement) {\n case \"top-start\":\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n left = triggerRect.left;\n break;\n case \"top\":\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n left =\n triggerRect.left + triggerRect.width / 2 - tooltipRect.width / 2;\n break;\n case \"top-end\":\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n left = triggerRect.right - tooltipRect.width;\n break;\n case \"bottom-start\":\n top = triggerRect.bottom + gap + arrowSize;\n left = triggerRect.left;\n break;\n case \"bottom\":\n top = triggerRect.bottom + gap + arrowSize;\n left =\n triggerRect.left + triggerRect.width / 2 - tooltipRect.width / 2;\n break;\n case \"bottom-end\":\n top = triggerRect.bottom + gap + arrowSize;\n left = triggerRect.right - tooltipRect.width;\n break;\n }\n\n // Get viewport dimensions\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n // Adjust horizontal position to keep tooltip within viewport\n if (left < viewportPadding) {\n // Tooltip would overflow on the left\n left = viewportPadding;\n } else if (left + tooltipRect.width > viewportWidth - viewportPadding) {\n // Tooltip would overflow on the right\n left = viewportWidth - tooltipRect.width - viewportPadding;\n }\n\n // Adjust vertical position to keep tooltip within viewport\n if (top < viewportPadding) {\n // Tooltip would overflow at the top\n // Try to flip to bottom if there's more space there\n const spaceBelow = viewportHeight - triggerRect.bottom;\n const spaceAbove = triggerRect.top;\n\n if (spaceBelow > spaceAbove) {\n // Flip to bottom\n top = triggerRect.bottom + gap + arrowSize;\n // Update placement to reflect the flip\n if (placement === \"top-start\") currentPlacement = \"bottom-start\";\n else if (placement === \"top\") currentPlacement = \"bottom\";\n else if (placement === \"top-end\") currentPlacement = \"bottom-end\";\n } else {\n // Keep at top but adjust to stay in viewport\n top = viewportPadding;\n }\n } else if (top + tooltipRect.height > viewportHeight - viewportPadding) {\n // Tooltip would overflow at the bottom\n // Try to flip to top if there's more space there\n const spaceAbove = triggerRect.top;\n const spaceBelow = viewportHeight - triggerRect.bottom;\n\n if (spaceAbove > spaceBelow) {\n // Flip to top\n top = triggerRect.top - tooltipRect.height - gap - arrowSize;\n // Update placement to reflect the flip\n if (placement === \"bottom-start\") currentPlacement = \"top-start\";\n else if (placement === \"bottom\") currentPlacement = \"top\";\n else if (placement === \"bottom-end\") currentPlacement = \"top-end\";\n } else {\n // Keep at bottom but adjust to stay in viewport\n top = viewportHeight - tooltipRect.height - viewportPadding;\n }\n }\n\n // Calculate arrow position relative to trigger\n // The arrow should point to the center of the trigger element\n const triggerCenterX = triggerRect.left + triggerRect.width / 2;\n const tooltipLeft = left;\n const arrowLeft = triggerCenterX - tooltipLeft;\n\n // Clamp arrow position to stay within tooltip bounds (with padding)\n const arrowPadding = 16; // Minimum distance from tooltip edges\n const clampedArrowLeft = Math.max(\n arrowPadding,\n Math.min(arrowLeft, tooltipRect.width - arrowPadding)\n );\n\n setPosition({ top, left });\n setArrowPosition({ left: clampedArrowLeft });\n setActualPlacement(currentPlacement);\n }, [placement]);\n\n const handleMouseEnter = () => {\n if (disabled) return;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n setIsVisible(true);\n }, delay);\n };\n\n const handleMouseLeave = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n setIsVisible(false);\n };\n\n const handleFocus = () => {\n if (disabled) return;\n setIsVisible(true);\n };\n\n const handleBlur = () => {\n setIsVisible(false);\n };\n\n React.useEffect(() => {\n if (isVisible) {\n calculatePosition();\n window.addEventListener(\"scroll\", calculatePosition, true);\n window.addEventListener(\"resize\", calculatePosition);\n }\n\n return () => {\n window.removeEventListener(\"scroll\", calculatePosition, true);\n window.removeEventListener(\"resize\", calculatePosition);\n };\n }, [isVisible, calculatePosition]);\n\n React.useEffect(() => {\n // Reset actualPlacement when placement prop changes\n setActualPlacement(placement);\n }, [placement]);\n\n React.useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n // Merge refs function\n const mergeRefs = (...refs: any[]) => {\n return (node: any) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref && typeof ref === \"object\" && \"current\" in ref) {\n (ref as any).current = node;\n }\n });\n };\n };\n\n // Clone the child element and add event handlers\n const trigger = React.cloneElement(children, {\n ref: mergeRefs(triggerRef, (children as any).ref),\n onMouseEnter: (e: React.MouseEvent) => {\n handleMouseEnter();\n children.props.onMouseEnter?.(e);\n },\n onMouseLeave: (e: React.MouseEvent) => {\n handleMouseLeave();\n children.props.onMouseLeave?.(e);\n },\n onFocus: (e: React.FocusEvent) => {\n handleFocus();\n children.props.onFocus?.(e);\n },\n onBlur: (e: React.FocusEvent) => {\n handleBlur();\n children.props.onBlur?.(e);\n },\n \"aria-describedby\": isVisible ? \"tooltip-content\" : undefined,\n });\n\n return (\n <>\n {trigger}\n\n <div\n ref={mergeRefs(tooltipRef, ref)}\n id=\"tooltip-content\"\n role=\"tooltip\"\n className={cn(tooltipVariants({ isVisible }), className)}\n style={{\n top: `${position.top}px`,\n left: `${position.left}px`,\n }}\n aria-hidden={!isVisible}\n >\n {showArrow && (\n <div\n className={cn(\n tooltipArrowVariants({ placement: actualPlacement })\n )}\n style={{\n left: `${arrowPosition.left}px`,\n }}\n />\n )}\n\n <div className=\"relative\">\n {heading && (\n <Text\n variant=\"body\"\n size=\"medium\"\n weight=\"semibold\"\n color=\"onPrimary\"\n >\n {heading}\n </Text>\n )}\n <Text\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n color=\"onPrimary\"\n >\n {description}\n </Text>\n </div>\n </div>\n </>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n\nexport { Tooltip, tooltipVariants };\n"],"names":["clsx","twMerge","cva","React","Slot","_jsxs","_jsx","PulseLoader","ClipLoader","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,6DAA6D,EAC7D;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,SAAS,EAAE;AACT,YAAA,WAAW,EACT,gFAAgF;AAClF,YAAA,GAAG,EAAE,gFAAgF;AACrF,YAAA,SAAS,EACP,gFAAgF;AAClF,YAAA,cAAc,EACZ,mFAAmF;AACrF,YAAA,MAAM,EACJ,mFAAmF;AACrF,YAAA,YAAY,EACV,mFAAmF;AACtF,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,SAAS,EAAE,KAAK;AACjB,KAAA;AACF,CAAA,CACF;AA2CD,MAAM,OAAO,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;AACnE,IAAA,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAGA,gBAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACrE,IAAA,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAGA,gBAAK,CAAC,QAAQ,CAE1D,SAAS,CAAC;IACZ,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;AACpB,QAAA,MAAM,eAAe,GAAG,CAAC,CAAC;QAE1B,IAAI,GAAG,GAAG,CAAC;QACX,IAAI,IAAI,GAAG,CAAC;QACZ,IAAI,gBAAgB,GAAG,SAAS;;QAGhC,QAAQ,SAAS;AACf,YAAA,KAAK,WAAW;AACd,gBAAA,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;AAC5D,gBAAA,IAAI,GAAG,WAAW,CAAC,IAAI;gBACvB;AACF,YAAA,KAAK,KAAK;AACR,gBAAA,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;gBAC5D,IAAI;AACF,oBAAA,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC;gBAClE;AACF,YAAA,KAAK,SAAS;AACZ,gBAAA,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;gBAC5D,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK;gBAC5C;AACF,YAAA,KAAK,cAAc;gBACjB,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;AAC1C,gBAAA,IAAI,GAAG,WAAW,CAAC,IAAI;gBACvB;AACF,YAAA,KAAK,QAAQ;gBACX,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;gBAC1C,IAAI;AACF,oBAAA,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC;gBAClE;AACF,YAAA,KAAK,YAAY;gBACf,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;gBAC1C,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK;gBAC5C;;;AAIJ,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU;AACvC,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW;;AAGzC,QAAA,IAAI,IAAI,GAAG,eAAe,EAAE;;YAE1B,IAAI,GAAG,eAAe;QACxB;aAAO,IAAI,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,aAAa,GAAG,eAAe,EAAE;;YAErE,IAAI,GAAG,aAAa,GAAG,WAAW,CAAC,KAAK,GAAG,eAAe;QAC5D;;AAGA,QAAA,IAAI,GAAG,GAAG,eAAe,EAAE;;;AAGzB,YAAA,MAAM,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC,MAAM;AACtD,YAAA,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG;AAElC,YAAA,IAAI,UAAU,GAAG,UAAU,EAAE;;gBAE3B,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;;gBAE1C,IAAI,SAAS,KAAK,WAAW;oBAAE,gBAAgB,GAAG,cAAc;qBAC3D,IAAI,SAAS,KAAK,KAAK;oBAAE,gBAAgB,GAAG,QAAQ;qBACpD,IAAI,SAAS,KAAK,SAAS;oBAAE,gBAAgB,GAAG,YAAY;YACnE;iBAAO;;gBAEL,GAAG,GAAG,eAAe;YACvB;QACF;aAAO,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,cAAc,GAAG,eAAe,EAAE;;;AAGtE,YAAA,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG;AAClC,YAAA,MAAM,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC,MAAM;AAEtD,YAAA,IAAI,UAAU,GAAG,UAAU,EAAE;;AAE3B,gBAAA,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS;;gBAE5D,IAAI,SAAS,KAAK,cAAc;oBAAE,gBAAgB,GAAG,WAAW;qBAC3D,IAAI,SAAS,KAAK,QAAQ;oBAAE,gBAAgB,GAAG,KAAK;qBACpD,IAAI,SAAS,KAAK,YAAY;oBAAE,gBAAgB,GAAG,SAAS;YACnE;iBAAO;;gBAEL,GAAG,GAAG,cAAc,GAAG,WAAW,CAAC,MAAM,GAAG,eAAe;YAC7D;QACF;;;QAIA,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC;QAC/D,MAAM,WAAW,GAAG,IAAI;AACxB,QAAA,MAAM,SAAS,GAAG,cAAc,GAAG,WAAW;;AAG9C,QAAA,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAC/B,YAAY,EACZ,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,GAAG,YAAY,CAAC,CACtD;AAED,QAAA,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC1B,QAAA,gBAAgB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAC5C,kBAAkB,CAAC,gBAAgB,CAAC;AACtC,IAAA,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAEf,MAAM,gBAAgB,GAAG,MAAK;AAC5B,QAAA,IAAI,QAAQ;YAAE;AAEd,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE;AACtB,YAAA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;QAClC;AAEA,QAAA,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,MAAK;YACnC,YAAY,CAAC,IAAI,CAAC;QACpB,CAAC,EAAE,KAAK,CAAC;AACX,IAAA,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAK;AAC5B,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE;AACtB,YAAA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;QAClC;QACA,YAAY,CAAC,KAAK,CAAC;AACrB,IAAA,CAAC;IAED,MAAM,WAAW,GAAG,MAAK;AACvB,QAAA,IAAI,QAAQ;YAAE;QACd,YAAY,CAAC,IAAI,CAAC;AACpB,IAAA,CAAC;IAED,MAAM,UAAU,GAAG,MAAK;QACtB,YAAY,CAAC,KAAK,CAAC;AACrB,IAAA,CAAC;AAED,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;;QAEnB,kBAAkB,CAAC,SAAS,CAAC;AAC/B,IAAA,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAEf,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;iBAC3B,EAAA,aAAA,EACY,CAAC,SAAS,EAAA,QAAA,EAAA,CAEtB,SAAS,KACRC,cAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,oBAAoB,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CACrD,EACD,KAAK,EAAE;AACL,4BAAA,IAAI,EAAE,CAAA,EAAG,aAAa,CAAC,IAAI,CAAA,EAAA,CAAI;yBAChC,EAAA,CACD,CACH,EAEDD,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,UAAU,EAAA,QAAA,EAAA,CACtB,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,EAAA,QAAA,EAEhB,WAAW,EAAA,CACP,CAAA,EAAA,CACH,CAAA,EAAA,CACF,CAAA,EAAA,CACL;AAEP,CAAC;AAGH,OAAO,CAAC,WAAW,GAAG,SAAS;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "infinity-ui-elements",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "A React TypeScript component library with Tailwind CSS design system",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",