@epfl-sti/poesis 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/FileUpload.d.ts +27 -0
- package/dist/components/ui/FileUpload.d.ts.map +1 -0
- package/dist/components/ui/ProgressBar.d.ts +30 -0
- package/dist/components/ui/ProgressBar.d.ts.map +1 -0
- package/dist/components/ui/Select.d.ts.map +1 -1
- package/dist/components/ui/index.d.ts +4 -2
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/lib.d.ts +8 -8
- package/dist/lib.d.ts.map +1 -1
- package/dist/poesis.js +526 -332
- package/dist/poesis.js.map +1 -1
- package/package.json +1 -1
package/dist/poesis.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode(`@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-xl:36rem;--container-6xl:72rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001a;--shadow-xl:0 8px 32px #0000001f;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-epfl-red:red;--color-epfl-red-dark:#b51f1f;--color-epfl-leman:#00a79f;--color-epfl-canard:#007480;--color-epfl-canard-dark:#004248;--color-primary:var(--action-primary);--color-primary-hover:var(--action-primary-hover);--color-bg-primary:var(--bg-primary);--color-bg-secondary:var(--bg-secondary);--color-bg-tertiary:var(--bg-tertiary);--color-border:var(--border-default);--color-border-strong:var(--border-strong);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-muted);--color-success:var(--semantic-success);--color-success-bg:var(--semantic-success-bg);--color-warning:var(--semantic-warning);--color-warning-bg:var(--semantic-warning-bg);--color-error:var(--semantic-error);--color-error-bg:var(--semantic-error-bg);--color-info:var(--semantic-info);--color-info-bg:var(--semantic-info-bg);--radius-full:9999px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--text-h1:2rem;--text-h1--line-height:1.2;--text-h2:1.5rem;--text-h2--line-height:1.3;--text-h3:1.25rem;--text-h3--line-height:1.4;--text-body:.9375rem;--text-body--line-height:1.5;--text-small:.8125rem;--text-small--line-height:1.5;--text-caption:.75rem;--text-caption--line-height:1.4}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.right-0{right:calc(var(--spacing) * 0)}.right-lg{right:var(--spacing-lg)}.bottom-lg{bottom:var(--spacing-lg)}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-lg{margin-top:var(--spacing-lg)}.mt-md{margin-top:var(--spacing-md)}.mt-xs{margin-top:var(--spacing-xs)}.mr-lg{margin-right:var(--spacing-lg)}.mr-sm{margin-right:var(--spacing-sm)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-md{margin-bottom:var(--spacing-md)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-xs{margin-bottom:var(--spacing-xs)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.size-full{width:100%;height:100%}.h-0\\.5{height:calc(var(--spacing) * .5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-20{height:calc(var(--spacing) * 20)}.h-64{height:calc(var(--spacing) * 64)}.h-96{height:calc(var(--spacing) * 96)}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-16{width:calc(var(--spacing) * 16)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-\\[4px\\]{width:4px}.w-\\[8px\\]{width:8px}.w-\\[16px\\]{width:16px}.w-\\[24px\\]{width:24px}.w-\\[32px\\]{width:32px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\\[24rem\\]{max-width:24rem}.max-w-\\[32rem\\]{max-width:32rem}.max-w-\\[42rem\\]{max-width:42rem}.max-w-\\[600px\\]{max-width:600px}.max-w-\\[var\\(--container-6xl\\)\\]{max-width:var(--container-6xl)}.max-w-\\[var\\(--container-md\\)\\]{max-width:var(--container-md)}.max-w-\\[var\\(--container-xl\\)\\]{max-width:var(--container-xl)}.max-w-\\[var\\(--container-xs\\)\\]{max-width:var(--container-xs)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--spacing-md)}.max-w-screen{max-width:100vw}.max-w-sm{max-width:var(--spacing-sm)}.max-w-xl{max-width:var(--spacing-xl)}.max-w-xs{max-width:var(--spacing-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\\[10rem\\]{min-width:10rem}.min-w-\\[500px\\]{min-width:500px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-dialog-in{animation:.2s ease-out dialog-in}.animate-floating-in{animation:.15s ease-out floating-in}.animate-slide-in{animation:.25s ease-out slide-in}.animate-spin{animation:var(--animate-spin)}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2xl{gap:var(--spacing-2xl)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-lg{gap:var(--spacing-lg)}.gap-md{gap:var(--spacing-md)}.gap-px{gap:1px}.gap-sm{gap:var(--spacing-sm)}.gap-xl{gap:var(--spacing-xl)}.gap-xs{gap:var(--spacing-xs)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--color-border)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.\\!rounded-lg{border-radius:var(--radius-lg)!important}.\\!rounded-md{border-radius:var(--radius-md)!important}.\\!rounded-sm{border-radius:var(--radius-sm)!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.\\!border{border-style:var(--tw-border-style)!important;border-width:1px!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.\\!border-border{border-color:var(--color-border)!important}.\\!border-epfl-canard{border-color:var(--color-epfl-canard)!important}.\\!border-error{border-color:var(--color-error)!important}.\\!border-primary{border-color:var(--color-primary)!important}.border-border{border-color:var(--color-border)}.border-border-strong{border-color:var(--color-border-strong)}.border-error,.border-error\\/30{border-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.border-error\\/30{border-color:color-mix(in oklab,var(--color-error) 30%,transparent)}}.border-info\\/30{border-color:var(--color-info)}@supports (color:color-mix(in lab,red,red)){.border-info\\/30{border-color:color-mix(in oklab,var(--color-info) 30%,transparent)}}.border-primary{border-color:var(--color-primary)}.border-success\\/30{border-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.border-success\\/30{border-color:color-mix(in oklab,var(--color-success) 30%,transparent)}}.border-transparent{border-color:#0000}.border-warning\\/30{border-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\\/30{border-color:color-mix(in oklab,var(--color-warning) 30%,transparent)}}.\\!bg-bg-tertiary{background-color:var(--color-bg-tertiary)!important}.\\!bg-epfl-canard{background-color:var(--color-epfl-canard)!important}.\\!bg-primary{background-color:var(--color-primary)!important}.bg-bg-primary{background-color:var(--color-bg-primary)}.bg-bg-secondary{background-color:var(--color-bg-secondary)}.bg-bg-tertiary,.bg-bg-tertiary\\/50{background-color:var(--color-bg-tertiary)}@supports (color:color-mix(in lab,red,red)){.bg-bg-tertiary\\/50{background-color:color-mix(in oklab,var(--color-bg-tertiary) 50%,transparent)}}.bg-black\\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-border-strong{background-color:var(--color-border-strong)}.bg-epfl-canard{background-color:var(--color-epfl-canard)}.bg-epfl-canard-dark{background-color:var(--color-epfl-canard-dark)}.bg-epfl-leman{background-color:var(--color-epfl-leman)}.bg-epfl-red{background-color:var(--color-epfl-red)}.bg-epfl-red-dark{background-color:var(--color-epfl-red-dark)}.bg-error{background-color:var(--color-error)}.bg-error-bg{background-color:var(--color-error-bg)}.bg-info{background-color:var(--color-info)}.bg-info-bg{background-color:var(--color-info-bg)}.bg-primary,.bg-primary\\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/10{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.bg-success{background-color:var(--color-success)}.bg-success-bg{background-color:var(--color-success-bg)}.bg-text-muted{background-color:var(--color-text-muted)}.bg-text-primary{background-color:var(--color-text-primary)}.bg-warning{background-color:var(--color-warning)}.bg-warning-bg{background-color:var(--color-warning-bg)}.object-cover{object-fit:cover}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2xl{padding:var(--spacing-2xl)}.p-16{padding:calc(var(--spacing) * 16)}.p-lg{padding:var(--spacing-lg)}.p-md{padding:var(--spacing-md)}.p-sm{padding:var(--spacing-sm)}.p-xl{padding:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-lg{padding-inline:var(--spacing-lg)}.px-md{padding-inline:var(--spacing-md)}.px-sm{padding-inline:var(--spacing-sm)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-2xl{padding-block:var(--spacing-2xl)}.py-lg{padding-block:var(--spacing-lg)}.py-md{padding-block:var(--spacing-md)}.py-sm{padding-block:var(--spacing-sm)}.py-xl{padding-block:var(--spacing-xl)}.py-xs{padding-block:var(--spacing-xs)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pt-xl{padding-top:var(--spacing-xl)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-11{padding-left:calc(var(--spacing) * 11)}.pl-14{padding-left:calc(var(--spacing) * 14)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.text-caption{font-size:var(--text-caption);line-height:var(--tw-leading,var(--text-caption--line-height))}.text-h1{font-size:var(--text-h1);line-height:var(--tw-leading,var(--text-h1--line-height))}.text-h2{font-size:var(--text-h2);line-height:var(--tw-leading,var(--text-h2--line-height))}.text-h3{font-size:var(--text-h3);line-height:var(--tw-leading,var(--text-h3--line-height))}.text-small{font-size:var(--text-small);line-height:var(--tw-leading,var(--text-small--line-height))}.leading-\\[1\\.2\\]{--tw-leading:1.2;line-height:1.2}.leading-\\[1\\.3\\]{--tw-leading:1.3;line-height:1.3}.leading-\\[1\\.4\\]{--tw-leading:1.4;line-height:1.4}.leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.\\!text-white{color:var(--color-white)!important}.text-bg-primary{color:var(--color-bg-primary)}.text-epfl-canard{color:var(--color-epfl-canard)}.text-epfl-leman{color:var(--color-epfl-leman)}.text-epfl-red{color:var(--color-epfl-red)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-text-muted{color:var(--color-text-muted)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.\\!shadow-lg{--tw-shadow:0 4px 16px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.\\!shadow-sm{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000f)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-lg{--tw-shadow:0 4px 16px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 2px 8px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 8px 32px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\\!ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.\\!ring-epfl-canard{--tw-ring-color:var(--color-epfl-canard)!important}.\\!ring-primary{--tw-ring-color:var(--color-primary)!important}.transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.peer-checked\\:bg-primary:is(:where(.peer):checked~*){background-color:var(--color-primary)}.peer-focus-visible\\:ring-2:is(:where(.peer):focus-visible~*){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-focus-visible\\:ring-primary:is(:where(.peer):focus-visible~*){--tw-ring-color:var(--color-primary)}.peer-focus-visible\\:ring-offset-2:is(:where(.peer):focus-visible~*){--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.peer-focus-visible\\:ring-offset-bg-primary:is(:where(.peer):focus-visible~*){--tw-ring-offset-color:var(--color-bg-primary)}.peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.placeholder\\:text-text-muted::placeholder{color:var(--color-text-muted)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:top-0\\.5:after{content:var(--tw-content);top:calc(var(--spacing) * .5)}.after\\:left-0\\.5:after{content:var(--tw-content);left:calc(var(--spacing) * .5)}.after\\:size-5:after{content:var(--tw-content);width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.after\\:rounded-full:after{content:var(--tw-content);border-radius:var(--radius-full)}.after\\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\\:shadow-sm:after{content:var(--tw-content);--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.after\\:transition-transform:after{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\\:after\\:translate-x-5:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.checked\\:border-\\[5px\\]:checked{border-style:var(--tw-border-style);border-width:5px}.checked\\:border-primary:checked{border-color:var(--color-primary)}.checked\\:bg-primary:checked{background-color:var(--color-primary)}.checked\\:bg-\\[url\\(\\'data\\:image\\/svg\\+xml\\,\\%3Csvg\\%20viewBox\\%3D\\%220\\%200\\%2016\\%2016\\%22\\%20fill\\%3D\\%22white\\%22\\%20xmlns\\%3D\\%22http\\%3A\\%2F\\%2Fwww\\.w3\\.org\\%2F2000\\%2Fsvg\\%22\\%3E\\%3Cpath\\%20d\\%3D\\%22M12\\.207\\%204\\.793a1\\%201\\%200\\%20010\\%201\\.414l-5\\%205a1\\%201\\%200\\%2001-1\\.414\\%200l-2-2a1\\%201\\%200\\%20011\\.414-1\\.414L6\\.5\\%209\\.086l4\\.293-4\\.293a1\\%201\\%200\\%20011\\.414\\%200z\\%22\\%2F\\%3E\\%3C\\%2Fsvg\\%3E\\'\\)\\]:checked{background-image:url(data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22white%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.207%204.793a1%201%200%20010%201.414l-5%205a1%201%200%2001-1.414%200l-2-2a1%201%200%20011.414-1.414L6.5%209.086l4.293-4.293a1%201%200%20011.414%200z%22%2F%3E%3C%2Fsvg%3E)}.checked\\:bg-center:checked{background-position:50%}.checked\\:bg-no-repeat:checked{background-repeat:no-repeat}.indeterminate\\:border-primary:indeterminate{border-color:var(--color-primary)}.indeterminate\\:bg-primary:indeterminate{background-color:var(--color-primary)}.indeterminate\\:bg-\\[url\\(\\'data\\:image\\/svg\\+xml\\,\\%3Csvg\\%20viewBox\\%3D\\%220\\%200\\%2016\\%2016\\%22\\%20fill\\%3D\\%22white\\%22\\%20xmlns\\%3D\\%22http\\%3A\\%2F\\%2Fwww\\.w3\\.org\\%2F2000\\%2Fsvg\\%22\\%3E\\%3Crect\\%20x\\%3D\\%223\\%22\\%20y\\%3D\\%227\\%22\\%20width\\%3D\\%2210\\%22\\%20height\\%3D\\%222\\%22\\%20rx\\%3D\\%221\\%22\\%2F\\%3E\\%3C\\%2Fsvg\\%3E\\'\\)\\]:indeterminate{background-image:url(data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22white%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%2210%22%20height%3D%222%22%20rx%3D%221%22%2F%3E%3C%2Fsvg%3E)}.indeterminate\\:bg-center:indeterminate{background-position:50%}.indeterminate\\:bg-no-repeat:indeterminate{background-repeat:no-repeat}@media(hover:hover){.hover\\:border-border-strong:hover{border-color:var(--color-border-strong)}.hover\\:bg-bg-tertiary:hover,.hover\\:bg-bg-tertiary\\/70:hover{background-color:var(--color-bg-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-bg-tertiary\\/70:hover{background-color:color-mix(in oklab,var(--color-bg-tertiary) 70%,transparent)}}.hover\\:bg-error-bg:hover{background-color:var(--color-error-bg)}.hover\\:bg-error\\/80:hover{background-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-error\\/80:hover{background-color:color-mix(in oklab,var(--color-error) 80%,transparent)}}.hover\\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\\:text-text-primary:hover{color:var(--color-text-primary)}.hover\\:text-text-secondary:hover{color:var(--color-text-secondary)}.hover\\:opacity-90:hover{opacity:.9}}.focus\\:border-error:focus{border-color:var(--color-error)}.focus\\:border-primary:focus{border-color:var(--color-primary)}.focus\\:bg-bg-tertiary:focus{background-color:var(--color-bg-tertiary)}.focus\\:bg-error-bg:focus{background-color:var(--color-error-bg)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-error:focus{--tw-ring-color:var(--color-error)}.focus\\:ring-primary:focus{--tw-ring-color:var(--color-primary)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-error:focus-visible{--tw-ring-color:var(--color-error)}.focus-visible\\:ring-primary:focus-visible{--tw-ring-color:var(--color-primary)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-bg-primary:focus-visible{--tw-ring-offset-color:var(--color-bg-primary)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-bg-secondary:disabled{background-color:var(--color-bg-secondary)}.disabled\\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:w-1\\/3{width:33.3333%}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:gap-lg{gap:var(--spacing-lg)}}@media(min-width:48rem){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\\:px-lg{padding-inline:var(--spacing-lg)}}.\\[\\&\\>svg\\]\\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\\[\\&\\>svg\\]\\:size-5>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}}:root{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-tertiary:#e6e6e6;--border-default:#d5d5d5;--border-strong:#c1c1c1;--text-primary:#212121;--text-secondary:#707070;--text-muted:#8e8e8e;--semantic-success:#1b874b;--semantic-success-bg:#e8f5e9;--semantic-warning:#d4860a;--semantic-warning-bg:#fff3e0;--semantic-error:#d32f2f;--semantic-error-bg:#ffebee;--semantic-info:#1976d2;--semantic-info-bg:#e3f2fd;--action-primary:#007480;--action-primary-hover:#004248}.dark{--bg-primary:#1a1a1a;--bg-secondary:#242424;--bg-tertiary:#2e2e2e;--border-default:#3a3a3a;--border-strong:#505050;--text-primary:#f0f0f0;--text-secondary:#a0a0a0;--text-muted:#707070;--semantic-success:#34d37a;--semantic-success-bg:#1a2e1a;--semantic-warning:#ffad33;--semantic-warning-bg:#2e2410;--semantic-error:#ff6b6b;--semantic-error-bg:#2e1515;--semantic-info:#64b5f6;--semantic-info-bg:#152538;--action-primary:#009ba6;--action-primary-hover:#007480;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 8px #0006;--shadow-lg:0 4px 16px #00000080;--shadow-xl:0 8px 32px #0009}@keyframes slide-in{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}@keyframes dialog-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes floating-in{0%{opacity:0}to{opacity:1}}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--text-body--line-height);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}`)),document.head.appendChild(r)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { SunFill as
|
|
6
|
-
import { createPortal as
|
|
7
|
-
import { useFloating as
|
|
8
|
-
import
|
|
9
|
-
const
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode(`@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-xl:36rem;--container-6xl:72rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001a;--shadow-xl:0 8px 32px #0000001f;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-epfl-red:red;--color-epfl-red-dark:#b51f1f;--color-epfl-leman:#00a79f;--color-epfl-canard:#007480;--color-epfl-canard-dark:#004248;--color-primary:var(--action-primary);--color-primary-hover:var(--action-primary-hover);--color-bg-primary:var(--bg-primary);--color-bg-secondary:var(--bg-secondary);--color-bg-tertiary:var(--bg-tertiary);--color-border:var(--border-default);--color-border-strong:var(--border-strong);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-muted);--color-success:var(--semantic-success);--color-success-bg:var(--semantic-success-bg);--color-warning:var(--semantic-warning);--color-warning-bg:var(--semantic-warning-bg);--color-error:var(--semantic-error);--color-error-bg:var(--semantic-error-bg);--color-info:var(--semantic-info);--color-info-bg:var(--semantic-info-bg);--radius-full:9999px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--text-h1:2rem;--text-h1--line-height:1.2;--text-h2:1.5rem;--text-h2--line-height:1.3;--text-h3:1.25rem;--text-h3--line-height:1.4;--text-body:.9375rem;--text-body--line-height:1.5;--text-small:.8125rem;--text-small--line-height:1.5;--text-caption:.75rem;--text-caption--line-height:1.4}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.right-0{right:calc(var(--spacing) * 0)}.right-lg{right:var(--spacing-lg)}.bottom-lg{bottom:var(--spacing-lg)}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-lg{margin-top:var(--spacing-lg)}.mt-md{margin-top:var(--spacing-md)}.mt-xs{margin-top:var(--spacing-xs)}.mr-lg{margin-right:var(--spacing-lg)}.mr-sm{margin-right:var(--spacing-sm)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-md{margin-bottom:var(--spacing-md)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-xs{margin-bottom:var(--spacing-xs)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.size-full{width:100%;height:100%}.h-0\\.5{height:calc(var(--spacing) * .5)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-2\\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-20{height:calc(var(--spacing) * 20)}.h-64{height:calc(var(--spacing) * 64)}.h-96{height:calc(var(--spacing) * 96)}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-16{width:calc(var(--spacing) * 16)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-\\[4px\\]{width:4px}.w-\\[8px\\]{width:8px}.w-\\[16px\\]{width:16px}.w-\\[24px\\]{width:24px}.w-\\[32px\\]{width:32px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\\[24rem\\]{max-width:24rem}.max-w-\\[32rem\\]{max-width:32rem}.max-w-\\[42rem\\]{max-width:42rem}.max-w-\\[600px\\]{max-width:600px}.max-w-\\[var\\(--container-6xl\\)\\]{max-width:var(--container-6xl)}.max-w-\\[var\\(--container-md\\)\\]{max-width:var(--container-md)}.max-w-\\[var\\(--container-xl\\)\\]{max-width:var(--container-xl)}.max-w-\\[var\\(--container-xs\\)\\]{max-width:var(--container-xs)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--spacing-md)}.max-w-screen{max-width:100vw}.max-w-sm{max-width:var(--spacing-sm)}.max-w-xl{max-width:var(--spacing-xl)}.max-w-xs{max-width:var(--spacing-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\\[10rem\\]{min-width:10rem}.min-w-\\[500px\\]{min-width:500px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-dialog-in{animation:.2s ease-out dialog-in}.animate-floating-in{animation:.15s ease-out floating-in}.animate-slide-in{animation:.25s ease-out slide-in}.animate-spin{animation:var(--animate-spin)}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2xl{gap:var(--spacing-2xl)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-lg{gap:var(--spacing-lg)}.gap-md{gap:var(--spacing-md)}.gap-px{gap:1px}.gap-sm{gap:var(--spacing-sm)}.gap-xl{gap:var(--spacing-xl)}.gap-xs{gap:var(--spacing-xs)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--color-border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.\\!rounded-lg{border-radius:var(--radius-lg)!important}.\\!rounded-md{border-radius:var(--radius-md)!important}.\\!rounded-sm{border-radius:var(--radius-sm)!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.\\!border{border-style:var(--tw-border-style)!important;border-width:1px!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\\!border-border{border-color:var(--color-border)!important}.\\!border-epfl-canard{border-color:var(--color-epfl-canard)!important}.\\!border-error{border-color:var(--color-error)!important}.\\!border-primary{border-color:var(--color-primary)!important}.border-border{border-color:var(--color-border)}.border-border-strong{border-color:var(--color-border-strong)}.border-error,.border-error\\/30{border-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.border-error\\/30{border-color:color-mix(in oklab,var(--color-error) 30%,transparent)}}.border-info\\/30{border-color:var(--color-info)}@supports (color:color-mix(in lab,red,red)){.border-info\\/30{border-color:color-mix(in oklab,var(--color-info) 30%,transparent)}}.border-primary{border-color:var(--color-primary)}.border-success\\/30{border-color:var(--color-success)}@supports (color:color-mix(in lab,red,red)){.border-success\\/30{border-color:color-mix(in oklab,var(--color-success) 30%,transparent)}}.border-transparent{border-color:#0000}.border-warning\\/30{border-color:var(--color-warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\\/30{border-color:color-mix(in oklab,var(--color-warning) 30%,transparent)}}.\\!bg-bg-tertiary{background-color:var(--color-bg-tertiary)!important}.\\!bg-epfl-canard{background-color:var(--color-epfl-canard)!important}.\\!bg-primary{background-color:var(--color-primary)!important}.bg-bg-primary{background-color:var(--color-bg-primary)}.bg-bg-secondary{background-color:var(--color-bg-secondary)}.bg-bg-tertiary,.bg-bg-tertiary\\/50{background-color:var(--color-bg-tertiary)}@supports (color:color-mix(in lab,red,red)){.bg-bg-tertiary\\/50{background-color:color-mix(in oklab,var(--color-bg-tertiary) 50%,transparent)}}.bg-black\\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-border-strong{background-color:var(--color-border-strong)}.bg-epfl-canard{background-color:var(--color-epfl-canard)}.bg-epfl-canard-dark{background-color:var(--color-epfl-canard-dark)}.bg-epfl-leman{background-color:var(--color-epfl-leman)}.bg-epfl-red{background-color:var(--color-epfl-red)}.bg-epfl-red-dark{background-color:var(--color-epfl-red-dark)}.bg-error{background-color:var(--color-error)}.bg-error-bg{background-color:var(--color-error-bg)}.bg-info{background-color:var(--color-info)}.bg-info-bg{background-color:var(--color-info-bg)}.bg-primary,.bg-primary\\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/5{background-color:color-mix(in oklab,var(--color-primary) 5%,transparent)}}.bg-primary\\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/10{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.bg-success{background-color:var(--color-success)}.bg-success-bg{background-color:var(--color-success-bg)}.bg-text-muted{background-color:var(--color-text-muted)}.bg-text-primary{background-color:var(--color-text-primary)}.bg-warning{background-color:var(--color-warning)}.bg-warning-bg{background-color:var(--color-warning-bg)}.object-cover{object-fit:cover}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2xl{padding:var(--spacing-2xl)}.p-16{padding:calc(var(--spacing) * 16)}.p-lg{padding:var(--spacing-lg)}.p-md{padding:var(--spacing-md)}.p-sm{padding:var(--spacing-sm)}.p-xl{padding:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-lg{padding-inline:var(--spacing-lg)}.px-md{padding-inline:var(--spacing-md)}.px-sm{padding-inline:var(--spacing-sm)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-2xl{padding-block:var(--spacing-2xl)}.py-lg{padding-block:var(--spacing-lg)}.py-md{padding-block:var(--spacing-md)}.py-sm{padding-block:var(--spacing-sm)}.py-xl{padding-block:var(--spacing-xl)}.py-xs{padding-block:var(--spacing-xs)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pt-xl{padding-top:var(--spacing-xl)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-11{padding-left:calc(var(--spacing) * 11)}.pl-14{padding-left:calc(var(--spacing) * 14)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.text-caption{font-size:var(--text-caption);line-height:var(--tw-leading,var(--text-caption--line-height))}.text-h1{font-size:var(--text-h1);line-height:var(--tw-leading,var(--text-h1--line-height))}.text-h2{font-size:var(--text-h2);line-height:var(--tw-leading,var(--text-h2--line-height))}.text-h3{font-size:var(--text-h3);line-height:var(--tw-leading,var(--text-h3--line-height))}.text-small{font-size:var(--text-small);line-height:var(--tw-leading,var(--text-small--line-height))}.leading-\\[1\\.2\\]{--tw-leading:1.2;line-height:1.2}.leading-\\[1\\.3\\]{--tw-leading:1.3;line-height:1.3}.leading-\\[1\\.4\\]{--tw-leading:1.4;line-height:1.4}.leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.\\!text-white{color:var(--color-white)!important}.text-bg-primary{color:var(--color-bg-primary)}.text-epfl-canard{color:var(--color-epfl-canard)}.text-epfl-leman{color:var(--color-epfl-leman)}.text-epfl-red{color:var(--color-epfl-red)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-text-muted{color:var(--color-text-muted)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.\\!shadow-lg{--tw-shadow:0 4px 16px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.\\!shadow-sm{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000f)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-lg{--tw-shadow:0 4px 16px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 2px 8px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 8px 32px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\\!ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.\\!ring-epfl-canard{--tw-ring-color:var(--color-epfl-canard)!important}.\\!ring-primary{--tw-ring-color:var(--color-primary)!important}.transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.peer-checked\\:bg-primary:is(:where(.peer):checked~*){background-color:var(--color-primary)}.peer-focus-visible\\:ring-2:is(:where(.peer):focus-visible~*){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-focus-visible\\:ring-primary:is(:where(.peer):focus-visible~*){--tw-ring-color:var(--color-primary)}.peer-focus-visible\\:ring-offset-2:is(:where(.peer):focus-visible~*){--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.peer-focus-visible\\:ring-offset-bg-primary:is(:where(.peer):focus-visible~*){--tw-ring-offset-color:var(--color-bg-primary)}.peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.placeholder\\:text-text-muted::placeholder{color:var(--color-text-muted)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:top-0\\.5:after{content:var(--tw-content);top:calc(var(--spacing) * .5)}.after\\:left-0\\.5:after{content:var(--tw-content);left:calc(var(--spacing) * .5)}.after\\:size-5:after{content:var(--tw-content);width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.after\\:rounded-full:after{content:var(--tw-content);border-radius:var(--radius-full)}.after\\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\\:shadow-sm:after{content:var(--tw-content);--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.after\\:transition-transform:after{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\\:after\\:translate-x-5:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.checked\\:border-\\[5px\\]:checked{border-style:var(--tw-border-style);border-width:5px}.checked\\:border-primary:checked{border-color:var(--color-primary)}.checked\\:bg-primary:checked{background-color:var(--color-primary)}.checked\\:bg-\\[url\\(\\'data\\:image\\/svg\\+xml\\,\\%3Csvg\\%20viewBox\\%3D\\%220\\%200\\%2016\\%2016\\%22\\%20fill\\%3D\\%22white\\%22\\%20xmlns\\%3D\\%22http\\%3A\\%2F\\%2Fwww\\.w3\\.org\\%2F2000\\%2Fsvg\\%22\\%3E\\%3Cpath\\%20d\\%3D\\%22M12\\.207\\%204\\.793a1\\%201\\%200\\%20010\\%201\\.414l-5\\%205a1\\%201\\%200\\%2001-1\\.414\\%200l-2-2a1\\%201\\%200\\%20011\\.414-1\\.414L6\\.5\\%209\\.086l4\\.293-4\\.293a1\\%201\\%200\\%20011\\.414\\%200z\\%22\\%2F\\%3E\\%3C\\%2Fsvg\\%3E\\'\\)\\]:checked{background-image:url(data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22white%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.207%204.793a1%201%200%20010%201.414l-5%205a1%201%200%2001-1.414%200l-2-2a1%201%200%20011.414-1.414L6.5%209.086l4.293-4.293a1%201%200%20011.414%200z%22%2F%3E%3C%2Fsvg%3E)}.checked\\:bg-center:checked{background-position:50%}.checked\\:bg-no-repeat:checked{background-repeat:no-repeat}.indeterminate\\:border-primary:indeterminate{border-color:var(--color-primary)}.indeterminate\\:bg-primary:indeterminate{background-color:var(--color-primary)}.indeterminate\\:bg-\\[url\\(\\'data\\:image\\/svg\\+xml\\,\\%3Csvg\\%20viewBox\\%3D\\%220\\%200\\%2016\\%2016\\%22\\%20fill\\%3D\\%22white\\%22\\%20xmlns\\%3D\\%22http\\%3A\\%2F\\%2Fwww\\.w3\\.org\\%2F2000\\%2Fsvg\\%22\\%3E\\%3Crect\\%20x\\%3D\\%223\\%22\\%20y\\%3D\\%227\\%22\\%20width\\%3D\\%2210\\%22\\%20height\\%3D\\%222\\%22\\%20rx\\%3D\\%221\\%22\\%2F\\%3E\\%3C\\%2Fsvg\\%3E\\'\\)\\]:indeterminate{background-image:url(data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22white%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%2210%22%20height%3D%222%22%20rx%3D%221%22%2F%3E%3C%2Fsvg%3E)}.indeterminate\\:bg-center:indeterminate{background-position:50%}.indeterminate\\:bg-no-repeat:indeterminate{background-repeat:no-repeat}@media(hover:hover){.hover\\:border-border-strong:hover{border-color:var(--color-border-strong)}.hover\\:border-error:hover{border-color:var(--color-error)}.hover\\:border-primary:hover{border-color:var(--color-primary)}.hover\\:bg-bg-tertiary:hover,.hover\\:bg-bg-tertiary\\/70:hover{background-color:var(--color-bg-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-bg-tertiary\\/70:hover{background-color:color-mix(in oklab,var(--color-bg-tertiary) 70%,transparent)}}.hover\\:bg-error-bg:hover{background-color:var(--color-error-bg)}.hover\\:bg-error\\/80:hover{background-color:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-error\\/80:hover{background-color:color-mix(in oklab,var(--color-error) 80%,transparent)}}.hover\\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\\:text-text-primary:hover{color:var(--color-text-primary)}.hover\\:text-text-secondary:hover{color:var(--color-text-secondary)}.hover\\:opacity-90:hover{opacity:.9}}.focus\\:border-error:focus{border-color:var(--color-error)}.focus\\:border-primary:focus{border-color:var(--color-primary)}.focus\\:bg-bg-tertiary:focus{background-color:var(--color-bg-tertiary)}.focus\\:bg-error-bg:focus{background-color:var(--color-error-bg)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-error:focus{--tw-ring-color:var(--color-error)}.focus\\:ring-primary:focus{--tw-ring-color:var(--color-primary)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-error:focus-visible{--tw-ring-color:var(--color-error)}.focus-visible\\:ring-primary:focus-visible{--tw-ring-color:var(--color-primary)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-bg-primary:focus-visible{--tw-ring-offset-color:var(--color-bg-primary)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-bg-secondary:disabled{background-color:var(--color-bg-secondary)}.disabled\\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:w-1\\/3{width:33.3333%}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:gap-lg{gap:var(--spacing-lg)}}@media(min-width:48rem){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\\:px-lg{padding-inline:var(--spacing-lg)}}.\\[\\&\\>svg\\]\\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\\[\\&\\>svg\\]\\:size-5>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}}:root{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-tertiary:#e6e6e6;--border-default:#d5d5d5;--border-strong:#c1c1c1;--text-primary:#212121;--text-secondary:#707070;--text-muted:#8e8e8e;--semantic-success:#1b874b;--semantic-success-bg:#e8f5e9;--semantic-warning:#d4860a;--semantic-warning-bg:#fff3e0;--semantic-error:#d32f2f;--semantic-error-bg:#ffebee;--semantic-info:#1976d2;--semantic-info-bg:#e3f2fd;--action-primary:#007480;--action-primary-hover:#004248}.dark{--bg-primary:#1a1a1a;--bg-secondary:#242424;--bg-tertiary:#2e2e2e;--border-default:#3a3a3a;--border-strong:#505050;--text-primary:#f0f0f0;--text-secondary:#a0a0a0;--text-muted:#707070;--semantic-success:#34d37a;--semantic-success-bg:#1a2e1a;--semantic-warning:#ffad33;--semantic-warning-bg:#2e2410;--semantic-error:#ff6b6b;--semantic-error-bg:#2e1515;--semantic-info:#64b5f6;--semantic-info-bg:#152538;--action-primary:#009ba6;--action-primary-hover:#007480;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 8px #0006;--shadow-lg:0 4px 16px #00000080;--shadow-xl:0 8px 32px #0009}@keyframes slide-in{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}@keyframes dialog-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes floating-in{0%{opacity:0}to{opacity:1}}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--text-body--line-height);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}`)),document.head.appendChild(r)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
|
|
2
|
+
import { jsx as e, jsxs as m, Fragment as V } from "react/jsx-runtime";
|
|
3
|
+
import { useState as C, forwardRef as z, useRef as D, useCallback as k, useId as j, useEffect as I, createContext as R, useContext as M, useSyncExternalStore as ge, useMemo as K } from "react";
|
|
4
|
+
import { useTranslation as oe } from "react-i18next";
|
|
5
|
+
import { CloudArrowUp as he, X as U, SunFill as ye, MoonFill as ve, List as Ne, ChevronDown as ie, XLg as we, SortDown as ke, SortNumericDown as Ce, SortNumericDownAlt as $e, SortAlphaDown as ze, SortAlphaDownAlt as De, InfoCircleFill as se, XCircleFill as ae, ExclamationTriangleFill as q, CheckCircleFill as le } from "react-bootstrap-icons";
|
|
6
|
+
import { createPortal as Ie } from "react-dom";
|
|
7
|
+
import { useFloating as G, autoUpdate as X, offset as Y, flip as _, shift as W, useClick as ce, useDismiss as J, useRole as Q, useListNavigation as je, useInteractions as Z, FloatingPortal as ee, FloatingFocusManager as de, arrow as Fe, useHover as Ee, useFocus as Se } from "@floating-ui/react";
|
|
8
|
+
import Ae from "react-select";
|
|
9
|
+
const Be = {
|
|
10
10
|
sm: "size-8 text-caption",
|
|
11
11
|
md: "size-10 text-small",
|
|
12
12
|
lg: "size-14 text-body"
|
|
13
13
|
};
|
|
14
|
-
function
|
|
14
|
+
function Pe(t) {
|
|
15
15
|
const r = t.trim().split(/\s+/);
|
|
16
16
|
return r.length === 0 ? "?" : r.length === 1 ? r[0][0].toUpperCase() : (r[0][0] + r[r.length - 1][0]).toUpperCase();
|
|
17
17
|
}
|
|
18
|
-
function
|
|
19
|
-
const [a, c] =
|
|
18
|
+
function Ft({ src: t, name: r, size: o = "md", alt: n, className: s = "", ...i }) {
|
|
19
|
+
const [a, c] = C(!1), d = !!t && !a;
|
|
20
20
|
return /* @__PURE__ */ e(
|
|
21
21
|
"span",
|
|
22
22
|
{
|
|
@@ -25,7 +25,7 @@ function wt({ src: t, name: r, size: o = "md", alt: n, className: s = "", ...i }
|
|
|
25
25
|
className: [
|
|
26
26
|
"inline-flex items-center justify-center rounded-full overflow-hidden",
|
|
27
27
|
"bg-primary text-white font-semibold select-none shrink-0",
|
|
28
|
-
|
|
28
|
+
Be[o],
|
|
29
29
|
s
|
|
30
30
|
].join(" "),
|
|
31
31
|
...i,
|
|
@@ -37,29 +37,29 @@ function wt({ src: t, name: r, size: o = "md", alt: n, className: s = "", ...i }
|
|
|
37
37
|
className: "size-full object-cover",
|
|
38
38
|
onError: () => c(!0)
|
|
39
39
|
}
|
|
40
|
-
) : /* @__PURE__ */ e("span", { "aria-hidden": "true", children:
|
|
40
|
+
) : /* @__PURE__ */ e("span", { "aria-hidden": "true", children: Pe(r) })
|
|
41
41
|
}
|
|
42
42
|
);
|
|
43
43
|
}
|
|
44
|
-
const
|
|
44
|
+
const Le = {
|
|
45
45
|
default: "bg-bg-tertiary text-text-primary",
|
|
46
46
|
success: "bg-success-bg text-success",
|
|
47
47
|
warning: "bg-warning-bg text-warning",
|
|
48
48
|
error: "bg-error-bg text-error",
|
|
49
49
|
info: "bg-info-bg text-info"
|
|
50
|
-
},
|
|
50
|
+
}, Te = {
|
|
51
51
|
default: "bg-text-muted",
|
|
52
52
|
success: "bg-success",
|
|
53
53
|
warning: "bg-warning",
|
|
54
54
|
error: "bg-error",
|
|
55
55
|
info: "bg-info"
|
|
56
56
|
};
|
|
57
|
-
function
|
|
57
|
+
function Et({ color: t = "default", dot: r, className: o = "", children: n, ...s }) {
|
|
58
58
|
return r ? /* @__PURE__ */ e(
|
|
59
59
|
"span",
|
|
60
60
|
{
|
|
61
61
|
role: "status",
|
|
62
|
-
className: `inline-block size-2.5 rounded-full ${
|
|
62
|
+
className: `inline-block size-2.5 rounded-full ${Te[t]} ${o}`,
|
|
63
63
|
...s
|
|
64
64
|
}
|
|
65
65
|
) : /* @__PURE__ */ e(
|
|
@@ -68,7 +68,7 @@ function Nt({ color: t = "default", dot: r, className: o = "", children: n, ...s
|
|
|
68
68
|
className: [
|
|
69
69
|
"inline-flex items-center rounded-sm px-2 py-0.5",
|
|
70
70
|
"text-caption font-medium leading-none",
|
|
71
|
-
|
|
71
|
+
Le[t],
|
|
72
72
|
o
|
|
73
73
|
].join(" "),
|
|
74
74
|
...s,
|
|
@@ -76,19 +76,19 @@ function Nt({ color: t = "default", dot: r, className: o = "", children: n, ...s
|
|
|
76
76
|
}
|
|
77
77
|
);
|
|
78
78
|
}
|
|
79
|
-
const
|
|
79
|
+
const Re = {
|
|
80
80
|
sm: "size-4",
|
|
81
81
|
md: "size-6",
|
|
82
82
|
lg: "size-8"
|
|
83
83
|
};
|
|
84
|
-
function
|
|
84
|
+
function me({ size: t = "md", className: r = "", ...o }) {
|
|
85
85
|
return /* @__PURE__ */ m(
|
|
86
86
|
"svg",
|
|
87
87
|
{
|
|
88
88
|
viewBox: "0 0 24 24",
|
|
89
89
|
fill: "none",
|
|
90
90
|
xmlns: "http://www.w3.org/2000/svg",
|
|
91
|
-
className: `animate-spin ${
|
|
91
|
+
className: `animate-spin ${Re[t]} ${r}`,
|
|
92
92
|
role: "status",
|
|
93
93
|
"aria-label": "Loading",
|
|
94
94
|
...o,
|
|
@@ -116,20 +116,20 @@ function se({ size: t = "md", className: r = "", ...o }) {
|
|
|
116
116
|
}
|
|
117
117
|
);
|
|
118
118
|
}
|
|
119
|
-
const
|
|
119
|
+
const Me = {
|
|
120
120
|
primary: "bg-primary text-white hover:bg-primary-hover focus-visible:ring-primary",
|
|
121
121
|
secondary: "border border-border text-text-primary bg-bg-primary hover:bg-bg-tertiary focus-visible:ring-primary",
|
|
122
122
|
ghost: "text-text-primary hover:bg-bg-tertiary focus-visible:ring-primary",
|
|
123
123
|
danger: "bg-error text-white hover:opacity-90 focus-visible:ring-error"
|
|
124
|
-
},
|
|
124
|
+
}, Oe = {
|
|
125
125
|
sm: "text-small px-3 py-1 gap-1.5",
|
|
126
126
|
md: "text-body px-4 py-2 gap-2",
|
|
127
127
|
lg: "text-body px-5 py-2.5 gap-2"
|
|
128
|
-
},
|
|
128
|
+
}, Ve = {
|
|
129
129
|
sm: "sm",
|
|
130
130
|
md: "sm",
|
|
131
131
|
lg: "md"
|
|
132
|
-
},
|
|
132
|
+
}, St = z(function({
|
|
133
133
|
variant: r = "primary",
|
|
134
134
|
size: o = "md",
|
|
135
135
|
loading: n = !1,
|
|
@@ -140,13 +140,13 @@ const Ae = {
|
|
|
140
140
|
children: d,
|
|
141
141
|
...l
|
|
142
142
|
}, u) {
|
|
143
|
-
const
|
|
143
|
+
const f = s || n;
|
|
144
144
|
return /* @__PURE__ */ m(
|
|
145
145
|
"button",
|
|
146
146
|
{
|
|
147
147
|
ref: u,
|
|
148
148
|
type: "button",
|
|
149
|
-
disabled:
|
|
149
|
+
disabled: f,
|
|
150
150
|
"aria-busy": n || void 0,
|
|
151
151
|
className: [
|
|
152
152
|
// base
|
|
@@ -154,30 +154,30 @@ const Ae = {
|
|
|
154
154
|
"transition-colors duration-150 cursor-pointer",
|
|
155
155
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
156
156
|
// variant + size
|
|
157
|
-
|
|
158
|
-
|
|
157
|
+
Me[r],
|
|
158
|
+
Oe[o],
|
|
159
159
|
// disabled / loading
|
|
160
|
-
|
|
160
|
+
f && "opacity-50 pointer-events-none",
|
|
161
161
|
c
|
|
162
162
|
].filter(Boolean).join(" "),
|
|
163
163
|
...l,
|
|
164
164
|
children: [
|
|
165
|
-
n ? /* @__PURE__ */ e(
|
|
165
|
+
n ? /* @__PURE__ */ e(me, { size: Ve[o], "aria-hidden": "true" }) : i,
|
|
166
166
|
d,
|
|
167
167
|
!n && a
|
|
168
168
|
]
|
|
169
169
|
}
|
|
170
170
|
);
|
|
171
|
-
}),
|
|
171
|
+
}), Ue = {
|
|
172
172
|
primary: "bg-primary text-white hover:bg-primary-hover focus-visible:ring-primary",
|
|
173
173
|
secondary: "border border-border text-text-primary bg-bg-primary hover:bg-bg-tertiary focus-visible:ring-primary",
|
|
174
174
|
ghost: "text-text-primary hover:bg-bg-tertiary focus-visible:ring-primary",
|
|
175
175
|
danger: "bg-error text-white hover:opacity-90 focus-visible:ring-error"
|
|
176
|
-
},
|
|
176
|
+
}, Ke = {
|
|
177
177
|
sm: "size-7 text-small",
|
|
178
178
|
md: "size-9 text-body",
|
|
179
179
|
lg: "size-11 text-body"
|
|
180
|
-
},
|
|
180
|
+
}, He = z(function({ variant: r = "ghost", size: o = "md", loading: n = !1, disabled: s, icon: i, className: a = "", ...c }, d) {
|
|
181
181
|
const l = s || n;
|
|
182
182
|
return /* @__PURE__ */ e(
|
|
183
183
|
"button",
|
|
@@ -192,17 +192,204 @@ const Ae = {
|
|
|
192
192
|
"transition-colors duration-150 cursor-pointer",
|
|
193
193
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
194
194
|
// variant + size
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
Ue[r],
|
|
196
|
+
Ke[o],
|
|
197
197
|
// disabled / loading
|
|
198
198
|
l && "opacity-50 pointer-events-none",
|
|
199
199
|
a
|
|
200
200
|
].filter(Boolean).join(" "),
|
|
201
201
|
...c,
|
|
202
|
-
children: n ? /* @__PURE__ */ e(
|
|
202
|
+
children: n ? /* @__PURE__ */ e(me, { size: "sm", "aria-hidden": "true" }) : i
|
|
203
203
|
}
|
|
204
204
|
);
|
|
205
|
-
})
|
|
205
|
+
});
|
|
206
|
+
function qe(t) {
|
|
207
|
+
return t < 1024 ? `${t} B` : t < 1024 * 1024 ? `${(t / 1024).toFixed(1)} KB` : `${(t / (1024 * 1024)).toFixed(1)} MB`;
|
|
208
|
+
}
|
|
209
|
+
function At({
|
|
210
|
+
accept: t,
|
|
211
|
+
multiple: r = !1,
|
|
212
|
+
maxSize: o,
|
|
213
|
+
onFilesSelected: n,
|
|
214
|
+
onReject: s,
|
|
215
|
+
disabled: i = !1,
|
|
216
|
+
label: a = "Drop files here or click to browse",
|
|
217
|
+
helperText: c,
|
|
218
|
+
error: d,
|
|
219
|
+
illustration: l,
|
|
220
|
+
className: u = ""
|
|
221
|
+
}) {
|
|
222
|
+
const [f, h] = C(!1), [p, y] = C([]), b = D(null), v = !!d, N = k(
|
|
223
|
+
(w) => {
|
|
224
|
+
const S = Array.from(w), A = [], L = [];
|
|
225
|
+
for (const P of S)
|
|
226
|
+
o && P.size > o ? L.push(P) : A.push(P);
|
|
227
|
+
if (A.length > 0) {
|
|
228
|
+
const P = r ? [...p, ...A] : A.slice(0, 1);
|
|
229
|
+
y(P), n?.(P);
|
|
230
|
+
}
|
|
231
|
+
L.length > 0 && s?.(L);
|
|
232
|
+
},
|
|
233
|
+
[o, r, n, s, p]
|
|
234
|
+
), g = k(
|
|
235
|
+
(w) => {
|
|
236
|
+
w.preventDefault(), i || h(!0);
|
|
237
|
+
},
|
|
238
|
+
[i]
|
|
239
|
+
), x = k((w) => {
|
|
240
|
+
w.preventDefault(), h(!1);
|
|
241
|
+
}, []), $ = k(
|
|
242
|
+
(w) => {
|
|
243
|
+
w.preventDefault(), h(!1), !(i || !w.dataTransfer.files.length) && N(w.dataTransfer.files);
|
|
244
|
+
},
|
|
245
|
+
[i, N]
|
|
246
|
+
), B = k(
|
|
247
|
+
(w) => {
|
|
248
|
+
w.target.files?.length && N(w.target.files);
|
|
249
|
+
},
|
|
250
|
+
[N]
|
|
251
|
+
), F = k(() => {
|
|
252
|
+
i || b.current?.click();
|
|
253
|
+
}, [i]), E = k(
|
|
254
|
+
(w) => {
|
|
255
|
+
!i && (w.key === "Enter" || w.key === " ") && (w.preventDefault(), b.current?.click());
|
|
256
|
+
},
|
|
257
|
+
[i]
|
|
258
|
+
), O = k(
|
|
259
|
+
(w) => {
|
|
260
|
+
const S = p.filter((A, L) => L !== w);
|
|
261
|
+
y(S), n?.(S);
|
|
262
|
+
},
|
|
263
|
+
[p, n]
|
|
264
|
+
);
|
|
265
|
+
return /* @__PURE__ */ m("div", { className: `flex flex-col gap-1.5 ${u}`, children: [
|
|
266
|
+
/* @__PURE__ */ m(
|
|
267
|
+
"div",
|
|
268
|
+
{
|
|
269
|
+
role: "button",
|
|
270
|
+
tabIndex: i ? -1 : 0,
|
|
271
|
+
onClick: F,
|
|
272
|
+
onKeyDown: E,
|
|
273
|
+
onDragOver: g,
|
|
274
|
+
onDragLeave: x,
|
|
275
|
+
onDrop: $,
|
|
276
|
+
className: [
|
|
277
|
+
"flex flex-col items-center justify-center gap-2 rounded-lg border-2 border-dashed p-lg",
|
|
278
|
+
"transition-colors cursor-pointer select-none",
|
|
279
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
|
|
280
|
+
i ? "opacity-50 pointer-events-none bg-bg-secondary" : f ? "border-primary bg-primary/5" : v ? "border-error hover:border-error bg-bg-primary" : "border-border hover:border-primary bg-bg-primary"
|
|
281
|
+
].filter(Boolean).join(" "),
|
|
282
|
+
"aria-disabled": i,
|
|
283
|
+
children: [
|
|
284
|
+
l ?? /* @__PURE__ */ e(
|
|
285
|
+
he,
|
|
286
|
+
{
|
|
287
|
+
size: 32,
|
|
288
|
+
className: f ? "text-primary" : "text-text-muted",
|
|
289
|
+
"aria-hidden": !0
|
|
290
|
+
}
|
|
291
|
+
),
|
|
292
|
+
/* @__PURE__ */ e("span", { className: "text-body font-medium text-text-primary text-center", children: a }),
|
|
293
|
+
c && /* @__PURE__ */ e("span", { className: "text-caption text-text-secondary text-center", children: c })
|
|
294
|
+
]
|
|
295
|
+
}
|
|
296
|
+
),
|
|
297
|
+
/* @__PURE__ */ e(
|
|
298
|
+
"input",
|
|
299
|
+
{
|
|
300
|
+
ref: b,
|
|
301
|
+
type: "file",
|
|
302
|
+
accept: t,
|
|
303
|
+
multiple: r,
|
|
304
|
+
onChange: B,
|
|
305
|
+
className: "hidden",
|
|
306
|
+
tabIndex: -1,
|
|
307
|
+
"aria-hidden": !0
|
|
308
|
+
}
|
|
309
|
+
),
|
|
310
|
+
d && /* @__PURE__ */ e("p", { className: "text-caption text-error", children: d }),
|
|
311
|
+
p.length > 0 && /* @__PURE__ */ e("ul", { className: "flex flex-col gap-1 mt-1", children: p.map((w, S) => /* @__PURE__ */ m(
|
|
312
|
+
"li",
|
|
313
|
+
{
|
|
314
|
+
className: "flex items-center gap-2 rounded-md bg-bg-secondary px-3 py-1.5 text-small text-text-primary",
|
|
315
|
+
children: [
|
|
316
|
+
/* @__PURE__ */ e("span", { className: "truncate flex-1", children: w.name }),
|
|
317
|
+
/* @__PURE__ */ e("span", { className: "shrink-0 text-text-secondary", children: qe(w.size) }),
|
|
318
|
+
/* @__PURE__ */ e(
|
|
319
|
+
"button",
|
|
320
|
+
{
|
|
321
|
+
type: "button",
|
|
322
|
+
onClick: (A) => {
|
|
323
|
+
A.stopPropagation(), O(S);
|
|
324
|
+
},
|
|
325
|
+
className: "shrink-0 p-0.5 rounded-sm text-text-secondary hover:text-text-primary hover:bg-bg-tertiary transition-colors cursor-pointer",
|
|
326
|
+
"aria-label": `Remove ${w.name}`,
|
|
327
|
+
children: /* @__PURE__ */ e(U, { size: 14 })
|
|
328
|
+
}
|
|
329
|
+
)
|
|
330
|
+
]
|
|
331
|
+
},
|
|
332
|
+
`${w.name}-${w.size}-${S}`
|
|
333
|
+
)) })
|
|
334
|
+
] });
|
|
335
|
+
}
|
|
336
|
+
const Ge = {
|
|
337
|
+
sm: "h-1.5",
|
|
338
|
+
md: "h-2.5",
|
|
339
|
+
lg: "h-4"
|
|
340
|
+
}, Xe = {
|
|
341
|
+
primary: "bg-primary",
|
|
342
|
+
success: "bg-success",
|
|
343
|
+
warning: "bg-warning",
|
|
344
|
+
error: "bg-error",
|
|
345
|
+
info: "bg-info"
|
|
346
|
+
}, Bt = z(
|
|
347
|
+
function({
|
|
348
|
+
value: r,
|
|
349
|
+
variant: o = "primary",
|
|
350
|
+
size: n = "md",
|
|
351
|
+
showLabel: s = !1,
|
|
352
|
+
formatLabel: i,
|
|
353
|
+
className: a = "",
|
|
354
|
+
...c
|
|
355
|
+
}, d) {
|
|
356
|
+
const l = Math.round(Math.min(100, Math.max(0, r))), u = i ? i(l) : `${l}%`;
|
|
357
|
+
return /* @__PURE__ */ m(
|
|
358
|
+
"div",
|
|
359
|
+
{
|
|
360
|
+
ref: d,
|
|
361
|
+
className: `flex items-center gap-2 ${a}`,
|
|
362
|
+
...c,
|
|
363
|
+
children: [
|
|
364
|
+
/* @__PURE__ */ e(
|
|
365
|
+
"div",
|
|
366
|
+
{
|
|
367
|
+
className: [
|
|
368
|
+
"flex-1 overflow-hidden rounded-full bg-bg-tertiary",
|
|
369
|
+
Ge[n]
|
|
370
|
+
].join(" "),
|
|
371
|
+
role: "progressbar",
|
|
372
|
+
"aria-valuenow": l,
|
|
373
|
+
"aria-valuemin": 0,
|
|
374
|
+
"aria-valuemax": 100,
|
|
375
|
+
children: /* @__PURE__ */ e(
|
|
376
|
+
"div",
|
|
377
|
+
{
|
|
378
|
+
className: [
|
|
379
|
+
"h-full rounded-full transition-all duration-300 ease-out",
|
|
380
|
+
Xe[o]
|
|
381
|
+
].join(" "),
|
|
382
|
+
style: { width: `${l}%` }
|
|
383
|
+
}
|
|
384
|
+
)
|
|
385
|
+
}
|
|
386
|
+
),
|
|
387
|
+
s && /* @__PURE__ */ e("span", { className: "text-small font-medium text-text-secondary tabular-nums shrink-0", children: u })
|
|
388
|
+
]
|
|
389
|
+
}
|
|
390
|
+
);
|
|
391
|
+
}
|
|
392
|
+
), Pt = z(function({
|
|
206
393
|
label: r,
|
|
207
394
|
indeterminate: o = !1,
|
|
208
395
|
helperText: n,
|
|
@@ -212,21 +399,21 @@ const Ae = {
|
|
|
212
399
|
disabled: c,
|
|
213
400
|
...d
|
|
214
401
|
}, l) {
|
|
215
|
-
const u =
|
|
402
|
+
const u = j(), f = a ?? u, h = `${f}-helper`, p = !!s, y = D(null), b = k(
|
|
216
403
|
(v) => {
|
|
217
404
|
y.current = v, typeof l == "function" ? l(v) : l && (l.current = v);
|
|
218
405
|
},
|
|
219
406
|
[l]
|
|
220
407
|
);
|
|
221
|
-
return
|
|
408
|
+
return I(() => {
|
|
222
409
|
y.current && (y.current.indeterminate = o);
|
|
223
410
|
}, [o]), /* @__PURE__ */ m("div", { className: `flex flex-col gap-1 ${i}`, children: [
|
|
224
411
|
/* @__PURE__ */ m("div", { className: "flex items-start gap-2", children: [
|
|
225
412
|
/* @__PURE__ */ e(
|
|
226
413
|
"input",
|
|
227
414
|
{
|
|
228
|
-
ref:
|
|
229
|
-
id:
|
|
415
|
+
ref: b,
|
|
416
|
+
id: f,
|
|
230
417
|
type: "checkbox",
|
|
231
418
|
disabled: c,
|
|
232
419
|
"aria-invalid": p || void 0,
|
|
@@ -250,7 +437,7 @@ const Ae = {
|
|
|
250
437
|
r && /* @__PURE__ */ e(
|
|
251
438
|
"label",
|
|
252
439
|
{
|
|
253
|
-
htmlFor:
|
|
440
|
+
htmlFor: f,
|
|
254
441
|
className: `text-body select-none ${c ? "text-text-muted cursor-not-allowed" : "text-text-primary cursor-pointer"}`,
|
|
255
442
|
children: r
|
|
256
443
|
}
|
|
@@ -265,23 +452,23 @@ const Ae = {
|
|
|
265
452
|
}
|
|
266
453
|
)
|
|
267
454
|
] });
|
|
268
|
-
}),
|
|
455
|
+
}), Ye = {
|
|
269
456
|
sm: "h-8 text-small px-2.5",
|
|
270
457
|
md: "h-10 text-body px-3",
|
|
271
458
|
lg: "h-12 text-body px-3.5"
|
|
272
|
-
},
|
|
459
|
+
}, _e = {
|
|
273
460
|
sm: "pl-8",
|
|
274
461
|
md: "pl-10",
|
|
275
462
|
lg: "pl-11"
|
|
276
|
-
},
|
|
463
|
+
}, We = {
|
|
277
464
|
sm: "pr-8",
|
|
278
465
|
md: "pr-10",
|
|
279
466
|
lg: "pr-11"
|
|
280
|
-
},
|
|
467
|
+
}, re = {
|
|
281
468
|
sm: "[&>svg]:size-4",
|
|
282
469
|
md: "[&>svg]:size-5",
|
|
283
470
|
lg: "[&>svg]:size-5"
|
|
284
|
-
},
|
|
471
|
+
}, Lt = z(function({
|
|
285
472
|
label: r,
|
|
286
473
|
helperText: o,
|
|
287
474
|
error: n,
|
|
@@ -292,15 +479,15 @@ const Ae = {
|
|
|
292
479
|
id: d,
|
|
293
480
|
disabled: l,
|
|
294
481
|
...u
|
|
295
|
-
},
|
|
296
|
-
const h =
|
|
482
|
+
}, f) {
|
|
483
|
+
const h = j(), p = d ?? h, y = `${p}-helper`, b = !!n;
|
|
297
484
|
return /* @__PURE__ */ m("div", { className: `flex flex-col gap-1.5 ${c}`, children: [
|
|
298
485
|
r && /* @__PURE__ */ e("label", { htmlFor: p, className: "text-small font-medium text-text-primary", children: r }),
|
|
299
486
|
/* @__PURE__ */ m("div", { className: "relative", children: [
|
|
300
487
|
s && /* @__PURE__ */ e(
|
|
301
488
|
"span",
|
|
302
489
|
{
|
|
303
|
-
className: `pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3 text-text-secondary ${
|
|
490
|
+
className: `pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3 text-text-secondary ${re[a]}`,
|
|
304
491
|
"aria-hidden": "true",
|
|
305
492
|
children: s
|
|
306
493
|
}
|
|
@@ -308,20 +495,20 @@ const Ae = {
|
|
|
308
495
|
/* @__PURE__ */ e(
|
|
309
496
|
"input",
|
|
310
497
|
{
|
|
311
|
-
ref:
|
|
498
|
+
ref: f,
|
|
312
499
|
id: p,
|
|
313
500
|
disabled: l,
|
|
314
|
-
"aria-invalid":
|
|
501
|
+
"aria-invalid": b || void 0,
|
|
315
502
|
"aria-describedby": o || n ? y : void 0,
|
|
316
503
|
className: [
|
|
317
504
|
"w-full rounded-md border bg-bg-primary text-text-primary placeholder:text-text-muted",
|
|
318
505
|
"outline-none transition-colors",
|
|
319
506
|
"focus:border-primary focus:ring-1 focus:ring-primary",
|
|
320
507
|
"disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-bg-secondary",
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
s ?
|
|
324
|
-
i ?
|
|
508
|
+
b ? "border-error focus:border-error focus:ring-error" : "border-border hover:border-border-strong",
|
|
509
|
+
Ye[a],
|
|
510
|
+
s ? _e[a] : "",
|
|
511
|
+
i ? We[a] : ""
|
|
325
512
|
].join(" "),
|
|
326
513
|
...u
|
|
327
514
|
}
|
|
@@ -329,7 +516,7 @@ const Ae = {
|
|
|
329
516
|
i && /* @__PURE__ */ e(
|
|
330
517
|
"span",
|
|
331
518
|
{
|
|
332
|
-
className: `pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3 text-text-secondary ${
|
|
519
|
+
className: `pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3 text-text-secondary ${re[a]}`,
|
|
333
520
|
"aria-hidden": "true",
|
|
334
521
|
children: i
|
|
335
522
|
}
|
|
@@ -339,18 +526,18 @@ const Ae = {
|
|
|
339
526
|
"p",
|
|
340
527
|
{
|
|
341
528
|
id: y,
|
|
342
|
-
className: `text-caption ${
|
|
529
|
+
className: `text-caption ${b ? "text-error" : "text-text-secondary"}`,
|
|
343
530
|
children: n ?? o
|
|
344
531
|
}
|
|
345
532
|
)
|
|
346
533
|
] });
|
|
347
|
-
}),
|
|
348
|
-
function
|
|
349
|
-
const t =
|
|
534
|
+
}), ue = R(null);
|
|
535
|
+
function Je() {
|
|
536
|
+
const t = M(ue);
|
|
350
537
|
if (!t) throw new Error("RadioGroup.Item must be used within RadioGroup");
|
|
351
538
|
return t;
|
|
352
539
|
}
|
|
353
|
-
function
|
|
540
|
+
function Qe({
|
|
354
541
|
name: t,
|
|
355
542
|
value: r,
|
|
356
543
|
onChange: o,
|
|
@@ -362,8 +549,8 @@ function He({
|
|
|
362
549
|
children: d,
|
|
363
550
|
className: l = ""
|
|
364
551
|
}) {
|
|
365
|
-
const u =
|
|
366
|
-
return /* @__PURE__ */ e(
|
|
552
|
+
const u = j(), f = t ?? u, p = `${`${f}-group`}-helper`, y = !!i;
|
|
553
|
+
return /* @__PURE__ */ e(ue.Provider, { value: { name: f, value: r, onChange: o, disabled: c, hasError: y }, children: /* @__PURE__ */ m(
|
|
367
554
|
"fieldset",
|
|
368
555
|
{
|
|
369
556
|
className: `flex flex-col gap-2 ${l}`,
|
|
@@ -391,14 +578,14 @@ function He({
|
|
|
391
578
|
}
|
|
392
579
|
) });
|
|
393
580
|
}
|
|
394
|
-
function
|
|
581
|
+
function Ze({ value: t, label: r, description: o, disabled: n }) {
|
|
395
582
|
const {
|
|
396
583
|
name: s,
|
|
397
584
|
value: i,
|
|
398
585
|
onChange: a,
|
|
399
586
|
disabled: c,
|
|
400
587
|
hasError: d
|
|
401
|
-
} =
|
|
588
|
+
} = Je(), l = j(), u = c || n;
|
|
402
589
|
return /* @__PURE__ */ m("div", { className: "flex items-start gap-2", children: [
|
|
403
590
|
/* @__PURE__ */ e(
|
|
404
591
|
"input",
|
|
@@ -433,8 +620,8 @@ function qe({ value: t, label: r, description: o, disabled: n }) {
|
|
|
433
620
|
] })
|
|
434
621
|
] });
|
|
435
622
|
}
|
|
436
|
-
|
|
437
|
-
const
|
|
623
|
+
Qe.Item = Ze;
|
|
624
|
+
const et = (t) => ({
|
|
438
625
|
...t,
|
|
439
626
|
borderRadius: 8,
|
|
440
627
|
colors: {
|
|
@@ -467,25 +654,30 @@ const Ke = (t) => ({
|
|
|
467
654
|
danger: "var(--color-error)",
|
|
468
655
|
dangerLight: "var(--color-error-bg)"
|
|
469
656
|
}
|
|
470
|
-
}),
|
|
657
|
+
}), ne = {
|
|
471
658
|
control: ({ isFocused: t }) => `!shadow-sm !rounded-md !border-border ${t ? "!border-primary !ring-1 !ring-primary" : ""}`,
|
|
472
659
|
menu: () => "!rounded-lg !shadow-lg !border !border-border",
|
|
473
660
|
option: ({ isFocused: t, isSelected: r }) => `${r ? "!bg-primary !text-white" : t ? "!bg-bg-tertiary" : ""}`,
|
|
474
661
|
multiValue: () => "!rounded-sm !bg-bg-tertiary"
|
|
475
662
|
};
|
|
476
|
-
function
|
|
477
|
-
const i =
|
|
663
|
+
function Tt({ label: t, helperText: r, error: o, className: n = "", ...s }) {
|
|
664
|
+
const i = j(), a = s.inputId ?? i, c = `${a}-helper`, d = !!o;
|
|
478
665
|
return /* @__PURE__ */ m("div", { className: `flex flex-col gap-1.5 ${n}`, children: [
|
|
479
666
|
t && /* @__PURE__ */ e("label", { htmlFor: a, className: "text-small font-medium text-text-primary", children: t }),
|
|
480
667
|
/* @__PURE__ */ e(
|
|
481
|
-
|
|
668
|
+
Ae,
|
|
482
669
|
{
|
|
483
670
|
inputId: a,
|
|
484
|
-
theme:
|
|
671
|
+
theme: et,
|
|
672
|
+
menuPortalTarget: document.body,
|
|
673
|
+
styles: {
|
|
674
|
+
menuPortal: (l) => ({ ...l, zIndex: 50 }),
|
|
675
|
+
...s.styles
|
|
676
|
+
},
|
|
485
677
|
classNames: {
|
|
486
|
-
...
|
|
678
|
+
...ne,
|
|
487
679
|
control: (l) => {
|
|
488
|
-
const u =
|
|
680
|
+
const u = ne.control?.(l) ?? "";
|
|
489
681
|
return d ? `${u} !border-error !focus:ring-error` : u;
|
|
490
682
|
}
|
|
491
683
|
},
|
|
@@ -504,8 +696,8 @@ function $t({ label: t, helperText: r, error: o, className: n = "", ...s }) {
|
|
|
504
696
|
)
|
|
505
697
|
] });
|
|
506
698
|
}
|
|
507
|
-
const
|
|
508
|
-
const d =
|
|
699
|
+
const Rt = z(function({ label: r, helperText: o, className: n = "", id: s, disabled: i, ...a }, c) {
|
|
700
|
+
const d = j(), l = s ?? d, u = `${l}-helper`;
|
|
509
701
|
return /* @__PURE__ */ m("div", { className: `flex flex-col gap-1 ${n}`, children: [
|
|
510
702
|
/* @__PURE__ */ m("div", { className: "flex items-center gap-3", children: [
|
|
511
703
|
/* @__PURE__ */ m("div", { className: "relative inline-flex items-center", children: [
|
|
@@ -553,7 +745,7 @@ const Dt = C(function({ label: r, helperText: o, className: n = "", id: s, disab
|
|
|
553
745
|
] }),
|
|
554
746
|
o && /* @__PURE__ */ e("p", { id: u, className: "text-caption text-text-secondary pl-14", children: o })
|
|
555
747
|
] });
|
|
556
|
-
}),
|
|
748
|
+
}), Mt = z(function({
|
|
557
749
|
label: r,
|
|
558
750
|
helperText: o,
|
|
559
751
|
error: n,
|
|
@@ -564,19 +756,19 @@ const Dt = C(function({ label: r, helperText: o, className: n = "", id: s, disab
|
|
|
564
756
|
disabled: d,
|
|
565
757
|
onChange: l,
|
|
566
758
|
...u
|
|
567
|
-
},
|
|
568
|
-
const h =
|
|
759
|
+
}, f) {
|
|
760
|
+
const h = j(), p = c ?? h, y = `${p}-helper`, b = !!n, v = D(null), N = k(() => {
|
|
569
761
|
const x = v.current;
|
|
570
762
|
!x || !s || (x.style.height = "auto", x.style.height = `${x.scrollHeight}px`);
|
|
571
763
|
}, [s]);
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
}, [
|
|
764
|
+
I(() => {
|
|
765
|
+
N();
|
|
766
|
+
}, [N, u.value, u.defaultValue]);
|
|
575
767
|
const g = k(
|
|
576
768
|
(x) => {
|
|
577
|
-
v.current = x, typeof
|
|
769
|
+
v.current = x, typeof f == "function" ? f(x) : f && (f.current = x);
|
|
578
770
|
},
|
|
579
|
-
[
|
|
771
|
+
[f]
|
|
580
772
|
);
|
|
581
773
|
return /* @__PURE__ */ m("div", { className: `flex flex-col gap-1.5 ${a}`, children: [
|
|
582
774
|
r && /* @__PURE__ */ e("label", { htmlFor: p, className: "text-small font-medium text-text-primary", children: r }),
|
|
@@ -587,10 +779,10 @@ const Dt = C(function({ label: r, helperText: o, className: n = "", id: s, disab
|
|
|
587
779
|
id: p,
|
|
588
780
|
rows: i,
|
|
589
781
|
disabled: d,
|
|
590
|
-
"aria-invalid":
|
|
782
|
+
"aria-invalid": b || void 0,
|
|
591
783
|
"aria-describedby": o || n ? y : void 0,
|
|
592
784
|
onChange: (x) => {
|
|
593
|
-
l?.(x),
|
|
785
|
+
l?.(x), N();
|
|
594
786
|
},
|
|
595
787
|
className: [
|
|
596
788
|
"w-full rounded-md border bg-bg-primary text-text-primary placeholder:text-text-muted",
|
|
@@ -598,7 +790,7 @@ const Dt = C(function({ label: r, helperText: o, className: n = "", id: s, disab
|
|
|
598
790
|
"focus:border-primary focus:ring-1 focus:ring-primary",
|
|
599
791
|
"disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-bg-secondary",
|
|
600
792
|
s ? "resize-none overflow-hidden" : "resize-y",
|
|
601
|
-
|
|
793
|
+
b ? "border-error focus:border-error focus:ring-error" : "border-border hover:border-border-strong"
|
|
602
794
|
].join(" "),
|
|
603
795
|
...u
|
|
604
796
|
}
|
|
@@ -607,12 +799,12 @@ const Dt = C(function({ label: r, helperText: o, className: n = "", id: s, disab
|
|
|
607
799
|
"p",
|
|
608
800
|
{
|
|
609
801
|
id: y,
|
|
610
|
-
className: `text-caption ${
|
|
802
|
+
className: `text-caption ${b ? "text-error" : "text-text-secondary"}`,
|
|
611
803
|
children: n ?? o
|
|
612
804
|
}
|
|
613
805
|
)
|
|
614
806
|
] });
|
|
615
|
-
}),
|
|
807
|
+
}), pe = R({
|
|
616
808
|
close: () => {
|
|
617
809
|
},
|
|
618
810
|
getItemProps: () => ({}),
|
|
@@ -620,11 +812,11 @@ const Dt = C(function({ label: r, helperText: o, className: n = "", id: s, disab
|
|
|
620
812
|
setActiveIndex: () => {
|
|
621
813
|
}
|
|
622
814
|
});
|
|
623
|
-
function
|
|
815
|
+
function Ot() {
|
|
624
816
|
return /* @__PURE__ */ e("div", { role: "separator", className: "my-1 border-t border-border" });
|
|
625
817
|
}
|
|
626
|
-
const
|
|
627
|
-
const { close: l } =
|
|
818
|
+
const Vt = z(function({ children: r, icon: o, danger: n = !1, disabled: s = !1, onClick: i, className: a = "", ...c }, d) {
|
|
819
|
+
const { close: l } = M(pe);
|
|
628
820
|
return /* @__PURE__ */ m(
|
|
629
821
|
"button",
|
|
630
822
|
{
|
|
@@ -650,32 +842,32 @@ const Ft = C(function({ children: r, icon: o, danger: n = !1, disabled: s = !1,
|
|
|
650
842
|
}
|
|
651
843
|
);
|
|
652
844
|
});
|
|
653
|
-
function
|
|
845
|
+
function Ut({
|
|
654
846
|
trigger: t,
|
|
655
847
|
children: r,
|
|
656
848
|
placement: o = "bottom-start",
|
|
657
849
|
className: n = ""
|
|
658
850
|
}) {
|
|
659
|
-
const [s, i] =
|
|
851
|
+
const [s, i] = C(!1), [a, c] = C(null), d = D([]), { refs: l, floatingStyles: u, context: f } = G({
|
|
660
852
|
open: s,
|
|
661
853
|
onOpenChange: i,
|
|
662
854
|
placement: o,
|
|
663
|
-
middleware: [
|
|
664
|
-
whileElementsMounted:
|
|
665
|
-
}), h =
|
|
855
|
+
middleware: [Y(4), _(), W({ padding: 8 })],
|
|
856
|
+
whileElementsMounted: X
|
|
857
|
+
}), h = ce(f), p = J(f), y = Q(f, { role: "menu" }), b = je(f, {
|
|
666
858
|
listRef: d,
|
|
667
859
|
activeIndex: a,
|
|
668
860
|
onNavigate: c,
|
|
669
861
|
loop: !0
|
|
670
|
-
}), { getReferenceProps: v, getFloatingProps:
|
|
862
|
+
}), { getReferenceProps: v, getFloatingProps: N, getItemProps: g } = Z([
|
|
671
863
|
h,
|
|
672
864
|
p,
|
|
673
865
|
y,
|
|
674
|
-
|
|
866
|
+
b
|
|
675
867
|
]), x = k(() => i(!1), []);
|
|
676
|
-
return /* @__PURE__ */ m(
|
|
868
|
+
return /* @__PURE__ */ m(V, { children: [
|
|
677
869
|
/* @__PURE__ */ e("span", { ref: l.setReference, className: "inline-flex", ...v(), children: t }),
|
|
678
|
-
s && /* @__PURE__ */ e(
|
|
870
|
+
s && /* @__PURE__ */ e(ee, { children: /* @__PURE__ */ e(de, { context: f, modal: !1, children: /* @__PURE__ */ e(
|
|
679
871
|
"div",
|
|
680
872
|
{
|
|
681
873
|
ref: l.setFloating,
|
|
@@ -685,9 +877,9 @@ function Et({
|
|
|
685
877
|
"bg-bg-primary shadow-lg animate-floating-in",
|
|
686
878
|
n
|
|
687
879
|
].join(" "),
|
|
688
|
-
...
|
|
880
|
+
...N(),
|
|
689
881
|
children: /* @__PURE__ */ e(
|
|
690
|
-
|
|
882
|
+
pe.Provider,
|
|
691
883
|
{
|
|
692
884
|
value: { close: x, getItemProps: g, activeIndex: a, setActiveIndex: c },
|
|
693
885
|
children: r
|
|
@@ -697,7 +889,7 @@ function Et({
|
|
|
697
889
|
) }) })
|
|
698
890
|
] });
|
|
699
891
|
}
|
|
700
|
-
function
|
|
892
|
+
function Kt({
|
|
701
893
|
trigger: t,
|
|
702
894
|
children: r,
|
|
703
895
|
placement: o = "bottom",
|
|
@@ -705,19 +897,19 @@ function St({
|
|
|
705
897
|
onOpenChange: s,
|
|
706
898
|
className: i = ""
|
|
707
899
|
}) {
|
|
708
|
-
const [a, c] =
|
|
900
|
+
const [a, c] = C(!1), d = n !== void 0, l = d ? n : a, u = d ? (x) => s?.(x) : c, { refs: f, floatingStyles: h, context: p } = G({
|
|
709
901
|
open: l,
|
|
710
902
|
onOpenChange: u,
|
|
711
903
|
placement: o,
|
|
712
|
-
middleware: [
|
|
713
|
-
whileElementsMounted:
|
|
714
|
-
}), y =
|
|
715
|
-
return /* @__PURE__ */ m(
|
|
716
|
-
/* @__PURE__ */ e("span", { ref:
|
|
717
|
-
l && /* @__PURE__ */ e(
|
|
904
|
+
middleware: [Y(8), _(), W({ padding: 8 })],
|
|
905
|
+
whileElementsMounted: X
|
|
906
|
+
}), y = ce(p), b = J(p), v = Q(p), { getReferenceProps: N, getFloatingProps: g } = Z([y, b, v]);
|
|
907
|
+
return /* @__PURE__ */ m(V, { children: [
|
|
908
|
+
/* @__PURE__ */ e("span", { ref: f.setReference, className: "inline-flex", ...N(), children: t }),
|
|
909
|
+
l && /* @__PURE__ */ e(ee, { children: /* @__PURE__ */ e(de, { context: p, modal: !1, children: /* @__PURE__ */ e(
|
|
718
910
|
"div",
|
|
719
911
|
{
|
|
720
|
-
ref:
|
|
912
|
+
ref: f.setFloating,
|
|
721
913
|
style: h,
|
|
722
914
|
className: [
|
|
723
915
|
"z-50 rounded-lg border border-border p-md",
|
|
@@ -730,12 +922,12 @@ function St({
|
|
|
730
922
|
) }) })
|
|
731
923
|
] });
|
|
732
924
|
}
|
|
733
|
-
const
|
|
925
|
+
const fe = R({
|
|
734
926
|
activeValue: "",
|
|
735
927
|
idPrefix: ""
|
|
736
928
|
});
|
|
737
|
-
function
|
|
738
|
-
const { activeValue: n, idPrefix: s } =
|
|
929
|
+
function Ht({ value: t, children: r, className: o = "" }) {
|
|
930
|
+
const { activeValue: n, idPrefix: s } = M(fe), i = n === t;
|
|
739
931
|
return /* @__PURE__ */ e(
|
|
740
932
|
"div",
|
|
741
933
|
{
|
|
@@ -749,7 +941,7 @@ function At({ value: t, children: r, className: o = "" }) {
|
|
|
749
941
|
}
|
|
750
942
|
);
|
|
751
943
|
}
|
|
752
|
-
function
|
|
944
|
+
function qt({
|
|
753
945
|
items: t,
|
|
754
946
|
value: r,
|
|
755
947
|
defaultValue: o,
|
|
@@ -757,40 +949,40 @@ function Pt({
|
|
|
757
949
|
children: s,
|
|
758
950
|
className: i = ""
|
|
759
951
|
}) {
|
|
760
|
-
const a =
|
|
761
|
-
() => o ?? t.find((
|
|
762
|
-
),
|
|
763
|
-
(
|
|
764
|
-
d || u(
|
|
952
|
+
const a = j().replace(/:/g, ""), c = D(null), d = r !== void 0, [l, u] = C(
|
|
953
|
+
() => o ?? t.find((b) => !b.disabled)?.value ?? t[0]?.value ?? ""
|
|
954
|
+
), f = d ? r : l, h = k(
|
|
955
|
+
(b) => {
|
|
956
|
+
d || u(b), n?.(b);
|
|
765
957
|
},
|
|
766
958
|
[d, n]
|
|
767
|
-
), p = t.filter((
|
|
768
|
-
const v = p.findIndex((x) => x.value ===
|
|
769
|
-
let
|
|
770
|
-
switch (
|
|
959
|
+
), p = t.filter((b) => !b.disabled), y = (b) => {
|
|
960
|
+
const v = p.findIndex((x) => x.value === f);
|
|
961
|
+
let N = v;
|
|
962
|
+
switch (b.key) {
|
|
771
963
|
case "ArrowRight":
|
|
772
964
|
case "ArrowDown":
|
|
773
|
-
|
|
965
|
+
b.preventDefault(), N = (v + 1) % p.length;
|
|
774
966
|
break;
|
|
775
967
|
case "ArrowLeft":
|
|
776
968
|
case "ArrowUp":
|
|
777
|
-
|
|
969
|
+
b.preventDefault(), N = (v - 1 + p.length) % p.length;
|
|
778
970
|
break;
|
|
779
971
|
case "Home":
|
|
780
|
-
|
|
972
|
+
b.preventDefault(), N = 0;
|
|
781
973
|
break;
|
|
782
974
|
case "End":
|
|
783
|
-
|
|
975
|
+
b.preventDefault(), N = p.length - 1;
|
|
784
976
|
break;
|
|
785
977
|
default:
|
|
786
978
|
return;
|
|
787
979
|
}
|
|
788
|
-
const g = p[
|
|
980
|
+
const g = p[N];
|
|
789
981
|
g && (h(g.value), c.current?.querySelector(
|
|
790
982
|
`[data-tab-value="${g.value}"]`
|
|
791
983
|
)?.focus());
|
|
792
984
|
};
|
|
793
|
-
return /* @__PURE__ */ e(
|
|
985
|
+
return /* @__PURE__ */ e(fe.Provider, { value: { activeValue: f, idPrefix: a }, children: /* @__PURE__ */ m("div", { className: i, children: [
|
|
794
986
|
/* @__PURE__ */ e(
|
|
795
987
|
"div",
|
|
796
988
|
{
|
|
@@ -799,33 +991,33 @@ function Pt({
|
|
|
799
991
|
"aria-orientation": "horizontal",
|
|
800
992
|
onKeyDown: y,
|
|
801
993
|
className: "flex border-b border-border",
|
|
802
|
-
children: t.map((
|
|
803
|
-
const v =
|
|
994
|
+
children: t.map((b) => {
|
|
995
|
+
const v = b.value === f;
|
|
804
996
|
return /* @__PURE__ */ m(
|
|
805
997
|
"button",
|
|
806
998
|
{
|
|
807
|
-
id: `${a}-tab-${
|
|
999
|
+
id: `${a}-tab-${b.value}`,
|
|
808
1000
|
role: "tab",
|
|
809
1001
|
type: "button",
|
|
810
|
-
"data-tab-value":
|
|
1002
|
+
"data-tab-value": b.value,
|
|
811
1003
|
"aria-selected": v,
|
|
812
|
-
"aria-controls": `${a}-panel-${
|
|
1004
|
+
"aria-controls": `${a}-panel-${b.value}`,
|
|
813
1005
|
tabIndex: v ? 0 : -1,
|
|
814
|
-
disabled:
|
|
815
|
-
onClick: () => h(
|
|
1006
|
+
disabled: b.disabled,
|
|
1007
|
+
onClick: () => h(b.value),
|
|
816
1008
|
className: [
|
|
817
1009
|
"inline-flex items-center gap-1.5 px-4 py-2.5 text-small font-medium",
|
|
818
1010
|
"border-b-2 -mb-px transition-colors outline-none cursor-pointer",
|
|
819
1011
|
"focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
|
|
820
1012
|
v ? "border-primary text-primary" : "border-transparent text-text-secondary hover:text-text-primary hover:border-border-strong",
|
|
821
|
-
|
|
1013
|
+
b.disabled && "opacity-50 pointer-events-none"
|
|
822
1014
|
].filter(Boolean).join(" "),
|
|
823
1015
|
children: [
|
|
824
|
-
|
|
825
|
-
|
|
1016
|
+
b.icon && /* @__PURE__ */ e("span", { className: "shrink-0 size-4", children: b.icon }),
|
|
1017
|
+
b.label
|
|
826
1018
|
]
|
|
827
1019
|
},
|
|
828
|
-
|
|
1020
|
+
b.value
|
|
829
1021
|
);
|
|
830
1022
|
})
|
|
831
1023
|
}
|
|
@@ -833,41 +1025,41 @@ function Pt({
|
|
|
833
1025
|
s
|
|
834
1026
|
] }) });
|
|
835
1027
|
}
|
|
836
|
-
const
|
|
1028
|
+
const tt = {
|
|
837
1029
|
top: "bottom",
|
|
838
1030
|
bottom: "top",
|
|
839
1031
|
left: "right",
|
|
840
1032
|
right: "left"
|
|
841
1033
|
};
|
|
842
|
-
function
|
|
1034
|
+
function Gt({
|
|
843
1035
|
children: t,
|
|
844
1036
|
content: r,
|
|
845
1037
|
placement: o = "top",
|
|
846
1038
|
delay: n = 200,
|
|
847
1039
|
className: s = ""
|
|
848
1040
|
}) {
|
|
849
|
-
const [i, a] =
|
|
1041
|
+
const [i, a] = C(!1), c = D(null), {
|
|
850
1042
|
refs: d,
|
|
851
1043
|
floatingStyles: l,
|
|
852
1044
|
context: u,
|
|
853
|
-
middlewareData:
|
|
1045
|
+
middlewareData: f,
|
|
854
1046
|
placement: h
|
|
855
|
-
} =
|
|
1047
|
+
} = G({
|
|
856
1048
|
open: i,
|
|
857
1049
|
onOpenChange: a,
|
|
858
1050
|
placement: o,
|
|
859
1051
|
middleware: [
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
1052
|
+
Y(8),
|
|
1053
|
+
_(),
|
|
1054
|
+
W({ padding: 8 }),
|
|
863
1055
|
// eslint-disable-next-line react-hooks/refs -- floating-ui arrow middleware needs ref object
|
|
864
|
-
|
|
1056
|
+
Fe({ element: c })
|
|
865
1057
|
],
|
|
866
|
-
whileElementsMounted:
|
|
867
|
-
}), p =
|
|
868
|
-
return /* @__PURE__ */ m(
|
|
869
|
-
/* @__PURE__ */ e("span", { ref: d.setReference, className: "inline-flex", ...
|
|
870
|
-
i && r && /* @__PURE__ */ e(
|
|
1058
|
+
whileElementsMounted: X
|
|
1059
|
+
}), p = Ee(u, { delay: n, move: !1 }), y = Se(u), b = J(u), v = Q(u, { role: "tooltip" }), { getReferenceProps: N, getFloatingProps: g } = Z([p, y, b, v]), x = h.split("-")[0], $ = f.arrow?.x, B = f.arrow?.y;
|
|
1060
|
+
return /* @__PURE__ */ m(V, { children: [
|
|
1061
|
+
/* @__PURE__ */ e("span", { ref: d.setReference, className: "inline-flex", ...N(), children: t }),
|
|
1062
|
+
i && r && /* @__PURE__ */ e(ee, { children: /* @__PURE__ */ m(
|
|
871
1063
|
"div",
|
|
872
1064
|
{
|
|
873
1065
|
ref: d.setFloating,
|
|
@@ -888,9 +1080,9 @@ function Bt({
|
|
|
888
1080
|
ref: c,
|
|
889
1081
|
className: "absolute size-2 bg-text-primary rotate-45",
|
|
890
1082
|
style: {
|
|
891
|
-
left:
|
|
892
|
-
top:
|
|
893
|
-
[
|
|
1083
|
+
left: $ != null ? `${$}px` : "",
|
|
1084
|
+
top: B != null ? `${B}px` : "",
|
|
1085
|
+
[tt[x]]: "-4px"
|
|
894
1086
|
}
|
|
895
1087
|
}
|
|
896
1088
|
)
|
|
@@ -899,8 +1091,8 @@ function Bt({
|
|
|
899
1091
|
) })
|
|
900
1092
|
] });
|
|
901
1093
|
}
|
|
902
|
-
function
|
|
903
|
-
const { i18n: t } =
|
|
1094
|
+
function rt() {
|
|
1095
|
+
const { i18n: t } = oe(), r = t.language ?? "en", o = k(
|
|
904
1096
|
(s) => {
|
|
905
1097
|
t.changeLanguage(s);
|
|
906
1098
|
},
|
|
@@ -910,12 +1102,12 @@ function Xe() {
|
|
|
910
1102
|
}, [r, o]);
|
|
911
1103
|
return { language: r, toggleLanguage: n, setLanguage: o };
|
|
912
1104
|
}
|
|
913
|
-
const
|
|
1105
|
+
const nt = [
|
|
914
1106
|
{ value: "en", label: "EN" },
|
|
915
1107
|
{ value: "fr", label: "FR" }
|
|
916
1108
|
];
|
|
917
|
-
function
|
|
918
|
-
const { language: r, setLanguage: o } =
|
|
1109
|
+
function Xt({ className: t = "" }) {
|
|
1110
|
+
const { language: r, setLanguage: o } = rt();
|
|
919
1111
|
return /* @__PURE__ */ e(
|
|
920
1112
|
"div",
|
|
921
1113
|
{
|
|
@@ -925,7 +1117,7 @@ function Lt({ className: t = "" }) {
|
|
|
925
1117
|
"inline-flex items-center rounded-full border border-border bg-bg-secondary p-0.5",
|
|
926
1118
|
t
|
|
927
1119
|
].filter(Boolean).join(" "),
|
|
928
|
-
children:
|
|
1120
|
+
children: nt.map(({ value: n, label: s }) => {
|
|
929
1121
|
const i = r === n;
|
|
930
1122
|
return /* @__PURE__ */ e(
|
|
931
1123
|
"button",
|
|
@@ -946,61 +1138,61 @@ function Lt({ className: t = "" }) {
|
|
|
946
1138
|
}
|
|
947
1139
|
);
|
|
948
1140
|
}
|
|
949
|
-
const
|
|
950
|
-
function
|
|
951
|
-
|
|
1141
|
+
const te = "poesis-theme", H = /* @__PURE__ */ new Set();
|
|
1142
|
+
function ot() {
|
|
1143
|
+
H.forEach((t) => t());
|
|
952
1144
|
}
|
|
953
|
-
function
|
|
954
|
-
return
|
|
1145
|
+
function it(t) {
|
|
1146
|
+
return H.add(t), () => H.delete(t);
|
|
955
1147
|
}
|
|
956
|
-
function
|
|
1148
|
+
function st() {
|
|
957
1149
|
return document.documentElement.classList.contains("dark") ? "dark" : "light";
|
|
958
1150
|
}
|
|
959
|
-
function
|
|
1151
|
+
function at() {
|
|
960
1152
|
return "light";
|
|
961
1153
|
}
|
|
962
|
-
function
|
|
963
|
-
t === "dark" ? document.documentElement.classList.add("dark") : document.documentElement.classList.remove("dark"), localStorage.setItem(
|
|
1154
|
+
function T(t) {
|
|
1155
|
+
t === "dark" ? document.documentElement.classList.add("dark") : document.documentElement.classList.remove("dark"), localStorage.setItem(te, t), ot();
|
|
964
1156
|
}
|
|
965
|
-
function
|
|
966
|
-
const t = localStorage.getItem(
|
|
1157
|
+
function Yt() {
|
|
1158
|
+
const t = localStorage.getItem(te);
|
|
967
1159
|
if (t) {
|
|
968
|
-
|
|
1160
|
+
T(t);
|
|
969
1161
|
return;
|
|
970
1162
|
}
|
|
971
1163
|
const r = window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
972
|
-
|
|
1164
|
+
T(r ? "dark" : "light");
|
|
973
1165
|
}
|
|
974
|
-
function
|
|
975
|
-
const t =
|
|
976
|
-
|
|
1166
|
+
function lt() {
|
|
1167
|
+
const t = ge(it, st, at);
|
|
1168
|
+
I(() => {
|
|
977
1169
|
const n = window.matchMedia("(prefers-color-scheme: dark)"), s = (i) => {
|
|
978
|
-
localStorage.getItem(
|
|
1170
|
+
localStorage.getItem(te) || T(i.matches ? "dark" : "light");
|
|
979
1171
|
};
|
|
980
1172
|
return n.addEventListener("change", s), () => n.removeEventListener("change", s);
|
|
981
1173
|
}, []);
|
|
982
1174
|
const r = k(() => {
|
|
983
|
-
|
|
1175
|
+
T(t === "dark" ? "light" : "dark");
|
|
984
1176
|
}, [t]), o = k((n) => {
|
|
985
|
-
|
|
1177
|
+
T(n);
|
|
986
1178
|
}, []);
|
|
987
1179
|
return { theme: t, toggleTheme: r, setTheme: o, isDark: t === "dark" };
|
|
988
1180
|
}
|
|
989
|
-
function
|
|
990
|
-
const { isDark: n, toggleTheme: s } =
|
|
1181
|
+
function _t({ variant: t = "ghost", size: r = "md", className: o }) {
|
|
1182
|
+
const { isDark: n, toggleTheme: s } = lt(), { t: i } = oe();
|
|
991
1183
|
return /* @__PURE__ */ e(
|
|
992
|
-
|
|
1184
|
+
He,
|
|
993
1185
|
{
|
|
994
1186
|
variant: t,
|
|
995
1187
|
size: r,
|
|
996
|
-
icon: n ? /* @__PURE__ */ e(
|
|
1188
|
+
icon: n ? /* @__PURE__ */ e(ye, { size: 16 }) : /* @__PURE__ */ e(ve, { size: 16 }),
|
|
997
1189
|
"aria-label": i("theme.toggleTheme"),
|
|
998
1190
|
onClick: s,
|
|
999
1191
|
className: o
|
|
1000
1192
|
}
|
|
1001
1193
|
);
|
|
1002
1194
|
}
|
|
1003
|
-
function
|
|
1195
|
+
function ct({
|
|
1004
1196
|
logo: t,
|
|
1005
1197
|
categories: r = [],
|
|
1006
1198
|
activeCategoryId: o,
|
|
@@ -1016,7 +1208,7 @@ function et({
|
|
|
1016
1208
|
onClick: i,
|
|
1017
1209
|
className: "mr-sm flex size-9 items-center justify-center rounded-md text-text-secondary hover:bg-bg-tertiary hover:text-text-primary lg:hidden",
|
|
1018
1210
|
"aria-label": "Open menu",
|
|
1019
|
-
children: /* @__PURE__ */ e(
|
|
1211
|
+
children: /* @__PURE__ */ e(Ne, { size: 22 })
|
|
1020
1212
|
}
|
|
1021
1213
|
),
|
|
1022
1214
|
/* @__PURE__ */ e("div", { className: "mr-lg flex shrink-0 items-center", children: t ?? /* @__PURE__ */ e("span", { className: "text-h3 font-bold text-epfl-red", children: "EPFL" }) }),
|
|
@@ -1044,7 +1236,7 @@ function et({
|
|
|
1044
1236
|
s && /* @__PURE__ */ e("div", { className: "flex items-center gap-xs", children: s })
|
|
1045
1237
|
] });
|
|
1046
1238
|
}
|
|
1047
|
-
function
|
|
1239
|
+
function dt({
|
|
1048
1240
|
sections: t = [],
|
|
1049
1241
|
activeLinkId: r,
|
|
1050
1242
|
onLinkClick: o,
|
|
@@ -1058,7 +1250,7 @@ function tt({
|
|
|
1058
1250
|
n ? "w-16" : "w-64"
|
|
1059
1251
|
].join(" "),
|
|
1060
1252
|
children: /* @__PURE__ */ e("nav", { className: "flex flex-col gap-xs p-sm", "aria-label": "Page navigation", children: t.map((s) => /* @__PURE__ */ e(
|
|
1061
|
-
|
|
1253
|
+
mt,
|
|
1062
1254
|
{
|
|
1063
1255
|
section: s,
|
|
1064
1256
|
activeLinkId: r,
|
|
@@ -1070,13 +1262,13 @@ function tt({
|
|
|
1070
1262
|
}
|
|
1071
1263
|
);
|
|
1072
1264
|
}
|
|
1073
|
-
function
|
|
1265
|
+
function mt({
|
|
1074
1266
|
section: t,
|
|
1075
1267
|
activeLinkId: r,
|
|
1076
1268
|
onLinkClick: o,
|
|
1077
1269
|
collapsed: n
|
|
1078
1270
|
}) {
|
|
1079
|
-
const [s, i] =
|
|
1271
|
+
const [s, i] = C(!0);
|
|
1080
1272
|
return /* @__PURE__ */ m("div", { className: "flex flex-col", children: [
|
|
1081
1273
|
t.title && !n && /* @__PURE__ */ m(
|
|
1082
1274
|
"button",
|
|
@@ -1087,7 +1279,7 @@ function rt({
|
|
|
1087
1279
|
children: [
|
|
1088
1280
|
/* @__PURE__ */ e("span", { children: t.title }),
|
|
1089
1281
|
/* @__PURE__ */ e(
|
|
1090
|
-
|
|
1282
|
+
ie,
|
|
1091
1283
|
{
|
|
1092
1284
|
size: 14,
|
|
1093
1285
|
className: `transition-transform ${s ? "" : "-rotate-90"}`
|
|
@@ -1119,7 +1311,7 @@ function rt({
|
|
|
1119
1311
|
}) })
|
|
1120
1312
|
] });
|
|
1121
1313
|
}
|
|
1122
|
-
function
|
|
1314
|
+
function ut({
|
|
1123
1315
|
open: t,
|
|
1124
1316
|
onClose: r,
|
|
1125
1317
|
categories: o = [],
|
|
@@ -1130,18 +1322,18 @@ function nt({
|
|
|
1130
1322
|
onLinkClick: c
|
|
1131
1323
|
}) {
|
|
1132
1324
|
const d = D(null);
|
|
1133
|
-
return
|
|
1325
|
+
return I(() => {
|
|
1134
1326
|
if (!t) return;
|
|
1135
1327
|
const l = (u) => {
|
|
1136
1328
|
u.key === "Escape" && r();
|
|
1137
1329
|
};
|
|
1138
1330
|
return document.addEventListener("keydown", l), () => document.removeEventListener("keydown", l);
|
|
1139
|
-
}, [t, r]),
|
|
1331
|
+
}, [t, r]), I(() => {
|
|
1140
1332
|
if (!t) return;
|
|
1141
1333
|
d.current?.focus();
|
|
1142
|
-
}, [t]),
|
|
1334
|
+
}, [t]), I(() => (t ? document.body.style.overflow = "hidden" : document.body.style.overflow = "", () => {
|
|
1143
1335
|
document.body.style.overflow = "";
|
|
1144
|
-
}), [t]), /* @__PURE__ */ m(
|
|
1336
|
+
}), [t]), /* @__PURE__ */ m(V, { children: [
|
|
1145
1337
|
/* @__PURE__ */ e(
|
|
1146
1338
|
"div",
|
|
1147
1339
|
{
|
|
@@ -1175,7 +1367,7 @@ function nt({
|
|
|
1175
1367
|
onClick: r,
|
|
1176
1368
|
className: "flex size-9 items-center justify-center rounded-md text-text-secondary hover:bg-bg-tertiary hover:text-text-primary",
|
|
1177
1369
|
"aria-label": "Close menu",
|
|
1178
|
-
children: /* @__PURE__ */ e(
|
|
1370
|
+
children: /* @__PURE__ */ e(we, { size: 18 })
|
|
1179
1371
|
}
|
|
1180
1372
|
)
|
|
1181
1373
|
] }),
|
|
@@ -1205,7 +1397,7 @@ function nt({
|
|
|
1205
1397
|
})
|
|
1206
1398
|
] }),
|
|
1207
1399
|
i.map((l) => /* @__PURE__ */ e(
|
|
1208
|
-
|
|
1400
|
+
pt,
|
|
1209
1401
|
{
|
|
1210
1402
|
section: l,
|
|
1211
1403
|
activeLinkId: a,
|
|
@@ -1221,12 +1413,12 @@ function nt({
|
|
|
1221
1413
|
)
|
|
1222
1414
|
] });
|
|
1223
1415
|
}
|
|
1224
|
-
function
|
|
1416
|
+
function pt({
|
|
1225
1417
|
section: t,
|
|
1226
1418
|
activeLinkId: r,
|
|
1227
1419
|
onLinkClick: o
|
|
1228
1420
|
}) {
|
|
1229
|
-
const [n, s] =
|
|
1421
|
+
const [n, s] = C(!0);
|
|
1230
1422
|
return /* @__PURE__ */ m("div", { className: "mb-xs flex flex-col", children: [
|
|
1231
1423
|
t.title && /* @__PURE__ */ m(
|
|
1232
1424
|
"button",
|
|
@@ -1237,7 +1429,7 @@ function ot({
|
|
|
1237
1429
|
children: [
|
|
1238
1430
|
/* @__PURE__ */ e("span", { children: t.title }),
|
|
1239
1431
|
/* @__PURE__ */ e(
|
|
1240
|
-
|
|
1432
|
+
ie,
|
|
1241
1433
|
{
|
|
1242
1434
|
size: 14,
|
|
1243
1435
|
className: `transition-transform ${n ? "" : "-rotate-90"}`
|
|
@@ -1267,7 +1459,7 @@ function ot({
|
|
|
1267
1459
|
}) })
|
|
1268
1460
|
] });
|
|
1269
1461
|
}
|
|
1270
|
-
function
|
|
1462
|
+
function Wt({
|
|
1271
1463
|
children: t,
|
|
1272
1464
|
logo: r,
|
|
1273
1465
|
categories: o = [],
|
|
@@ -1279,22 +1471,22 @@ function Mt({
|
|
|
1279
1471
|
actions: d,
|
|
1280
1472
|
sideNavCollapsed: l = !1
|
|
1281
1473
|
}) {
|
|
1282
|
-
const [u,
|
|
1474
|
+
const [u, f] = C(!1);
|
|
1283
1475
|
return /* @__PURE__ */ m("div", { className: "flex h-screen flex-col bg-bg-primary", children: [
|
|
1284
1476
|
/* @__PURE__ */ e(
|
|
1285
|
-
|
|
1477
|
+
ct,
|
|
1286
1478
|
{
|
|
1287
1479
|
logo: r,
|
|
1288
1480
|
categories: o,
|
|
1289
1481
|
activeCategoryId: n,
|
|
1290
1482
|
onCategoryChange: s,
|
|
1291
1483
|
actions: d,
|
|
1292
|
-
onBurgerClick: () =>
|
|
1484
|
+
onBurgerClick: () => f(!0)
|
|
1293
1485
|
}
|
|
1294
1486
|
),
|
|
1295
1487
|
/* @__PURE__ */ m("div", { className: "flex flex-1 overflow-hidden pt-14", children: [
|
|
1296
1488
|
/* @__PURE__ */ e(
|
|
1297
|
-
|
|
1489
|
+
dt,
|
|
1298
1490
|
{
|
|
1299
1491
|
sections: i,
|
|
1300
1492
|
activeLinkId: a,
|
|
@@ -1305,25 +1497,25 @@ function Mt({
|
|
|
1305
1497
|
/* @__PURE__ */ e("main", { className: "flex-1 overflow-y-auto px-md py-lg lg:px-lg", children: /* @__PURE__ */ e("div", { className: "mx-auto max-w-[var(--container-6xl)]", children: t }) })
|
|
1306
1498
|
] }),
|
|
1307
1499
|
/* @__PURE__ */ e(
|
|
1308
|
-
|
|
1500
|
+
ut,
|
|
1309
1501
|
{
|
|
1310
1502
|
open: u,
|
|
1311
|
-
onClose: () =>
|
|
1503
|
+
onClose: () => f(!1),
|
|
1312
1504
|
categories: o,
|
|
1313
1505
|
activeCategoryId: n,
|
|
1314
1506
|
onCategoryChange: (h) => {
|
|
1315
|
-
s?.(h),
|
|
1507
|
+
s?.(h), f(!1);
|
|
1316
1508
|
},
|
|
1317
1509
|
sections: i,
|
|
1318
1510
|
activeLinkId: a,
|
|
1319
1511
|
onLinkClick: (h) => {
|
|
1320
|
-
c?.(h),
|
|
1512
|
+
c?.(h), f(!1);
|
|
1321
1513
|
}
|
|
1322
1514
|
}
|
|
1323
1515
|
)
|
|
1324
1516
|
] });
|
|
1325
1517
|
}
|
|
1326
|
-
const
|
|
1518
|
+
const Jt = z(function({ header: r, footer: o, actions: n, noPadding: s = !1, className: i = "", children: a, ...c }, d) {
|
|
1327
1519
|
const l = o || n;
|
|
1328
1520
|
return /* @__PURE__ */ m(
|
|
1329
1521
|
"div",
|
|
@@ -1345,7 +1537,7 @@ const Ot = C(function({ header: r, footer: o, actions: n, noPadding: s = !1, cla
|
|
|
1345
1537
|
]
|
|
1346
1538
|
}
|
|
1347
1539
|
);
|
|
1348
|
-
}),
|
|
1540
|
+
}), Qt = z(
|
|
1349
1541
|
function({ items: r, layout: o = "horizontal", dividers: n = !0, className: s = "", ...i }, a) {
|
|
1350
1542
|
const c = o === "horizontal";
|
|
1351
1543
|
return /* @__PURE__ */ e(
|
|
@@ -1380,7 +1572,7 @@ const Ot = C(function({ header: r, footer: o, actions: n, noPadding: s = !1, cla
|
|
|
1380
1572
|
}
|
|
1381
1573
|
);
|
|
1382
1574
|
}
|
|
1383
|
-
),
|
|
1575
|
+
), Zt = z(function({ illustration: r, title: o, description: n, action: s, className: i = "", ...a }, c) {
|
|
1384
1576
|
return /* @__PURE__ */ m(
|
|
1385
1577
|
"div",
|
|
1386
1578
|
{
|
|
@@ -1399,7 +1591,7 @@ const Ot = C(function({ header: r, footer: o, actions: n, noPadding: s = !1, cla
|
|
|
1399
1591
|
}
|
|
1400
1592
|
);
|
|
1401
1593
|
});
|
|
1402
|
-
function
|
|
1594
|
+
function ft(t, r) {
|
|
1403
1595
|
if (!t.sortValue || r.length === 0) return "text";
|
|
1404
1596
|
for (const o of r) {
|
|
1405
1597
|
const n = t.sortValue(o);
|
|
@@ -1407,14 +1599,14 @@ function it(t, r) {
|
|
|
1407
1599
|
}
|
|
1408
1600
|
return "text";
|
|
1409
1601
|
}
|
|
1410
|
-
function
|
|
1602
|
+
function bt({
|
|
1411
1603
|
active: t,
|
|
1412
1604
|
direction: r,
|
|
1413
1605
|
columnType: o
|
|
1414
1606
|
}) {
|
|
1415
|
-
return t ? o === "numeric" ? r === "asc" ? /* @__PURE__ */ e(
|
|
1607
|
+
return t ? o === "numeric" ? r === "asc" ? /* @__PURE__ */ e(Ce, { size: 14, className: "ml-1 inline", "aria-hidden": !0 }) : /* @__PURE__ */ e($e, { size: 14, className: "ml-1 inline", "aria-hidden": !0 }) : r === "asc" ? /* @__PURE__ */ e(ze, { size: 14, className: "ml-1 inline", "aria-hidden": !0 }) : /* @__PURE__ */ e(De, { size: 14, className: "ml-1 inline", "aria-hidden": !0 }) : /* @__PURE__ */ e(ke, { size: 14, className: "ml-1 inline opacity-30", "aria-hidden": !0 });
|
|
1416
1608
|
}
|
|
1417
|
-
const
|
|
1609
|
+
const er = z(function({
|
|
1418
1610
|
columns: r,
|
|
1419
1611
|
data: o,
|
|
1420
1612
|
rowKey: n,
|
|
@@ -1425,31 +1617,31 @@ const Ht = C(function({
|
|
|
1425
1617
|
className: d = "",
|
|
1426
1618
|
...l
|
|
1427
1619
|
}, u) {
|
|
1428
|
-
const [
|
|
1620
|
+
const [f, h] = C(), p = i ?? f, y = k(
|
|
1429
1621
|
(g) => {
|
|
1430
1622
|
const x = p?.column === g && p.direction === "asc" ? { column: g, direction: "desc" } : { column: g, direction: "asc" };
|
|
1431
1623
|
a ? a(x) : h(x);
|
|
1432
1624
|
},
|
|
1433
1625
|
[p, a]
|
|
1434
|
-
),
|
|
1626
|
+
), b = K(() => {
|
|
1435
1627
|
if (!p || a) return o;
|
|
1436
|
-
const g = r.find((
|
|
1628
|
+
const g = r.find(($) => $.key === p.column);
|
|
1437
1629
|
if (!g?.sortValue) return o;
|
|
1438
1630
|
const x = g.sortValue;
|
|
1439
|
-
return [...o].sort((
|
|
1440
|
-
const
|
|
1441
|
-
if (
|
|
1442
|
-
if (
|
|
1443
|
-
if (
|
|
1444
|
-
const
|
|
1445
|
-
return p.direction === "asc" ?
|
|
1631
|
+
return [...o].sort(($, B) => {
|
|
1632
|
+
const F = x($), E = x(B);
|
|
1633
|
+
if (F == null && E == null) return 0;
|
|
1634
|
+
if (F == null) return 1;
|
|
1635
|
+
if (E == null) return -1;
|
|
1636
|
+
const O = typeof F == "number" && typeof E == "number" ? F - E : String(F).localeCompare(String(E));
|
|
1637
|
+
return p.direction === "asc" ? O : -O;
|
|
1446
1638
|
});
|
|
1447
|
-
}, [o, p, r, a]), v =
|
|
1639
|
+
}, [o, p, r, a]), v = K(() => {
|
|
1448
1640
|
const g = /* @__PURE__ */ new Map();
|
|
1449
1641
|
for (const x of r)
|
|
1450
|
-
x.sortable && g.set(x.key,
|
|
1642
|
+
x.sortable && g.set(x.key, ft(x, o));
|
|
1451
1643
|
return g;
|
|
1452
|
-
}, [r, o]),
|
|
1644
|
+
}, [r, o]), N = b.length === 0;
|
|
1453
1645
|
return /* @__PURE__ */ e(
|
|
1454
1646
|
"div",
|
|
1455
1647
|
{
|
|
@@ -1472,7 +1664,7 @@ const Ht = C(function({
|
|
|
1472
1664
|
children: /* @__PURE__ */ m("span", { className: "inline-flex items-center", children: [
|
|
1473
1665
|
g.header,
|
|
1474
1666
|
g.sortable && /* @__PURE__ */ e(
|
|
1475
|
-
|
|
1667
|
+
bt,
|
|
1476
1668
|
{
|
|
1477
1669
|
active: x,
|
|
1478
1670
|
direction: x ? p.direction : void 0,
|
|
@@ -1484,14 +1676,14 @@ const Ht = C(function({
|
|
|
1484
1676
|
g.key
|
|
1485
1677
|
);
|
|
1486
1678
|
}) }) }),
|
|
1487
|
-
/* @__PURE__ */ e("tbody", { children:
|
|
1679
|
+
/* @__PURE__ */ e("tbody", { children: N ? /* @__PURE__ */ e("tr", { children: /* @__PURE__ */ e(
|
|
1488
1680
|
"td",
|
|
1489
1681
|
{
|
|
1490
1682
|
colSpan: r.length,
|
|
1491
1683
|
className: "px-md py-xl text-center text-text-secondary",
|
|
1492
1684
|
children: c ?? "No data available."
|
|
1493
1685
|
}
|
|
1494
|
-
) }) :
|
|
1686
|
+
) }) : b.map((g, x) => /* @__PURE__ */ e(
|
|
1495
1687
|
"tr",
|
|
1496
1688
|
{
|
|
1497
1689
|
className: [
|
|
@@ -1499,16 +1691,16 @@ const Ht = C(function({
|
|
|
1499
1691
|
s && x % 2 === 1 && "bg-bg-tertiary/50",
|
|
1500
1692
|
"hover:bg-bg-tertiary/70"
|
|
1501
1693
|
].filter(Boolean).join(" "),
|
|
1502
|
-
children: r.map((
|
|
1694
|
+
children: r.map(($) => /* @__PURE__ */ e(
|
|
1503
1695
|
"td",
|
|
1504
1696
|
{
|
|
1505
1697
|
className: [
|
|
1506
1698
|
"px-md py-sm text-text-primary",
|
|
1507
|
-
|
|
1699
|
+
$.cellClassName
|
|
1508
1700
|
].filter(Boolean).join(" "),
|
|
1509
|
-
children:
|
|
1701
|
+
children: $.cell(g, x)
|
|
1510
1702
|
},
|
|
1511
|
-
|
|
1703
|
+
$.key
|
|
1512
1704
|
))
|
|
1513
1705
|
},
|
|
1514
1706
|
n(g, x)
|
|
@@ -1516,33 +1708,33 @@ const Ht = C(function({
|
|
|
1516
1708
|
] })
|
|
1517
1709
|
}
|
|
1518
1710
|
);
|
|
1519
|
-
}),
|
|
1711
|
+
}), xt = {
|
|
1520
1712
|
success: {
|
|
1521
1713
|
bg: "bg-success-bg",
|
|
1522
1714
|
border: "border-success/30",
|
|
1523
1715
|
text: "text-success",
|
|
1524
|
-
icon:
|
|
1716
|
+
icon: le
|
|
1525
1717
|
},
|
|
1526
1718
|
warning: {
|
|
1527
1719
|
bg: "bg-warning-bg",
|
|
1528
1720
|
border: "border-warning/30",
|
|
1529
1721
|
text: "text-warning",
|
|
1530
|
-
icon:
|
|
1722
|
+
icon: q
|
|
1531
1723
|
},
|
|
1532
1724
|
error: {
|
|
1533
1725
|
bg: "bg-error-bg",
|
|
1534
1726
|
border: "border-error/30",
|
|
1535
1727
|
text: "text-error",
|
|
1536
|
-
icon:
|
|
1728
|
+
icon: ae
|
|
1537
1729
|
},
|
|
1538
1730
|
info: {
|
|
1539
1731
|
bg: "bg-info-bg",
|
|
1540
1732
|
border: "border-info/30",
|
|
1541
1733
|
text: "text-info",
|
|
1542
|
-
icon:
|
|
1734
|
+
icon: se
|
|
1543
1735
|
}
|
|
1544
1736
|
};
|
|
1545
|
-
function
|
|
1737
|
+
function tr({
|
|
1546
1738
|
variant: t,
|
|
1547
1739
|
title: r,
|
|
1548
1740
|
children: o,
|
|
@@ -1550,7 +1742,7 @@ function qt({
|
|
|
1550
1742
|
onDismiss: s,
|
|
1551
1743
|
className: i = ""
|
|
1552
1744
|
}) {
|
|
1553
|
-
const [a, c] =
|
|
1745
|
+
const [a, c] = C(!0), { bg: d, border: l, text: u, icon: f } = xt[t];
|
|
1554
1746
|
if (!a) return null;
|
|
1555
1747
|
const h = () => {
|
|
1556
1748
|
c(!1), s?.();
|
|
@@ -1561,7 +1753,7 @@ function qt({
|
|
|
1561
1753
|
role: "alert",
|
|
1562
1754
|
className: `flex gap-3 rounded-md border p-md ${d} ${l} ${i}`,
|
|
1563
1755
|
children: [
|
|
1564
|
-
/* @__PURE__ */ e(
|
|
1756
|
+
/* @__PURE__ */ e(f, { size: 20, className: `shrink-0 mt-0.5 ${u}`, "aria-hidden": !0 }),
|
|
1565
1757
|
/* @__PURE__ */ m("div", { className: "flex-1 min-w-0", children: [
|
|
1566
1758
|
r && /* @__PURE__ */ e("p", { className: `font-semibold text-body ${u}`, children: r }),
|
|
1567
1759
|
/* @__PURE__ */ e("div", { className: "text-body text-text-primary", children: o })
|
|
@@ -1573,19 +1765,19 @@ function qt({
|
|
|
1573
1765
|
onClick: h,
|
|
1574
1766
|
className: "shrink-0 p-1 rounded-sm text-text-secondary hover:text-text-primary hover:bg-bg-tertiary transition-colors cursor-pointer",
|
|
1575
1767
|
"aria-label": "Dismiss alert",
|
|
1576
|
-
children: /* @__PURE__ */ e(
|
|
1768
|
+
children: /* @__PURE__ */ e(U, { size: 16 })
|
|
1577
1769
|
}
|
|
1578
1770
|
)
|
|
1579
1771
|
]
|
|
1580
1772
|
}
|
|
1581
1773
|
);
|
|
1582
1774
|
}
|
|
1583
|
-
const
|
|
1775
|
+
const gt = {
|
|
1584
1776
|
sm: "max-w-[24rem]",
|
|
1585
1777
|
md: "max-w-[32rem]",
|
|
1586
1778
|
lg: "max-w-[42rem]"
|
|
1587
1779
|
};
|
|
1588
|
-
function
|
|
1780
|
+
function ht({
|
|
1589
1781
|
open: t,
|
|
1590
1782
|
onClose: r,
|
|
1591
1783
|
title: o,
|
|
@@ -1595,13 +1787,13 @@ function ct({
|
|
|
1595
1787
|
className: a = ""
|
|
1596
1788
|
}) {
|
|
1597
1789
|
const c = D(null);
|
|
1598
|
-
|
|
1790
|
+
I(() => {
|
|
1599
1791
|
if (!t) return;
|
|
1600
1792
|
const l = document.activeElement;
|
|
1601
1793
|
return c.current?.focus(), () => {
|
|
1602
1794
|
l?.focus();
|
|
1603
1795
|
};
|
|
1604
|
-
}, [t]),
|
|
1796
|
+
}, [t]), I(() => {
|
|
1605
1797
|
if (!t) return;
|
|
1606
1798
|
const l = document.body.style.overflow;
|
|
1607
1799
|
return document.body.style.overflow = "hidden", () => {
|
|
@@ -1618,11 +1810,11 @@ function ct({
|
|
|
1618
1810
|
'a[href], button:not([disabled]), textarea, input:not([disabled]), select, [tabindex]:not([tabindex="-1"])'
|
|
1619
1811
|
);
|
|
1620
1812
|
if (u.length === 0) return;
|
|
1621
|
-
const
|
|
1622
|
-
l.shiftKey && document.activeElement ===
|
|
1813
|
+
const f = u[0], h = u[u.length - 1];
|
|
1814
|
+
l.shiftKey && document.activeElement === f ? (l.preventDefault(), h.focus()) : !l.shiftKey && document.activeElement === h && (l.preventDefault(), f.focus());
|
|
1623
1815
|
}
|
|
1624
1816
|
};
|
|
1625
|
-
return t ?
|
|
1817
|
+
return t ? Ie(
|
|
1626
1818
|
/* @__PURE__ */ m(
|
|
1627
1819
|
"div",
|
|
1628
1820
|
{
|
|
@@ -1658,7 +1850,7 @@ function ct({
|
|
|
1658
1850
|
{
|
|
1659
1851
|
ref: c,
|
|
1660
1852
|
tabIndex: -1,
|
|
1661
|
-
className: `relative z-10 flex flex-col w-full ${
|
|
1853
|
+
className: `relative z-10 flex flex-col w-full ${gt[n]} rounded-lg border border-border bg-bg-primary shadow-xl outline-none animate-dialog-in ${a}`,
|
|
1662
1854
|
children: [
|
|
1663
1855
|
o && /* @__PURE__ */ m("div", { className: "flex items-center justify-between px-lg py-md border-b border-border", children: [
|
|
1664
1856
|
/* @__PURE__ */ e(
|
|
@@ -1676,7 +1868,7 @@ function ct({
|
|
|
1676
1868
|
onClick: r,
|
|
1677
1869
|
className: "shrink-0 p-1 rounded-sm text-text-secondary hover:text-text-primary hover:bg-bg-tertiary transition-colors cursor-pointer",
|
|
1678
1870
|
"aria-label": "Close dialog",
|
|
1679
|
-
children: /* @__PURE__ */ e(
|
|
1871
|
+
children: /* @__PURE__ */ e(U, { size: 18 })
|
|
1680
1872
|
}
|
|
1681
1873
|
)
|
|
1682
1874
|
] }),
|
|
@@ -1693,7 +1885,7 @@ function ct({
|
|
|
1693
1885
|
document.body
|
|
1694
1886
|
) : null;
|
|
1695
1887
|
}
|
|
1696
|
-
function
|
|
1888
|
+
function rr({
|
|
1697
1889
|
open: t,
|
|
1698
1890
|
onCancel: r,
|
|
1699
1891
|
onConfirm: o,
|
|
@@ -1704,10 +1896,10 @@ function Kt({
|
|
|
1704
1896
|
danger: c = !1,
|
|
1705
1897
|
size: d = "sm"
|
|
1706
1898
|
}) {
|
|
1707
|
-
return /* @__PURE__ */ m(
|
|
1899
|
+
return /* @__PURE__ */ m(ht, { open: t, onClose: r, title: n, size: d, children: [
|
|
1708
1900
|
/* @__PURE__ */ m("div", { className: "flex gap-3", children: [
|
|
1709
1901
|
c && /* @__PURE__ */ e(
|
|
1710
|
-
|
|
1902
|
+
q,
|
|
1711
1903
|
{
|
|
1712
1904
|
size: 22,
|
|
1713
1905
|
className: "shrink-0 mt-0.5 text-error",
|
|
@@ -1738,46 +1930,46 @@ function Kt({
|
|
|
1738
1930
|
] })
|
|
1739
1931
|
] });
|
|
1740
1932
|
}
|
|
1741
|
-
const
|
|
1742
|
-
function
|
|
1743
|
-
const t =
|
|
1933
|
+
const be = R(null);
|
|
1934
|
+
function nr() {
|
|
1935
|
+
const t = M(be);
|
|
1744
1936
|
if (!t) throw new Error("useToast must be used within a <ToastProvider>");
|
|
1745
1937
|
return t;
|
|
1746
1938
|
}
|
|
1747
|
-
const
|
|
1939
|
+
const yt = {
|
|
1748
1940
|
success: {
|
|
1749
1941
|
bg: "bg-bg-primary",
|
|
1750
1942
|
accent: "bg-success",
|
|
1751
1943
|
text: "text-success",
|
|
1752
|
-
icon:
|
|
1944
|
+
icon: le
|
|
1753
1945
|
},
|
|
1754
1946
|
warning: {
|
|
1755
1947
|
bg: "bg-bg-primary",
|
|
1756
1948
|
accent: "bg-warning",
|
|
1757
1949
|
text: "text-warning",
|
|
1758
|
-
icon:
|
|
1950
|
+
icon: q
|
|
1759
1951
|
},
|
|
1760
1952
|
error: {
|
|
1761
1953
|
bg: "bg-bg-primary",
|
|
1762
1954
|
accent: "bg-error",
|
|
1763
1955
|
text: "text-error",
|
|
1764
|
-
icon:
|
|
1956
|
+
icon: ae
|
|
1765
1957
|
},
|
|
1766
1958
|
info: {
|
|
1767
1959
|
bg: "bg-bg-primary",
|
|
1768
1960
|
accent: "bg-info",
|
|
1769
1961
|
text: "text-info",
|
|
1770
|
-
icon:
|
|
1962
|
+
icon: se
|
|
1771
1963
|
}
|
|
1772
1964
|
};
|
|
1773
|
-
function
|
|
1774
|
-
const { variant: o, title: n, message: s, duration: i = 5e3 } = t, { bg: a, accent: c, text: d, icon: l } =
|
|
1775
|
-
return
|
|
1965
|
+
function vt({ toast: t, onRemove: r }) {
|
|
1966
|
+
const { variant: o, title: n, message: s, duration: i = 5e3 } = t, { bg: a, accent: c, text: d, icon: l } = yt[o], [u, f] = C(100), h = D(0), p = D(0);
|
|
1967
|
+
return I(() => {
|
|
1776
1968
|
if (i <= 0) return;
|
|
1777
1969
|
h.current = performance.now();
|
|
1778
|
-
const y = (
|
|
1779
|
-
const v =
|
|
1780
|
-
if (
|
|
1970
|
+
const y = (b) => {
|
|
1971
|
+
const v = b - h.current, N = Math.max(0, 100 - v / i * 100);
|
|
1972
|
+
if (f(N), N <= 0) {
|
|
1781
1973
|
r(t.id);
|
|
1782
1974
|
return;
|
|
1783
1975
|
}
|
|
@@ -1804,7 +1996,7 @@ function mt({ toast: t, onRemove: r }) {
|
|
|
1804
1996
|
onClick: () => r(t.id),
|
|
1805
1997
|
className: "shrink-0 p-1 rounded-sm text-text-secondary hover:text-text-primary hover:bg-bg-tertiary transition-colors cursor-pointer",
|
|
1806
1998
|
"aria-label": "Dismiss notification",
|
|
1807
|
-
children: /* @__PURE__ */ e(
|
|
1999
|
+
children: /* @__PURE__ */ e(U, { size: 14 })
|
|
1808
2000
|
}
|
|
1809
2001
|
)
|
|
1810
2002
|
] }),
|
|
@@ -1819,80 +2011,82 @@ function mt({ toast: t, onRemove: r }) {
|
|
|
1819
2011
|
}
|
|
1820
2012
|
);
|
|
1821
2013
|
}
|
|
1822
|
-
let
|
|
1823
|
-
function
|
|
1824
|
-
const [r, o] =
|
|
1825
|
-
const a = `toast-${++
|
|
2014
|
+
let Nt = 0;
|
|
2015
|
+
function or({ children: t }) {
|
|
2016
|
+
const [r, o] = C([]), n = k((i) => {
|
|
2017
|
+
const a = `toast-${++Nt}`;
|
|
1826
2018
|
return o((c) => [...c, { ...i, id: a }]), a;
|
|
1827
2019
|
}, []), s = k((i) => {
|
|
1828
2020
|
o((a) => a.filter((c) => c.id !== i));
|
|
1829
2021
|
}, []);
|
|
1830
|
-
return /* @__PURE__ */ m(
|
|
2022
|
+
return /* @__PURE__ */ m(be, { value: { addToast: n, removeToast: s }, children: [
|
|
1831
2023
|
t,
|
|
1832
2024
|
/* @__PURE__ */ e(
|
|
1833
2025
|
"div",
|
|
1834
2026
|
{
|
|
1835
2027
|
"aria-label": "Notifications",
|
|
1836
2028
|
className: "fixed bottom-lg right-lg z-50 flex flex-col-reverse gap-sm pointer-events-none",
|
|
1837
|
-
children: r.map((i) => /* @__PURE__ */ e("div", { className: "pointer-events-auto", children: /* @__PURE__ */ e(
|
|
2029
|
+
children: r.map((i) => /* @__PURE__ */ e("div", { className: "pointer-events-auto", children: /* @__PURE__ */ e(vt, { toast: i, onRemove: s }) }, i.id))
|
|
1838
2030
|
}
|
|
1839
2031
|
)
|
|
1840
2032
|
] });
|
|
1841
2033
|
}
|
|
1842
|
-
const
|
|
2034
|
+
const xe = R(null), wt = {
|
|
1843
2035
|
name: "Alice Martin",
|
|
1844
2036
|
email: "alice.martin@epfl.ch",
|
|
1845
2037
|
role: "admin"
|
|
1846
2038
|
};
|
|
1847
|
-
function
|
|
1848
|
-
const [o, n] =
|
|
1849
|
-
return /* @__PURE__ */ e(
|
|
2039
|
+
function ir({ initialUser: t = wt, children: r }) {
|
|
2040
|
+
const [o, n] = C(t), s = (a) => n((c) => ({ ...c, role: a })), i = K(() => ({ user: o, setRole: s }), [o]);
|
|
2041
|
+
return /* @__PURE__ */ e(xe.Provider, { value: i, children: r });
|
|
1850
2042
|
}
|
|
1851
|
-
function
|
|
1852
|
-
const t =
|
|
2043
|
+
function sr() {
|
|
2044
|
+
const t = M(xe);
|
|
1853
2045
|
if (!t) throw new Error("useAuth must be used within an AuthProvider");
|
|
1854
2046
|
return t;
|
|
1855
2047
|
}
|
|
1856
2048
|
export {
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
Lt as
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
2049
|
+
tr as Alert,
|
|
2050
|
+
ir as AuthProvider,
|
|
2051
|
+
Ft as Avatar,
|
|
2052
|
+
Et as Badge,
|
|
2053
|
+
ut as BurgerDrawer,
|
|
2054
|
+
St as Button,
|
|
2055
|
+
Jt as Card,
|
|
2056
|
+
Pt as Checkbox,
|
|
2057
|
+
rr as ConfirmDialog,
|
|
2058
|
+
Qt as DescriptionList,
|
|
2059
|
+
ht as Dialog,
|
|
2060
|
+
Ot as DropdownDivider,
|
|
2061
|
+
Vt as DropdownItem,
|
|
2062
|
+
Ut as DropdownMenu,
|
|
2063
|
+
Zt as EmptyState,
|
|
2064
|
+
At as FileUpload,
|
|
2065
|
+
He as IconButton,
|
|
2066
|
+
Lt as Input,
|
|
2067
|
+
Xt as LanguageSwitcher,
|
|
2068
|
+
Wt as PageShell,
|
|
2069
|
+
Kt as Popover,
|
|
2070
|
+
Bt as ProgressBar,
|
|
2071
|
+
Qe as RadioGroup,
|
|
2072
|
+
Tt as Select,
|
|
2073
|
+
dt as SideNav,
|
|
2074
|
+
me as Spinner,
|
|
2075
|
+
Rt as Switch,
|
|
2076
|
+
Ht as TabPanel,
|
|
2077
|
+
er as Table,
|
|
2078
|
+
qt as Tabs,
|
|
2079
|
+
Mt as Textarea,
|
|
2080
|
+
_t as ThemeToggle,
|
|
2081
|
+
or as ToastProvider,
|
|
2082
|
+
Gt as Tooltip,
|
|
2083
|
+
ct as TopNav,
|
|
2084
|
+
ne as epflSelectClassNames,
|
|
2085
|
+
et as epflSelectTheme,
|
|
2086
|
+
Yt as initTheme,
|
|
2087
|
+
sr as useAuth,
|
|
2088
|
+
rt as useLanguage,
|
|
2089
|
+
lt as useTheme,
|
|
2090
|
+
nr as useToast
|
|
1897
2091
|
};
|
|
1898
2092
|
//# sourceMappingURL=poesis.js.map
|