@protonradio/proton-ui 0.10.12 → 0.10.13-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- :root{--proton-color__primary:#e26014;--proton-color__primary-light:#fbe5d7;--proton-color__secondary:#f2f2f2;--proton-color__gray-super-dark:#141211;--proton-color__gray-dark:#4d4d4d;--proton-color__gray-medium:#7d7d7d;--proton-color__gray-medium-light:#b1b1b1;--proton-color__gray-light:#ddd;--proton-color__gray-lightest:#f0f1f2;--proton-color__gray-super-light:#f7f8f9;--proton-color__white:#fff;--proton-color__danger-super-dark:#991b1b;--proton-color__danger-dark:#a80724;--proton-color__danger-medium:#e23f5c;--proton-color__danger-light:#f16880;--proton-color__danger-super-light:#ffe1e1;--proton-color__warning-dark:#8b5600;--proton-color__warning-medium:#b37208;--proton-color__warning-light:#ffac23;--proton-color__warning-super-light:#fff0c9;--proton-color__success-dark:#247800;--proton-color__success-medium:#339a07;--proton-color__success-light:#66cf39;--proton-color__success-super-light:#deffd1;--proton-control__text-color:var(--proton-color__white);--proton-control__background-color:var(--proton-color__white);--proton-control__background-color-light:var(--proton-color__gray-super-light);--proton-control__border-color:var(--proton-color__gray-dark);--proton-control__shadow-color:var(--proton-color__gray-dark)}.proton-Button{color:var(--proton-color__white);letter-spacing:.05em;border:0;border-radius:4px;justify-content:center;align-items:center;column-gap:.4em;padding:.4em 1.05em;font-weight:400;text-decoration:none;transition:filter .1s,background-color .1s;display:flex}.proton-Button:hover{filter:brightness(1.08);cursor:pointer;text-decoration:none}.proton-Button--primary,.proton-Button--primary:hover{background-color:var(--proton-color__primary)}.proton-Button--secondary,.proton-Button--secondary:hover{background-color:var(--proton-color__gray-light)}.proton-Button--danger{background-color:var(--proton-color__danger-medium)}.proton-Button--success{background-color:var(--proton-color__success-medium)}.proton-Button--translucent{background-color:var(--proton-control__background-color-light)}.proton-Button--translucent:hover{background-color:var(--proton-color__gray-lightest)}.proton-Button--disabled,.proton-Button--disabled:hover{opacity:.5;filter:none;cursor:not-allowed}.proton-Button:focus{outline:solid var(--proton-color__primary)1px;border:none}.proton-Button:focus-visible{outline:solid var(--proton-color__primary)1px;border:none}.proton-Button--fullWidth{width:100%}.proton-Button--small{padding:.2rem .6rem;font-size:.875rem}.proton-Button--medium{padding:.4rem 1rem;font-size:1rem}.proton-Button--large{padding:.6rem 1.6rem;font-size:1.2rem}.proton-Button--xlarge{padding:.8rem 2.2rem;font-size:1.3rem}.proton-Button--2xlarge{padding:1rem 2.6rem;font-size:1.6rem}.proton-ScreenOverlay__background{-webkit-backdrop-filter:blur(24px)brightness(75%);backdrop-filter:blur(24px)brightness(75%);background-color:#000c;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.proton-ScreenOverlay__z-index{z-index:10000}.proton-ScreenOverlay__image{object-fit:cover;width:100vw;height:100vh;position:absolute}.proton-ScreenOverlay__blur{-webkit-backdrop-filter:blur(24px)brightness(75%);backdrop-filter:blur(24px)brightness(75%);filter:brightness(50%);position:absolute;top:0;bottom:0;left:0;right:0}@keyframes fadeInBackground{0%{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0000001a}to{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000c}}@keyframes fadeOutBackground{0%{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000c}to{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0}}.proton-ScreenOverlay__fade-in{animation:.2s ease-in-out forwards fadeInBackground}.proton-ScreenOverlay__fade-out{animation:.2s ease-in-out forwards fadeOutBackground}.proton-ActionMenu__wrapper{z-index:10;max-height:100vh;overflow:none;flex:1;width:100%;position:fixed;bottom:0;left:0}.proton-ActionMenu__background-wrapper{opacity:0;transition:opacity .3s cubic-bezier(.34,1.56,.64,1);overflow-y:scroll}.proton-ActionMenu__card{background:var(--proton-control__background-color);color:var(--proton-control__text-color);z-index:1;border-radius:14px 14px 0 0;flex-direction:column;height:0;transition:height .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden;box-shadow:0 0 4px #0000001a,0 0 20px #00000026}.proton-ActionMenu__card>div{flex-direction:column;flex:1;display:flex}.proton-ActionMenu__cancel-button{margin:0 12px 16px}.proton-ActionMenu__cancel-button button{justify-content:center;width:100%}.proton-ActionMenu__content{padding:12px 12px 0}.proton-ActionMenu__list{flex-direction:column;margin:10px 0;display:flex}.proton-ActionMenu__list--disabled{opacity:.5;cursor:not-allowed}.proton-ActionMenu__item{color:inherit;cursor:pointer;padding:12px 8px 12px 12px;text-decoration:none;transition:background-color .2s}.proton-ActionMenu__item:hover,.proton-ActionMenu__item:focus{background-color:var(--proton-color__gray-super-light);border:none;outline:none}.proton-ui__theme--dark .proton-ActionMenu__item:hover,.proton-ui__theme--dark .proton-ActionMenu__item:focus,.proton-ui__theme--custom-dark .proton-ActionMenu__item:focus,.proton-ui__theme--custom-dark .proton-ActionMenu__item:hover{background-color:var(--proton-color__gray-light)}.proton-ActionMenu__item[aria-checked=true]{background-color:var(--proton-color__primary-light);color:var(--proton-color__primary)}.proton-ui__theme--custom-dark .proton-ActionMenu__item[aria-checked=true],.proton-ui__theme--dark .proton-ActionMenu__item[aria-checked=true]{background-color:var(--proton-color__primary);color:var(--proton-control__text-color)}.proton-ActionMenu__item[aria-disabled=true]{opacity:.5;cursor:not-allowed}.proton-ActionMenu__item[aria-disabled=true]:hover{background-color:#0000}.proton-ActionMenu__content:has(.proton-ListBox){padding:0}html .proton-ActionMenu__content>.proton-ListBox{box-shadow:none;background:0 0;border:none;border-radius:0;margin-bottom:12px}.proton-Badge{letter-spacing:.2em;text-align:center;text-transform:uppercase;white-space:nowrap;height:1.6rem;color:var(--proton-control__text-color);border-radius:10rem;padding-bottom:calc(1rem - 1.1em);padding-left:1rem;padding-right:calc(1rem - .2em);font-size:max(11px,min(.6875rem + .1vw,16px));font-weight:500;line-height:1.8rem;display:inline-block}.proton-ui__theme--dark.proton-Badge:not([class*=proton-Badge--]){background-color:var(--proton-control__primary-medium)}.proton-ui__theme--light.proton-Badge:not([class*=proton-Badge--]),.proton-ui__theme--light.proton-Badge--secondary{background-color:var(--proton-color__secondary);color:#666}.proton-ui__theme--dark.proton-Badge--secondary{background-color:#ffffff26}.proton-ui__theme--custom-dark.proton-Badge:not([class*=proton-Badge--]){background-color:var(--proton-color__primary)}.proton-ui__theme--custom-dark.proton-Badge--secondary{background-color:var(--proton-control__primary-dark)}.proton-Badge--primary{background-color:var(--proton-color__primary);color:var(--proton-color__white)}.proton-Badge--success{background-color:var(--proton-color__success-super-light);color:var(--proton-color__success-dark)}.proton-Badge--warning{background-color:var(--proton-color__warning-super-light);color:var(--proton-color__warning-dark)}.proton-Badge--danger{background-color:var(--proton-color__danger-super-light);color:var(--proton-color__danger-dark)}.proton-Badge--transparent{color:#666;background-color:#0000}:root{--banner-bg:var(--proton-control__background-color-light);--banner-title:var(--proton-color__gray-dark);--banner-content:var(--proton-color__gray-medium);--banner-icon:var(--proton-color__gray-medium-light);--banner-blur:none}.proton-ui__theme--custom-dark,.proton-ui__theme--dark{--banner-bg:var(--proton-control__background-color-light);--banner-blur:blur(15px);--banner-title:var(--proton-control__text-color);--banner-content:var(--proton-control__text-color);--banner-icon:var(--proton-control__text-color)}.proton-Banner--warning{--banner-bg:var(--proton-color__warning-super-light);--banner-title:var(--proton-color__warning-dark);--banner-content:var(--proton-color__warning-medium);--banner-icon:var(--proton-color__warning-light)}.proton-Banner--success{--banner-bg:var(--proton-color__success-super-light);--banner-title:var(--proton-color__success-dark);--banner-content:var(--proton-color__success-medium);--banner-icon:var(--proton-color__success-light)}.proton-Banner--danger{--banner-bg:var(--proton-color__danger-super-light);--banner-title:var(--proton-color__danger-dark);--banner-content:var(--proton-color__danger-medium);--banner-icon:var(--proton-color__danger-light)}.proton-Banner{background-color:var(--banner-bg);-webkit-backdrop-filter:var(--banner-blur);backdrop-filter:var(--banner-blur);--tw-backdrop-blur:var(--banner-blur);margin:0}.proton-Banner--rounded{border-radius:.375rem}.proton-Banner__wrapper{padding:2rem;display:flex}.proton-Banner__wrapper--compact{padding:1rem}.proton-Banner__content-wrapper{flex:1;min-width:0}.proton-Banner__container{flex-direction:column;padding:0 10px;display:flex}.proton-Banner__title{letter-spacing:.01rem;color:var(--banner-title);margin:0;font-size:max(14px,min(1.8rem,20px));font-weight:600}.proton-Banner__content{color:var(--banner-content);margin:6px 0 0}.proton-Banner__icon{fill:var(--banner-icon);margin-top:2px}.proton-Banner__actions{gap:.5rem;margin:6px 0 0;display:flex}@media (min-width:768px){.proton-Banner__container{grid-template-columns:1fr auto;align-items:center;display:grid}.proton-Banner__container>.proton-Banner__title,.proton-Banner__container>.proton-Banner__content{grid-column:1}.proton-Banner__container>div:last-child{grid-area:1/2/span 2}.proton-Banner__actions{margin:0 0 0 12px}}.proton-ButtonGroup{border:1px solid var(--proton-color__gray-light);border-radius:4px;font-weight:400;display:flex;overflow:hidden}.proton-ButtonGroup__option{background-color:var(--proton-color__gray-super-light);cursor:pointer;border-left:1px solid var(--proton-color__gray-light);color:var(--proton-color__gray-dark);text-align:center;border-radius:0;flex:1;padding:.5em 1em}.proton-ButtonGroup__option:first-child{border-left:0}.proton-ButtonGroup__option--selected{background-color:var(--proton-color__white);color:var(--proton-color__primary);z-index:2;cursor:default;border-radius:inherit;box-shadow:0 0 6px #00000026}.proton-ButtonGroup__option--selected+.proton-ButtonGroup__option{border-left:1px solid #0000}.proton-Dialog{background-color:var(--proton-control__background-color);box-shadow:0 0 2px 0 var(--proton-control__shadow-color),0 0 12px 0 var(--proton-control__shadow-color);color:var(--proton-control__text-color);border-radius:4px;outline:none;padding:.65rem .85rem;font-weight:300}.proton-ui__theme--dark .proton-Dialog,.proton-ui__theme--custom-dark .proton-Dialog{background-color:var(--proton-color__gray-light)}.proton-Dialog__header{margin-top:0;margin-bottom:5px}.proton-Input{width:100%;max-width:var(--container-width,100%);box-sizing:border-box;outline:1px solid var(--proton-control__border-color);background:var(--proton-control__background-color);min-height:40px;color:var(--proton-control__text-color);border:1px solid #0000;border-radius:4px;flex:1;padding-left:12px;font-weight:500;transition:outline .2s ease-in-out,background-color .2s ease-in-out,color .2s ease-in-out,border .2s ease-in-out,opacity .2s ease-in-out}.proton-ui__theme--custom-dark .proton-Input,.proton-ui__theme--dark .proton-Input{background-color:var(--proton-control__background-color-light);outline:none}.proton-Input:disabled{opacity:.6;cursor:not-allowed}.proton-Input:not(.proton-Input--error):focus{outline:2px solid var(--proton-color__primary)}.proton-Input:not(.proton-Input--error):focus-visible{outline:2px solid var(--proton-color__primary)}.proton-Input.proton-Input--error{outline:2px solid var(--proton-color__danger-medium)}.proton-Input__container{flex-direction:column;flex:1;display:flex}.proton-Input__container-inner{flex:1;align-items:center;width:100%;display:flex;position:relative}.proton-Input__descriptor{z-index:1;background-position:50%;background-repeat:no-repeat;background-size:50%;justify-content:center;align-items:center;height:100%;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.proton-Input__prefix,.proton-Input__suffix{justify-content:center;align-items:center;min-width:32px;display:flex}.proton-Input__prefix{opacity:.5;cursor:text;left:0}.proton-Input__suffix{outline:none;padding-right:12px;right:0}.proton-Input__container-inner:has(.proton-Input__prefix) .proton-Input{padding-left:var(--prefix-width,32px)}.proton-Input__container-inner:has(.proton-Input__suffix) .proton-Input{padding-right:calc(12px + var(--suffix-width,44px))}.proton-Input__text{opacity:.55;color:var(--proton-control__text-color);padding:4px 0;font-size:.75rem;font-weight:500}.proton-ui__theme--custom-dark .proton-Input__text{color:var(--proton-control__text-color)}.proton-Input__error{color:var(--proton-color__danger-medium);opacity:1}.proton-Input__label-top{padding-top:24px;padding-bottom:8px}.proton-Input__label{color:var(--proton-color__gray-medium-light);pointer-events:none;transform-origin:left center 0px;transition:color .2s,font-size .5s,top .5s;position:absolute;top:15px;left:14px}.proton-Input:focus+.proton-Input__label,.proton-Input__label--filled{font-size:.75rem;top:7px}.proton-Input:focus+.proton-Input__label{color:var(--proton-color__primary)}.proton-ui__theme--custom-dark .proton-Input:focus+.proton-Input__label{color:var(--proton-color__primary-light)}.proton-SearchInput__wrapper{width:100%}.proton-SearchInput__wrapper input{border-radius:50px;padding-left:44px!important}.proton-SearchInput__button{color:currentColor;cursor:pointer;opacity:1;background-color:#0000;border:none;transition:opacity .2s ease-in-out}.proton-SearchInput__button--hide{opacity:0}.proton-SearchInput__wrapper input[type=search]::-ms-clear{width:0;height:0;display:none}.proton-SearchInput__wrapper input[type=search]::-ms-reveal{width:0;height:0;display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-decoration{display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-cancel-button{display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-results-button{display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-results-decoration{display:none}.proton-CopyInput-button{all:unset;color:var(--proton-control__text-color);text-transform:uppercase;letter-spacing:.2em;cursor:pointer;justify-content:center;align-items:center;height:100%;margin:0;font-size:12px;font-weight:700;line-height:1rem;display:flex}.proton-ui__theme--light .proton-CopyInput-button{color:var(--proton-color__gray-medium)}.proton-CopyInput-button svg{margin-bottom:1px;transition:color .2s}.proton-CopyInput-button-text{margin-left:.5rem;transition:color .2s}.proton-CopyInput-button:hover .proton-CopyInput-button-text,.proton-CopyInput-button:hover svg,.proton-CopyInput-button-text--copied,.proton-CopyInput-button--copied svg{color:var(--proton-color__primary)}.proton-Elevation{background-color:var(--proton-control__background-color-light);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);--tw-backdrop-blur:blur(15px);border-radius:4px;width:100%;height:100%;transition:background-color .2s ease-in-out,-webkit-backdrop-filter .2s ease-in-out,backdrop-filter .2s ease-in-out}.proton-Popover{transform-origin:top}.arrow{fill:var(--proton-control__background-color);stroke-width:1px;width:12px;height:12px;position:absolute}.proton-ui__theme--dark .arrow,.proton-ui__theme--custom-dark .arrow{fill:var(--proton-color__gray-light)}.arrow[data-placement=top]{top:100%;transform:translate(-50%)}.arrow[data-placement=bottom]{bottom:100%;transform:translate(-50%)rotate(180deg)}.arrow[data-placement=left]{left:100%;transform:translateY(-50%)rotate(-90deg)}.arrow[data-placement=right]{right:100%;transform:translateY(-50%)rotate(90deg)}.proton-Popover[data-placement=top]{--origin:translateY(10px)scaleY(.9)}.proton-Popover[data-placement=bottom]{--origin:translateY(-10px)scaleY(.9)}.proton-Popover[data-placement=left]{--origin:translateX(18px)scaleX(.96)}.proton-Popover[data-placement=right]{--origin:translateX(-18px)scaleX(.96)}.proton-Popover[data-entering]{animation:.2s ease-out forwards popoverSlide}@keyframes popoverSlide{0%{opacity:0;transform:var(--origin)}to{opacity:1;transform:translateY(0)scaleY(1)scaleX(1)}}.proton-ResponsiveMenuTrigger{display:inline-block;position:relative}.proton-ResponsiveMenuTrigger__button{cursor:pointer;color:var(--proton-control__text-color);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background-color .2s ease-in-out;display:flex}.proton-ResponsiveMenuTrigger__button:disabled{cursor:not-allowed;opacity:.5}.proton-ui__theme--dark .proton-ResponsiveMenuTrigger__button:disabled:hover,.proton-ResponsiveMenuTrigger__button:disabled:hover{background:0 0}.proton-ResponsiveMenuTrigger__button:focus{outline:2px solid var(--proton-control__border-color)}.proton-ResponsiveMenuTrigger__button:hover{background-color:#60606026}.proton-ui__theme--dark .proton-ResponsiveMenuTrigger__button:hover{background-color:#ffffff1a}.proton-ListBox{letter-spacing:.05em;background:var(--proton-control__background-color);border:1px solid var(--proton-control__border-color);min-width:100px;color:var(--proton-control__text-color);box-shadow:0 0 3px var(--proton-control__shadow-color);border-radius:10px;margin:.5rem 0 0;padding:0;list-style:none;overflow:auto}.proton-ui__theme--custom-dark .proton-ListBox,.proton-ui__theme--dark .proton-ListBox{background:var(--proton-color__gray-light);border:none}.proton-ListBox:focus{outline:none}.proton-ListBox:focus-visible{outline:none}.proton-ListBox__item{cursor:pointer;outline:none;justify-content:space-between;padding:8px 16px;transition:background-color .2s,color .2s;display:flex}.proton-ListBox__item:hover{background:#0000000a}.proton-ui__theme--dark .proton-ListBox__item:hover,.proton-ui__theme--custom-dark .proton-ListBox__item:hover{color:var(--proton-control__text-color);background:#ffffff1a}.proton-ListBox__item--disabled{opacity:.5;cursor:not-allowed}.proton-ListBox__item--selected{background:var(--proton-color__primary-light);color:var(--proton-color__primary);font-weight:500}.proton-Select{flex-direction:column;width:100%;margin:0;display:flex}.proton-Select__label{color:var(--proton-control__text-color);margin-bottom:2px}.proton-Select__trigger{color:var(--proton-control__text-color);font-size:inherit;border-radius:50px;flex:1;justify-content:space-between;align-items:center;width:100%;padding:.2rem .6rem .2rem 1rem;display:flex}button.proton-Select__trigger{letter-spacing:.05em;cursor:pointer;background:var(--proton-control__background-color);outline:1px solid var(--proton-control__border-color);border:1px solid #0000;font-weight:400;transition:outline .2s;position:relative}.proton-ui__theme--custom-dark button.proton-Select__trigger,.proton-ui__theme--dark button.proton-Select__trigger{background:var(--proton-color__gray-light);outline:none}button.proton-Select__trigger:hover:after{content:"";-webkit-backdrop-filter:brightness(98%);backdrop-filter:brightness(98%);z-index:1;border-radius:50px;width:100%;height:100%;position:absolute;left:0}button.proton-Select__trigger:focus{outline:solid var(--proton-color__primary)1px;border:1px solid #0000}button.proton-Select__trigger:focus-visible{outline:solid var(--proton-color__primary)1px;border:1px solid #0000}.proton-ui__theme--custom-dark button.proton-Select__trigger:focus{outline:solid var(--proton-color__gray-medium-light)1px;border:1px solid #0000}.proton-ui__theme--custom-dark button.proton-Select__trigger:focus-visible{outline:solid var(--proton-color__gray-medium-light)1px;border:1px solid #0000}.proton-Select__popover{padding-left:.25rem}.proton-Select__trigger_icon{color:var(--proton-control__text-color);width:.75em;height:.75em;margin-left:.8em;transition:transform .2s;position:relative}.proton-Select__trigger_icon svg{width:100%;height:100%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.proton-Select__trigger_icon--flipped{transform:rotateX(180deg)}.proton-Select:hover{cursor:pointer}.proton-Select__trigger--disabled,.proton-Select__trigger--disabled:hover{opacity:.5;filter:none;cursor:not-allowed}.proton-Select__value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.proton-Switch{flex-flow:column;row-gap:5px;display:flex}.proton-Switch__label{text-transform:uppercase;letter-spacing:.1em;color:var(--proton-control__text-color);font-size:.7em;font-weight:600}.proton-Switch__description{color:var(--proton-control__text-color);align-self:center;font-size:.9em}.proton-Switch__wrapper{column-gap:12px;display:flex}.proton-Switch__toggle{background-color:var(--proton-color__gray-light);cursor:pointer;border-radius:26px;flex-shrink:0;width:50px;height:26px;position:relative}.proton-Switch__slider{background-color:#fff;border-radius:22px;width:22px;height:22px;transition:left .2s;position:absolute;top:2px;left:2px}.proton-Switch--on .proton-Switch__toggle{background-color:var(--proton-color__primary)}.proton-Switch--on .proton-Switch__slider{left:26px}.proton-Switch--disabled{opacity:.4}.proton-Switch--disabled .proton-Switch__toggle{cursor:not-allowed}.proton-Table{border-collapse:collapse;color:var(--proton-control__text-color);width:100%;font-weight:300}.proton-Table__header{cursor:default;letter-spacing:.1em;text-transform:uppercase;text-align:left;outline:none;padding:7px 10px;font-size:max(10px,min(.75rem,12px));font-weight:500;line-height:1rem}.proton-Table__header--center{text-align:center}.proton-Table__header--right{text-align:right}.proton-Table__headerSortIcon{padding:0 2px}.proton-Table__row{cursor:default;outline:none}.proton-Table__rowGroup--header{border-bottom:1px solid #ccc}.proton-Table__row--showLines{border-top:1px solid #ccc}.proton-Table--clickable{cursor:pointer}.proton-Table__cell{vertical-align:middle;outline:none;padding:7px 10px}.proton-Table__cell--center{text-align:center}.proton-Table__cell--right{text-align:right}.proton-TextEllipsis{vertical-align:middle;color:var(--proton-control__text-color,inherit);font-family:inherit;font-size:inherit;line-height:inherit;width:100%;display:inline-block;position:relative}.proton-TextEllipsis--single-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.proton-TextEllipsis--multi-line{text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.proton-TextEmphasis{color:var(--proton-color__gray-super-dark);background-image:linear-gradient(0deg,#0000 0,#0000 15%,#ff713480 15%,#ff713480 35%,#0000 35%,#0000);padding:0 .05rem;font-style:normal;font-weight:700}.proton-TextEmphasis a{color:inherit;text-decoration:none;transition:color .15s}.proton-TextEmphasis a:hover{color:var(--proton-color__primary);text-decoration:none}.proton-ui__theme--custom-dark .proton-TextEmphasis,.proton-ui__theme--dark .proton-TextEmphasis{color:var(--proton-control__text-color)}.proton-TextEmphasis--tooltip{background-image:linear-gradient(0deg,#0000 0,#0000 15%,#ff713480 25%,#ff713480 87%,#0000 80%,#0000);background-position:bottom;background-repeat:no-repeat;background-size:100% 35%;font-style:italic;font-weight:400;transition:background-size .3s,border-radius .3s}.proton-TextEmphasis--tooltip:hover{background-size:100% 100%;border-radius:2px}.proton-TextEmphasis--tooltip:not(:hover){transition-delay:.2s}.proton__Tooltip{background-color:var(--proton-control__background-color);color:var(--proton-control__text-color);position:absolute}.proton-ui__theme--dark.proton__Tooltip,.proton-ui__theme--custom-dark.proton__Tooltip{background-color:var(--proton-color__gray-light)}.proton__TooltipTrigger{all:unset}.proton__Tooltip[data-placement=top]{--origin:translateY(4px);margin-bottom:8px}.proton__Tooltip[data-placement=bottom]{--origin:translateY(-4px);margin-top:8px}.proton__Tooltip[data-placement=bottom] .proton__TooltipArrow svg{transform:rotate(180deg)}.proton__Tooltip[data-placement=right]{--origin:translateX(-4px);margin-left:8px}.proton__Tooltip[data-placement=right] .proton__TooltipArrow svg{transform:rotate(90deg)}.proton__Tooltip[data-placement=left]{--origin:translateX(4px);margin-right:8px}.proton__Tooltip[data-placement=left] .proton__TooltipArrow svg{transform:rotate(-90deg)}.proton__Tooltip .proton__TooltipArrow svg{fill:var(--proton-control__background-color);display:block}.proton__Tooltip .proton-ui__theme--custom-dark.proton__TooltipArrow svg{fill:var(--proton-color__gray-light)}.proton__Tooltip .proton-ui__theme--dark.proton__TooltipArrow svg{fill:var(--proton-color__gray-light)}.proton__Tooltip[data-entering]{animation:.2s slide}.proton__Tooltip[data-exiting]{animation:.2s reverse slide}@keyframes slide{0%{opacity:0;transform:var(--origin)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-300px 0}to{background-position:800px 0}}.tombstone{background-position:-300px 0;background-repeat:no-repeat;background-size:300px 100%;animation:1.5s linear infinite shimmer}.tombstone.light{background-color:#d1d1d1;background-image:linear-gradient(-90deg,#d1d1d1,#b8b8b8,#d1d1d1)}.tombstone.dark{background-color:#3c3c3c;background-image:linear-gradient(-90deg,#363636,#292727,#353535)}.tombstone.custom-dark{background-image:linear-gradient(-90deg,var(--tombstone-custom-primary)0%,var(--tombstone-custom-secondary)50%,var(--tombstone-custom-primary)100%);background-color:var(--tombstone-custom-background)}:root{--waveform-bar-color-dark:#ffffffe6;--waveform-bar-color-light:#000000b3;--waveform-disabled-color-dark:#fff3;--waveform-disabled-color-light:#0003;--waveform-animation-curve:cubic-bezier(.34,1.56,.64,1);--waveform-animation-duration:.4s;--waveform-bar-delay-multiplier:.7ms;--waveform-timestamp-padding:.25rem;--waveform-timestamp-font-size:.75rem;--waveform-timestamp-border-radius:.125rem;--waveform-hover-line-width:2px}.proton-Waveform{flex-direction:row;align-items:center;width:100%;height:100%;display:flex;position:relative}.proton-Waveform__container{z-index:0;flex:1;align-items:center;width:100%;height:100%;display:flex;position:relative}.proton-Waveform__container[data-disabled=true]{cursor:not-allowed}.proton-Waveform__timestamp{pointer-events:none;border-radius:var(--waveform-timestamp-border-radius);padding:0 var(--waveform-timestamp-padding);font-size:var(--waveform-timestamp-font-size);z-index:1;background-color:#0009;position:absolute}.proton-ui__theme--light .proton-Waveform__timestamp{color:#000c;background-color:#ffffffe6;box-shadow:0 2px 2px #0000004d}.proton-ui__theme--dark .proton-Waveform__timestamp{background-color:var(--proton-control__background-color)}.proton-ui__theme--custom-dark .proton-Waveform__timestamp{background-color:var(--proton-control__primary-dark)}.proton-Waveform__timestamp--left{left:1px}.proton-Waveform__timestamp--right{right:3px}.proton-Waveform__hover-line{width:var(--waveform-hover-line-width);background-color:#ffffff80;position:absolute;top:0;bottom:0;transform:translate(-50%)}.proton-ui__theme--light .proton-Waveform__hover-line{background-color:#00000080}.proton-Waveform__bar-wrapper{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;position:relative}.proton-Waveform__bar{background-color:var(--waveform-bar-color-dark);transform-origin:50%;width:100%;height:0;transition:height var(--waveform-animation-duration)var(--waveform-animation-curve);position:relative}.proton-Waveform__bar.proton-Waveform__bar--visible{height:var(--target-height);transition-delay:calc(var(--index)*var(--waveform-bar-delay-multiplier))}.proton-Waveform__bar.proton-Waveform__bar--upper{transform-origin:bottom}.proton-Waveform__bar.proton-Waveform__bar--lower{transform-origin:top}.proton-ui__theme--light .proton-Waveform__bar{background-color:var(--waveform-bar-color-light)}.proton-Waveform__bar.proton-Waveform__bar--disabled{background-color:var(--waveform-disabled-color-dark)}.proton-ui__theme--light .proton-Waveform__bar.proton-Waveform__bar--disabled{background-color:var(--waveform-disabled-color-light)}.proton-Waveform__bar.proton-Waveform__bar--disabled.proton-Waveform__bar--played{background-color:var(--waveform-disabled-color-dark)}.proton-ui__theme--light .proton-Waveform__bar.proton-Waveform__bar--disabled.proton-Waveform__bar--played{background-color:var(--waveform-disabled-color-light)}.proton-Waveform__bar.proton-Waveform__bar--played{background-color:var(--proton-color__primary)}.proton-Waveform__bar--hover{height:var(--hover-height);z-index:10;background-color:color-mix(in srgb,var(--proton-color__primary)50%,transparent);mix-blend-mode:darken;width:100%;position:absolute;top:50%;transform:translateY(-50%)}.proton-ui__theme--light .proton-Waveform__bar--hover{background-color:color-mix(in srgb,var(--proton-color__primary)50%,white);mix-blend-mode:lighten}.proton-Waveform__bar-unavailable{pointer-events:none;text-align:center;z-index:10;color:#fff;background-color:#000000b3;border-radius:4px;padding:3px 6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.proton-ui__theme--light .proton-Waveform__bar-unavailable{color:#000;background-color:#fff;box-shadow:0 5px 5px #0000004d}.proton-ui__theme--dark .proton-Waveform__bar-unavailable{background-color:var(--proton-control__background-color)}.proton-ui__theme--custom-dark .proton-Waveform__bar-unavailable{background-color:var(--proton-control__primary-dark)}.proton-Waveform__active-region{pointer-events:none;z-index:1;border:1.5px solid #ffffffb3;border-radius:4px;position:absolute;top:0;bottom:0}.proton-ui__theme--light .proton-Waveform__active-region{border-color:#0000004d}.proton-Modal{background-color:var(--proton-control__background-color-light);color:var(--proton-control__text-color);width:100%;max-width:86vw;max-height:90vh;box-shadow:0 1px 4px -1px var(--proton-control__shadow-color);opacity:1;border-radius:8px;padding:32px;transition:opacity .2s ease-in-out;position:relative;overflow:visible}.proton-Modal--closing{opacity:0}@media (max-width:768px){.proton-Modal{border-radius:0;flex-direction:column;justify-content:center;align-items:center;width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:4px 8px;display:flex}.proton-Modal>div{text-align:center;width:100%}}.proton-Modal__title{word-break:break-word;color:var(--proton-control__text-color);margin-bottom:2px;font-size:max(16px,min(3rem,28px));font-weight:700;line-height:1.2}.proton-Modal__subtitle{color:var(--proton-control__text-color);opacity:.92;margin:0;font-size:max(14px,min(1.4rem,22px));font-weight:600;line-height:1.5}.proton-Modal__body{word-break:break-word;margin:16px 0;line-height:1.5}.proton-Modal__actions{justify-content:center;gap:1rem;margin-top:16px;display:flex}.proton-Modal__close-button{cursor:pointer;color:var(--proton-control__text-color);background:0 0;border:none;border-radius:.25rem;padding:8px;font-size:2.2rem;font-weight:800;line-height:1;transition:opacity .15s;position:absolute;top:6px;right:12px}.proton-Modal__close-button:focus,.proton-Modal__close-button:hover{opacity:.8}.proton-ui__theme--custom-dark .proton-Modal{background-color:var(--proton-control__background-color-light)}.proton-ui__theme--light .proton-Modal__title{color:var(--proton-color__gray-super-dark)}
1
+ :root{--proton-color__primary:#e26014;--proton-color__primary-light:#fbe5d7;--proton-color__secondary:#f2f2f2;--proton-color__gray-super-dark:#141211;--proton-color__gray-dark:#4d4d4d;--proton-color__gray-medium:#7d7d7d;--proton-color__gray-medium-light:#b1b1b1;--proton-color__gray-light:#ddd;--proton-color__gray-lightest:#f0f1f2;--proton-color__gray-super-light:#f7f8f9;--proton-color__white:#fff;--proton-color__danger-super-dark:#991b1b;--proton-color__danger-dark:#a80724;--proton-color__danger-medium:#e23f5c;--proton-color__danger-light:#f16880;--proton-color__danger-super-light:#ffe1e1;--proton-color__warning-dark:#8b5600;--proton-color__warning-medium:#b37208;--proton-color__warning-light:#ffac23;--proton-color__warning-super-light:#fff0c9;--proton-color__success-dark:#247800;--proton-color__success-medium:#339a07;--proton-color__success-light:#66cf39;--proton-color__success-super-light:#deffd1;--proton-control__text-color:var(--proton-color__white);--proton-control__background-color:var(--proton-color__white);--proton-control__background-color-light:var(--proton-color__gray-super-light);--proton-control__border-color:var(--proton-color__gray-dark);--proton-control__shadow-color:var(--proton-color__gray-dark)}.proton-Button{color:var(--proton-color__white);letter-spacing:.05em;border:0;border-radius:4px;justify-content:center;align-items:center;column-gap:.4em;padding:.4em 1.05em;font-weight:500;text-decoration:none;transition:filter .1s,background-color .1s;display:flex}.proton-Button:hover{filter:brightness(1.08);cursor:pointer;text-decoration:none}.proton-Button--primary,.proton-Button--primary:hover{background-color:var(--proton-color__primary)}.proton-Button--secondary,.proton-Button--secondary:hover{background-color:var(--proton-color__gray-light);color:var(--proton-control__text-color)}.proton-Button--danger{background-color:var(--proton-color__danger-medium)}.proton-Button--success{background-color:var(--proton-color__success-medium)}.proton-Button--translucent{background-color:var(--proton-control__background-color-light)}.proton-Button--translucent:hover{background-color:var(--proton-color__gray-lightest)}.proton-Button--disabled,.proton-Button--disabled:hover{opacity:.5;filter:none;cursor:not-allowed}.proton-Button:focus{outline:solid var(--proton-color__primary)1px;border:none}.proton-Button:focus-visible{outline:solid var(--proton-color__primary)1px;border:none}.proton-Button--fullWidth{width:100%}.proton-Button--small{padding:.2rem .6rem;font-size:.875rem}.proton-Button--medium{padding:.4rem 1rem;font-size:1rem}.proton-Button--large{padding:.6rem 1.6rem;font-size:1.2rem}.proton-Button--xlarge{padding:.8rem 2.2rem;font-size:1.3rem}.proton-Button--2xlarge{padding:1rem 2.6rem;font-size:1.6rem}.proton-ScreenOverlay__background{-webkit-backdrop-filter:blur(24px)brightness(75%);backdrop-filter:blur(24px)brightness(75%);background-color:#000c;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.proton-ScreenOverlay__z-index{z-index:10000}.proton-ScreenOverlay__image{object-fit:cover;width:100vw;height:100vh;position:absolute}.proton-ScreenOverlay__blur{-webkit-backdrop-filter:blur(24px)brightness(75%);backdrop-filter:blur(24px)brightness(75%);filter:brightness(50%);position:absolute;top:0;bottom:0;left:0;right:0}@keyframes fadeInBackground{0%{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0000001a}to{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000c}}@keyframes fadeOutBackground{0%{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000c}to{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0}}.proton-ScreenOverlay__fade-in{animation:.2s ease-in-out forwards fadeInBackground}.proton-ScreenOverlay__fade-out{animation:.2s ease-in-out forwards fadeOutBackground}.proton-ActionMenu__wrapper{z-index:10;max-height:100vh;overflow:none;flex:1;width:100%;position:fixed;bottom:0;left:0}.proton-ActionMenu__background-wrapper{opacity:0;transition:opacity .3s cubic-bezier(.34,1.56,.64,1);overflow-y:scroll}.proton-ActionMenu__card{background:var(--proton-control__background-color);color:var(--proton-control__text-color);z-index:1;border-radius:14px 14px 0 0;flex-direction:column;height:0;transition:height .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden;box-shadow:0 0 4px #0000001a,0 0 20px #00000026}.proton-ActionMenu__card>div{flex-direction:column;flex:1;display:flex}.proton-ActionMenu__cancel-button{margin:0 12px 16px}.proton-ActionMenu__cancel-button button{justify-content:center;width:100%}.proton-ActionMenu__content{padding:12px 12px 0}.proton-ActionMenu__list{flex-direction:column;margin:10px 0;display:flex}.proton-ActionMenu__list--disabled{opacity:.5;cursor:not-allowed}.proton-ActionMenu__item{color:inherit;cursor:pointer;padding:12px 8px 12px 12px;text-decoration:none;transition:background-color .2s}.proton-ActionMenu__item:hover,.proton-ActionMenu__item:focus{background-color:var(--proton-color__gray-super-light);border:none;outline:none}.proton-ui__theme--dark .proton-ActionMenu__item:hover,.proton-ui__theme--dark .proton-ActionMenu__item:focus,.proton-ui__theme--custom-dark .proton-ActionMenu__item:focus,.proton-ui__theme--custom-dark .proton-ActionMenu__item:hover{background-color:var(--proton-color__gray-light)}.proton-ActionMenu__item[aria-checked=true]{background-color:var(--proton-color__primary-light);color:var(--proton-color__primary)}.proton-ui__theme--custom-dark .proton-ActionMenu__item[aria-checked=true],.proton-ui__theme--dark .proton-ActionMenu__item[aria-checked=true]{background-color:var(--proton-color__primary);color:var(--proton-control__text-color)}.proton-ActionMenu__item[aria-disabled=true]{opacity:.5;cursor:not-allowed}.proton-ActionMenu__item[aria-disabled=true]:hover{background-color:#0000}.proton-ActionMenu__content:has(.proton-ListBox){padding:0}html .proton-ActionMenu__content>.proton-ListBox{box-shadow:none;background:0 0;border:none;border-radius:0;margin-bottom:12px}.proton-Badge{letter-spacing:.2em;text-align:center;text-transform:uppercase;white-space:nowrap;height:1.6rem;color:var(--proton-control__text-color);border-radius:10rem;padding-bottom:calc(1rem - 1.1em);padding-left:1rem;padding-right:calc(1rem - .2em);font-size:max(11px,min(.6875rem + .1vw,16px));font-weight:500;line-height:1.8rem;display:inline-block}.proton-ui__theme--custom-dark.proton-Badge:not([class*=proton-Badge--]),.proton-ui__theme--dark.proton-Badge:not([class*=proton-Badge--]){background-color:var(--proton-control__background-color-light)}.proton-ui__theme--light.proton-Badge:not([class*=proton-Badge--]){background-color:var(--proton-color__secondary);color:#666}.proton-Badge--secondary{background-color:var(--proton-control__background-color-light)}.proton-ui__theme--light.proton-Badge--secondary{background-color:var(--proton-color__secondary);color:#666}.proton-ui__theme--custom-dark.proton-Badge--secondary{background-color:var(--proton-color__secondary);color:var(--proton-color__white)}.proton-Badge--primary{background-color:var(--proton-color__primary);color:var(--proton-color__white)}.proton-Badge--success{background-color:var(--proton-color__success-super-light);color:var(--proton-color__success-dark)}.proton-Badge--warning{background-color:var(--proton-color__warning-super-light);color:var(--proton-color__warning-dark)}.proton-Badge--danger{background-color:var(--proton-color__danger-super-light);color:var(--proton-color__danger-dark)}.proton-Badge--transparent{color:#666;background-color:#0000}:root{--banner-bg:var(--proton-control__background-color-light);--banner-title:var(--proton-color__gray-dark);--banner-content:var(--proton-color__gray-medium);--banner-icon:var(--proton-color__gray-medium-light);--banner-blur:none}.proton-ui__theme--custom-dark,.proton-ui__theme--dark{--banner-bg:var(--proton-control__background-color-light);--banner-blur:blur(15px);--banner-title:var(--proton-control__text-color);--banner-content:var(--proton-control__text-color);--banner-icon:var(--proton-control__text-color)}.proton-Banner--warning{--banner-bg:var(--proton-color__warning-super-light);--banner-title:var(--proton-color__warning-dark);--banner-content:var(--proton-color__warning-medium);--banner-icon:var(--proton-color__warning-light)}.proton-Banner--success{--banner-bg:var(--proton-color__success-super-light);--banner-title:var(--proton-color__success-dark);--banner-content:var(--proton-color__success-medium);--banner-icon:var(--proton-color__success-light)}.proton-Banner--danger{--banner-bg:var(--proton-color__danger-super-light);--banner-title:var(--proton-color__danger-dark);--banner-content:var(--proton-color__danger-medium);--banner-icon:var(--proton-color__danger-light)}.proton-Banner{background-color:var(--banner-bg);-webkit-backdrop-filter:var(--banner-blur);backdrop-filter:var(--banner-blur);--tw-backdrop-blur:var(--banner-blur);margin:0}.proton-Banner--rounded{border-radius:.375rem}.proton-Banner__wrapper{align-items:center;padding:2rem;display:flex}.proton-Banner__wrapper--compact{padding:16px}.proton-Banner__content-wrapper{min-width:0;color:var(--banner-content);flex:1}.proton-Banner__container{flex-direction:column;padding:0 10px;display:flex}.proton-Banner__title{letter-spacing:.01rem;color:var(--banner-title);margin:0;font-size:max(14px,min(1.8rem,20px));font-weight:600;line-height:18px}.proton-Banner__content{color:var(--banner-content);margin:6px 0 0}.proton-Banner__icon{fill:var(--banner-icon);align-self:flex-start}.proton-Banner__actions{gap:.5rem;margin:6px 0 0;display:flex}@media (min-width:768px){.proton-Banner__container{grid-template-columns:1fr auto;align-items:center;display:grid}.proton-Banner__container>.proton-Banner__title,.proton-Banner__container>.proton-Banner__content{grid-column:1}.proton-Banner__container>div:last-child{grid-area:1/2/span 2}.proton-Banner__actions{margin:0 0 0 12px}}.proton-ButtonGroup{border:1px solid var(--proton-color__gray-light);border-radius:4px;font-weight:400;display:flex;overflow:hidden}.proton-ButtonGroup__option{background-color:var(--proton-color__gray-super-light);cursor:pointer;border-left:1px solid var(--proton-color__gray-light);color:var(--proton-color__gray-dark);text-align:center;border-radius:0;flex:1;padding:.5em 1em}.proton-ButtonGroup__option:first-child{border-left:0}.proton-ButtonGroup__option--selected{background-color:var(--proton-color__white);color:var(--proton-color__primary);z-index:2;cursor:default;border-radius:inherit;box-shadow:0 0 6px #00000026}.proton-ButtonGroup__option--selected+.proton-ButtonGroup__option{border-left:1px solid #0000}.proton-Dialog{background-color:var(--proton-control__background-color);box-shadow:0 0 2px 0 var(--proton-control__shadow-color),0 0 12px 0 var(--proton-control__shadow-color);color:var(--proton-control__text-color);border-radius:4px;outline:none;padding:.65rem .85rem;font-weight:300}.proton-ui__theme--dark .proton-Dialog,.proton-ui__theme--custom-dark .proton-Dialog{background-color:var(--proton-color__gray-light)}.proton-Dialog__header{margin-top:0;margin-bottom:5px}.proton-Input{width:100%;max-width:var(--container-width,100%);box-sizing:border-box;outline:1px solid var(--proton-control__border-color);background:var(--proton-control__background-color);min-height:40px;color:var(--proton-control__text-color);border:1px solid #0000;border-radius:4px;flex:1;padding-left:12px;font-size:18px;font-weight:400;transition:outline .2s ease-in-out,background-color .2s ease-in-out,color .2s ease-in-out,border .2s ease-in-out,opacity .2s ease-in-out}.proton-ui__theme--custom-dark .proton-Input,.proton-ui__theme--dark .proton-Input{background-color:var(--proton-control__background-color-light);outline:none}.proton-Input:disabled{opacity:.6;cursor:not-allowed}.proton-Input:not(.proton-Input--error):focus{outline:2px solid var(--proton-color__primary)}.proton-Input:not(.proton-Input--error):focus-visible{outline:2px solid var(--proton-color__primary)}.proton-Input.proton-Input--error{outline:2px solid var(--proton-color__danger-medium)}.proton-Input__container{flex-direction:column;flex:1;display:flex}.proton-Input__container-inner{flex:1;align-items:center;width:100%;display:flex;position:relative}.proton-Input__descriptor{z-index:1;background-position:50%;background-repeat:no-repeat;background-size:50%;justify-content:center;align-items:center;height:100%;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.proton-Input__prefix,.proton-Input__suffix{justify-content:center;align-items:center;min-width:32px;display:flex}.proton-Input__prefix{opacity:.5;cursor:text;left:0}.proton-Input__suffix{outline:none;padding-right:12px;right:0}.proton-Input__container-inner:has(.proton-Input__prefix) .proton-Input{padding-left:var(--prefix-width,32px)}.proton-Input__container-inner:has(.proton-Input__suffix) .proton-Input{padding-right:calc(12px + var(--suffix-width,44px))}.proton-Input__text{opacity:.55;color:var(--proton-control__text-color);padding:4px 0;font-size:12px;font-weight:500}.proton-ui__theme--custom-dark .proton-Input__text{color:var(--proton-control__text-color)}.proton-Input__error{color:var(--proton-color__danger-medium);opacity:1}.proton-Input__label-top{padding-top:24px;padding-bottom:8px}.proton-Input__label{opacity:.55;color:var(--proton-control__text-color);pointer-events:none;transform-origin:left center 0px;transition:color .2s,font-size .5s,top .5s;position:absolute;top:18px;left:16px}.proton-Input__label--filled,.proton-Input[value]:not([value=""])+.proton-Input__label,.proton-Input:focus+.proton-Input__label{color:var(--proton-color__primary);opacity:1;font-size:12px;top:7px}.proton-Input:focus+.proton-Input__label{color:var(--proton-color__primary);opacity:1}.proton-ui__theme--custom-dark .proton-Input:focus+.proton-Input__label{color:var(--proton-color__primary-light)}.proton-SearchInput__wrapper{width:100%}.proton-SearchInput__wrapper input{border-radius:50px;padding-left:44px!important}.proton-SearchInput__button{color:currentColor;cursor:pointer;opacity:1;background-color:#0000;border:none;transition:opacity .2s ease-in-out}.proton-SearchInput__button--hide{opacity:0}.proton-SearchInput__wrapper input[type=search]::-ms-clear{width:0;height:0;display:none}.proton-SearchInput__wrapper input[type=search]::-ms-reveal{width:0;height:0;display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-decoration{display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-cancel-button{display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-results-button{display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-results-decoration{display:none}.proton-CopyInput-button{all:unset;color:var(--proton-control__text-color);text-transform:uppercase;letter-spacing:.2em;justify-content:center;align-items:center;padding-left:14px;padding-right:12px;font-size:12px;font-weight:600;line-height:1rem;display:flex}.proton-Input__suffix{padding-right:0}.proton-CopyInput-button-container{cursor:pointer;align-items:center;width:100%;height:100%;display:flex}.proton-CopyInput-button svg{margin-bottom:1px;transition:color .2s}.proton-CopyInput-button-text{margin-left:.5rem;transition:color .2s}.proton-CopyInput-button-text--copied,.proton-CopyInput-button--copied svg{color:var(--proton-color__primary)}.proton-Input:not(.proton-Input--error):focus{outline:1px solid var(--proton-control__border-color)}.proton-Input:not(.proton-Input--error):focus-visible{outline:1px solid var(--proton-control__border-color)}.proton-ui__theme--light .proton-CopyInput-button-container{border-left:1px solid var(--proton-control__border-color);align-items:center;height:100%;transition:background-color .2s;display:flex}.proton-ui__theme--light .proton-CopyInput-button-container:hover{background-color:var(--proton-control__background-color-light)}.proton-ui__theme--dark .proton-ui__theme--custom-dark .proton-CopyInput-button:hover .proton-CopyInput-button-text,.proton-ui__theme--dark .proton-ui__theme--custom-dark .proton-CopyInput-button:hover svg{color:var(--proton-color__primary)}.proton-Elevation{background-color:var(--proton-control__background-color-light);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);--tw-backdrop-blur:blur(15px);border-radius:4px;width:100%;height:100%;transition:background-color .2s ease-in-out,-webkit-backdrop-filter .2s ease-in-out,backdrop-filter .2s ease-in-out}.proton-Popover{transform-origin:top}.arrow{fill:var(--proton-control__background-color);stroke-width:1px;width:12px;height:12px;position:absolute}.proton-ui__theme--dark .arrow,.proton-ui__theme--custom-dark .arrow{fill:var(--proton-color__gray-light)}.arrow[data-placement=top]{top:100%;transform:translate(-50%)}.arrow[data-placement=bottom]{bottom:100%;transform:translate(-50%)rotate(180deg)}.arrow[data-placement=left]{left:100%;transform:translateY(-50%)rotate(-90deg)}.arrow[data-placement=right]{right:100%;transform:translateY(-50%)rotate(90deg)}.proton-Popover[data-placement=top]{--origin:translateY(10px)scaleY(.9)}.proton-Popover[data-placement=bottom]{--origin:translateY(-10px)scaleY(.9)}.proton-Popover[data-placement=left]{--origin:translateX(18px)scaleX(.96)}.proton-Popover[data-placement=right]{--origin:translateX(-18px)scaleX(.96)}.proton-Popover[data-entering]{animation:.2s ease-out forwards popoverSlide}@keyframes popoverSlide{0%{opacity:0;transform:var(--origin)}to{opacity:1;transform:translateY(0)scaleY(1)scaleX(1)}}.proton-ResponsiveMenuTrigger{display:inline-block;position:relative}.proton-ResponsiveMenuTrigger__button{cursor:pointer;color:var(--proton-control__text-color);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background-color .2s ease-in-out;display:flex}.proton-ResponsiveMenuTrigger__button:disabled{cursor:not-allowed;opacity:.5}.proton-ui__theme--dark .proton-ResponsiveMenuTrigger__button:disabled:hover,.proton-ResponsiveMenuTrigger__button:disabled:hover{background:0 0}.proton-ResponsiveMenuTrigger__button:focus{outline:2px solid var(--proton-control__border-color)}.proton-ResponsiveMenuTrigger__button:hover{background-color:#60606026}.proton-ui__theme--dark .proton-ResponsiveMenuTrigger__button:hover{background-color:#ffffff1a}.proton-ResponsiveMenuTrigger__menu-item a{color:var(--proton-control__text-color);text-decoration:none}.proton-ListBox{letter-spacing:.05em;background:var(--proton-control__background-color);border:1px solid var(--proton-control__border-color);min-width:100px;color:var(--proton-control__text-color);box-shadow:0 0 3px var(--proton-control__shadow-color);border-radius:10px;margin:.5rem 0 0;padding:0;list-style:none;overflow:auto}.proton-ui__theme--custom-dark .proton-ListBox,.proton-ui__theme--dark .proton-ListBox{background:var(--proton-color__gray-light);border:none}.proton-ListBox:focus{outline:none}.proton-ListBox:focus-visible{outline:none}.proton-ListBox__item{cursor:pointer;outline:none;justify-content:space-between;padding:8px 16px;transition:background-color .2s,color .2s;display:flex}.proton-ListBox__item:hover,.proton-ListBox__item:focus{background:#0000000a}.proton-ui__theme--dark .proton-ListBox__item:hover,.proton-ui__theme--custom-dark .proton-ListBox__item:hover{color:var(--proton-control__text-color);background:#ffffff1a}.proton-ListBox__item--disabled{opacity:.5;cursor:not-allowed}.proton-ListBox__item--selected{background:var(--proton-color__primary-light);color:var(--proton-color__primary);font-weight:500}.proton-Select{flex-direction:column;width:100%;margin:0;display:flex}.proton-Select__label{color:var(--proton-control__text-color);margin-bottom:2px}.proton-Select__trigger{color:var(--proton-control__text-color);font-size:inherit;border-radius:50px;flex:1;justify-content:space-between;align-items:center;width:100%;padding:.2rem .6rem .2rem 1rem;display:flex}button.proton-Select__trigger{letter-spacing:.05em;cursor:pointer;background:var(--proton-control__background-color);outline:1px solid var(--proton-control__border-color);border:1px solid #0000;font-weight:400;transition:outline .2s;position:relative}.proton-ui__theme--custom-dark button.proton-Select__trigger,.proton-ui__theme--dark button.proton-Select__trigger{background:var(--proton-color__gray-light);outline:none}button.proton-Select__trigger:hover:after{content:"";-webkit-backdrop-filter:brightness(98%);backdrop-filter:brightness(98%);z-index:1;border-radius:50px;width:100%;height:100%;position:absolute;left:0}button.proton-Select__trigger:focus{outline:solid var(--proton-color__primary)1px;border:1px solid #0000}button.proton-Select__trigger:focus-visible{outline:solid var(--proton-color__primary)1px;border:1px solid #0000}.proton-ui__theme--custom-dark button.proton-Select__trigger:focus{outline:solid var(--proton-color__gray-medium-light)1px;border:1px solid #0000}.proton-ui__theme--custom-dark button.proton-Select__trigger:focus-visible{outline:solid var(--proton-color__gray-medium-light)1px;border:1px solid #0000}.proton-Select__popover{padding-left:.25rem}.proton-Select__trigger_icon{color:var(--proton-control__text-color);width:.75em;height:.75em;margin-left:.8em;transition:transform .2s;position:relative}.proton-Select__trigger_icon svg{width:100%;height:100%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.proton-Select__trigger_icon--flipped{transform:rotateX(180deg)}.proton-Select:hover{cursor:pointer}.proton-Select__trigger--disabled,.proton-Select__trigger--disabled:hover{opacity:.5;filter:none;cursor:not-allowed}.proton-Select__value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.proton-Switch{flex-flow:column;row-gap:5px;display:flex}.proton-Switch__label{text-transform:uppercase;letter-spacing:.1em;color:var(--proton-control__text-color);font-size:.7em;font-weight:600}.proton-Switch__description{color:var(--proton-control__text-color);align-self:center;font-size:.9em}.proton-Switch__wrapper{column-gap:12px;display:flex}.proton-Switch__toggle{background-color:var(--proton-color__gray-light);cursor:pointer;border-radius:26px;flex-shrink:0;width:50px;height:26px;position:relative}.proton-Switch__slider{background-color:#fff;border-radius:22px;width:22px;height:22px;transition:left .2s;position:absolute;top:2px;left:2px}.proton-Switch--on .proton-Switch__toggle{background-color:var(--proton-color__primary)}.proton-Switch--on .proton-Switch__slider{left:26px}.proton-Switch--disabled{opacity:.4}.proton-Switch--disabled .proton-Switch__toggle{cursor:not-allowed}.proton-Table{border-collapse:collapse;color:var(--proton-control__text-color);width:100%;font-weight:300}.proton-Table__header{cursor:default;letter-spacing:.1em;text-transform:uppercase;text-align:left;outline:none;padding:7px 10px;font-size:max(10px,min(.75rem,12px));font-weight:500;line-height:1rem}.proton-Table__header--center{text-align:center}.proton-Table__header--right{text-align:right}.proton-Table__headerSortIcon{padding:0 2px}.proton-Table__row{cursor:default;outline:none}.proton-Table__rowGroup--header{border-bottom:1px solid #ccc}.proton-Table__row--showLines{border-top:1px solid #ccc}.proton-Table--clickable{cursor:pointer}.proton-Table__cell{vertical-align:middle;outline:none;padding:7px 10px}.proton-Table__cell--center{text-align:center}.proton-Table__cell--right{text-align:right}.proton-TextEllipsis{vertical-align:middle;color:var(--proton-control__text-color,inherit);font-family:inherit;font-size:inherit;line-height:inherit;width:100%;display:inline-block;position:relative}.proton-TextEllipsis--single-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.proton-TextEllipsis--multi-line{text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.proton-TextEmphasis{color:var(--proton-color__gray-super-dark);background-image:linear-gradient(0deg,#0000 0,#0000 15%,#ff713480 15%,#ff713480 35%,#0000 35%,#0000);padding:0 .05rem;font-style:normal;font-weight:700}.proton-TextEmphasis a{color:inherit;text-decoration:none;transition:color .15s}.proton-TextEmphasis a:hover{color:var(--proton-color__primary);text-decoration:none}.proton-ui__theme--custom-dark .proton-TextEmphasis,.proton-ui__theme--dark .proton-TextEmphasis{color:var(--proton-control__text-color)}.proton-TextEmphasis--tooltip{background-image:linear-gradient(0deg,#0000 0,#0000 15%,#ff713480 25%,#ff713480 87%,#0000 80%,#0000);background-position:bottom;background-repeat:no-repeat;background-size:100% 35%;font-style:italic;font-weight:400;transition:background-size .3s,border-radius .3s}.proton-TextEmphasis--tooltip:hover{background-size:100% 100%;border-radius:2px}.proton-TextEmphasis--tooltip:not(:hover){transition-delay:.2s}.proton__Tooltip{background-color:var(--proton-control__background-color);color:var(--proton-control__text-color);position:absolute}.proton-ui__theme--dark.proton__Tooltip,.proton-ui__theme--custom-dark.proton__Tooltip{background-color:var(--proton-color__gray-light)}.proton__TooltipTrigger{all:unset}.proton__Tooltip[data-placement=top]{--origin:translateY(4px);margin-bottom:8px}.proton__Tooltip[data-placement=bottom]{--origin:translateY(-4px);margin-top:8px}.proton__Tooltip[data-placement=bottom] .proton__TooltipArrow svg{transform:rotate(180deg)}.proton__Tooltip[data-placement=right]{--origin:translateX(-4px);margin-left:8px}.proton__Tooltip[data-placement=right] .proton__TooltipArrow svg{transform:rotate(90deg)}.proton__Tooltip[data-placement=left]{--origin:translateX(4px);margin-right:8px}.proton__Tooltip[data-placement=left] .proton__TooltipArrow svg{transform:rotate(-90deg)}.proton__Tooltip .proton__TooltipArrow svg{fill:var(--proton-control__background-color);display:block}.proton__Tooltip .proton-ui__theme--custom-dark.proton__TooltipArrow svg{fill:var(--proton-color__gray-light)}.proton__Tooltip .proton-ui__theme--dark.proton__TooltipArrow svg{fill:var(--proton-color__gray-light)}.proton__Tooltip[data-entering]{animation:.2s slide}.proton__Tooltip[data-exiting]{animation:.2s reverse slide}@keyframes slide{0%{opacity:0;transform:var(--origin)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-300px 0}to{background-position:800px 0}}.tombstone{background-position:-300px 0;background-repeat:no-repeat;background-size:300px 100%;animation:1.5s linear infinite shimmer}.tombstone.light{background-color:#d1d1d1;background-image:linear-gradient(-90deg,#d1d1d1,#b8b8b8,#d1d1d1)}.tombstone.dark{background-color:#3c3c3c;background-image:linear-gradient(-90deg,#363636,#292727,#353535)}.tombstone.custom-dark{background-image:linear-gradient(-90deg,var(--tombstone-custom-primary)0%,var(--tombstone-custom-secondary)50%,var(--tombstone-custom-primary)100%);background-color:var(--tombstone-custom-background)}:root{--waveform-bar-color-dark:#ffffffe6;--waveform-bar-color-light:#000000b3;--waveform-disabled-color-dark:#fff3;--waveform-disabled-color-light:#0003;--waveform-animation-curve:cubic-bezier(.34,1.56,.64,1);--waveform-animation-duration:.4s;--waveform-bar-delay-multiplier:.7ms;--waveform-timestamp-padding:.25rem;--waveform-timestamp-font-size:.75rem;--waveform-timestamp-border-radius:.125rem;--waveform-hover-line-width:2px}.proton-Waveform{flex-direction:row;align-items:center;width:100%;height:100%;display:flex;position:relative}.proton-Waveform__container{z-index:0;flex:1;align-items:center;width:100%;height:100%;display:flex;position:relative}.proton-Waveform__container[data-disabled=true]{cursor:not-allowed}.proton-Waveform__timestamp{pointer-events:none;border-radius:var(--waveform-timestamp-border-radius);padding:0 var(--waveform-timestamp-padding);font-size:var(--waveform-timestamp-font-size);z-index:1;background-color:#0009;position:absolute}.proton-ui__theme--light .proton-Waveform__timestamp{color:#000c;background-color:#ffffffe6;box-shadow:0 2px 2px #0000004d}.proton-ui__theme--dark .proton-Waveform__timestamp{background-color:var(--proton-control__background-color)}.proton-ui__theme--custom-dark .proton-Waveform__timestamp{background-color:var(--proton-control__primary-dark)}.proton-Waveform__timestamp--left{left:1px}.proton-Waveform__timestamp--right{right:3px}.proton-Waveform__hover-line{width:var(--waveform-hover-line-width);background-color:#ffffff80;position:absolute;top:0;bottom:0;transform:translate(-50%)}.proton-ui__theme--light .proton-Waveform__hover-line{background-color:#00000080}.proton-Waveform__bar-wrapper{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;position:relative}.proton-Waveform__bar{background-color:var(--waveform-bar-color-dark);transform-origin:50%;width:100%;height:0;transition:height var(--waveform-animation-duration)var(--waveform-animation-curve);position:relative}.proton-Waveform__bar.proton-Waveform__bar--visible{height:var(--target-height);transition-delay:calc(var(--index)*var(--waveform-bar-delay-multiplier))}.proton-Waveform__bar.proton-Waveform__bar--upper{transform-origin:bottom}.proton-Waveform__bar.proton-Waveform__bar--lower{transform-origin:top}.proton-ui__theme--light .proton-Waveform__bar{background-color:var(--waveform-bar-color-light)}.proton-Waveform__bar.proton-Waveform__bar--disabled{background-color:var(--waveform-disabled-color-dark)}.proton-ui__theme--light .proton-Waveform__bar.proton-Waveform__bar--disabled{background-color:var(--waveform-disabled-color-light)}.proton-Waveform__bar.proton-Waveform__bar--disabled.proton-Waveform__bar--played{background-color:var(--waveform-disabled-color-dark)}.proton-ui__theme--light .proton-Waveform__bar.proton-Waveform__bar--disabled.proton-Waveform__bar--played{background-color:var(--waveform-disabled-color-light)}.proton-Waveform__bar.proton-Waveform__bar--played{background-color:var(--proton-color__primary)}.proton-Waveform__bar--hover{height:var(--hover-height);z-index:10;background-color:color-mix(in srgb,var(--proton-color__primary)50%,transparent);mix-blend-mode:darken;width:100%;position:absolute;top:50%;transform:translateY(-50%)}.proton-ui__theme--light .proton-Waveform__bar--hover{background-color:color-mix(in srgb,var(--proton-color__primary)50%,white);mix-blend-mode:lighten}.proton-Waveform__bar-unavailable{pointer-events:none;text-align:center;z-index:10;color:#fff;background-color:#000000b3;border-radius:4px;padding:3px 6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.proton-ui__theme--light .proton-Waveform__bar-unavailable{color:#000;background-color:#fff;box-shadow:0 5px 5px #0000004d}.proton-ui__theme--dark .proton-Waveform__bar-unavailable{background-color:var(--proton-control__background-color)}.proton-ui__theme--custom-dark .proton-Waveform__bar-unavailable{background-color:var(--proton-control__primary-dark)}.proton-Waveform__active-region{pointer-events:none;z-index:1;border:1.5px solid #ffffffb3;border-radius:4px;position:absolute;top:0;bottom:0}.proton-ui__theme--light .proton-Waveform__active-region{border-color:#0000004d}.proton-Modal{background-color:var(--proton-control__background-color);color:var(--proton-control__text-color);max-width:86vw;max-height:80vh;box-shadow:0 1px 4px -1px var(--proton-control__shadow-color);opacity:1;border-radius:8px;padding:32px;transition:opacity .2s ease-in-out;position:relative;overflow:visible}.proton-Modal__content{margin-top:8px}.proton-Modal--closing{opacity:0}@media (max-width:768px){.proton-Modal{border-radius:0;flex-direction:column;justify-content:center;align-items:center;width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:4px 8px;display:flex}.proton-Modal>div{text-align:center;width:100%}}.proton-Modal__title{word-break:break-word;color:var(--proton-control__text-color);margin-bottom:2px;font-size:max(16px,min(3rem,28px));font-weight:700;line-height:1.2}.proton-Modal__subtitle{color:var(--proton-control__text-color);opacity:.92;margin:0;font-size:max(16px,min(1.4rem,20px));font-weight:500;line-height:1.5}.proton-Modal__body{word-break:break-word;margin:16px 0;line-height:1.5}.proton-Modal__actions{justify-content:center;gap:1rem;margin-top:16px;display:flex}.proton-Modal__close-button{cursor:pointer;color:var(--proton-control__text-color);background:0 0;border:none;border-radius:.25rem;padding:8px;font-size:2.2rem;font-weight:800;line-height:1;transition:opacity .15s;position:absolute;top:6px;right:12px}.proton-Modal__close-button:focus,.proton-Modal__close-button:hover{opacity:.8}.proton-ui__theme--dark .proton-Modal,.proton-ui__theme--custom-dark .proton-Modal{background-color:var(--proton-control__background-color-light)}.proton-ui__theme--light .proton-Modal__title{color:var(--proton-color__gray-super-dark)}
@@ -0,0 +1,2 @@
1
+ "use strict";const s=require("react");function a(t=!0){s.useLayoutEffect(()=>{if(!t)return;const e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}},[t])}function m({duration:t=200,onClose:e,overlayRef:n}){const[d,i]=s.useState(!1),[u,c]=s.useState(),r=s.useCallback(()=>{if(t<=0){console.warn("useIsClosing: Duration must be positive. Executing onClose immediately."),e==null||e();return}i(!0),n!=null&&n.current&&n.current.classList.add("proton-ScreenOverlay__fade-out");const o=setTimeout(()=>{e==null||e(),i(!1)},t);c(o)},[t,e,n]);return s.useEffect(()=>()=>{u&&clearTimeout(u)},[u]),{isClosing:d,handleClose:r}}function f(t,e="down"){const n=e==="down"?`(max-width: ${t}px)`:`(min-width: ${t}px)`,[d,i]=s.useState(()=>typeof window<"u"?window.matchMedia(n).matches:!1);return s.useEffect(()=>{if(typeof window>"u")return;const u=window.matchMedia(n),c=r=>{i(r.matches)};return u.addEventListener("change",c),()=>u.removeEventListener("change",c)},[n]),d}exports.useBreakpoint=f;exports.useIsClosing=m;exports.useLockBodyScroll=a;
2
+ //# sourceMappingURL=useBreakpoint-Du8PkzTj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBreakpoint-Du8PkzTj.js","sources":["../src/hooks/useLockBodyScroll.tsx","../src/hooks/useIsClosing.tsx","../src/hooks/useBreakpoint.tsx"],"sourcesContent":["import { useLayoutEffect } from \"react\";\r\n\r\n/**\r\n * A React hook that prevents body scrolling while a component is mounted.\r\n * Useful for modals, overlays, and other components that should prevent background scrolling.\r\n */\r\nexport function useLockBodyScroll(isActive: boolean = true) {\r\n useLayoutEffect(() => {\r\n if (!isActive) return;\r\n\r\n // Get original body overflow\r\n const originalStyle = window.getComputedStyle(document.body).overflow;\r\n // Prevent scrolling on mount\r\n document.body.style.overflow = \"hidden\";\r\n // Re-enable scrolling when component unmounts\r\n return () => {\r\n document.body.style.overflow = originalStyle;\r\n };\r\n }, [isActive]); // Empty array ensures effect is only run on mount and unmount\r\n}\r\n","import { useState, useCallback, RefObject, useEffect } from \"react\";\r\n\r\ninterface UseIsClosingOptions {\r\n /**\r\n * Duration of the closing animation in milliseconds\r\n * @default 200\r\n */\r\n duration?: number;\r\n /**\r\n * Callback to run after the closing animation completes\r\n */\r\n onClose?: () => void;\r\n /**\r\n * When passed, the fade-out class will be added to @ScreenOverlay on close\r\n */\r\n overlayRef?: RefObject<HTMLElement>;\r\n}\r\n\r\n/**\r\n * Hook to manage the closing animation state of a component\r\n * @interface UseIsClosingOptions\r\n * @returns Object containing isClosing state and handleClose function\r\n */\r\nexport function useIsClosing({\r\n duration = 200,\r\n onClose,\r\n overlayRef,\r\n}: UseIsClosingOptions) {\r\n const [isClosing, setIsClosing] = useState(false);\r\n const [timeoutId, setTimeoutId] = useState<number>();\r\n\r\n const handleClose = useCallback(() => {\r\n if (duration <= 0) {\r\n console.warn(\r\n \"useIsClosing: Duration must be positive. Executing onClose immediately.\"\r\n );\r\n onClose?.();\r\n return;\r\n }\r\n\r\n setIsClosing(true);\r\n\r\n // Add fade-out class to overlay if ref is provided\r\n if (overlayRef?.current) {\r\n overlayRef.current.classList.add(\"proton-ScreenOverlay__fade-out\");\r\n }\r\n\r\n const id = setTimeout(() => {\r\n onClose?.();\r\n setIsClosing(false);\r\n }, duration);\r\n\r\n setTimeoutId(id);\r\n }, [duration, onClose, overlayRef]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (timeoutId) {\r\n clearTimeout(timeoutId);\r\n }\r\n };\r\n }, [timeoutId]);\r\n\r\n return {\r\n isClosing,\r\n handleClose,\r\n };\r\n}\r\n","import { useState } from \"react\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { Breakpoint } from \"../constants\";\r\n\r\ntype BreakpointDirection = \"up\" | \"down\";\r\n\r\nexport function useBreakpoint(\r\n breakpoint: Breakpoint,\r\n direction: BreakpointDirection = \"down\"\r\n) {\r\n const query =\r\n direction === \"down\"\r\n ? `(max-width: ${breakpoint}px)`\r\n : `(min-width: ${breakpoint}px)`;\r\n\r\n const [matches, setMatches] = useState(() =>\r\n typeof window !== \"undefined\" ? window.matchMedia(query).matches : false\r\n );\r\n\r\n useEffect(() => {\r\n if (typeof window === \"undefined\") return;\r\n\r\n const mediaQuery = window.matchMedia(query);\r\n const handler = (event: MediaQueryListEvent) => {\r\n setMatches(event.matches);\r\n };\r\n\r\n mediaQuery.addEventListener(\"change\", handler);\r\n return () => mediaQuery.removeEventListener(\"change\", handler);\r\n }, [query]);\r\n\r\n return matches;\r\n}\r\n"],"names":["useLockBodyScroll","isActive","useLayoutEffect","originalStyle","useIsClosing","duration","onClose","overlayRef","isClosing","setIsClosing","useState","timeoutId","setTimeoutId","handleClose","useCallback","id","useEffect","useBreakpoint","breakpoint","direction","query","matches","setMatches","mediaQuery","handler","event"],"mappings":"sCAMgB,SAAAA,EAAkBC,EAAoB,GAAM,CAC1DC,EAAAA,gBAAgB,IAAM,CACpB,GAAI,CAACD,EAAU,OAGf,MAAME,EAAgB,OAAO,iBAAiB,SAAS,IAAI,EAAE,SAEpD,gBAAA,KAAK,MAAM,SAAW,SAExB,IAAM,CACF,SAAA,KAAK,MAAM,SAAWA,CAAA,CACjC,EACC,CAACF,CAAQ,CAAC,CACf,CCIO,SAASG,EAAa,CAC3B,SAAAC,EAAW,IACX,QAAAC,EACA,WAAAC,CACF,EAAwB,CACtB,KAAM,CAACC,EAAWC,CAAY,EAAIC,WAAS,EAAK,EAC1C,CAACC,EAAWC,CAAY,EAAIF,EAAiB,SAAA,EAE7CG,EAAcC,EAAAA,YAAY,IAAM,CACpC,GAAIT,GAAY,EAAG,CACT,QAAA,KACN,yEAAA,EAEQC,GAAA,MAAAA,IACV,MACF,CAEAG,EAAa,EAAI,EAGbF,GAAA,MAAAA,EAAY,SACHA,EAAA,QAAQ,UAAU,IAAI,gCAAgC,EAG7D,MAAAQ,EAAK,WAAW,IAAM,CAChBT,GAAA,MAAAA,IACVG,EAAa,EAAK,GACjBJ,CAAQ,EAEXO,EAAaG,CAAE,CACd,EAAA,CAACV,EAAUC,EAASC,CAAU,CAAC,EAElCS,OAAAA,EAAAA,UAAU,IACD,IAAM,CACPL,GACF,aAAaA,CAAS,CACxB,EAED,CAACA,CAAS,CAAC,EAEP,CACL,UAAAH,EACA,YAAAK,CAAA,CAEJ,CC5DgB,SAAAI,EACdC,EACAC,EAAiC,OACjC,CACA,MAAMC,EACJD,IAAc,OACV,eAAeD,CAAU,MACzB,eAAeA,CAAU,MAEzB,CAACG,EAASC,CAAU,EAAIZ,EAAA,SAAS,IACrC,OAAO,OAAW,IAAc,OAAO,WAAWU,CAAK,EAAE,QAAU,EAAA,EAGrEJ,OAAAA,EAAAA,UAAU,IAAM,CACV,GAAA,OAAO,OAAW,IAAa,OAE7B,MAAAO,EAAa,OAAO,WAAWH,CAAK,EACpCI,EAAWC,GAA+B,CAC9CH,EAAWG,EAAM,OAAO,CAAA,EAGf,OAAAF,EAAA,iBAAiB,SAAUC,CAAO,EACtC,IAAMD,EAAW,oBAAoB,SAAUC,CAAO,CAAA,EAC5D,CAACJ,CAAK,CAAC,EAEHC,CACT"}
@@ -0,0 +1,53 @@
1
+ import { useLayoutEffect as m, useState as r, useCallback as f, useEffect as o } from "react";
2
+ function h(e = !0) {
3
+ m(() => {
4
+ if (!e) return;
5
+ const t = window.getComputedStyle(document.body).overflow;
6
+ return document.body.style.overflow = "hidden", () => {
7
+ document.body.style.overflow = t;
8
+ };
9
+ }, [e]);
10
+ }
11
+ function l({
12
+ duration: e = 200,
13
+ onClose: t,
14
+ overlayRef: n
15
+ }) {
16
+ const [d, s] = r(!1), [i, u] = r(), c = f(() => {
17
+ if (e <= 0) {
18
+ console.warn(
19
+ "useIsClosing: Duration must be positive. Executing onClose immediately."
20
+ ), t == null || t();
21
+ return;
22
+ }
23
+ s(!0), n != null && n.current && n.current.classList.add("proton-ScreenOverlay__fade-out");
24
+ const a = setTimeout(() => {
25
+ t == null || t(), s(!1);
26
+ }, e);
27
+ u(a);
28
+ }, [e, t, n]);
29
+ return o(() => () => {
30
+ i && clearTimeout(i);
31
+ }, [i]), {
32
+ isClosing: d,
33
+ handleClose: c
34
+ };
35
+ }
36
+ function g(e, t = "down") {
37
+ const n = t === "down" ? `(max-width: ${e}px)` : `(min-width: ${e}px)`, [d, s] = r(
38
+ () => typeof window < "u" ? window.matchMedia(n).matches : !1
39
+ );
40
+ return o(() => {
41
+ if (typeof window > "u") return;
42
+ const i = window.matchMedia(n), u = (c) => {
43
+ s(c.matches);
44
+ };
45
+ return i.addEventListener("change", u), () => i.removeEventListener("change", u);
46
+ }, [n]), d;
47
+ }
48
+ export {
49
+ l as a,
50
+ g as b,
51
+ h as u
52
+ };
53
+ //# sourceMappingURL=useBreakpoint-y9OWm50p.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBreakpoint-y9OWm50p.mjs","sources":["../src/hooks/useLockBodyScroll.tsx","../src/hooks/useIsClosing.tsx","../src/hooks/useBreakpoint.tsx"],"sourcesContent":["import { useLayoutEffect } from \"react\";\r\n\r\n/**\r\n * A React hook that prevents body scrolling while a component is mounted.\r\n * Useful for modals, overlays, and other components that should prevent background scrolling.\r\n */\r\nexport function useLockBodyScroll(isActive: boolean = true) {\r\n useLayoutEffect(() => {\r\n if (!isActive) return;\r\n\r\n // Get original body overflow\r\n const originalStyle = window.getComputedStyle(document.body).overflow;\r\n // Prevent scrolling on mount\r\n document.body.style.overflow = \"hidden\";\r\n // Re-enable scrolling when component unmounts\r\n return () => {\r\n document.body.style.overflow = originalStyle;\r\n };\r\n }, [isActive]); // Empty array ensures effect is only run on mount and unmount\r\n}\r\n","import { useState, useCallback, RefObject, useEffect } from \"react\";\r\n\r\ninterface UseIsClosingOptions {\r\n /**\r\n * Duration of the closing animation in milliseconds\r\n * @default 200\r\n */\r\n duration?: number;\r\n /**\r\n * Callback to run after the closing animation completes\r\n */\r\n onClose?: () => void;\r\n /**\r\n * When passed, the fade-out class will be added to @ScreenOverlay on close\r\n */\r\n overlayRef?: RefObject<HTMLElement>;\r\n}\r\n\r\n/**\r\n * Hook to manage the closing animation state of a component\r\n * @interface UseIsClosingOptions\r\n * @returns Object containing isClosing state and handleClose function\r\n */\r\nexport function useIsClosing({\r\n duration = 200,\r\n onClose,\r\n overlayRef,\r\n}: UseIsClosingOptions) {\r\n const [isClosing, setIsClosing] = useState(false);\r\n const [timeoutId, setTimeoutId] = useState<number>();\r\n\r\n const handleClose = useCallback(() => {\r\n if (duration <= 0) {\r\n console.warn(\r\n \"useIsClosing: Duration must be positive. Executing onClose immediately.\"\r\n );\r\n onClose?.();\r\n return;\r\n }\r\n\r\n setIsClosing(true);\r\n\r\n // Add fade-out class to overlay if ref is provided\r\n if (overlayRef?.current) {\r\n overlayRef.current.classList.add(\"proton-ScreenOverlay__fade-out\");\r\n }\r\n\r\n const id = setTimeout(() => {\r\n onClose?.();\r\n setIsClosing(false);\r\n }, duration);\r\n\r\n setTimeoutId(id);\r\n }, [duration, onClose, overlayRef]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (timeoutId) {\r\n clearTimeout(timeoutId);\r\n }\r\n };\r\n }, [timeoutId]);\r\n\r\n return {\r\n isClosing,\r\n handleClose,\r\n };\r\n}\r\n","import { useState } from \"react\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { Breakpoint } from \"../constants\";\r\n\r\ntype BreakpointDirection = \"up\" | \"down\";\r\n\r\nexport function useBreakpoint(\r\n breakpoint: Breakpoint,\r\n direction: BreakpointDirection = \"down\"\r\n) {\r\n const query =\r\n direction === \"down\"\r\n ? `(max-width: ${breakpoint}px)`\r\n : `(min-width: ${breakpoint}px)`;\r\n\r\n const [matches, setMatches] = useState(() =>\r\n typeof window !== \"undefined\" ? window.matchMedia(query).matches : false\r\n );\r\n\r\n useEffect(() => {\r\n if (typeof window === \"undefined\") return;\r\n\r\n const mediaQuery = window.matchMedia(query);\r\n const handler = (event: MediaQueryListEvent) => {\r\n setMatches(event.matches);\r\n };\r\n\r\n mediaQuery.addEventListener(\"change\", handler);\r\n return () => mediaQuery.removeEventListener(\"change\", handler);\r\n }, [query]);\r\n\r\n return matches;\r\n}\r\n"],"names":["useLockBodyScroll","isActive","useLayoutEffect","originalStyle","useIsClosing","duration","onClose","overlayRef","isClosing","setIsClosing","useState","timeoutId","setTimeoutId","handleClose","useCallback","id","useEffect","useBreakpoint","breakpoint","direction","query","matches","setMatches","mediaQuery","handler","event"],"mappings":";AAMgB,SAAAA,EAAkBC,IAAoB,IAAM;AAC1D,EAAAC,EAAgB,MAAM;AACpB,QAAI,CAACD,EAAU;AAGf,UAAME,IAAgB,OAAO,iBAAiB,SAAS,IAAI,EAAE;AAEpD,oBAAA,KAAK,MAAM,WAAW,UAExB,MAAM;AACF,eAAA,KAAK,MAAM,WAAWA;AAAA,IAAA;AAAA,EACjC,GACC,CAACF,CAAQ,CAAC;AACf;ACIO,SAASG,EAAa;AAAA,EAC3B,UAAAC,IAAW;AAAA,EACX,SAAAC;AAAA,EACA,YAAAC;AACF,GAAwB;AACtB,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAAWC,CAAY,IAAIF,EAAiB,GAE7CG,IAAcC,EAAY,MAAM;AACpC,QAAIT,KAAY,GAAG;AACT,cAAA;AAAA,QACN;AAAA,MAAA,GAEQC,KAAA,QAAAA;AACV;AAAA,IACF;AAEA,IAAAG,EAAa,EAAI,GAGbF,KAAA,QAAAA,EAAY,WACHA,EAAA,QAAQ,UAAU,IAAI,gCAAgC;AAG7D,UAAAQ,IAAK,WAAW,MAAM;AAChB,MAAAT,KAAA,QAAAA,KACVG,EAAa,EAAK;AAAA,OACjBJ,CAAQ;AAEX,IAAAO,EAAaG,CAAE;AAAA,EACd,GAAA,CAACV,GAAUC,GAASC,CAAU,CAAC;AAElC,SAAAS,EAAU,MACD,MAAM;AACX,IAAIL,KACF,aAAaA,CAAS;AAAA,EACxB,GAED,CAACA,CAAS,CAAC,GAEP;AAAA,IACL,WAAAH;AAAA,IACA,aAAAK;AAAA,EAAA;AAEJ;AC5DgB,SAAAI,EACdC,GACAC,IAAiC,QACjC;AACA,QAAMC,IACJD,MAAc,SACV,eAAeD,CAAU,QACzB,eAAeA,CAAU,OAEzB,CAACG,GAASC,CAAU,IAAIZ;AAAA,IAAS,MACrC,OAAO,SAAW,MAAc,OAAO,WAAWU,CAAK,EAAE,UAAU;AAAA,EAAA;AAGrE,SAAAJ,EAAU,MAAM;AACV,QAAA,OAAO,SAAW,IAAa;AAE7B,UAAAO,IAAa,OAAO,WAAWH,CAAK,GACpCI,IAAU,CAACC,MAA+B;AAC9C,MAAAH,EAAWG,EAAM,OAAO;AAAA,IAAA;AAGf,WAAAF,EAAA,iBAAiB,UAAUC,CAAO,GACtC,MAAMD,EAAW,oBAAoB,UAAUC,CAAO;AAAA,EAAA,GAC5D,CAACJ,CAAK,CAAC,GAEHC;AACT;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const C=require("./palettes-BZQ9UVED.js"),g=require("color2k");var L=function(n,r){return n<r?-1:n>r?1:0},K=function(n){return n.reduce(function(r,a){return r+a},0)},O=function(){function n(a){this.colors=a}var r=n.prototype;return r.palette=function(){return this.colors},r.map=function(a){return a},n}(),j=function(){function n(e,t,u){return(e<<10)+(t<<5)+u}function r(e){var t=[],u=!1;function c(){t.sort(e),u=!0}return{push:function(l){t.push(l),u=!1},peek:function(l){return u||c(),l===void 0&&(l=t.length-1),t[l]},pop:function(){return u||c(),t.pop()},size:function(){return t.length},map:function(l){return t.map(l)},debug:function(){return u||c(),t}}}function a(e,t,u,c,l,o,h){var f=this;f.r1=e,f.r2=t,f.g1=u,f.g2=c,f.b1=l,f.b2=o,f.histo=h}function s(){this.vboxes=new r(function(e,t){return L(e.vbox.count()*e.vbox.volume(),t.vbox.count()*t.vbox.volume())})}function m(e,t){if(t.count()){var u=t.r2-t.r1+1,c=t.g2-t.g1+1,l=Math.max.apply(null,[u,c,t.b2-t.b1+1]);if(t.count()==1)return[t.copy()];var o,h,f,v,E=0,p=[],D=[];if(l==u)for(o=t.r1;o<=t.r2;o++){for(v=0,h=t.g1;h<=t.g2;h++)for(f=t.b1;f<=t.b2;f++)v+=e[n(o,h,f)]||0;p[o]=E+=v}else if(l==c)for(o=t.g1;o<=t.g2;o++){for(v=0,h=t.r1;h<=t.r2;h++)for(f=t.b1;f<=t.b2;f++)v+=e[n(h,o,f)]||0;p[o]=E+=v}else for(o=t.b1;o<=t.b2;o++){for(v=0,h=t.r1;h<=t.r2;h++)for(f=t.g1;f<=t.g2;f++)v+=e[n(h,f,o)]||0;p[o]=E+=v}return p.forEach(function(w,R){D[R]=E-w}),function(w){var R,S,b,A,d,G=w+"1",_=w+"2",y=0;for(o=t[G];o<=t[_];o++)if(p[o]>E/2){for(b=t.copy(),A=t.copy(),d=(R=o-t[G])<=(S=t[_]-o)?Math.min(t[_]-1,~~(o+S/2)):Math.max(t[G],~~(o-1-R/2));!p[d];)d++;for(y=D[d];!y&&p[d-1];)y=D[--d];return b[_]=d,A[G]=b[_]+1,[b,A]}}(l==u?"r":l==c?"g":"b")}}return a.prototype={volume:function(e){var t=this;return t._volume&&!e||(t._volume=(t.r2-t.r1+1)*(t.g2-t.g1+1)*(t.b2-t.b1+1)),t._volume},count:function(e){var t=this,u=t.histo;if(!t._count_set||e){var c,l,o,h=0;for(c=t.r1;c<=t.r2;c++)for(l=t.g1;l<=t.g2;l++)for(o=t.b1;o<=t.b2;o++)h+=u[n(c,l,o)]||0;t._count=h,t._count_set=!0}return t._count},copy:function(){var e=this;return new a(e.r1,e.r2,e.g1,e.g2,e.b1,e.b2,e.histo)},avg:function(e){var t=this,u=t.histo;if(!t._avg||e){var c,l,o,h,f=0,v=0,E=0,p=0;if(t.r1===t.r2&&t.g1===t.g2&&t.b1===t.b2)t._avg=[t.r1<<3,t.g1<<3,t.b1<<3];else{for(l=t.r1;l<=t.r2;l++)for(o=t.g1;o<=t.g2;o++)for(h=t.b1;h<=t.b2;h++)f+=c=u[n(l,o,h)]||0,v+=c*(l+.5)*8,E+=c*(o+.5)*8,p+=c*(h+.5)*8;t._avg=f?[~~(v/f),~~(E/f),~~(p/f)]:[~~(8*(t.r1+t.r2+1)/2),~~(8*(t.g1+t.g2+1)/2),~~(8*(t.b1+t.b2+1)/2)]}}return t._avg},contains:function(e){var t=this,u=e[0]>>3;return gval=e[1]>>3,bval=e[2]>>3,u>=t.r1&&u<=t.r2&&gval>=t.g1&&gval<=t.g2&&bval>=t.b1&&bval<=t.b2}},s.prototype={push:function(e){this.vboxes.push({vbox:e,color:e.avg()})},palette:function(){return this.vboxes.map(function(e){return e.color})},size:function(){return this.vboxes.size()},map:function(e){for(var t=this.vboxes,u=0;u<t.size();u++)if(t.peek(u).vbox.contains(e))return t.peek(u).color;return this.nearest(e)},nearest:function(e){for(var t,u,c,l=this.vboxes,o=0;o<l.size();o++)((u=Math.sqrt(Math.pow(e[0]-l.peek(o).color[0],2)+Math.pow(e[1]-l.peek(o).color[1],2)+Math.pow(e[2]-l.peek(o).color[2],2)))<t||t===void 0)&&(t=u,c=l.peek(o).color);return c},forcebw:function(){var e=this.vboxes;e.sort(function(l,o){return L(K(l.color),K(o.color))});var t=e[0].color;t[0]<5&&t[1]<5&&t[2]<5&&(e[0].color=[0,0,0]);var u=e.length-1,c=e[u].color;c[0]>251&&c[1]>251&&c[2]>251&&(e[u].color=[255,255,255])}},{quantize:function(e,t){if(!Number.isInteger(t)||t<1||t>256)throw new Error("Invalid maximum color count. It must be an integer between 1 and 256.");if(!e.length||t<2||t>256||!e.length||t<2||t>256)return!1;for(var u=[],c=new Set,l=0;l<e.length;l++){var o=e[l],h=o.join(",");c.has(h)||(c.add(h),u.push(o))}if(u.length<=t)return new O(u);var f=function(R){var S,b=new Array(32768);return R.forEach(function(A){S=n(A[0]>>3,A[1]>>3,A[2]>>3),b[S]=(b[S]||0)+1}),b}(e);f.forEach(function(){});var v=function(R,S){var b,A,d,G=1e6,_=0,y=1e6,U=0,T=1e6,H=0;return R.forEach(function(Y){(b=Y[0]>>3)<G?G=b:b>_&&(_=b),(A=Y[1]>>3)<y?y=A:A>U&&(U=A),(d=Y[2]>>3)<T?T=d:d>H&&(H=d)}),new a(G,_,y,U,T,H,S)}(e,f),E=new r(function(R,S){return L(R.count(),S.count())});function p(R,S){for(var b,A=R.size(),d=0;d<1e3;){if(A>=S||d++>1e3)return;if((b=R.pop()).count()){var G=m(f,b),_=G[0],y=G[1];if(!_)return;R.push(_),y&&(R.push(y),A++)}else R.push(b),d++}}E.push(v),p(E,.75*t);for(var D=new r(function(R,S){return L(R.count()*R.volume(),S.count()*S.volume())});E.size();)D.push(E.pop());p(D,t);for(var w=new s;D.size();)w.push(D.pop());return w}}}().quantize,z=function(n){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.width=this.canvas.width=n.naturalWidth,this.height=this.canvas.height=n.naturalHeight,this.context.drawImage(n,0,0,this.width,this.height)};z.prototype.getImageData=function(){return this.context.getImageData(0,0,this.width,this.height)};var N=function(){};N.prototype.getColor=function(n,r){return r===void 0&&(r=10),this.getPalette(n,5,r)[0]},N.prototype.getPalette=function(n,r,a){var s=function(u){var c=u.colorCount,l=u.quality;if(c!==void 0&&Number.isInteger(c)){if(c===1)throw new Error("colorCount should be between 2 and 20. To get one color, call getColor() instead of getPalette()");c=Math.max(c,2),c=Math.min(c,20)}else c=10;return(l===void 0||!Number.isInteger(l)||l<1)&&(l=10),{colorCount:c,quality:l}}({colorCount:r,quality:a}),m=new z(n),e=function(u,c,l){for(var o,h,f,v,E,p=u,D=[],w=0;w<c;w+=l)h=p[0+(o=4*w)],f=p[o+1],v=p[o+2],((E=p[o+3])===void 0||E>=125)&&(h>250&&f>250&&v>250||D.push([h,f,v]));return D}(m.getImageData().data,m.width*m.height,s.quality),t=j(e,s.colorCount);return t?t.palette():null},N.prototype.getColorFromUrl=function(n,r,a){var s=this,m=document.createElement("img");m.addEventListener("load",function(){var e=s.getPalette(m,5,a);r(e[0],n)}),m.src=n},N.prototype.getImageData=function(n,r){var a=new XMLHttpRequest;a.open("GET",n,!0),a.responseType="arraybuffer",a.onload=function(){if(this.status==200){var s=new Uint8Array(this.response);i=s.length;for(var m=new Array(i),e=0;e<s.length;e++)m[e]=String.fromCharCode(s[e]);var t=m.join(""),u=window.btoa(t);r("data:image/png;base64,"+u)}},a.send()},N.prototype.getColorAsync=function(n,r,a){var s=this;this.getImageData(n,function(m){var e=document.createElement("img");e.addEventListener("load",function(){var t=s.getPalette(e,5,a);r(t[0],this)}),e.src=m})};const F=(n,r)=>r===void 0?`rgb(${n[0]}, ${n[1]}, ${n[2]})`:`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${r})`,q=(n,r)=>g.toRgba(g.transparentize(n,r)),M=(n,r)=>g.toRgba(g.saturate(n,r)),x=(n,r)=>g.toRgba(g.desaturate(n,r));function $(n){return n instanceof HTMLImageElement?Promise.resolve(B(n)):X(n)}function B(n){try{return new N().getColor(n)}catch{return[255,255,255]}}function X(n){return new Promise((r,a)=>{const s=document.createElement("img");s.crossOrigin="anonymous",s.onload=()=>{try{const m=new N().getColor(s);r(m)}catch{r([255,255,255])}},s.onerror=()=>a(new Error("Failed to load image")),s.src=n})}const J=n=>{const[r,a,s]=g.parseToRgba(n),m=r+a+s;return m>500?"rgba(132, 133, 144, 0.4)":m>290?"rgba(93, 94, 105, 0.4)":"rgba(255,255,255,0.1)"},Q=n=>{const r=F(n),a=g.getScale("#FFFFFF",r,"#000000"),s=Array.from({length:12},(o,h)=>{const f=a(h/11);return x(f,.0085)}),m=s.map(o=>M(W(o),.005)),e=g.toRgba(M(g.adjustHue(r,180),1)),t=g.getScale("#FFFFFF",e,"#000000"),u=Array.from({length:12},(o,h)=>{const f=t(h/11);return x(f,.1)}),c=u.map(o=>x(W(o),.22)),l=V(M(m[5],.115));return{BASE_COLOR:F(n),BRAND:{PRIMARY:l,PRIMARY_LIGHT:I(l,.25,{min:.6,max:.8}),SECONDARY:x(c[4],.02)},PRIMARY:{PRIMARY_SUPER_DARK:I(P(s[9]),-.6,{min:0,max:.02}),PRIMARY_DARK:I(P(s[8]),-.4,{min:.01,max:.02}),PRIMARY_MEDIUM:I(m[7],-.2,{min:0,max:.11}),PRIMARY_MEDIUM_LIGHT:I(x(m[6],.1),.08),PRIMARY_LIGHT:I(M(m[5],.1),.16),PRIMARY_LIGHTEST:I(M(m[3],.2),.12,{min:.5,max:.9}),PRIMARY_SUPER_LIGHT:I(m[1],.02,{min:.86,max:.98})},SECONDARY:{SECONDARY_SUPER_DARK:I(P(u[9]),-.6,{min:0,max:.02}),SECONDARY_DARK:I(P(u[8]),-.4,{min:.01,max:.02}),SECONDARY_MEDIUM:I(c[7],-.2,{min:0,max:.11}),SECONDARY_MEDIUM_LIGHT:I(c[6],.1),SECONDARY_LIGHT:I(M(c[5],.1),.16),SECONDARY_LIGHTEST:I(M(c[3],.2),.12,{min:.5,max:.9}),SECONDARY_SUPER_LIGHT:I(c[0],.02,{min:.86,max:.98})},SUCCESS:{SUCCESS_DARK:C.SUCCESS.DARK,SUCCESS_MEDIUM:C.SUCCESS.MEDIUM,SUCCESS_LIGHT:C.SUCCESS.LIGHT,SUCCESS_SUPER_LIGHT:C.SUCCESS.SUPER_LIGHT},WARNING:{WARNING_DARK:C.WARNING.DARK,WARNING_MEDIUM:C.WARNING.MEDIUM,WARNING_LIGHT:C.WARNING.LIGHT,WARNING_SUPER_LIGHT:C.WARNING.SUPER_LIGHT},DANGER:{DANGER_SUPER_DARK:C.DANGER.SUPER_DARK,DANGER_DARK:C.DANGER.DARK,DANGER_MEDIUM:C.DANGER.MEDIUM,DANGER_LIGHT:C.DANGER.LIGHT,DANGER_SUPER_LIGHT:C.DANGER.SUPER_LIGHT}}},I=(n,r,a={min:.03,max:.97})=>{let s=n,m=g.getLuminance(s);if(a.min<0&&(a.min=0),a.max>1&&(a.max=1),a.min>=a.max)throw new Error("Invalid range: min must be less than max");if(r>0){const t=a.max-m;if(t<=0)return g.toRgba(s);const u=r*(t/(1-m));s=g.lighten(s,u)}else if(r<0){const t=m-a.min;if(t<=0)return g.toRgba(s);const u=r*(t/m);s=g.darken(s,Math.abs(u))}const e=g.getLuminance(s);return(e>a.max||e<a.min)&&(s=k(s,a)),g.toRgba(s)},k=(n,r)=>{let a=n,s=g.getLuminance(a);for(;s>r.max;)a=g.darken(a,.05),s=g.getLuminance(a);for(;s<r.min;)a=g.lighten(a,.05),s=g.getLuminance(a);return g.toRgba(a)},P=n=>{for(;g.hasBadContrast(n,"readable",C.GRAYSCALE.GRAY_DARK);)n=g.lighten(n,.01);return g.toRgba(n)},V=n=>{for(;g.hasBadContrast(C.GRAYSCALE.GRAY_SUPER_LIGHT,"readable",n);)n=g.darken(n,.01);return g.toRgba(n)},W=n=>{let r=n,a=g.getLuminance(g.toRgba(r)),s=0;const m=6;for(;a<.16&&s<m;)s++,r=g.lighten(r,.1),a=g.getLuminance(g.toRgba(r));for(;a>.6&&s<m;)s++,r=g.darken(r,.1),a=g.getLuminance(g.toRgba(r));return g.toRgba(r)},Z=n=>typeof n=="string"||n instanceof String;function tt(...n){return n.filter(Z).join(" ")}const nt=n=>n.startsWith("http"),et=(n,r)=>{if(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey||n.button&&n.button!==0)return;n.preventDefault();const a=r.startsWith("/")?r:`/${r}`;window.history.pushState({},"",a),window.dispatchEvent(new PopStateEvent("popstate"))};exports.arrayToRgbString=F;exports.csx=tt;exports.desaturate=x;exports.generatePalette=Q;exports.getCustomDarkElevationColor=J;exports.getDominantColor=$;exports.handleInternalNavigation=et;exports.isUrlExternal=nt;exports.saturate=M;exports.transparentize=q;
2
+ //# sourceMappingURL=utils-Bg77Dlyi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-Bg77Dlyi.js","sources":["../node_modules/colorthief/dist/color-thief.mjs","../src/utils/color.ts","../src/utils/utils.ts"],"sourcesContent":["var t=function(t,r){return t<r?-1:t>r?1:0},r=function(t){return t.reduce(function(t,r){return t+r},0)},n=/*#__PURE__*/function(){function t(t){this.colors=t}var r=t.prototype;return r.palette=function(){return this.colors},r.map=function(t){return t},t}(),o=function(){function o(t,r,n){return(t<<10)+(r<<5)+n}function e(t){var r=[],n=!1;function o(){r.sort(t),n=!0}return{push:function(t){r.push(t),n=!1},peek:function(t){return n||o(),void 0===t&&(t=r.length-1),r[t]},pop:function(){return n||o(),r.pop()},size:function(){return r.length},map:function(t){return r.map(t)},debug:function(){return n||o(),r}}}function i(t,r,n,o,e,i,u){var a=this;a.r1=t,a.r2=r,a.g1=n,a.g2=o,a.b1=e,a.b2=i,a.histo=u}function u(){this.vboxes=new e(function(r,n){return t(r.vbox.count()*r.vbox.volume(),n.vbox.count()*n.vbox.volume())})}function a(t,r){if(r.count()){var n=r.r2-r.r1+1,e=r.g2-r.g1+1,i=Math.max.apply(null,[n,e,r.b2-r.b1+1]);if(1==r.count())return[r.copy()];var u,a,c,f,s=0,h=[],v=[];if(i==n)for(u=r.r1;u<=r.r2;u++){for(f=0,a=r.g1;a<=r.g2;a++)for(c=r.b1;c<=r.b2;c++)f+=t[o(u,a,c)]||0;h[u]=s+=f}else if(i==e)for(u=r.g1;u<=r.g2;u++){for(f=0,a=r.r1;a<=r.r2;a++)for(c=r.b1;c<=r.b2;c++)f+=t[o(a,u,c)]||0;h[u]=s+=f}else for(u=r.b1;u<=r.b2;u++){for(f=0,a=r.r1;a<=r.r2;a++)for(c=r.g1;c<=r.g2;c++)f+=t[o(a,c,u)]||0;h[u]=s+=f}return h.forEach(function(t,r){v[r]=s-t}),function(t){var n,o,e,i,a,c=t+\"1\",f=t+\"2\",l=0;for(u=r[c];u<=r[f];u++)if(h[u]>s/2){for(e=r.copy(),i=r.copy(),a=(n=u-r[c])<=(o=r[f]-u)?Math.min(r[f]-1,~~(u+o/2)):Math.max(r[c],~~(u-1-n/2));!h[a];)a++;for(l=v[a];!l&&h[a-1];)l=v[--a];return e[f]=a,i[c]=e[f]+1,[e,i]}}(i==n?\"r\":i==e?\"g\":\"b\")}}return i.prototype={volume:function(t){var r=this;return r._volume&&!t||(r._volume=(r.r2-r.r1+1)*(r.g2-r.g1+1)*(r.b2-r.b1+1)),r._volume},count:function(t){var r=this,n=r.histo;if(!r._count_set||t){var e,i,u,a=0;for(e=r.r1;e<=r.r2;e++)for(i=r.g1;i<=r.g2;i++)for(u=r.b1;u<=r.b2;u++)a+=n[o(e,i,u)]||0;r._count=a,r._count_set=!0}return r._count},copy:function(){var t=this;return new i(t.r1,t.r2,t.g1,t.g2,t.b1,t.b2,t.histo)},avg:function(t){var r=this,n=r.histo;if(!r._avg||t){var e,i,u,a,c=0,f=0,s=0,h=0;if(r.r1===r.r2&&r.g1===r.g2&&r.b1===r.b2)r._avg=[r.r1<<3,r.g1<<3,r.b1<<3];else{for(i=r.r1;i<=r.r2;i++)for(u=r.g1;u<=r.g2;u++)for(a=r.b1;a<=r.b2;a++)c+=e=n[o(i,u,a)]||0,f+=e*(i+.5)*8,s+=e*(u+.5)*8,h+=e*(a+.5)*8;r._avg=c?[~~(f/c),~~(s/c),~~(h/c)]:[~~(8*(r.r1+r.r2+1)/2),~~(8*(r.g1+r.g2+1)/2),~~(8*(r.b1+r.b2+1)/2)]}}return r._avg},contains:function(t){var r=this,n=t[0]>>3;return gval=t[1]>>3,bval=t[2]>>3,n>=r.r1&&n<=r.r2&&gval>=r.g1&&gval<=r.g2&&bval>=r.b1&&bval<=r.b2}},u.prototype={push:function(t){this.vboxes.push({vbox:t,color:t.avg()})},palette:function(){return this.vboxes.map(function(t){return t.color})},size:function(){return this.vboxes.size()},map:function(t){for(var r=this.vboxes,n=0;n<r.size();n++)if(r.peek(n).vbox.contains(t))return r.peek(n).color;return this.nearest(t)},nearest:function(t){for(var r,n,o,e=this.vboxes,i=0;i<e.size();i++)((n=Math.sqrt(Math.pow(t[0]-e.peek(i).color[0],2)+Math.pow(t[1]-e.peek(i).color[1],2)+Math.pow(t[2]-e.peek(i).color[2],2)))<r||void 0===r)&&(r=n,o=e.peek(i).color);return o},forcebw:function(){var n=this.vboxes;n.sort(function(n,o){return t(r(n.color),r(o.color))});var o=n[0].color;o[0]<5&&o[1]<5&&o[2]<5&&(n[0].color=[0,0,0]);var e=n.length-1,i=n[e].color;i[0]>251&&i[1]>251&&i[2]>251&&(n[e].color=[255,255,255])}},{quantize:function(r,c){if(!Number.isInteger(c)||c<1||c>256)throw new Error(\"Invalid maximum color count. It must be an integer between 1 and 256.\");if(!r.length||c<2||c>256)return!1;if(!r.length||c<2||c>256)return!1;for(var f=[],s=new Set,h=0;h<r.length;h++){var v=r[h],l=v.join(\",\");s.has(l)||(s.add(l),f.push(v))}if(f.length<=c)return new n(f);var g=function(t){var r,n=new Array(32768);return t.forEach(function(t){r=o(t[0]>>3,t[1]>>3,t[2]>>3),n[r]=(n[r]||0)+1}),n}(r);g.forEach(function(){});var p=function(t,r){var n,o,e,u=1e6,a=0,c=1e6,f=0,s=1e6,h=0;return t.forEach(function(t){(n=t[0]>>3)<u?u=n:n>a&&(a=n),(o=t[1]>>3)<c?c=o:o>f&&(f=o),(e=t[2]>>3)<s?s=e:e>h&&(h=e)}),new i(u,a,c,f,s,h,r)}(r,g),b=new e(function(r,n){return t(r.count(),n.count())});function m(t,r){for(var n,o=t.size(),e=0;e<1e3;){if(o>=r)return;if(e++>1e3)return;if((n=t.pop()).count()){var i=a(g,n),u=i[0],c=i[1];if(!u)return;t.push(u),c&&(t.push(c),o++)}else t.push(n),e++}}b.push(p),m(b,.75*c);for(var d=new e(function(r,n){return t(r.count()*r.volume(),n.count()*n.volume())});b.size();)d.push(b.pop());m(d,c);for(var w=new u;d.size();)w.push(d.pop());return w}}}().quantize,e=function(t){this.canvas=document.createElement(\"canvas\"),this.context=this.canvas.getContext(\"2d\"),this.width=this.canvas.width=t.naturalWidth,this.height=this.canvas.height=t.naturalHeight,this.context.drawImage(t,0,0,this.width,this.height)};e.prototype.getImageData=function(){return this.context.getImageData(0,0,this.width,this.height)};var u=function(){};u.prototype.getColor=function(t,r){return void 0===r&&(r=10),this.getPalette(t,5,r)[0]},u.prototype.getPalette=function(t,r,n){var i=function(t){var r=t.colorCount,n=t.quality;if(void 0!==r&&Number.isInteger(r)){if(1===r)throw new Error(\"colorCount should be between 2 and 20. To get one color, call getColor() instead of getPalette()\");r=Math.max(r,2),r=Math.min(r,20)}else r=10;return(void 0===n||!Number.isInteger(n)||n<1)&&(n=10),{colorCount:r,quality:n}}({colorCount:r,quality:n}),u=new e(t),a=function(t,r,n){for(var o,e,i,u,a,c=t,f=[],s=0;s<r;s+=n)e=c[0+(o=4*s)],i=c[o+1],u=c[o+2],(void 0===(a=c[o+3])||a>=125)&&(e>250&&i>250&&u>250||f.push([e,i,u]));return f}(u.getImageData().data,u.width*u.height,i.quality),c=o(a,i.colorCount);return c?c.palette():null},u.prototype.getColorFromUrl=function(t,r,n){var o=this,e=document.createElement(\"img\");e.addEventListener(\"load\",function(){var i=o.getPalette(e,5,n);r(i[0],t)}),e.src=t},u.prototype.getImageData=function(t,r){var n=new XMLHttpRequest;n.open(\"GET\",t,!0),n.responseType=\"arraybuffer\",n.onload=function(){if(200==this.status){var t=new Uint8Array(this.response);i=t.length;for(var n=new Array(i),o=0;o<t.length;o++)n[o]=String.fromCharCode(t[o]);var e=n.join(\"\"),u=window.btoa(e);r(\"data:image/png;base64,\"+u)}},n.send()},u.prototype.getColorAsync=function(t,r,n){var o=this;this.getImageData(t,function(t){var e=document.createElement(\"img\");e.addEventListener(\"load\",function(){var t=o.getPalette(e,5,n);r(t[0],this)}),e.src=t})};export{u as default};\n","import { COLORS } from \"../constants\";\r\nimport {\r\n adjustHue,\r\n getScale,\r\n saturate as _saturate,\r\n transparentize as _transparentize,\r\n desaturate as _desaturate,\r\n hasBadContrast,\r\n getLuminance,\r\n lighten,\r\n darken,\r\n toRgba,\r\n parseToRgba,\r\n} from \"color2k\";\r\nimport ColorThief from \"colorthief\";\r\nimport { Palette } from \"../constants/palettes\";\r\n\r\nexport type RGBArray = [number, number, number];\r\n\r\n/**\r\n * Converts an RGB array to a CSS string representation.\r\n * @param rgb - The RGB array to convert.\r\n * @param opacity - Optional opacity value.\r\n * @returns A CSS string representation of the RGB array, using `rgb()`, or `rgba()` if an opacity value is provided.\r\n */\r\nexport const arrayToRgbString = (rgb: RGBArray, opacity?: number): string => {\r\n return opacity === undefined\r\n ? `rgb(${rgb[0]}, ${rgb[1]}, ${rgb[2]})`\r\n : `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${opacity})`;\r\n};\r\n\r\n/**\r\n * Transparentizes an input color.\r\n *\r\n * @param color - The color string to transparentize.\r\n * @param amount - The amount to increase the opacity of the color by, given as a decimal between 0 and 1.\r\n * @returns An RGBA color string.\r\n */\r\nexport const transparentize = (color: string, amount: number): string => {\r\n return toRgba(_transparentize(color, amount));\r\n};\r\n\r\n/**\r\n * Saturates a color.\r\n *\r\n * @param color - Input color\r\n * @param amount - The amount to saturate, given as a decimal between 0 and 1\r\n * @returns An RGBA color string.\r\n */\r\nexport const saturate = (color: string, amount: number): string => {\r\n return toRgba(_saturate(color, amount));\r\n};\r\n\r\n/**\r\n * Desaturates a color.\r\n *\r\n * @param color - Input color\r\n * @param amount - The amount to desaturate, given as a decimal between 0 and 1\r\n * @returns An RGBA color string.\r\n */\r\nexport const desaturate = (color: string, amount: number): string => {\r\n return toRgba(_desaturate(color, amount));\r\n};\r\n\r\n/**\r\n * Gets the dominant color of an image. Avoids issues with low contrast colors.\r\n * @reference https://github.com/lokesh/color-thief/issues/40\r\n * @param image - The image to get the dominant color from.\r\n * @returns A Promise that resolves to an RGB array.\r\n */\r\nexport function getDominantColor(image: HTMLImageElement): Promise<RGBArray>;\r\nexport function getDominantColor(image: string): Promise<RGBArray>;\r\nexport function getDominantColor(\r\n image: HTMLImageElement | string\r\n): Promise<RGBArray> {\r\n if (image instanceof HTMLImageElement) {\r\n return Promise.resolve(getDominantColorFromElement(image));\r\n } else {\r\n return getDominantColorFromUrl(image);\r\n }\r\n}\r\n\r\n//TODO: changing getDominantColor to always return a promise breaks the RL implementation - need to add an await\r\n\r\nfunction getDominantColorFromElement(image: HTMLImageElement): RGBArray {\r\n try {\r\n const colorThief = new ColorThief();\r\n const baseColor = colorThief.getColor(image);\r\n return baseColor;\r\n } catch {\r\n return [255, 255, 255];\r\n }\r\n}\r\n\r\nfunction getDominantColorFromUrl(url: string): Promise<RGBArray> {\r\n return new Promise((resolve, reject) => {\r\n const imgElement = document.createElement(\"img\");\r\n imgElement.crossOrigin = \"anonymous\";\r\n\r\n imgElement.onload = () => {\r\n try {\r\n const baseColor = new ColorThief().getColor(imgElement);\r\n resolve(baseColor);\r\n } catch {\r\n resolve([255, 255, 255]);\r\n }\r\n };\r\n\r\n imgElement.onerror = () => reject(new Error(\"Failed to load image\"));\r\n imgElement.src = url;\r\n });\r\n}\r\n\r\n/**\r\n * Returns a constrastful white transparent color based on the brightness of the base color.\r\n * @param baseColor - palette.BASE_COLOR of the current theme\r\n */\r\nexport const getCustomDarkElevationColor = (\r\n baseColor: string\r\n): string | null => {\r\n const [r, g, b] = parseToRgba(baseColor);\r\n const brightness = r + g + b;\r\n\r\n if (brightness > 500) {\r\n return \"rgba(132, 133, 144, 0.4)\"; // --proton-color__primary-super-light with opacity\r\n }\r\n\r\n if (brightness > 290) {\r\n return \"rgba(93, 94, 105, 0.4)\"; // --proton-color__primary-lightest with opacity\r\n }\r\n\r\n return \"rgba(255,255,255,0.1)\";\r\n};\r\n\r\n/**\r\n * Generates a complete color palette based on a primary color input.\r\n * The palette includes primary and secondary color scales with varying shades.\r\n *\r\n * @param primaryColor - The base RGB color array to generate the palette from\r\n * @returns A Palette object containing:\r\n * - BRAND colors (primary, light primary, and secondary)\r\n * - PRIMARY scale (7 shades from super dark to super light)\r\n * - SECONDARY scale (7 shades from super dark to super light)\r\n *\r\n * The function:\r\n * 1. Creates a 12-color scale from white to the primary color to black\r\n * 2. Generates a complementary secondary color by shifting the hue 180 degrees\r\n * 3. Creates another 12-color scale for the secondary color\r\n * 4. Maps specific positions from these scales to create the final palette structure\r\n */\r\nexport const generatePalette = (baseColor: RGBArray): Palette => {\r\n const primaryRgba = arrayToRgbString(baseColor);\r\n\r\n const primaryScaleFunc = getScale(\"#FFFFFF\", primaryRgba, \"#000000\");\r\n const primaryScale = Array.from({ length: 12 }, (_, i) => {\r\n const color = primaryScaleFunc(i / 11);\r\n return desaturate(color, 0.0085);\r\n });\r\n\r\n const adjustedPrimaryScale = primaryScale.map((color) =>\r\n saturate(adjustBrightnessForLuminance(color), 0.005)\r\n );\r\n\r\n const secondaryColor = toRgba(saturate(adjustHue(primaryRgba, 180), 1));\r\n\r\n const secondaryScaleFunc = getScale(\"#FFFFFF\", secondaryColor, \"#000000\");\r\n const secondaryScale = Array.from({ length: 12 }, (_, i) => {\r\n const color = secondaryScaleFunc(i / 11);\r\n return desaturate(color, 0.1);\r\n });\r\n\r\n const adjustedSecondaryScale = secondaryScale.map((color) =>\r\n desaturate(adjustBrightnessForLuminance(color), 0.22)\r\n );\r\n\r\n const brandPrimary = darkenForContrast(\r\n saturate(adjustedPrimaryScale[5], 0.115)\r\n );\r\n\r\n return {\r\n BASE_COLOR: arrayToRgbString(baseColor),\r\n BRAND: {\r\n PRIMARY: brandPrimary,\r\n PRIMARY_LIGHT: lightenWithinRange(brandPrimary, 0.25, {\r\n min: 0.6,\r\n max: 0.8,\r\n }),\r\n SECONDARY: desaturate(adjustedSecondaryScale[4], 0.02),\r\n },\r\n PRIMARY: {\r\n //backgrounds\r\n PRIMARY_SUPER_DARK: lightenWithinRange(\r\n lightenForContrast(primaryScale[9]),\r\n -0.6,\r\n {\r\n min: 0.0,\r\n max: 0.02,\r\n }\r\n ),\r\n PRIMARY_DARK: lightenWithinRange(\r\n lightenForContrast(primaryScale[8]),\r\n -0.4,\r\n {\r\n min: 0.01,\r\n max: 0.02,\r\n }\r\n ),\r\n //interactive components\r\n PRIMARY_MEDIUM: lightenWithinRange(adjustedPrimaryScale[7], -0.2, {\r\n min: 0.0,\r\n max: 0.11,\r\n }),\r\n //borders and seperators\r\n PRIMARY_MEDIUM_LIGHT: lightenWithinRange(\r\n desaturate(adjustedPrimaryScale[6], 0.1),\r\n 0.08\r\n ),\r\n //solid colors\r\n PRIMARY_LIGHT: lightenWithinRange(\r\n saturate(adjustedPrimaryScale[5], 0.1),\r\n 0.16\r\n ),\r\n //accessible text\r\n PRIMARY_LIGHTEST: lightenWithinRange(\r\n saturate(adjustedPrimaryScale[3], 0.2),\r\n 0.12,\r\n {\r\n min: 0.5,\r\n max: 0.9,\r\n }\r\n ),\r\n PRIMARY_SUPER_LIGHT: lightenWithinRange(adjustedPrimaryScale[1], 0.02, {\r\n min: 0.86,\r\n max: 0.98,\r\n }),\r\n },\r\n SECONDARY: {\r\n //backgrounds\r\n SECONDARY_SUPER_DARK: lightenWithinRange(\r\n lightenForContrast(secondaryScale[9]),\r\n -0.6,\r\n {\r\n min: 0.0,\r\n max: 0.02,\r\n }\r\n ),\r\n SECONDARY_DARK: lightenWithinRange(\r\n lightenForContrast(secondaryScale[8]),\r\n -0.4,\r\n {\r\n min: 0.01,\r\n max: 0.02,\r\n }\r\n ),\r\n // interactive components\r\n SECONDARY_MEDIUM: lightenWithinRange(adjustedSecondaryScale[7], -0.2, {\r\n min: 0.0,\r\n max: 0.11,\r\n }),\r\n //borders and seperators\r\n SECONDARY_MEDIUM_LIGHT: lightenWithinRange(\r\n adjustedSecondaryScale[6],\r\n 0.1\r\n ),\r\n //solid colors\r\n SECONDARY_LIGHT: lightenWithinRange(\r\n saturate(adjustedSecondaryScale[5], 0.1),\r\n 0.16\r\n ),\r\n //accessible text\r\n SECONDARY_LIGHTEST: lightenWithinRange(\r\n saturate(adjustedSecondaryScale[3], 0.2),\r\n 0.12,\r\n {\r\n min: 0.5,\r\n max: 0.9,\r\n }\r\n ),\r\n SECONDARY_SUPER_LIGHT: lightenWithinRange(\r\n adjustedSecondaryScale[0],\r\n 0.02,\r\n {\r\n min: 0.86,\r\n max: 0.98,\r\n }\r\n ),\r\n },\r\n SUCCESS: {\r\n SUCCESS_DARK: COLORS.SUCCESS.DARK,\r\n SUCCESS_MEDIUM: COLORS.SUCCESS.MEDIUM,\r\n SUCCESS_LIGHT: COLORS.SUCCESS.LIGHT,\r\n SUCCESS_SUPER_LIGHT: COLORS.SUCCESS.SUPER_LIGHT,\r\n },\r\n WARNING: {\r\n WARNING_DARK: COLORS.WARNING.DARK,\r\n WARNING_MEDIUM: COLORS.WARNING.MEDIUM,\r\n WARNING_LIGHT: COLORS.WARNING.LIGHT,\r\n WARNING_SUPER_LIGHT: COLORS.WARNING.SUPER_LIGHT,\r\n },\r\n DANGER: {\r\n DANGER_SUPER_DARK: COLORS.DANGER.SUPER_DARK,\r\n DANGER_DARK: COLORS.DANGER.DARK,\r\n DANGER_MEDIUM: COLORS.DANGER.MEDIUM,\r\n DANGER_LIGHT: COLORS.DANGER.LIGHT,\r\n DANGER_SUPER_LIGHT: COLORS.DANGER.SUPER_LIGHT,\r\n },\r\n };\r\n};\r\n\r\nconst lightenWithinRange = (\r\n color: string,\r\n amount: number,\r\n range: { min: number; max: number } = { min: 0.03, max: 0.97 }\r\n): string => {\r\n let adjustedColor = color;\r\n let currentLuminance = getLuminance(adjustedColor);\r\n\r\n // Validate range bounds\r\n if (range.min < 0) range.min = 0;\r\n if (range.max > 1) range.max = 1;\r\n if (range.min >= range.max) {\r\n throw new Error(\"Invalid range: min must be less than max\");\r\n }\r\n\r\n // For lightening (positive amount)\r\n if (amount > 0) {\r\n // Calculate how much we can lighten before hitting max\r\n const remainingLuminance = range.max - currentLuminance;\r\n if (remainingLuminance <= 0) return toRgba(adjustedColor);\r\n\r\n // Scale the amount based on remaining room to lighten\r\n const scaledAmount = amount * (remainingLuminance / (1 - currentLuminance));\r\n adjustedColor = lighten(adjustedColor, scaledAmount);\r\n }\r\n // For darkening (negative amount)\r\n else if (amount < 0) {\r\n // Calculate how much we can darken before hitting min\r\n const remainingLuminance = currentLuminance - range.min;\r\n if (remainingLuminance <= 0) return toRgba(adjustedColor);\r\n\r\n // Scale the amount based on remaining room to darken\r\n const scaledAmount = amount * (remainingLuminance / currentLuminance);\r\n adjustedColor = darken(adjustedColor, Math.abs(scaledAmount));\r\n }\r\n\r\n // Verify final luminance is within bounds\r\n const finalLuminance = getLuminance(adjustedColor);\r\n if (finalLuminance > range.max) {\r\n adjustedColor = adjustBrightnessWithinRange(adjustedColor, range);\r\n } else if (finalLuminance < range.min) {\r\n adjustedColor = adjustBrightnessWithinRange(adjustedColor, range);\r\n }\r\n\r\n return toRgba(adjustedColor);\r\n};\r\n\r\nconst adjustBrightnessWithinRange = (\r\n color: string,\r\n range: { min: number; max: number }\r\n): string => {\r\n let adjustedColor = color;\r\n let luminance = getLuminance(adjustedColor);\r\n\r\n // Darken if too bright\r\n while (luminance > range.max) {\r\n adjustedColor = darken(adjustedColor, 0.05);\r\n luminance = getLuminance(adjustedColor);\r\n }\r\n\r\n // Lighten if too dark\r\n while (luminance < range.min) {\r\n adjustedColor = lighten(adjustedColor, 0.05);\r\n luminance = getLuminance(adjustedColor);\r\n }\r\n\r\n return toRgba(adjustedColor);\r\n};\r\n\r\nconst lightenForContrast = (color: string): string => {\r\n while (hasBadContrast(color, \"readable\", COLORS.GRAYSCALE.GRAY_DARK)) {\r\n color = lighten(color, 0.01);\r\n }\r\n return toRgba(color);\r\n};\r\n\r\nconst darkenForContrast = (color: string): string => {\r\n while (hasBadContrast(COLORS.GRAYSCALE.GRAY_SUPER_LIGHT, \"readable\", color)) {\r\n color = darken(color, 0.01);\r\n }\r\n return toRgba(color);\r\n};\r\n\r\nconst adjustBrightnessForLuminance = (color: string): string => {\r\n let currentColor = color;\r\n let currentLuminance = getLuminance(toRgba(currentColor));\r\n let adjustmentAttempts = 0;\r\n const MAX_ATTEMPTS = 6;\r\n\r\n while (currentLuminance < 0.16 && adjustmentAttempts < MAX_ATTEMPTS) {\r\n adjustmentAttempts++;\r\n currentColor = lighten(currentColor, 0.1);\r\n currentLuminance = getLuminance(toRgba(currentColor));\r\n }\r\n\r\n while (currentLuminance > 0.6 && adjustmentAttempts < MAX_ATTEMPTS) {\r\n adjustmentAttempts++;\r\n currentColor = darken(currentColor, 0.1);\r\n currentLuminance = getLuminance(toRgba(currentColor));\r\n }\r\n\r\n return toRgba(currentColor);\r\n};\r\n","const isString = (x: unknown): boolean =>\r\n typeof x === \"string\" || x instanceof String;\r\n\r\nexport function csx(...classnames: unknown[]): string {\r\n return classnames.filter(isString).join(\" \");\r\n}\r\n\r\n/**\r\n * [isUrlExternal] - determine if passed absolute url is external to the current domain.\r\n */\r\nexport const isUrlExternal = (url: string) => {\r\n return url.startsWith(\"http\");\r\n};\r\n\r\n/**\r\n * Handles internal navigation clicks by preventing default browser behavior and\r\n * programmatically updating the URL and history state.\r\n *\r\n * @param e - The click event from the anchor element\r\n * @param to - The destination path to navigate to\r\n *\r\n * @remarks\r\n * - Converts relative paths to absolute by prepending \"/\" if needed\r\n * - Updates browser history using pushState and dispatches a popstate event\r\n */\r\nexport const handleInternalNavigation = (\r\n e: React.MouseEvent<HTMLAnchorElement>,\r\n to: string\r\n) => {\r\n // Don't handle navigation if modifier keys are pressed\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\r\n return;\r\n }\r\n\r\n // Don't handle middle clicks or right clicks\r\n if (e.button && e.button !== 0) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n // Handle relative paths\r\n const resolvedPath = to.startsWith(\"/\") ? to : `/${to}`;\r\n window.history.pushState({}, \"\", resolvedPath);\r\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\r\n};\r\n"],"names":["t","r","n","o","e","i","u","a","c","f","s","h","v","l","g","p","b","m","d","arrayToRgbString","rgb","opacity","transparentize","color","amount","toRgba","_transparentize","saturate","_saturate","desaturate","_desaturate","getDominantColor","image","getDominantColorFromElement","getDominantColorFromUrl","ColorThief","url","resolve","reject","imgElement","baseColor","getCustomDarkElevationColor","parseToRgba","brightness","generatePalette","primaryRgba","primaryScaleFunc","getScale","primaryScale","_","adjustedPrimaryScale","adjustBrightnessForLuminance","secondaryColor","adjustHue","secondaryScaleFunc","secondaryScale","adjustedSecondaryScale","brandPrimary","darkenForContrast","lightenWithinRange","lightenForContrast","COLORS.SUCCESS","COLORS.WARNING","COLORS.DANGER","range","adjustedColor","currentLuminance","getLuminance","remainingLuminance","scaledAmount","lighten","darken","finalLuminance","adjustBrightnessWithinRange","luminance","hasBadContrast","COLORS.GRAYSCALE","currentColor","adjustmentAttempts","MAX_ATTEMPTS","isString","x","csx","classnames","isUrlExternal","handleInternalNavigation","to","resolvedPath"],"mappings":"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","x_google_ignoreList":[0]}