@epfl-sti/poesis 0.3.4 → 0.3.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/poesis.js
CHANGED
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--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-red-600:oklch(57.7% .245 27.325);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-xl:36rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@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}.sticky{position:sticky}.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 (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.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-auto{margin-top:auto}.mt-lg{margin-top:var(--spacing-lg)}.mt-md{margin-top:var(--spacing-md)}.mt-sm{margin-top:var(--spacing-sm)}.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-2{margin-bottom:calc(var(--spacing) * 2)}.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-3{height:calc(var(--spacing) * 3)}.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-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.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-\\[30px\\]{height:30px}.h-full{height:100%}.h-screen{height:100vh}.\\!min-h-8{min-height:calc(var(--spacing) * 8)!important}.\\!min-h-10{min-height:calc(var(--spacing) * 10)!important}.\\!min-h-12{min-height:calc(var(--spacing) * 12)!important}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-7{width:calc(var(--spacing) * 7)}.w-9{width:calc(var(--spacing) * 9)}.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-auto{width:auto}.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-7{min-width:calc(var(--spacing) * 7)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-11{min-width:calc(var(--spacing) * 11)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-\\[10rem\\]{min-width:10rem}.min-w-\\[280px\\]{min-width:280px}.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}.list-none{list-style-type:none}.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-r-2{border-right-style:var(--tw-border-style);border-right-width:2px}.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-none{--tw-border-style:none;border-style:none}.\\!border-border{border-color:var(--color-border)!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-red-600{border-color:var(--color-red-600)}.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-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-transparent{background-color:#0000}.bg-warning{background-color:var(--color-warning)}.bg-warning-bg{background-color:var(--color-warning-bg)}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.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-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.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)}.px-xs{padding-inline:var(--spacing-xs)}.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-3{padding-block:calc(var(--spacing) * 3)}.py-3\\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.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-md{padding-top:var(--spacing-md)}.pt-sm{padding-top:var(--spacing-sm)}.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)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.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)!important;line-height:var(--tw-leading,var(--text-body--line-height))!important}.\\!text-small{font-size:var(--text-small)!important;line-height:var(--tw-leading,var(--text-small--line-height))!important}.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-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-small{font-size:var(--text-small);line-height:var(--tw-leading,var(--text-small--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--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)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.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,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.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-primary{--tw-ring-color:var(--color-primary)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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-all{-webkit-user-select:all;user-select:all}.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-secondary:hover{background-color:var(--color-bg-secondary)}.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-primary:hover{color:var(--color-primary)}.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-epfl-canard:focus-visible{--tw-ring-color:var(--color-epfl-canard)}.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 (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 (width>=48rem){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--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;--logo-filter:brightness(0);--logo-opacity:.5}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme: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;--logo-filter:brightness(0) invert(1);--logo-opacity:1;--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}.poesis-desktop-flex{display:none}.poesis-mobile-only{display:flex}@media (width>=1024px){.poesis-desktop-flex{display:flex}.poesis-mobile-only{display:none}}@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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@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)}}
|
|
3
3
|
/*$vite$:1*/`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();import { createContext as e, forwardRef as t, useCallback as n, useContext as r, useEffect as i, useId as a, useMemo as o, useRef as s, useState as c, useSyncExternalStore as l } from "react";
|
|
4
4
|
import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
5
|
-
import { BoxArrowInRight as p, BoxArrowRight as m, CheckCircleFill as h, ChevronBarLeft as g, ChevronBarRight as _, ChevronDown as v, ChevronLeft as y, ChevronRight as b, CloudArrowUp as x, ExclamationTriangleFill as S, InfoCircleFill as C, List as w, MoonFill as T, Sliders as E, SortAlphaDown as D, SortAlphaDownAlt as O, SortDown as k, SortNumericDown as A, SortNumericDownAlt as
|
|
6
|
-
import { useTranslation as
|
|
7
|
-
import
|
|
8
|
-
import { FloatingFocusManager as
|
|
9
|
-
import { createPortal as
|
|
5
|
+
import { BoxArrowInRight as p, BoxArrowRight as m, CheckCircleFill as h, ChevronBarLeft as g, ChevronBarRight as _, ChevronDown as v, ChevronLeft as y, ChevronRight as b, CloudArrowUp as x, ExclamationTriangleFill as S, InfoCircleFill as C, List as w, MoonFill as T, Sliders as E, SortAlphaDown as D, SortAlphaDownAlt as O, SortDown as k, SortNumericDown as A, SortNumericDownAlt as j, SunFill as M, X as N, XCircleFill as P, XLg as F } from "react-bootstrap-icons";
|
|
6
|
+
import { useTranslation as I } from "react-i18next";
|
|
7
|
+
import ee from "react-select";
|
|
8
|
+
import { FloatingFocusManager as L, FloatingPortal as R, arrow as z, autoUpdate as B, flip as V, offset as H, shift as U, useClick as W, useDismiss as G, useFloating as K, useFocus as te, useHover as ne, useInteractions as q, useListNavigation as re, useRole as J } from "@floating-ui/react";
|
|
9
|
+
import { createPortal as ie } from "react-dom";
|
|
10
10
|
//#region src/components/ui/Avatar.tsx
|
|
11
|
-
var
|
|
11
|
+
var ae = {
|
|
12
12
|
sm: "size-8 text-caption",
|
|
13
13
|
md: "size-10 text-small",
|
|
14
14
|
lg: "size-14 text-body"
|
|
15
15
|
};
|
|
16
|
-
function
|
|
16
|
+
function oe(e) {
|
|
17
17
|
let t = e.trim().split(/\s+/);
|
|
18
18
|
return t.length === 0 ? "?" : t.length === 1 ? t[0][0].toUpperCase() : (t[0][0] + t[t.length - 1][0]).toUpperCase();
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function se({ src: e, name: t, size: n = "md", alt: r, className: i = "", ...a }) {
|
|
21
21
|
let [o, s] = c(!1), l = !!e && !o;
|
|
22
22
|
return /* @__PURE__ */ d("span", {
|
|
23
23
|
role: "img",
|
|
@@ -25,7 +25,7 @@ function ce({ src: e, name: t, size: n = "md", alt: r, className: i = "", ...a }
|
|
|
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
|
+
ae[n],
|
|
29
29
|
i
|
|
30
30
|
].join(" "),
|
|
31
31
|
...a,
|
|
@@ -36,35 +36,35 @@ function ce({ src: e, name: t, size: n = "md", alt: r, className: i = "", ...a }
|
|
|
36
36
|
onError: () => s(!0)
|
|
37
37
|
}) : /* @__PURE__ */ d("span", {
|
|
38
38
|
"aria-hidden": "true",
|
|
39
|
-
children:
|
|
39
|
+
children: oe(t)
|
|
40
40
|
})
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
//#endregion
|
|
44
44
|
//#region src/components/ui/Badge.tsx
|
|
45
|
-
var
|
|
45
|
+
var ce = {
|
|
46
46
|
default: "bg-bg-tertiary text-text-primary",
|
|
47
47
|
success: "bg-success-bg text-success",
|
|
48
48
|
warning: "bg-warning-bg text-warning",
|
|
49
49
|
error: "bg-error-bg text-error",
|
|
50
50
|
info: "bg-info-bg text-info"
|
|
51
|
-
},
|
|
51
|
+
}, le = {
|
|
52
52
|
default: "bg-text-muted",
|
|
53
53
|
success: "bg-success",
|
|
54
54
|
warning: "bg-warning",
|
|
55
55
|
error: "bg-error",
|
|
56
56
|
info: "bg-info"
|
|
57
57
|
};
|
|
58
|
-
function
|
|
58
|
+
function Y({ color: e = "default", dot: t, className: n = "", children: r, ...i }) {
|
|
59
59
|
return t ? /* @__PURE__ */ d("span", {
|
|
60
60
|
role: "status",
|
|
61
|
-
className: `inline-block size-2.5 rounded-full ${
|
|
61
|
+
className: `inline-block size-2.5 rounded-full ${le[e]} ${n}`,
|
|
62
62
|
...i
|
|
63
63
|
}) : /* @__PURE__ */ d("span", {
|
|
64
64
|
className: [
|
|
65
65
|
"inline-flex items-center rounded-sm px-2 py-0.5",
|
|
66
66
|
"text-caption font-medium leading-none",
|
|
67
|
-
|
|
67
|
+
ce[e],
|
|
68
68
|
n
|
|
69
69
|
].join(" "),
|
|
70
70
|
...i,
|
|
@@ -73,17 +73,17 @@ function J({ color: e = "default", dot: t, className: n = "", children: r, ...i
|
|
|
73
73
|
}
|
|
74
74
|
//#endregion
|
|
75
75
|
//#region src/components/ui/Spinner.tsx
|
|
76
|
-
var
|
|
76
|
+
var ue = {
|
|
77
77
|
sm: "size-4",
|
|
78
78
|
md: "size-6",
|
|
79
79
|
lg: "size-8"
|
|
80
80
|
};
|
|
81
|
-
function
|
|
81
|
+
function X({ size: e = "md", className: t = "", ...n }) {
|
|
82
82
|
return /* @__PURE__ */ f("svg", {
|
|
83
83
|
viewBox: "0 0 24 24",
|
|
84
84
|
fill: "none",
|
|
85
85
|
xmlns: "http://www.w3.org/2000/svg",
|
|
86
|
-
className: `animate-spin ${
|
|
86
|
+
className: `animate-spin ${ue[e]} ${t}`,
|
|
87
87
|
role: "status",
|
|
88
88
|
"aria-label": "Loading",
|
|
89
89
|
...n,
|
|
@@ -103,20 +103,20 @@ function Y({ size: e = "md", className: t = "", ...n }) {
|
|
|
103
103
|
}
|
|
104
104
|
//#endregion
|
|
105
105
|
//#region src/components/ui/Button.tsx
|
|
106
|
-
var
|
|
106
|
+
var de = {
|
|
107
107
|
primary: "bg-primary text-white hover:bg-primary-hover focus-visible:ring-primary",
|
|
108
108
|
secondary: "border border-border text-text-primary bg-bg-primary hover:bg-bg-tertiary focus-visible:ring-primary",
|
|
109
109
|
ghost: "text-text-primary hover:bg-bg-tertiary focus-visible:ring-primary",
|
|
110
110
|
danger: "bg-error text-white hover:opacity-90 focus-visible:ring-error"
|
|
111
|
-
},
|
|
111
|
+
}, fe = {
|
|
112
112
|
sm: "text-small px-3 py-1 gap-1.5",
|
|
113
113
|
md: "text-body px-4 py-2 gap-2",
|
|
114
114
|
lg: "text-body px-5 py-2.5 gap-2"
|
|
115
|
-
},
|
|
115
|
+
}, pe = {
|
|
116
116
|
sm: "sm",
|
|
117
117
|
md: "sm",
|
|
118
118
|
lg: "md"
|
|
119
|
-
},
|
|
119
|
+
}, me = t(function({ variant: e = "primary", size: t = "md", loading: n = !1, disabled: r, iconLeft: i, iconRight: a, className: o = "", children: s, ...c }, l) {
|
|
120
120
|
let u = r || n;
|
|
121
121
|
return /* @__PURE__ */ f("button", {
|
|
122
122
|
ref: l,
|
|
@@ -127,31 +127,31 @@ var fe = {
|
|
|
127
127
|
"inline-flex items-center justify-center font-medium rounded-md",
|
|
128
128
|
"transition-colors duration-150 cursor-pointer",
|
|
129
129
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
de[e],
|
|
131
|
+
fe[t],
|
|
132
132
|
u && "opacity-50 pointer-events-none",
|
|
133
133
|
o
|
|
134
134
|
].filter(Boolean).join(" "),
|
|
135
135
|
...c,
|
|
136
136
|
children: [
|
|
137
|
-
n ? /* @__PURE__ */ d(
|
|
138
|
-
size:
|
|
137
|
+
n ? /* @__PURE__ */ d(X, {
|
|
138
|
+
size: pe[t],
|
|
139
139
|
"aria-hidden": "true"
|
|
140
140
|
}) : i,
|
|
141
141
|
s,
|
|
142
142
|
!n && a
|
|
143
143
|
]
|
|
144
144
|
});
|
|
145
|
-
}),
|
|
145
|
+
}), he = {
|
|
146
146
|
primary: "bg-primary text-white hover:bg-primary-hover focus-visible:ring-primary",
|
|
147
147
|
secondary: "border border-border text-text-primary bg-bg-primary hover:bg-bg-tertiary focus-visible:ring-primary",
|
|
148
148
|
ghost: "text-text-primary hover:bg-bg-tertiary focus-visible:ring-primary",
|
|
149
149
|
danger: "bg-error text-white hover:opacity-90 focus-visible:ring-error"
|
|
150
|
-
},
|
|
150
|
+
}, ge = {
|
|
151
151
|
sm: "size-7 text-small",
|
|
152
152
|
md: "size-9 text-body",
|
|
153
153
|
lg: "size-11 text-body"
|
|
154
|
-
},
|
|
154
|
+
}, _e = t(function({ variant: e = "ghost", size: t = "md", loading: n = !1, disabled: r, icon: i, className: a = "", ...o }, s) {
|
|
155
155
|
let c = r || n;
|
|
156
156
|
return /* @__PURE__ */ d("button", {
|
|
157
157
|
ref: s,
|
|
@@ -162,27 +162,27 @@ var fe = {
|
|
|
162
162
|
"inline-flex items-center justify-center rounded-md",
|
|
163
163
|
"transition-colors duration-150 cursor-pointer",
|
|
164
164
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
165
|
-
|
|
166
|
-
|
|
165
|
+
he[e],
|
|
166
|
+
ge[t],
|
|
167
167
|
c && "opacity-50 pointer-events-none",
|
|
168
168
|
a
|
|
169
169
|
].filter(Boolean).join(" "),
|
|
170
170
|
...o,
|
|
171
|
-
children: n ? /* @__PURE__ */ d(
|
|
171
|
+
children: n ? /* @__PURE__ */ d(X, {
|
|
172
172
|
size: "sm",
|
|
173
173
|
"aria-hidden": "true"
|
|
174
174
|
}) : i
|
|
175
175
|
});
|
|
176
|
-
}),
|
|
176
|
+
}), ve = {
|
|
177
177
|
sm: "h-7 min-w-7 px-1.5 text-small",
|
|
178
178
|
md: "h-9 min-w-9 px-2 text-body",
|
|
179
179
|
lg: "h-11 min-w-11 px-3 text-body"
|
|
180
|
-
},
|
|
180
|
+
}, ye = {
|
|
181
181
|
sm: 14,
|
|
182
182
|
md: 16,
|
|
183
183
|
lg: 18
|
|
184
184
|
};
|
|
185
|
-
function
|
|
185
|
+
function be(e, t, n, r) {
|
|
186
186
|
if (t <= r * 2 + n * 2 + 3) return Array.from({ length: t }, (e, t) => t + 1);
|
|
187
187
|
let i = Array.from({ length: r }, (e, t) => t + 1), a = Array.from({ length: r }, (e, n) => t - r + 1 + n), o = Math.max(r + 2, e - n), s = Math.min(t - r - 1, e + n), c = o > r + 2, l = s < t - r - 1, u = [];
|
|
188
188
|
if (u.push(...i), c) u.push("ellipsis-start");
|
|
@@ -192,20 +192,20 @@ function xe(e, t, n, r) {
|
|
|
192
192
|
else for (let e = s + 1; e <= t - r; e++) u.push(e);
|
|
193
193
|
return u.push(...a), u;
|
|
194
194
|
}
|
|
195
|
-
var
|
|
196
|
-
let { t: v } =
|
|
195
|
+
var xe = t(function({ totalPages: e, page: t, defaultPage: r = 1, onChange: i, siblingCount: a = 1, boundaryCount: o = 1, showFirstLast: s = !1, size: l = "md", disabled: u = !1, className: p = "", ...m }, h) {
|
|
196
|
+
let { t: v } = I(), x = t !== void 0, [S, C] = c(r), w = Math.min(Math.max(x ? t : S, 1), e), T = n((t) => {
|
|
197
197
|
let n = Math.min(Math.max(t, 1), e);
|
|
198
198
|
x || C(n), i?.(n);
|
|
199
199
|
}, [
|
|
200
200
|
x,
|
|
201
201
|
i,
|
|
202
202
|
e
|
|
203
|
-
]), E =
|
|
203
|
+
]), E = be(w, e, a, o), D = ye[l], O = w <= 1, k = w >= e, A = [
|
|
204
204
|
"inline-flex items-center justify-center rounded-md font-medium",
|
|
205
205
|
"transition-colors duration-150 cursor-pointer",
|
|
206
206
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-epfl-canard",
|
|
207
|
-
|
|
208
|
-
].join(" "),
|
|
207
|
+
ve[l]
|
|
208
|
+
].join(" "), j = (e) => [A, e ? "bg-epfl-canard text-white" : "text-text-primary hover:bg-bg-tertiary"].filter(Boolean).join(" "), M = (e) => [
|
|
209
209
|
A,
|
|
210
210
|
"text-text-secondary hover:bg-bg-tertiary",
|
|
211
211
|
(u || e) && "opacity-40 pointer-events-none"
|
|
@@ -220,7 +220,7 @@ var Se = t(function({ totalPages: e, page: t, defaultPage: r = 1, onChange: i, s
|
|
|
220
220
|
type: "button",
|
|
221
221
|
"aria-label": v("common.first"),
|
|
222
222
|
disabled: u || O,
|
|
223
|
-
className:
|
|
223
|
+
className: M(O),
|
|
224
224
|
onClick: () => T(1),
|
|
225
225
|
children: /* @__PURE__ */ d(g, {
|
|
226
226
|
size: D,
|
|
@@ -231,7 +231,7 @@ var Se = t(function({ totalPages: e, page: t, defaultPage: r = 1, onChange: i, s
|
|
|
231
231
|
type: "button",
|
|
232
232
|
"aria-label": v("common.previous"),
|
|
233
233
|
disabled: u || O,
|
|
234
|
-
className:
|
|
234
|
+
className: M(O),
|
|
235
235
|
onClick: () => T(w - 1),
|
|
236
236
|
children: /* @__PURE__ */ d(y, {
|
|
237
237
|
size: D,
|
|
@@ -241,7 +241,7 @@ var Se = t(function({ totalPages: e, page: t, defaultPage: r = 1, onChange: i, s
|
|
|
241
241
|
E.map((e) => {
|
|
242
242
|
if (typeof e == "string") return /* @__PURE__ */ d("span", {
|
|
243
243
|
"aria-hidden": !0,
|
|
244
|
-
className: ["inline-flex items-center justify-center select-none text-text-secondary",
|
|
244
|
+
className: ["inline-flex items-center justify-center select-none text-text-secondary", ve[l]].join(" "),
|
|
245
245
|
children: "…"
|
|
246
246
|
}, e);
|
|
247
247
|
let t = e === w;
|
|
@@ -250,7 +250,7 @@ var Se = t(function({ totalPages: e, page: t, defaultPage: r = 1, onChange: i, s
|
|
|
250
250
|
"aria-current": t ? "page" : void 0,
|
|
251
251
|
"aria-label": v("common.goToPage", { page: e }),
|
|
252
252
|
disabled: u,
|
|
253
|
-
className: [
|
|
253
|
+
className: [j(t), u && "opacity-40 pointer-events-none"].filter(Boolean).join(" "),
|
|
254
254
|
onClick: () => T(e),
|
|
255
255
|
children: e
|
|
256
256
|
}, e);
|
|
@@ -259,7 +259,7 @@ var Se = t(function({ totalPages: e, page: t, defaultPage: r = 1, onChange: i, s
|
|
|
259
259
|
type: "button",
|
|
260
260
|
"aria-label": v("common.next"),
|
|
261
261
|
disabled: u || k,
|
|
262
|
-
className:
|
|
262
|
+
className: M(k),
|
|
263
263
|
onClick: () => T(w + 1),
|
|
264
264
|
children: /* @__PURE__ */ d(b, {
|
|
265
265
|
size: D,
|
|
@@ -270,7 +270,7 @@ var Se = t(function({ totalPages: e, page: t, defaultPage: r = 1, onChange: i, s
|
|
|
270
270
|
type: "button",
|
|
271
271
|
"aria-label": v("common.last"),
|
|
272
272
|
disabled: u || k,
|
|
273
|
-
className:
|
|
273
|
+
className: M(k),
|
|
274
274
|
onClick: () => T(e),
|
|
275
275
|
children: /* @__PURE__ */ d(_, {
|
|
276
276
|
size: D,
|
|
@@ -282,10 +282,10 @@ var Se = t(function({ totalPages: e, page: t, defaultPage: r = 1, onChange: i, s
|
|
|
282
282
|
});
|
|
283
283
|
//#endregion
|
|
284
284
|
//#region src/components/ui/FileUpload.tsx
|
|
285
|
-
function
|
|
285
|
+
function Se(e) {
|
|
286
286
|
return e < 1024 ? `${e} B` : e < 1024 * 1024 ? `${(e / 1024).toFixed(1)} KB` : `${(e / (1024 * 1024)).toFixed(1)} MB`;
|
|
287
287
|
}
|
|
288
|
-
function
|
|
288
|
+
function Ce({ accept: e, multiple: t = !1, maxSize: r, onFilesSelected: i, onReject: a, disabled: o = !1, label: l = "Drop files here or click to browse", helperText: u, error: p, illustration: m, className: h = "" }) {
|
|
289
289
|
let [g, _] = c(!1), [v, y] = c([]), b = s(null), S = !!p, C = n((e) => {
|
|
290
290
|
let n = Array.from(e), o = [], s = [];
|
|
291
291
|
for (let e of n) r && e.size > r ? s.push(e) : o.push(e);
|
|
@@ -375,7 +375,7 @@ function we({ accept: e, multiple: t = !1, maxSize: r, onFilesSelected: i, onRej
|
|
|
375
375
|
}),
|
|
376
376
|
/* @__PURE__ */ d("span", {
|
|
377
377
|
className: "shrink-0 text-text-secondary",
|
|
378
|
-
children:
|
|
378
|
+
children: Se(e.size)
|
|
379
379
|
}),
|
|
380
380
|
/* @__PURE__ */ d("button", {
|
|
381
381
|
type: "button",
|
|
@@ -384,7 +384,7 @@ function we({ accept: e, multiple: t = !1, maxSize: r, onFilesSelected: i, onRej
|
|
|
384
384
|
},
|
|
385
385
|
className: "shrink-0 p-0.5 rounded-sm text-text-secondary hover:text-text-primary hover:bg-bg-tertiary transition-colors cursor-pointer",
|
|
386
386
|
"aria-label": `Remove ${e.name}`,
|
|
387
|
-
children: /* @__PURE__ */ d(
|
|
387
|
+
children: /* @__PURE__ */ d(N, { size: 14 })
|
|
388
388
|
})
|
|
389
389
|
]
|
|
390
390
|
}, `${e.name}-${e.size}-${t}`))
|
|
@@ -394,30 +394,30 @@ function we({ accept: e, multiple: t = !1, maxSize: r, onFilesSelected: i, onRej
|
|
|
394
394
|
}
|
|
395
395
|
//#endregion
|
|
396
396
|
//#region src/components/ui/ProgressBar.tsx
|
|
397
|
-
var
|
|
397
|
+
var we = {
|
|
398
398
|
sm: "h-1.5",
|
|
399
399
|
md: "h-2.5",
|
|
400
400
|
lg: "h-4"
|
|
401
|
-
},
|
|
401
|
+
}, Te = {
|
|
402
402
|
primary: "bg-primary",
|
|
403
403
|
success: "bg-success",
|
|
404
404
|
warning: "bg-warning",
|
|
405
405
|
error: "bg-error",
|
|
406
406
|
info: "bg-info"
|
|
407
|
-
},
|
|
407
|
+
}, Ee = t(function({ value: e, variant: t = "primary", size: n = "md", showLabel: r = !1, formatLabel: i, className: a = "", ...o }, s) {
|
|
408
408
|
let c = Math.round(Math.min(100, Math.max(0, e))), l = i ? i(c) : `${c}%`;
|
|
409
409
|
return /* @__PURE__ */ f("div", {
|
|
410
410
|
ref: s,
|
|
411
411
|
className: `flex items-center gap-2 ${a}`,
|
|
412
412
|
...o,
|
|
413
413
|
children: [/* @__PURE__ */ d("div", {
|
|
414
|
-
className: ["flex-1 overflow-hidden rounded-full bg-bg-tertiary",
|
|
414
|
+
className: ["flex-1 overflow-hidden rounded-full bg-bg-tertiary", we[n]].join(" "),
|
|
415
415
|
role: "progressbar",
|
|
416
416
|
"aria-valuenow": c,
|
|
417
417
|
"aria-valuemin": 0,
|
|
418
418
|
"aria-valuemax": 100,
|
|
419
419
|
children: /* @__PURE__ */ d("div", {
|
|
420
|
-
className: ["h-full rounded-full transition-all duration-300 ease-out",
|
|
420
|
+
className: ["h-full rounded-full transition-all duration-300 ease-out", Te[t]].join(" "),
|
|
421
421
|
style: { width: `${c}%` }
|
|
422
422
|
})
|
|
423
423
|
}), r && /* @__PURE__ */ d("span", {
|
|
@@ -425,7 +425,7 @@ var Te = {
|
|
|
425
425
|
children: l
|
|
426
426
|
})]
|
|
427
427
|
});
|
|
428
|
-
}),
|
|
428
|
+
}), Z = t(function({ label: e, indeterminate: t = !1, helperText: r, error: o, className: c = "", id: l, disabled: u, ...p }, m) {
|
|
429
429
|
let h = a(), g = l ?? h, _ = `${g}-helper`, v = !!o, y = s(null), b = n((e) => {
|
|
430
430
|
y.current = e, typeof m == "function" ? m(e) : m && (m.current = e);
|
|
431
431
|
}, [m]);
|
|
@@ -465,23 +465,23 @@ var Te = {
|
|
|
465
465
|
children: o ?? r
|
|
466
466
|
})]
|
|
467
467
|
});
|
|
468
|
-
}),
|
|
468
|
+
}), De = {
|
|
469
469
|
sm: "h-8 text-small px-2.5",
|
|
470
470
|
md: "h-10 text-body px-3",
|
|
471
471
|
lg: "h-12 text-body px-3.5"
|
|
472
|
-
},
|
|
472
|
+
}, Oe = {
|
|
473
473
|
sm: "pl-8",
|
|
474
474
|
md: "pl-10",
|
|
475
475
|
lg: "pl-11"
|
|
476
|
-
},
|
|
476
|
+
}, ke = {
|
|
477
477
|
sm: "pr-8",
|
|
478
478
|
md: "pr-10",
|
|
479
479
|
lg: "pr-11"
|
|
480
|
-
},
|
|
480
|
+
}, Ae = {
|
|
481
481
|
sm: "[&>svg]:size-4",
|
|
482
482
|
md: "[&>svg]:size-5",
|
|
483
483
|
lg: "[&>svg]:size-5"
|
|
484
|
-
},
|
|
484
|
+
}, je = t(function({ label: e, helperText: t, error: n, leftIcon: r, rightIcon: i, inputSize: o = "md", className: s = "", id: c, disabled: l, ...u }, p) {
|
|
485
485
|
let m = a(), h = c ?? m, g = `${h}-helper`, _ = !!n;
|
|
486
486
|
return /* @__PURE__ */ f("div", {
|
|
487
487
|
className: `flex flex-col gap-1.5 ${s}`,
|
|
@@ -495,7 +495,7 @@ var Te = {
|
|
|
495
495
|
className: "relative",
|
|
496
496
|
children: [
|
|
497
497
|
r && /* @__PURE__ */ d("span", {
|
|
498
|
-
className: `pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3 text-text-secondary ${
|
|
498
|
+
className: `pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3 text-text-secondary ${Ae[o]}`,
|
|
499
499
|
"aria-hidden": "true",
|
|
500
500
|
children: r
|
|
501
501
|
}),
|
|
@@ -511,14 +511,14 @@ var Te = {
|
|
|
511
511
|
"focus:border-primary focus:ring-1 focus:ring-primary",
|
|
512
512
|
"disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-bg-secondary",
|
|
513
513
|
_ ? "border-error focus:border-error focus:ring-error" : "border-border hover:border-border-strong",
|
|
514
|
-
|
|
515
|
-
r ?
|
|
516
|
-
i ?
|
|
514
|
+
De[o],
|
|
515
|
+
r ? Oe[o] : "",
|
|
516
|
+
i ? ke[o] : ""
|
|
517
517
|
].join(" "),
|
|
518
518
|
...u
|
|
519
519
|
}),
|
|
520
520
|
i && /* @__PURE__ */ d("span", {
|
|
521
|
-
className: `pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3 text-text-secondary ${
|
|
521
|
+
className: `pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3 text-text-secondary ${Ae[o]}`,
|
|
522
522
|
"aria-hidden": "true",
|
|
523
523
|
children: i
|
|
524
524
|
})
|
|
@@ -531,15 +531,15 @@ var Te = {
|
|
|
531
531
|
})
|
|
532
532
|
]
|
|
533
533
|
});
|
|
534
|
-
}),
|
|
535
|
-
function
|
|
536
|
-
let e = r(
|
|
534
|
+
}), Me = e(null);
|
|
535
|
+
function Ne() {
|
|
536
|
+
let e = r(Me);
|
|
537
537
|
if (!e) throw Error("RadioGroup.Item must be used within RadioGroup");
|
|
538
538
|
return e;
|
|
539
539
|
}
|
|
540
|
-
function
|
|
540
|
+
function Pe({ name: e, value: t, onChange: n, label: r, helperText: i, error: o, orientation: s = "vertical", disabled: c = !1, children: l, className: u = "" }) {
|
|
541
541
|
let p = a(), m = e ?? p, h = `${`${m}-group`}-helper`, g = !!o;
|
|
542
|
-
return /* @__PURE__ */ d(
|
|
542
|
+
return /* @__PURE__ */ d(Me.Provider, {
|
|
543
543
|
value: {
|
|
544
544
|
name: m,
|
|
545
545
|
value: t,
|
|
@@ -570,8 +570,8 @@ function Fe({ name: e, value: t, onChange: n, label: r, helperText: i, error: o,
|
|
|
570
570
|
})
|
|
571
571
|
});
|
|
572
572
|
}
|
|
573
|
-
function
|
|
574
|
-
let { name: i, value: o, onChange: s, disabled: c, hasError: l } =
|
|
573
|
+
function Fe({ value: e, label: t, description: n, disabled: r }) {
|
|
574
|
+
let { name: i, value: o, onChange: s, disabled: c, hasError: l } = Ne(), u = a(), p = c || r;
|
|
575
575
|
return /* @__PURE__ */ f("div", {
|
|
576
576
|
className: "flex items-start gap-2",
|
|
577
577
|
children: [/* @__PURE__ */ d("input", {
|
|
@@ -603,10 +603,10 @@ function Ie({ value: e, label: t, description: n, disabled: r }) {
|
|
|
603
603
|
})]
|
|
604
604
|
});
|
|
605
605
|
}
|
|
606
|
-
|
|
606
|
+
Pe.Item = Fe;
|
|
607
607
|
//#endregion
|
|
608
608
|
//#region src/theme/reactSelectStyles.ts
|
|
609
|
-
var
|
|
609
|
+
var Ie = (e) => ({
|
|
610
610
|
...e,
|
|
611
611
|
borderRadius: 8,
|
|
612
612
|
colors: {
|
|
@@ -629,7 +629,7 @@ var Le = (e) => ({
|
|
|
629
629
|
danger: "var(--color-error)",
|
|
630
630
|
dangerLight: "var(--color-error-bg)"
|
|
631
631
|
}
|
|
632
|
-
}),
|
|
632
|
+
}), Le = {
|
|
633
633
|
control: ({ isFocused: e }) => `!shadow-sm !rounded-md !border-border ${e ? "!border-primary !ring-1 !ring-primary" : ""}`,
|
|
634
634
|
menu: () => "!rounded-lg !shadow-lg !border !border-border",
|
|
635
635
|
option: ({ isFocused: e, isSelected: t }) => `${t ? "!bg-primary !text-white" : e ? "!bg-bg-tertiary" : ""}`,
|
|
@@ -653,9 +653,9 @@ function ze({ label: e, helperText: t, error: n, selectSize: r = "md", className
|
|
|
653
653
|
className: "text-small font-medium text-text-primary",
|
|
654
654
|
children: e
|
|
655
655
|
}),
|
|
656
|
-
/* @__PURE__ */ d(
|
|
656
|
+
/* @__PURE__ */ d(ee, {
|
|
657
657
|
inputId: c,
|
|
658
|
-
theme:
|
|
658
|
+
theme: Ie,
|
|
659
659
|
menuPortalTarget: document.body,
|
|
660
660
|
styles: {
|
|
661
661
|
control: (e, t) => ({
|
|
@@ -685,9 +685,9 @@ function ze({ label: e, helperText: t, error: n, selectSize: r = "md", className
|
|
|
685
685
|
...o.styles
|
|
686
686
|
},
|
|
687
687
|
classNames: {
|
|
688
|
-
...
|
|
688
|
+
...Le,
|
|
689
689
|
control: (e) => {
|
|
690
|
-
let t = `${
|
|
690
|
+
let t = `${Le.control?.(e) ?? ""} ${Re[r]}`;
|
|
691
691
|
return u ? `${t} !border-error !focus:ring-error` : t;
|
|
692
692
|
}
|
|
693
693
|
},
|
|
@@ -835,21 +835,21 @@ var We = t(function({ children: e, icon: t, danger: n = !1, disabled: i = !1, on
|
|
|
835
835
|
});
|
|
836
836
|
});
|
|
837
837
|
function Ge({ trigger: e, children: t, placement: r = "bottom-start", className: i = "" }) {
|
|
838
|
-
let [a, o] = c(!1), [l, p] = c(null), m = s([]), { refs: h, floatingStyles: g, context: _ } =
|
|
838
|
+
let [a, o] = c(!1), [l, p] = c(null), m = s([]), { refs: h, floatingStyles: g, context: _ } = K({
|
|
839
839
|
open: a,
|
|
840
840
|
onOpenChange: o,
|
|
841
841
|
placement: r,
|
|
842
842
|
middleware: [
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
843
|
+
H(4),
|
|
844
|
+
V(),
|
|
845
|
+
U({ padding: 8 })
|
|
846
846
|
],
|
|
847
|
-
whileElementsMounted:
|
|
848
|
-
}), { getReferenceProps: v, getFloatingProps: y, getItemProps: b } =
|
|
849
|
-
U(_),
|
|
847
|
+
whileElementsMounted: B
|
|
848
|
+
}), { getReferenceProps: v, getFloatingProps: y, getItemProps: b } = q([
|
|
850
849
|
W(_),
|
|
851
|
-
|
|
852
|
-
|
|
850
|
+
G(_),
|
|
851
|
+
J(_, { role: "menu" }),
|
|
852
|
+
re(_, {
|
|
853
853
|
listRef: m,
|
|
854
854
|
activeIndex: l,
|
|
855
855
|
onNavigate: p,
|
|
@@ -861,7 +861,7 @@ function Ge({ trigger: e, children: t, placement: r = "bottom-start", className:
|
|
|
861
861
|
className: "inline-flex",
|
|
862
862
|
...v(),
|
|
863
863
|
children: e
|
|
864
|
-
}), a && /* @__PURE__ */ d(
|
|
864
|
+
}), a && /* @__PURE__ */ d(R, { children: /* @__PURE__ */ d(L, {
|
|
865
865
|
context: _,
|
|
866
866
|
modal: !1,
|
|
867
867
|
children: /* @__PURE__ */ d("div", {
|
|
@@ -888,27 +888,27 @@ function Ge({ trigger: e, children: t, placement: r = "bottom-start", className:
|
|
|
888
888
|
//#endregion
|
|
889
889
|
//#region src/components/ui/Popover.tsx
|
|
890
890
|
function Ke({ trigger: e, children: t, placement: n = "bottom", open: r, onOpenChange: i, className: a = "" }) {
|
|
891
|
-
let [o, s] = c(!1), l = r !== void 0, p = l ? r : o, { refs: m, floatingStyles: h, context: g } =
|
|
891
|
+
let [o, s] = c(!1), l = r !== void 0, p = l ? r : o, { refs: m, floatingStyles: h, context: g } = K({
|
|
892
892
|
open: p,
|
|
893
893
|
onOpenChange: l ? (e) => i?.(e) : s,
|
|
894
894
|
placement: n,
|
|
895
895
|
middleware: [
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
896
|
+
H(8),
|
|
897
|
+
V(),
|
|
898
|
+
U({ padding: 8 })
|
|
899
899
|
],
|
|
900
|
-
whileElementsMounted:
|
|
901
|
-
}), { getReferenceProps: _, getFloatingProps: v } =
|
|
902
|
-
U(g),
|
|
900
|
+
whileElementsMounted: B
|
|
901
|
+
}), { getReferenceProps: _, getFloatingProps: v } = q([
|
|
903
902
|
W(g),
|
|
904
|
-
|
|
903
|
+
G(g),
|
|
904
|
+
J(g)
|
|
905
905
|
]);
|
|
906
906
|
return /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ d("span", {
|
|
907
907
|
ref: m.setReference,
|
|
908
908
|
className: "inline-flex",
|
|
909
909
|
..._(),
|
|
910
910
|
children: e
|
|
911
|
-
}), p && /* @__PURE__ */ d(
|
|
911
|
+
}), p && /* @__PURE__ */ d(R, { children: /* @__PURE__ */ d(L, {
|
|
912
912
|
context: g,
|
|
913
913
|
modal: !1,
|
|
914
914
|
children: /* @__PURE__ */ d("div", {
|
|
@@ -1018,32 +1018,32 @@ var Xe = {
|
|
|
1018
1018
|
right: "left"
|
|
1019
1019
|
};
|
|
1020
1020
|
function Ze({ children: e, content: t, placement: n = "top", delay: r = 200, className: i = "" }) {
|
|
1021
|
-
let [a, o] = c(!1), l = s(null), { refs: p, floatingStyles: m, context: h, middlewareData: g, placement: _ } =
|
|
1021
|
+
let [a, o] = c(!1), l = s(null), { refs: p, floatingStyles: m, context: h, middlewareData: g, placement: _ } = K({
|
|
1022
1022
|
open: a,
|
|
1023
1023
|
onOpenChange: o,
|
|
1024
1024
|
placement: n,
|
|
1025
1025
|
middleware: [
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1026
|
+
H(8),
|
|
1027
|
+
V(),
|
|
1028
|
+
U({ padding: 8 }),
|
|
1029
|
+
z({ element: l })
|
|
1030
1030
|
],
|
|
1031
|
-
whileElementsMounted:
|
|
1032
|
-
}), { getReferenceProps: v, getFloatingProps: y } =
|
|
1033
|
-
|
|
1031
|
+
whileElementsMounted: B
|
|
1032
|
+
}), { getReferenceProps: v, getFloatingProps: y } = q([
|
|
1033
|
+
ne(h, {
|
|
1034
1034
|
delay: r,
|
|
1035
1035
|
move: !1
|
|
1036
1036
|
}),
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1037
|
+
te(h),
|
|
1038
|
+
G(h),
|
|
1039
|
+
J(h, { role: "tooltip" })
|
|
1040
1040
|
]), b = _.split("-")[0], x = g.arrow?.x, S = g.arrow?.y;
|
|
1041
1041
|
return /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ d("span", {
|
|
1042
1042
|
ref: p.setReference,
|
|
1043
1043
|
className: "inline-flex",
|
|
1044
1044
|
...v(),
|
|
1045
1045
|
children: e
|
|
1046
|
-
}), a && t && /* @__PURE__ */ d(
|
|
1046
|
+
}), a && t && /* @__PURE__ */ d(R, { children: /* @__PURE__ */ f("div", {
|
|
1047
1047
|
ref: p.setFloating,
|
|
1048
1048
|
style: m,
|
|
1049
1049
|
role: "tooltip",
|
|
@@ -1068,7 +1068,7 @@ function Ze({ children: e, content: t, placement: n = "top", delay: r = 200, cla
|
|
|
1068
1068
|
//#endregion
|
|
1069
1069
|
//#region src/hooks/useLanguage.ts
|
|
1070
1070
|
function Qe() {
|
|
1071
|
-
let { i18n: e } =
|
|
1071
|
+
let { i18n: e } = I(), t = e.language ?? "en", r = n((t) => {
|
|
1072
1072
|
e.changeLanguage(t);
|
|
1073
1073
|
}, [e]);
|
|
1074
1074
|
return {
|
|
@@ -1155,11 +1155,11 @@ function ct() {
|
|
|
1155
1155
|
//#endregion
|
|
1156
1156
|
//#region src/components/ui/ThemeToggle.tsx
|
|
1157
1157
|
function lt({ variant: e = "ghost", size: t = "md", className: n }) {
|
|
1158
|
-
let { isDark: r, toggleTheme: i } = ct(), { t: a } =
|
|
1159
|
-
return /* @__PURE__ */ d(
|
|
1158
|
+
let { isDark: r, toggleTheme: i } = ct(), { t: a } = I();
|
|
1159
|
+
return /* @__PURE__ */ d(_e, {
|
|
1160
1160
|
variant: e,
|
|
1161
1161
|
size: t,
|
|
1162
|
-
icon: d(r ?
|
|
1162
|
+
icon: d(r ? M : T, { size: 16 }),
|
|
1163
1163
|
"aria-label": a("theme.toggleTheme"),
|
|
1164
1164
|
onClick: i,
|
|
1165
1165
|
className: n
|
|
@@ -1276,7 +1276,7 @@ function vt({ counters: e }) {
|
|
|
1276
1276
|
children: t.map((e, t) => /* @__PURE__ */ d(Ze, {
|
|
1277
1277
|
content: e.tooltip,
|
|
1278
1278
|
placement: "top",
|
|
1279
|
-
children: /* @__PURE__ */ d(
|
|
1279
|
+
children: /* @__PURE__ */ d(Y, {
|
|
1280
1280
|
color: e.color,
|
|
1281
1281
|
children: e.count > 99 ? "99+" : e.count
|
|
1282
1282
|
})
|
|
@@ -1354,7 +1354,7 @@ function bt({ open: e, onClose: t, categories: n = [], activeCategoryId: r, onCa
|
|
|
1354
1354
|
onClick: t,
|
|
1355
1355
|
className: "flex size-9 items-center justify-center rounded-md text-text-secondary hover:bg-bg-tertiary hover:text-text-primary",
|
|
1356
1356
|
"aria-label": "Close menu",
|
|
1357
|
-
children: /* @__PURE__ */ d(
|
|
1357
|
+
children: /* @__PURE__ */ d(F, { size: 18 })
|
|
1358
1358
|
})]
|
|
1359
1359
|
}), /* @__PURE__ */ f("div", {
|
|
1360
1360
|
className: "flex-1 overflow-y-auto p-sm",
|
|
@@ -1388,7 +1388,7 @@ function xt({ counters: e }) {
|
|
|
1388
1388
|
children: t.map((e, t) => /* @__PURE__ */ d(Ze, {
|
|
1389
1389
|
content: e.tooltip,
|
|
1390
1390
|
placement: "top",
|
|
1391
|
-
children: /* @__PURE__ */ d(
|
|
1391
|
+
children: /* @__PURE__ */ d(Y, {
|
|
1392
1392
|
color: e.color,
|
|
1393
1393
|
children: e.count > 99 ? "99+" : e.count
|
|
1394
1394
|
})
|
|
@@ -1534,8 +1534,8 @@ function Tt() {
|
|
|
1534
1534
|
//#endregion
|
|
1535
1535
|
//#region src/components/layout/UserMenu.tsx
|
|
1536
1536
|
function Et({ onLogin: e }) {
|
|
1537
|
-
let { t } =
|
|
1538
|
-
return /* @__PURE__ */ d(
|
|
1537
|
+
let { t } = I();
|
|
1538
|
+
return /* @__PURE__ */ d(me, {
|
|
1539
1539
|
variant: "primary",
|
|
1540
1540
|
size: "sm",
|
|
1541
1541
|
iconLeft: /* @__PURE__ */ d(p, { size: 14 }),
|
|
@@ -1544,9 +1544,9 @@ function Et({ onLogin: e }) {
|
|
|
1544
1544
|
});
|
|
1545
1545
|
}
|
|
1546
1546
|
function Dt({ user: e, onLogout: t }) {
|
|
1547
|
-
let { t: n } =
|
|
1547
|
+
let { t: n } = I();
|
|
1548
1548
|
return /* @__PURE__ */ f(Ge, {
|
|
1549
|
-
trigger: /* @__PURE__ */ d(
|
|
1549
|
+
trigger: /* @__PURE__ */ d(se, {
|
|
1550
1550
|
src: e.avatarUrl,
|
|
1551
1551
|
name: e.name,
|
|
1552
1552
|
size: "sm",
|
|
@@ -1720,7 +1720,7 @@ function Mt(e, t) {
|
|
|
1720
1720
|
return "text";
|
|
1721
1721
|
}
|
|
1722
1722
|
function Nt({ active: e, direction: t, columnType: n }) {
|
|
1723
|
-
return e ? d(n === "numeric" ? t === "asc" ? A :
|
|
1723
|
+
return e ? d(n === "numeric" ? t === "asc" ? A : j : t === "asc" ? D : O, {
|
|
1724
1724
|
size: 14,
|
|
1725
1725
|
className: "ml-1 inline",
|
|
1726
1726
|
"aria-hidden": !0
|
|
@@ -1751,7 +1751,7 @@ function Pt({ columns: e, hiddenSet: t, onToggle: n }) {
|
|
|
1751
1751
|
children: "Visible columns"
|
|
1752
1752
|
}), r.map((e) => {
|
|
1753
1753
|
let r = !t.has(e.key), a = r && i <= 1;
|
|
1754
|
-
return /* @__PURE__ */ d(
|
|
1754
|
+
return /* @__PURE__ */ d(Z, {
|
|
1755
1755
|
label: e.header,
|
|
1756
1756
|
checked: r,
|
|
1757
1757
|
disabled: a,
|
|
@@ -1761,34 +1761,49 @@ function Pt({ columns: e, hiddenSet: t, onToggle: n }) {
|
|
|
1761
1761
|
})
|
|
1762
1762
|
});
|
|
1763
1763
|
}
|
|
1764
|
-
var Ft = t(function({ columns: e, data: t, rowKey: r, striped: i = !1, sort: a, onSortChange: s, emptyContent: l, stickyHeader: u = !1, toolbar: p, columnVisibility: m = !1,
|
|
1765
|
-
let [
|
|
1766
|
-
let t =
|
|
1764
|
+
var Ft = t(function({ columns: e, data: t, rowKey: r, striped: i = !1, sort: a, onSortChange: s, emptyContent: l, stickyHeader: u = !1, toolbar: p, columnVisibility: m = !1, columnVisibilityKey: h, hiddenColumns: g, onHiddenColumnsChange: _, defaultHiddenColumns: v, selectionKey: y, selectedValues: b, onSelectionChange: x, className: S = "", ...C }, w) {
|
|
1765
|
+
let [T, E] = c(), D = a ?? T, O = n((e) => {
|
|
1766
|
+
let t = D?.column === e && D.direction === "asc" ? {
|
|
1767
1767
|
column: e,
|
|
1768
1768
|
direction: "desc"
|
|
1769
1769
|
} : {
|
|
1770
1770
|
column: e,
|
|
1771
1771
|
direction: "asc"
|
|
1772
1772
|
};
|
|
1773
|
-
s ? s(t) :
|
|
1774
|
-
}, [
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1773
|
+
s ? s(t) : E(t);
|
|
1774
|
+
}, [D, s]), [k, A] = c(() => {
|
|
1775
|
+
if (h) try {
|
|
1776
|
+
let e = localStorage.getItem(h);
|
|
1777
|
+
if (e) return new Set(JSON.parse(e));
|
|
1778
|
+
} catch {}
|
|
1779
|
+
return new Set(v ?? []);
|
|
1780
|
+
}), j = o(() => g ? new Set(g) : k, [g, k]), M = n((e) => {
|
|
1781
|
+
let t = new Set(j);
|
|
1782
|
+
t.has(e) ? t.delete(e) : t.add(e);
|
|
1783
|
+
let n = Array.from(t);
|
|
1784
|
+
if (h) try {
|
|
1785
|
+
localStorage.setItem(h, JSON.stringify(n));
|
|
1786
|
+
} catch {}
|
|
1787
|
+
_ ? _(n) : A(t);
|
|
1788
|
+
}, [
|
|
1789
|
+
j,
|
|
1790
|
+
_,
|
|
1791
|
+
h
|
|
1792
|
+
]), [N, P] = c(() => /* @__PURE__ */ new Set()), F = o(() => b ? new Set(b) : N, [b, N]), I = n((e) => {
|
|
1778
1793
|
let t = Array.from(e);
|
|
1779
|
-
|
|
1780
|
-
}, [
|
|
1781
|
-
let t = new Set(
|
|
1782
|
-
t.has(e) ? t.delete(e) : t.add(e),
|
|
1783
|
-
}, [
|
|
1784
|
-
|
|
1785
|
-
}, [
|
|
1794
|
+
x ? x(t) : P(e);
|
|
1795
|
+
}, [x]), ee = n((e) => {
|
|
1796
|
+
let t = new Set(F);
|
|
1797
|
+
t.has(e) ? t.delete(e) : t.add(e), I(t);
|
|
1798
|
+
}, [F, I]), L = n((e) => {
|
|
1799
|
+
I(e.length > 0 && e.every((e) => F.has(e)) ? /* @__PURE__ */ new Set() : new Set(e));
|
|
1800
|
+
}, [F, I]), R = o(() => m ? e.filter((e) => !j.has(e.key)) : e, [
|
|
1786
1801
|
e,
|
|
1787
|
-
|
|
1802
|
+
j,
|
|
1788
1803
|
m
|
|
1789
|
-
]),
|
|
1790
|
-
if (!
|
|
1791
|
-
let n = e.find((e) => e.key ===
|
|
1804
|
+
]), z = o(() => {
|
|
1805
|
+
if (!D || s) return t;
|
|
1806
|
+
let n = e.find((e) => e.key === D.column);
|
|
1792
1807
|
if (!n?.sortValue) return t;
|
|
1793
1808
|
let r = n.sortValue;
|
|
1794
1809
|
return [...t].sort((e, t) => {
|
|
@@ -1797,22 +1812,22 @@ var Ft = t(function({ columns: e, data: t, rowKey: r, striped: i = !1, sort: a,
|
|
|
1797
1812
|
if (n == null) return 1;
|
|
1798
1813
|
if (i == null) return -1;
|
|
1799
1814
|
let a = typeof n == "number" && typeof i == "number" ? n - i : String(n).localeCompare(String(i));
|
|
1800
|
-
return
|
|
1815
|
+
return D.direction === "asc" ? a : -a;
|
|
1801
1816
|
});
|
|
1802
1817
|
}, [
|
|
1803
1818
|
t,
|
|
1804
|
-
|
|
1819
|
+
D,
|
|
1805
1820
|
e,
|
|
1806
1821
|
s
|
|
1807
|
-
]),
|
|
1822
|
+
]), B = o(() => y ? z.map((e) => e[y]) : [], [z, y]), V = B.length > 0 && B.every((e) => F.has(e)), H = !V && B.some((e) => F.has(e)), U = o(() => {
|
|
1808
1823
|
let n = /* @__PURE__ */ new Map();
|
|
1809
1824
|
for (let r of e) r.sortable && n.set(r.key, Mt(r, t));
|
|
1810
1825
|
return n;
|
|
1811
|
-
}, [e, t]),
|
|
1826
|
+
}, [e, t]), W = R.length + (y ? 1 : 0), G = z.length === 0;
|
|
1812
1827
|
return /* @__PURE__ */ f("div", {
|
|
1813
|
-
ref:
|
|
1814
|
-
className: ["overflow-x-auto rounded-md border border-border",
|
|
1815
|
-
...
|
|
1828
|
+
ref: w,
|
|
1829
|
+
className: ["overflow-x-auto rounded-md border border-border", S].filter(Boolean).join(" "),
|
|
1830
|
+
...C,
|
|
1816
1831
|
children: [(p || m) && /* @__PURE__ */ f("div", {
|
|
1817
1832
|
className: "flex items-center justify-between gap-md px-md py-sm border-b border-border bg-bg-primary",
|
|
1818
1833
|
children: [/* @__PURE__ */ d("div", {
|
|
@@ -1820,8 +1835,8 @@ var Ft = t(function({ columns: e, data: t, rowKey: r, striped: i = !1, sort: a,
|
|
|
1820
1835
|
children: p
|
|
1821
1836
|
}), m && /* @__PURE__ */ d(Pt, {
|
|
1822
1837
|
columns: e,
|
|
1823
|
-
hiddenSet:
|
|
1824
|
-
onToggle:
|
|
1838
|
+
hiddenSet: j,
|
|
1839
|
+
onToggle: M
|
|
1825
1840
|
})]
|
|
1826
1841
|
}), /* @__PURE__ */ f("table", {
|
|
1827
1842
|
className: "w-full text-body text-left",
|
|
@@ -1829,55 +1844,55 @@ var Ft = t(function({ columns: e, data: t, rowKey: r, striped: i = !1, sort: a,
|
|
|
1829
1844
|
className: u ? "sticky top-0 z-10" : void 0,
|
|
1830
1845
|
children: /* @__PURE__ */ f("tr", {
|
|
1831
1846
|
className: "bg-bg-secondary border-b border-border",
|
|
1832
|
-
children: [
|
|
1847
|
+
children: [y && /* @__PURE__ */ d("th", {
|
|
1833
1848
|
className: "w-10 px-sm py-sm text-center",
|
|
1834
|
-
children: /* @__PURE__ */ d(
|
|
1835
|
-
checked:
|
|
1836
|
-
indeterminate:
|
|
1837
|
-
onChange: () =>
|
|
1849
|
+
children: /* @__PURE__ */ d(Z, {
|
|
1850
|
+
checked: V,
|
|
1851
|
+
indeterminate: H,
|
|
1852
|
+
onChange: () => L(B),
|
|
1838
1853
|
"aria-label": "Select all rows"
|
|
1839
1854
|
})
|
|
1840
|
-
}),
|
|
1841
|
-
let t =
|
|
1855
|
+
}), R.map((e) => {
|
|
1856
|
+
let t = D?.column === e.key;
|
|
1842
1857
|
return /* @__PURE__ */ d("th", {
|
|
1843
1858
|
className: [
|
|
1844
1859
|
"px-md py-sm font-semibold text-small text-text-secondary whitespace-nowrap",
|
|
1845
1860
|
e.sortable && "cursor-pointer select-none hover:text-text-primary",
|
|
1846
1861
|
e.headerClassName
|
|
1847
1862
|
].filter(Boolean).join(" "),
|
|
1848
|
-
onClick: e.sortable ? () =>
|
|
1849
|
-
"aria-sort": t ?
|
|
1863
|
+
onClick: e.sortable ? () => O(e.key) : void 0,
|
|
1864
|
+
"aria-sort": t ? D.direction === "asc" ? "ascending" : "descending" : e.sortable ? "none" : void 0,
|
|
1850
1865
|
children: /* @__PURE__ */ f("span", {
|
|
1851
1866
|
className: "inline-flex items-center",
|
|
1852
1867
|
children: [e.header, e.sortable && /* @__PURE__ */ d(Nt, {
|
|
1853
1868
|
active: t,
|
|
1854
|
-
direction: t ?
|
|
1855
|
-
columnType:
|
|
1869
|
+
direction: t ? D.direction : void 0,
|
|
1870
|
+
columnType: U.get(e.key) ?? "text"
|
|
1856
1871
|
})]
|
|
1857
1872
|
})
|
|
1858
1873
|
}, e.key);
|
|
1859
1874
|
})]
|
|
1860
1875
|
})
|
|
1861
|
-
}), /* @__PURE__ */ d("tbody", { children:
|
|
1862
|
-
colSpan:
|
|
1876
|
+
}), /* @__PURE__ */ d("tbody", { children: G ? /* @__PURE__ */ d("tr", { children: /* @__PURE__ */ d("td", {
|
|
1877
|
+
colSpan: W,
|
|
1863
1878
|
className: "px-md py-xl text-center text-text-secondary",
|
|
1864
1879
|
children: l ?? "No data available."
|
|
1865
|
-
}) }) :
|
|
1866
|
-
let n =
|
|
1880
|
+
}) }) : z.map((e, t) => {
|
|
1881
|
+
let n = y ? e[y] : void 0;
|
|
1867
1882
|
return /* @__PURE__ */ f("tr", {
|
|
1868
1883
|
className: [
|
|
1869
1884
|
"border-b border-border last:border-b-0 transition-colors",
|
|
1870
1885
|
i && t % 2 == 1 && "bg-bg-tertiary/50",
|
|
1871
1886
|
"hover:bg-bg-tertiary/70"
|
|
1872
1887
|
].filter(Boolean).join(" "),
|
|
1873
|
-
children: [
|
|
1888
|
+
children: [y && /* @__PURE__ */ d("td", {
|
|
1874
1889
|
className: "w-10 px-sm py-sm text-center",
|
|
1875
|
-
children: /* @__PURE__ */ d(
|
|
1876
|
-
checked:
|
|
1877
|
-
onChange: () =>
|
|
1890
|
+
children: /* @__PURE__ */ d(Z, {
|
|
1891
|
+
checked: F.has(n),
|
|
1892
|
+
onChange: () => ee(n),
|
|
1878
1893
|
"aria-label": `Select row ${n}`
|
|
1879
1894
|
})
|
|
1880
|
-
}),
|
|
1895
|
+
}), R.map((n) => /* @__PURE__ */ d("td", {
|
|
1881
1896
|
className: ["px-md py-sm text-text-primary", n.cellClassName].filter(Boolean).join(" "),
|
|
1882
1897
|
children: n.cell(e, t)
|
|
1883
1898
|
}, n.key))]
|
|
@@ -1902,7 +1917,7 @@ var Ft = t(function({ columns: e, data: t, rowKey: r, striped: i = !1, sort: a,
|
|
|
1902
1917
|
bg: "bg-error-bg",
|
|
1903
1918
|
border: "border-error/30",
|
|
1904
1919
|
text: "text-error",
|
|
1905
|
-
icon:
|
|
1920
|
+
icon: P
|
|
1906
1921
|
},
|
|
1907
1922
|
info: {
|
|
1908
1923
|
bg: "bg-info-bg",
|
|
@@ -1941,7 +1956,7 @@ function Lt({ variant: e, title: t, children: n, dismissible: r = !1, onDismiss:
|
|
|
1941
1956
|
onClick: h,
|
|
1942
1957
|
className: "shrink-0 p-1 rounded-sm text-text-secondary hover:text-text-primary hover:bg-bg-tertiary transition-colors cursor-pointer",
|
|
1943
1958
|
"aria-label": "Dismiss alert",
|
|
1944
|
-
children: /* @__PURE__ */ d(
|
|
1959
|
+
children: /* @__PURE__ */ d(N, { size: 16 })
|
|
1945
1960
|
})
|
|
1946
1961
|
]
|
|
1947
1962
|
});
|
|
@@ -1980,7 +1995,7 @@ function zt({ open: e, onClose: t, title: n, size: r = "md", children: a, footer
|
|
|
1980
1995
|
e.shiftKey && document.activeElement === n ? (e.preventDefault(), r.focus()) : !e.shiftKey && document.activeElement === r && (e.preventDefault(), n.focus());
|
|
1981
1996
|
}
|
|
1982
1997
|
};
|
|
1983
|
-
return e ?
|
|
1998
|
+
return e ? ie(/* @__PURE__ */ f("div", {
|
|
1984
1999
|
style: {
|
|
1985
2000
|
position: "fixed",
|
|
1986
2001
|
inset: 0,
|
|
@@ -2025,7 +2040,7 @@ function zt({ open: e, onClose: t, title: n, size: r = "md", children: a, footer
|
|
|
2025
2040
|
onClick: t,
|
|
2026
2041
|
className: "shrink-0 p-1 rounded-sm text-text-secondary hover:text-text-primary hover:bg-bg-tertiary transition-colors cursor-pointer",
|
|
2027
2042
|
"aria-label": "Close dialog",
|
|
2028
|
-
children: /* @__PURE__ */ d(
|
|
2043
|
+
children: /* @__PURE__ */ d(N, { size: 18 })
|
|
2029
2044
|
})]
|
|
2030
2045
|
}),
|
|
2031
2046
|
/* @__PURE__ */ d("div", {
|
|
@@ -2076,7 +2091,7 @@ function Bt({ open: e, onCancel: t, onConfirm: n, title: r, children: i, confirm
|
|
|
2076
2091
|
s ? "bg-error hover:bg-error/80" : "bg-primary hover:bg-primary-hover",
|
|
2077
2092
|
c && "opacity-80 pointer-events-none"
|
|
2078
2093
|
].filter(Boolean).join(" "),
|
|
2079
|
-
children: [c && /* @__PURE__ */ d(
|
|
2094
|
+
children: [c && /* @__PURE__ */ d(X, { size: "sm" }), a]
|
|
2080
2095
|
})]
|
|
2081
2096
|
})]
|
|
2082
2097
|
});
|
|
@@ -2108,7 +2123,7 @@ var Ut = {
|
|
|
2108
2123
|
bg: "bg-bg-primary",
|
|
2109
2124
|
accent: "bg-error",
|
|
2110
2125
|
text: "text-error",
|
|
2111
|
-
icon:
|
|
2126
|
+
icon: P
|
|
2112
2127
|
},
|
|
2113
2128
|
info: {
|
|
2114
2129
|
bg: "bg-bg-primary",
|
|
@@ -2162,7 +2177,7 @@ function Wt({ toast: e, onRemove: t }) {
|
|
|
2162
2177
|
onClick: () => t(e.id),
|
|
2163
2178
|
className: "shrink-0 p-1 rounded-sm text-text-secondary hover:text-text-primary hover:bg-bg-tertiary transition-colors cursor-pointer",
|
|
2164
2179
|
"aria-label": "Dismiss notification",
|
|
2165
|
-
children: /* @__PURE__ */ d(
|
|
2180
|
+
children: /* @__PURE__ */ d(N, { size: 14 })
|
|
2166
2181
|
})
|
|
2167
2182
|
]
|
|
2168
2183
|
}), o > 0 && /* @__PURE__ */ d("div", {
|
|
@@ -2229,6 +2244,6 @@ function Xt() {
|
|
|
2229
2244
|
return e;
|
|
2230
2245
|
}
|
|
2231
2246
|
//#endregion
|
|
2232
|
-
export { Lt as Alert, Yt as AuthProvider,
|
|
2247
|
+
export { Lt as Alert, Yt as AuthProvider, se as Avatar, Y as Badge, bt as BurgerDrawer, me as Button, kt as Card, Z as Checkbox, Bt as ConfirmDialog, At as DescriptionList, zt as Dialog, Ue as DropdownDivider, We as DropdownItem, Ge as DropdownMenu, jt as EmptyState, Ce as FileUpload, Tt as Footer, _e as IconButton, je as Input, et as LanguageSwitcher, Et as LoginButton, Ot as PageShell, xe as Pagination, Ke as Popover, Ee as ProgressBar, Pe as RadioGroup, ze as Select, _t as SideNav, X as Spinner, Be as Switch, Je as TabPanel, Ft as Table, Ye as Tabs, Ve as Textarea, lt as ThemeToggle, Kt as ToastProvider, Ze as Tooltip, dt as TopNav, Dt as UserMenu, Le as epflSelectClassNames, Ie as epflSelectTheme, st as initTheme, Xt as useAuth, Qe as useLanguage, ct as useTheme, Ht as useToast };
|
|
2233
2248
|
|
|
2234
2249
|
//# sourceMappingURL=poesis.js.map
|