@crewlethq/artifact-kit 0.78.0 → 0.79.0
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/kit.css +1 -1
- package/dist/kit.js +1 -1
- package/package.json +4 -4
package/dist/kit.css
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
:root{--crewlet-brand-accent: var(--brand-primary-on-dark, var(--brand-primary));--crewlet-brand-ink: color-mix(in oklab, var(--crewlet-brand-accent) 55%, white);--crewlet-brand-soft: color-mix(in srgb, var(--crewlet-brand-accent) 16%, transparent);--crewlet-brand-ground: var(--brand-dark-ground);--crewlet-brand-text: initial;--crewlet-brand-hover: color-mix(in oklab, var(--crewlet-brand-accent) 90%, black);--crewlet-brand-active: color-mix(in oklab, var(--crewlet-brand-accent) 80%, black);--crewlet-brand-deep: color-mix(in oklab, var(--crewlet-brand-accent) 70%, black);--crewlet-brand-soft-strong: color-mix(in srgb, var(--crewlet-brand-accent) 32%, transparent);--crewlet-brand-selected: color-mix(in srgb, var(--crewlet-brand-accent) 60%, transparent);--crewlet-brand-glow: 0 4px 24px color-mix(in srgb, var(--crewlet-brand-accent) 30%, transparent);--crewlet-brand-link: color-mix(in oklab, var(--crewlet-brand-ink) 65%, var(--color-text-secondary));--crewlet-brand-on-accent: color( from var(--crewlet-brand-accent) srgb-linear calc((0.179 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) * 100000) calc((0.179 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) * 100000) calc((0.179 - (0.2126 * r + 0.7152 * g + 0.0722 * b)) * 100000) );--crewlet-brand-gradient: linear-gradient( 90deg, var(--brand-primary) 0%, var(--brand-secondary, color-mix(in oklab, var(--brand-primary) 70%, black)) 100% );--color-brand-accent: var(--crewlet-brand-accent, var(--crewlet-theme-color-brand-accent));--color-brand-accent-hover: var(--crewlet-brand-hover, var(--crewlet-theme-color-brand-accent-hover));--color-brand-accent-active: var(--crewlet-brand-active, var(--crewlet-theme-color-brand-accent-active));--color-brand-accent-ink: var(--crewlet-brand-ink, var(--crewlet-theme-color-brand-accent-ink));--color-brand-accent-soft: var(--crewlet-brand-soft, var(--crewlet-theme-color-brand-accent-soft));--color-brand-accent-soft-strong: var(--crewlet-brand-soft-strong, var(--crewlet-theme-color-brand-accent-soft-strong));--color-brand-accent-deep: var(--crewlet-brand-deep, var(--crewlet-theme-color-brand-accent-deep));--color-brand-mark: var(--brand-primary, var(--crewlet-theme-color-brand-mark));--color-brand-highlight: var(--brand-secondary, var(--crewlet-theme-color-brand-highlight));--color-brand-gradient: var(--crewlet-brand-gradient, var(--crewlet-theme-color-brand-gradient));--color-border-selected: var(--crewlet-brand-selected, var(--crewlet-theme-color-border-selected));--color-text-on-accent: var(--crewlet-brand-on-accent, var(--crewlet-theme-color-text-on-accent));--color-text-link-quiet: var(--crewlet-brand-link, var(--crewlet-theme-color-text-link-quiet));--color-text-primary: var(--crewlet-brand-text, var(--crewlet-theme-color-text-primary));--color-surface-frame: var(--crewlet-brand-ground, var(--crewlet-theme-color-surface-frame));--color-surface-background: var(--crewlet-brand-ground, var(--crewlet-theme-color-surface-background));--shadow-glow: var(--crewlet-brand-glow, var(--crewlet-theme-shadow-glow));--font-family-sans: var(--brand-font-body, var(--crewlet-theme-font-family-sans));--font-family-display: var(--brand-font-heading, var(--brand-font-body, var(--crewlet-theme-font-family-display)));}@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--crewlet-brand-accent: var(--brand-primary);--crewlet-brand-ink: color-mix(in oklab, var(--crewlet-brand-accent) 70%, black);--crewlet-brand-soft: color-mix(in srgb, var(--crewlet-brand-accent) 12.5%, transparent);--crewlet-brand-ground: var(--brand-light-ground);--crewlet-brand-text: var(--brand-text);}}:root[data-theme="light"]{--crewlet-brand-accent: var(--brand-primary);--crewlet-brand-ink: color-mix(in oklab, var(--crewlet-brand-accent) 70%, black);--crewlet-brand-soft: color-mix(in srgb, var(--crewlet-brand-accent) 12.5%, transparent);--crewlet-brand-ground: var(--brand-light-ground);--crewlet-brand-text: var(--brand-text);}
|
|
4
4
|
.crewlet-logo{--crewlet-logo-src: var(--brand-logo-on-dark, var(--brand-logo-primary));--crewlet-logo-ratio: var(--brand-logo-on-dark-ratio, var(--brand-logo-primary-ratio));display:inline-block;flex:none;vertical-align:middle;block-size:calc(var(--crewlet-logo-size, 2rem) + 0px * var(--crewlet-logo-ratio));inline-size:calc(var(--crewlet-logo-size, 2rem) * var(--crewlet-logo-ratio));background:var(--crewlet-logo-src) center / contain no-repeat}@media(prefers-color-scheme:light){:where(:root:not([data-theme=dark])) .crewlet-logo{--crewlet-logo-src: var(--brand-logo-primary);--crewlet-logo-ratio: var(--brand-logo-primary-ratio)}}:where(:root[data-theme=light]) .crewlet-logo{--crewlet-logo-src: var(--brand-logo-primary);--crewlet-logo-ratio: var(--brand-logo-primary-ratio)}.crewlet-logo[data-variant=on-dark]{--crewlet-logo-src: var(--brand-logo-on-dark);--crewlet-logo-ratio: var(--brand-logo-on-dark-ratio)}.crewlet-logo[data-variant=mark]{--crewlet-logo-src: var(--brand-logo-mark);--crewlet-logo-ratio: var(--brand-logo-mark-ratio)}.crewlet-logo[data-size=sm]{--crewlet-logo-size: 1.5rem}.crewlet-logo[data-size=lg]{--crewlet-logo-size: 3rem}.crewlet-logo[data-size=xl]{--crewlet-logo-size: 4rem}
|
|
5
5
|
|
|
6
|
-
crewlet-sheet{display:block;min-width:0}crewlet-column{display:none}.crewlet-kit-sheet{display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0}.crewlet-kit-sheet__presence{display:flex;justify-content:flex-end}.crewlet-kit-sheet__presence>.crewlet-presence-stack{margin:var(--crewlet-presence-stack-reach)}.crewlet-callout{--crewlet-callout-fill: var(--color-surface-inset);--crewlet-callout-ink: var(--color-text-secondary);--crewlet-callout-line: transparent;display:grid;grid-template-columns:auto minmax(0,1fr);grid-auto-columns:auto;align-items:start;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--crewlet-callout-line);border-radius:var(--radius-md);background:var(--crewlet-callout-fill);color:var(--crewlet-callout-ink);font-family:var(--font-family-sans);font-size:var(--font-size-compact);line-height:var(--font-line-height-normal)}.crewlet-callout:has(>.crewlet-callout__action){--crewlet-callout-lead: max(0px, calc((var(--size-control-sm) - 1lh) / 2));container:crewlet-callout / inline-size}.crewlet-callout__icon{display:inline-flex;margin-top:calc(2px + var(--crewlet-callout-lead, 0px))}.crewlet-callout__content{min-width:0;padding-block:var(--crewlet-callout-lead, 0px)}.crewlet-callout__title{display:block;font-weight:var(--font-weight-semibold)}.crewlet-callout__action{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2);grid-column:3;grid-row:1;align-self:center}@container crewlet-callout (width < 28rem){.crewlet-callout__icon,.crewlet-callout__content{--crewlet-callout-lead: 0px}.crewlet-callout__action{grid-column:2;grid-row:2;justify-self:start;align-self:start}}.crewlet-callout code,.crewlet-callout .crewlet-inline-code{color:inherit}.crewlet-callout--info{--crewlet-callout-fill: var(--color-feedback-info-soft);--crewlet-callout-ink: var(--color-feedback-info-ink)}.crewlet-callout--success{--crewlet-callout-fill: var(--color-feedback-success-soft);--crewlet-callout-ink: var(--color-feedback-success-ink)}.crewlet-callout--warning{--crewlet-callout-fill: var(--color-feedback-warning-soft);--crewlet-callout-ink: var(--color-feedback-warning-ink)}.crewlet-callout--danger{--crewlet-callout-fill: var(--color-feedback-danger-soft);--crewlet-callout-ink: var(--color-feedback-danger-ink)}.crewlet-callout--banner{border-radius:var(--radius-none);border-width:0 0 1px;border-bottom-color:var(--color-border-default);padding:var(--spacing-2) var(--spacing-4)}@property --crewlet-spinner-arc{syntax: "<angle>"; inherits: false; initial-value: 270deg;}.crewlet-spinner{--crewlet-spinner-from: calc(270deg - var(--crewlet-spinner-arc) / 2);display:inline-block;box-sizing:border-box;flex:none;width:1em;height:1em;border:2px solid currentColor;border-radius:var(--radius-circle);opacity:.7;-webkit-mask-image:conic-gradient(from var(--crewlet-spinner-from),transparent 0deg,#000 6deg,#000 calc(var(--crewlet-spinner-arc) - 6deg),transparent var(--crewlet-spinner-arc));mask-image:conic-gradient(from var(--crewlet-spinner-from),transparent 0deg,#000 6deg,#000 calc(var(--crewlet-spinner-arc) - 6deg),transparent var(--crewlet-spinner-arc));animation:crewlet-spinner-turn var(--motion-duration-turn) linear infinite,crewlet-spinner-sweep var(--motion-duration-sweep) var(--motion-easing-in-out) infinite}.crewlet-spinner--xs{width:var(--font-size-xs);height:var(--font-size-xs)}.crewlet-spinner--sm{width:var(--font-size-sm);height:var(--font-size-sm)}.crewlet-spinner--md{width:var(--font-size-md);height:var(--font-size-md)}@keyframes crewlet-spinner-turn{to{transform:rotate(360deg)}}@keyframes crewlet-spinner-sweep{0%,to{--crewlet-spinner-arc: 90deg}50%{--crewlet-spinner-arc: 270deg}}@media(prefers-reduced-motion:reduce){.crewlet-spinner{animation:none}}.crewlet-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:pre}.crewlet-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);letter-spacing:var(--font-letter-spacing-normal);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-easing-default),color var(--motion-duration-fast) var(--motion-easing-default),border-color var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-btn,.crewlet-btn:hover{text-decoration:none}.crewlet-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.crewlet-btn--secondary:focus-visible,.crewlet-btn--outline:focus-visible,.crewlet-btn--danger:focus-visible,.crewlet-btn[aria-pressed=true]:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-btn:disabled,.crewlet-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.crewlet-btn:disabled{pointer-events:none}.crewlet-btn--small{--crewlet-btn-inset: var(--spacing-2);min-height:var(--size-control-sm);padding:0 var(--crewlet-btn-inset);font-size:var(--font-size-xs)}.crewlet-btn--medium{--crewlet-btn-inset: var(--spacing-3);min-height:var(--size-control-md);padding:0 var(--crewlet-btn-inset);font-size:var(--font-size-compact)}.crewlet-btn--large{--crewlet-btn-inset: var(--spacing-4);min-height:var(--size-control-lg);padding:0 var(--crewlet-btn-inset);font-size:var(--font-size-sm)}.crewlet-btn--flush{margin-inline-start:var(--crewlet-btn-flush-outdent, calc(-1 * (var(--crewlet-btn-inset) + 1px)))}.crewlet-btn--flush:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-btn--square{border-radius:var(--radius-md)}.crewlet-btn--pill{border-radius:var(--radius-pill)}.crewlet-btn--pill.crewlet-btn--small{padding:0 var(--spacing-3)}.crewlet-btn--pill.crewlet-btn--medium{padding:0 var(--spacing-4)}.crewlet-btn--pill.crewlet-btn--large{padding:0 var(--spacing-5)}.crewlet-btn--block{width:100%}.crewlet-btn--primary,.crewlet-btn--accent{background:var(--color-brand-accent);color:var(--color-text-on-accent);border-color:transparent}.crewlet-btn--primary:hover:not(:disabled):not([aria-disabled=true]),.crewlet-btn--accent:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-hover);border-color:transparent}.crewlet-btn--primary:active:not(:disabled):not([aria-disabled=true]),.crewlet-btn--accent:active:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-active);border-color:transparent}.crewlet-btn--secondary{background:var(--color-surface-subtle);--crewlet-indicator-ring: var(--color-surface-subtle);color:var(--color-text-primary);border-color:var(--color-border-strong)}.crewlet-btn--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-elevated);--crewlet-indicator-ring: var(--color-surface-elevated);border-color:var(--color-border-strong-hover)}.crewlet-btn--secondary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-pressed);--crewlet-indicator-ring: var(--color-surface-pressed)}.crewlet-btn--outline{background:transparent;color:var(--color-brand-accent-ink);border-color:var(--color-brand-accent)}.crewlet-btn--outline:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-soft)}.crewlet-btn--ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.crewlet-btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-btn--ghost:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-pressed)}.crewlet-btn--danger{background:var(--color-surface-subtle);color:var(--color-feedback-danger-ink);border-color:var(--color-border-strong)}.crewlet-btn--danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-feedback-danger-soft);border-color:var(--color-feedback-danger)}.crewlet-btn--danger:active:not(:disabled):not([aria-disabled=true]){background:var(--color-feedback-danger-soft);border-color:var(--color-feedback-danger-hover)}.crewlet-btn[aria-pressed=true]{background:var(--color-brand-accent-soft);--crewlet-indicator-ring: var(--color-brand-accent-soft);color:var(--color-brand-accent-ink);border-color:var(--color-brand-accent-soft-strong)}.crewlet-btn__icon,.crewlet-btn__label{display:inline-flex;align-items:center}.crewlet-btn__icon .crewlet-glyph{width:1em;height:1em}.crewlet-btn--loading{cursor:progress}@media(prefers-reduced-motion:reduce){.crewlet-btn{transition:none}}.crewlet-layer-host{position:absolute;inset:0;pointer-events:none}.crewlet-layer-host>*{pointer-events:auto}.crewlet-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;line-height:1;flex-shrink:0;transition:background var(--motion-duration-fast) var(--motion-easing-default),border-color var(--motion-duration-fast) var(--motion-easing-default),color var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-icon-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.crewlet-icon-btn--secondary:focus-visible,.crewlet-icon-btn--soft-brand:focus-visible,.crewlet-icon-btn--ghost-brand:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-icon-btn:disabled,.crewlet-icon-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.crewlet-icon-btn:disabled{pointer-events:none}.crewlet-icon-btn--sm{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-sm) - var(--font-size-xs)) / 2);width:var(--size-control-sm);height:var(--size-control-sm)}.crewlet-icon-btn--md{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-md) - var(--font-size-sm)) / 2);width:var(--size-control-md);height:var(--size-control-md)}.crewlet-icon-btn--lg{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-lg) - var(--font-size-xl)) / 2);width:var(--size-control-lg);height:var(--size-control-lg)}.crewlet-icon-btn--sm .crewlet-glyph{width:var(--font-size-xs);height:var(--font-size-xs)}.crewlet-icon-btn--md .crewlet-glyph{width:var(--font-size-sm);height:var(--font-size-sm)}.crewlet-icon-btn--lg .crewlet-glyph{width:var(--font-size-xl);height:var(--font-size-xl)}.crewlet-icon-btn--primary{background:var(--color-brand-accent);color:var(--color-text-on-accent)}.crewlet-icon-btn--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-hover)}.crewlet-icon-btn--primary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-active)}.crewlet-icon-btn--secondary{background:var(--color-surface-subtle);--crewlet-indicator-ring: var(--color-surface-subtle);border-color:var(--color-border-strong);color:var(--color-text-primary)}.crewlet-icon-btn--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-elevated);--crewlet-indicator-ring: var(--color-surface-elevated);border-color:var(--color-border-strong-hover)}.crewlet-icon-btn--secondary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-pressed);--crewlet-indicator-ring: var(--color-surface-pressed)}.crewlet-icon-btn--ghost{color:var(--color-text-secondary)}.crewlet-icon-btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-icon-btn--ghost-brand{color:var(--color-text-tertiary)}.crewlet-icon-btn--ghost-brand:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-soft);border-color:var(--color-brand-accent-soft-strong);color:var(--color-brand-accent-ink)}.crewlet-icon-btn--ghost-danger{color:var(--color-text-tertiary)}.crewlet-icon-btn--ghost-danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-feedback-danger-soft);color:var(--color-feedback-danger-ink)}.crewlet-icon-btn--soft-brand{background:var(--color-brand-accent-soft);border-color:var(--color-brand-accent-soft-strong);color:var(--color-brand-accent-ink)}.crewlet-icon-btn--soft-brand:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-soft-strong);border-color:var(--color-brand-accent)}a.crewlet-icon-btn{text-decoration:none}.crewlet-icon-btn--current,.crewlet-icon-btn--current:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-elevated);border-color:var(--color-border-default);color:var(--color-text-primary)}.crewlet-icon-btn--current:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-icon-btn[aria-pressed=true]{background:var(--color-brand-accent-soft);--crewlet-indicator-ring: var(--color-brand-accent-soft);color:var(--color-brand-accent-ink)}@media(prefers-reduced-motion:reduce){.crewlet-icon-btn{transition:none}}.crewlet-modal-overlay{position:fixed;inset:0;display:flex;background:var(--color-surface-veil);backdrop-filter:blur(var(--blur-xs));overflow:clip;animation:crewlet-modal-veil-in var(--motion-duration-base) var(--motion-easing-default)}.crewlet-modal-overlay--clear{background:transparent;backdrop-filter:none}.crewlet-modal-overlay--in-host{position:absolute}.crewlet-modal-overlay--dialog{padding:var(--spacing-4);justify-content:center}.crewlet-modal-overlay--dialog.crewlet-modal-overlay--center{align-items:center}.crewlet-modal-overlay--dialog.crewlet-modal-overlay--top{align-items:flex-start;padding-top:var(--spacing-10)}.crewlet-modal-overlay--dialog.crewlet-modal-overlay--bottom{align-items:flex-end;padding:0}.crewlet-modal-overlay--bottom>.crewlet-modal--dialog{width:100%;max-height:calc(100dvh - var(--spacing-10));border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);animation:crewlet-modal-lift var(--motion-duration-moderate) var(--motion-easing-emphasized)}@media(width<640px){.crewlet-modal-overlay--dialog.crewlet-modal-overlay--phone-sheet{align-items:stretch;padding:0}.crewlet-modal-overlay--phone-sheet>.crewlet-modal--dialog{width:100%;height:100%;max-height:none;border:none;border-radius:0;padding-bottom:env(safe-area-inset-bottom,0px);animation:crewlet-modal-lift var(--motion-duration-moderate) var(--motion-easing-emphasized)}}.crewlet-modal-overlay--sheet{padding:0;justify-content:flex-end;align-items:stretch;animation-duration:var(--motion-duration-slow)}.crewlet-modal{--crewlet-modal-width: 480px;--crewlet-modal-sheet-width: 560px;display:flex;flex-direction:column;min-height:0;background:var(--color-surface-subtle);color:var(--color-text-primary);border:1px solid var(--color-border-default);box-shadow:var(--shadow-xl);outline:none}.crewlet-modal__form{display:contents}.crewlet-modal--dialog{width:min(var(--crewlet-modal-width),100%);max-height:calc(100dvh - var(--spacing-10) - var(--spacing-4));border-radius:var(--radius-xl);overflow:hidden;animation:crewlet-modal-rise var(--motion-duration-slow) var(--motion-easing-emphasized)}.crewlet-modal--sm{--crewlet-modal-width: 480px}.crewlet-modal--md{--crewlet-modal-width: 560px}.crewlet-modal--lg{--crewlet-modal-width: 720px}.crewlet-modal--xl{--crewlet-modal-width: 1080px}.crewlet-modal--prompt{--crewlet-modal-width: 420px;box-shadow:var(--shadow-2xl)}.crewlet-modal--prompt .crewlet-modal__body{padding:var(--spacing-6)}.crewlet-modal__prompt-title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-tight);color:var(--color-text-primary)}.crewlet-modal--prompt .crewlet-modal__footer{padding:0 var(--spacing-6) var(--spacing-6);border-top:none;background:none}.crewlet-modal--sheet{--crewlet-modal-sheet-from: 100%;width:min(var(--crewlet-modal-sheet-width),100%);height:100%;border-radius:0;border-block:none;border-inline-end:none;box-shadow:var(--shadow-sheet);animation:crewlet-modal-sheet-in var(--motion-duration-slow) var(--motion-easing-emphasized)}@media(width<1024px){.crewlet-modal--sheet{width:100%;border-inline:none}}.crewlet-modal__header{--crewlet-modal-glyph-inset: calc((var(--size-control-md) - var(--font-size-sm)) / 2);display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);border-bottom:1px solid var(--color-border-default)}.crewlet-modal__header--subtitled{--crewlet-modal-title-line: calc(var(--font-size-sm) * var(--font-line-height-tight));align-items:flex-start}.crewlet-modal__header--subtitled>.crewlet-modal__icon,.crewlet-modal__header--subtitled>.crewlet-modal__actions{align-items:center;height:var(--crewlet-modal-title-line)}.crewlet-modal__header--subtitled>.crewlet-modal__close,.crewlet-modal__header--subtitled>.crewlet-modal__back{margin-block:calc((var(--crewlet-modal-title-line) - var(--size-control-md)) / 2)}.crewlet-modal__header--sheet{min-height:var(--size-shell-topbar);padding:var(--spacing-1) var(--spacing-6);gap:var(--spacing-4);box-sizing:border-box}.crewlet-modal__actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.crewlet-modal__icon{display:inline-flex;flex-shrink:0;color:var(--color-text-primary)}.crewlet-modal__heading{display:flex;flex:1;flex-direction:column;gap:var(--spacing-1);min-width:0}.crewlet-modal__title{margin:0;font-family:var(--font-family-sans);letter-spacing:var(--font-letter-spacing-normal);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-tight);color:var(--color-text-primary)}.crewlet-modal__title--sheet{font-size:var(--font-size-md)}.crewlet-modal__subtitle{margin:0;font-size:var(--font-size-compact);line-height:var(--font-line-height-snug);color:var(--color-text-secondary)}.crewlet-modal__close{flex-shrink:0;margin:calc(var(--spacing-1) * -1);margin-inline-end:calc(var(--crewlet-modal-glyph-inset) * -1)}.crewlet-modal__back{flex-shrink:0;margin-inline-start:calc(var(--crewlet-modal-glyph-inset) * -1);margin-block:calc(var(--spacing-1) * -1)}.crewlet-modal__body{flex:1 1 auto;min-height:0;padding:var(--spacing-4);overflow-y:auto;font-size:var(--font-size-sm);line-height:var(--font-line-height-normal);color:var(--color-text-primary)}.crewlet-modal__body--sheet{padding:var(--spacing-6)}.crewlet-modal__body--stacked{display:flex;flex-direction:column;gap:var(--spacing-3)}.crewlet-modal__body--stacked.crewlet-modal__body--sheet{gap:var(--spacing-2)}.crewlet-modal__body--flush{padding:0}.crewlet-modal__body:not(.crewlet-modal__body--stacked)>p{margin:0 0 var(--spacing-3)}.crewlet-modal__body:not(.crewlet-modal__body--stacked)>p:last-child{margin-bottom:0}.crewlet-modal__footer{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border-top:1px solid var(--color-border-default);background:var(--color-surface-subtle)}.crewlet-modal__footer--sheet{padding-inline:var(--spacing-6)}.crewlet-modal__footer-start{display:flex;align-items:center;gap:var(--spacing-2);min-width:0;margin-inline-end:auto;font-size:var(--font-size-compact);color:var(--color-text-tertiary)}.crewlet-modal__footer-end{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--spacing-2);margin-inline-start:auto}.crewlet-modal__message{margin:0;line-height:var(--font-line-height-normal)}@keyframes crewlet-modal-veil-in{0%{opacity:0}}@keyframes crewlet-modal-rise{0%{opacity:0;transform:translateY(var(--spacing-2))}}@keyframes crewlet-modal-lift{0%{opacity:0;transform:translateY(var(--spacing-6))}}@keyframes crewlet-modal-sheet-in{0%{transform:translate(var(--crewlet-modal-sheet-from))}}@media(prefers-reduced-motion:reduce){.crewlet-modal-overlay,.crewlet-modal--dialog,.crewlet-modal--sheet{animation:none}.crewlet-modal-overlay--bottom>.crewlet-modal--dialog{animation:none}.crewlet-modal-overlay--phone-sheet>.crewlet-modal--dialog{animation:none}}.crewlet-presence-hue--purple{--crewlet-presence-hue: var(--color-node-purple)}.crewlet-presence-hue--cyan{--crewlet-presence-hue: var(--color-node-cyan)}.crewlet-presence-hue--green{--crewlet-presence-hue: var(--color-node-green)}.crewlet-presence-hue--amber{--crewlet-presence-hue: var(--color-node-amber)}.crewlet-presence-hue--rose{--crewlet-presence-hue: var(--color-node-rose)}.crewlet-presence-hue--blue{--crewlet-presence-hue: var(--color-node-blue)}.crewlet-presence-hue--neutral{--crewlet-presence-hue: var(--color-border-strong)}.crewlet-presence-ring{--crewlet-presence-ring-inset: 1px;--crewlet-presence-ring-weight: 2px;position:relative;display:inline-block}.crewlet-presence-ring:after{position:absolute;inset:0;z-index:var(--z-index-presence);border-radius:inherit;outline:var(--crewlet-presence-ring-weight) solid var(--crewlet-presence-hue);outline-offset:calc((var(--crewlet-presence-ring-inset) + var(--crewlet-presence-ring-weight)) * -1);content:"";pointer-events:none}.crewlet-presence-ring--idle:after{outline-style:dashed}@media(forced-colors:active){.crewlet-presence-ring:after{outline-color:Highlight}}.crewlet-presence-stack{--crewlet-presence-stack-cutout: 2px;--crewlet-presence-stack-reach: calc(var(--crewlet-presence-stack-cutout) * 2)}.crewlet-presence-stack>.crewlet-presence-stack__member{display:inline-flex;flex:none;padding:0;border:0;background:none;box-shadow:none;color:inherit;font:inherit}.crewlet-presence-stack>.crewlet-presence-stack__member--human{border-radius:var(--radius-circle)}.crewlet-presence-stack>.crewlet-presence-stack__member--agent{border-radius:var(--radius-sm)}button.crewlet-presence-stack__member{cursor:pointer}button.crewlet-presence-stack__member:focus-visible{position:relative;z-index:var(--z-index-raised);outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-presence-stack .crewlet-presence-stack__badge{box-shadow:0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground)}.crewlet-presence-stack .crewlet-presence-stack__badge--present{box-shadow:0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground),0 0 0 var(--crewlet-presence-stack-reach) var(--crewlet-presence-hue),0 0 0 calc(var(--crewlet-presence-stack-reach) + var(--crewlet-presence-stack-cutout)) var(--crewlet-avatar-stack-ground)}.crewlet-presence-stack>.crewlet-avatar-stack__member:has(+.crewlet-avatar-stack__member){margin-inline-end:var(--crewlet-presence-stack-reach)}.crewlet-presence-stack .crewlet-presence-stack__badge--idle{opacity:.5}.crewlet-presence-stack>.crewlet-presence-stack__member:has(>.crewlet-presence-stack__badge--idle){background:var(--crewlet-avatar-stack-ground);box-shadow:0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground)}@media(forced-colors:active){.crewlet-presence-stack .crewlet-presence-stack__badge--present{outline:2px solid Highlight;outline-offset:2px}}.crewlet-avatar{--crewlet-avatar-size: 32px;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--crewlet-avatar-size);height:var(--crewlet-avatar-size);overflow:hidden;object-fit:cover;font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--font-letter-spacing-wide);text-indent:var(--font-letter-spacing-wide);line-height:normal;text-transform:uppercase;user-select:none;box-sizing:border-box}.crewlet-avatar--text{--crewlet-avatar-size: 1.15em;font-size:inherit;display:inline-block;text-align:center;line-height:var(--crewlet-avatar-size)}.crewlet-avatar--text.crewlet-avatar--image{display:inline-block}.crewlet-avatar--text .crewlet-avatar__icon{display:inline-block;vertical-align:middle}.crewlet-avatar--text .crewlet-avatar__character{margin:13% auto}.crewlet-avatar__initials{--crewlet-avatar-initials-size: .5em;font-size:var(--crewlet-avatar-initials-size);line-height:1;vertical-align:middle}.crewlet-avatar--xs{--crewlet-avatar-size: 20px;font-size:calc(var(--crewlet-avatar-size) * .45)}.crewlet-avatar--sm{--crewlet-avatar-size: 26px;font-size:var(--font-size-2xs)}.crewlet-avatar--md{--crewlet-avatar-size: 32px;font-size:var(--font-size-xs)}.crewlet-avatar--lg{--crewlet-avatar-size: 40px;font-size:var(--font-size-sm)}.crewlet-avatar--agent{border-radius:calc(var(--crewlet-avatar-size) * .29);font-family:var(--font-family-mono)}@supports (corner-shape: squircle){.crewlet-avatar--agent{corner-shape:squircle;border-radius:var(--radius-circle)}}.crewlet-avatar--human{border-radius:var(--radius-circle);font-family:var(--font-family-sans)}.crewlet-avatar--image{display:block;object-fit:cover}.crewlet-avatar__icon{display:inline-flex;align-items:center;justify-content:center;width:55%;height:55%}.crewlet-avatar__icon>*{width:100%;height:100%}.crewlet-avatar--fallback{border:1px solid transparent}.crewlet-avatar--neutral{background:var(--color-surface-elevated);border-color:var(--color-border-strong);color:var(--color-text-secondary)}.crewlet-avatar--seeded{color:var(--color-text-on-scrim)}.crewlet-avatar--tint-0{background:var(--color-avatar-tint-0)}.crewlet-avatar--tint-1{background:var(--color-avatar-tint-1)}.crewlet-avatar--tint-2{background:var(--color-avatar-tint-2)}.crewlet-avatar--tint-3{background:var(--color-avatar-tint-3)}.crewlet-avatar--tint-4{background:var(--color-avatar-tint-4)}.crewlet-avatar--tint-5{background:var(--color-avatar-tint-5)}.crewlet-avatar--tint-6{background:var(--color-avatar-tint-6)}.crewlet-avatar--tint-7{background:var(--color-avatar-tint-7)}.crewlet-avatar--tint-8{background:var(--color-avatar-tint-8)}.crewlet-avatar--tint-9{background:var(--color-avatar-tint-9)}.crewlet-avatar--character{border:1px solid transparent}.crewlet-avatar__character{display:block;flex:none;width:74%;height:74%}.crewlet-avatar--hue-purple{--crewlet-avatar-plate: var(--color-node-purple-fill);background:var(--crewlet-avatar-plate);border-color:var(--color-node-purple-line);color:var(--color-node-purple)}.crewlet-avatar--hue-cyan{--crewlet-avatar-plate: var(--color-node-cyan-fill);background:var(--crewlet-avatar-plate);border-color:var(--color-node-cyan-line);color:var(--color-node-cyan)}.crewlet-avatar--hue-green{--crewlet-avatar-plate: var(--color-node-green-fill);background:var(--crewlet-avatar-plate);border-color:var(--color-node-green-line);color:var(--color-node-green)}.crewlet-avatar--hue-amber{--crewlet-avatar-plate: var(--color-node-amber-fill);background:var(--crewlet-avatar-plate);border-color:var(--color-node-amber-line);color:var(--color-node-amber)}.crewlet-avatar--hue-rose{--crewlet-avatar-plate: var(--color-node-rose-fill);background:var(--crewlet-avatar-plate);border-color:var(--color-node-rose-line);color:var(--color-node-rose)}.crewlet-avatar--hue-blue{--crewlet-avatar-plate: var(--color-node-blue-fill);background:var(--crewlet-avatar-plate);border-color:var(--color-node-blue-line);color:var(--color-node-blue)}.crewlet-avatar--ring-brand{outline-style:solid;outline-width:1.5px;outline-offset:2px;outline-color:var(--color-brand-accent)}.crewlet-avatar-frame{--crewlet-avatar-status-size: max(10px, calc(var(--crewlet-avatar-size) * .42));--crewlet-avatar-status-overhang: 2px;--crewlet-avatar-status-gap: 1.5px;position:relative;display:inline-flex;flex:none;width:var(--crewlet-avatar-size);height:var(--crewlet-avatar-size);vertical-align:middle}.crewlet-avatar--notched{--crewlet-avatar-status-centre: calc( 100% + var(--crewlet-avatar-status-overhang) - var(--crewlet-avatar-status-size) / 2 );--crewlet-avatar-status-cut: calc(var(--crewlet-avatar-status-size) / 2 + var(--crewlet-avatar-status-gap));-webkit-mask-image:radial-gradient(circle at var(--crewlet-avatar-status-centre) var(--crewlet-avatar-status-centre),transparent var(--crewlet-avatar-status-cut),#000 calc(var(--crewlet-avatar-status-cut) + .5px));mask-image:radial-gradient(circle at var(--crewlet-avatar-status-centre) var(--crewlet-avatar-status-centre),transparent var(--crewlet-avatar-status-cut),#000 calc(var(--crewlet-avatar-status-cut) + .5px))}.crewlet-avatar__status{position:absolute;right:calc(var(--crewlet-avatar-status-overhang) * -1);bottom:calc(var(--crewlet-avatar-status-overhang) * -1);display:grid;place-items:center;width:var(--crewlet-avatar-status-size);height:var(--crewlet-avatar-status-size);border-radius:var(--radius-circle);outline:1px solid transparent;color:var(--color-text-inverse);pointer-events:none}.crewlet-avatar__status>svg{display:block;width:100%;height:100%}.crewlet-avatar__status--working{background:var(--color-feedback-info)}.crewlet-avatar__status--needs{background:var(--color-feedback-warning)}.crewlet-avatar__status--stopped{background:var(--color-feedback-danger)}.crewlet-avatar__status--mark{padding:1px;background:var(--color-surface-elevated);outline-color:var(--color-border-strong);outline-offset:-1px;color:var(--color-text-secondary)}.crewlet-avatar-stack{--crewlet-avatar-stack-ground: var(--color-surface-background);--crewlet-avatar-stack-size: 26px;display:inline-flex;flex:none;align-items:center;vertical-align:middle}.crewlet-avatar-stack>.crewlet-avatar-stack__member{box-shadow:0 0 0 2px var(--crewlet-avatar-stack-ground)}.crewlet-avatar-stack>.crewlet-avatar-stack__member,.crewlet-avatar-stack>.crewlet-avatar-stack__member>.crewlet-avatar{background-image:linear-gradient(var(--crewlet-avatar-plate),var(--crewlet-avatar-plate)),linear-gradient(var(--crewlet-avatar-stack-ground),var(--crewlet-avatar-stack-ground))}.crewlet-avatar-stack>.crewlet-avatar-stack__member+.crewlet-avatar-stack__member{margin-inline-start:-6px}.crewlet-avatar-stack>.crewlet-avatar-stack__more{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;min-width:var(--crewlet-avatar-stack-size);height:var(--crewlet-avatar-stack-size);padding-inline:var(--spacing-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface-elevated);color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;line-height:normal;white-space:nowrap;user-select:none}.crewlet-tag-group{--crewlet-tag-group-pad: calc(var(--spacing-2) + var(--spacing-1) / 4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-1);margin:0;padding:0;list-style:none;min-width:0}.crewlet-tag-group:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.crewlet-tag-group--fit{flex-wrap:wrap;overflow:hidden;max-height:var(--size-control-sm)}.crewlet-tag-group__item[data-count]{align-self:stretch}.crewlet-tag-group__count{display:inline-flex;align-items:center;box-sizing:border-box;padding:0 var(--crewlet-tag-group-pad);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap}.crewlet-tag-group:has(.crewlet-tag--xs) .crewlet-tag-group__count{padding:0 calc(var(--spacing-1) * 1.5);font-size:var(--font-size-2xs)}.crewlet-tag-group__item{display:inline-flex;min-width:0;max-width:100%}.crewlet-tag-group__more{display:inline-flex;align-items:center;height:max(24px,calc(24px * var(--density, 1)));padding:0 var(--crewlet-tag-group-pad);border:1px dashed var(--color-border-hover);border-radius:var(--radius-pill);background:transparent;color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;cursor:pointer;box-sizing:border-box;transition:border-color var(--motion-duration-fast) var(--motion-easing-default),color var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag-group__more:hover{border-color:var(--color-border-strong-hover);color:var(--color-text-primary)}.crewlet-tag-group__more:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}@media(prefers-reduced-motion:reduce){.crewlet-tag-group__more{transition:none}}.crewlet-cursor-flag{display:inline-flex;align-items:center;gap:var(--spacing-1);box-sizing:border-box;max-width:16em;padding:0 calc(var(--spacing-1) * 1.5);border-radius:var(--radius-pill);background:var(--crewlet-presence-hue);box-shadow:var(--shadow-cursor);color:var(--color-presence-flag-text);font-family:var(--font-family-sans);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-normal);white-space:nowrap;pointer-events:none;user-select:none}.crewlet-cursor-flag--agent{border-radius:var(--radius-xs)}.crewlet-cursor-flag__name{overflow:hidden;text-overflow:ellipsis}.crewlet-cursor-flag__glyph{flex:none}.crewlet-cursor-flag--top-end,.crewlet-cursor-flag--bottom-end{position:absolute;inset-inline-end:0;z-index:var(--z-index-presence)}.crewlet-cursor-flag--top-end{bottom:100%}.crewlet-cursor-flag--bottom-end{top:100%}@media(forced-colors:active){.crewlet-cursor-flag{border:1px solid CanvasText;background:Canvas;color:CanvasText}}.crewlet-tooltip{position:fixed;max-width:260px;padding:var(--spacing-1) var(--spacing-2);background:var(--color-surface-subtle);color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--font-size-xs);line-height:var(--font-line-height-snug);overflow-wrap:break-word;animation:crewlet-tooltip-in var(--motion-duration-base) var(--motion-easing-emphasized)}.crewlet-tooltip--in-host{position:absolute}@keyframes crewlet-tooltip-in{0%{opacity:0;transform:translateY(var(--spacing-1))}}@media(prefers-reduced-motion:reduce){.crewlet-tooltip{animation:none}}.crewlet-change-mark{position:absolute;top:0;inset-inline-end:0;width:0;height:0;border-top:var(--spacing-2) solid var(--color-change-mark);border-inline-start:var(--spacing-2) solid transparent;border-start-end-radius:inherit;pointer-events:auto}@media(forced-colors:active){.crewlet-change-mark{border-top-color:CanvasText}}.crewlet-status-dot{--crewlet-status-dot-size: 7px;display:inline-block;width:var(--crewlet-status-dot-size);height:var(--crewlet-status-dot-size);border-radius:var(--radius-circle);background:var(--color-text-tertiary);--crewlet-status-dot-halo: var(--color-surface-pressed);flex:none}.crewlet-status-dot--info{background:var(--color-feedback-info);--crewlet-status-dot-halo: var(--color-feedback-info-soft)}.crewlet-status-dot--success{background:var(--color-feedback-success);--crewlet-status-dot-halo: var(--color-feedback-success-soft)}.crewlet-status-dot--warning{background:var(--color-feedback-warning);--crewlet-status-dot-halo: var(--color-feedback-warning-soft)}.crewlet-status-dot--danger{background:var(--color-feedback-danger);--crewlet-status-dot-halo: var(--color-feedback-danger-soft)}.crewlet-status-dot--brand{background:var(--color-brand-accent);--crewlet-status-dot-halo: var(--color-brand-accent-soft)}:where(.crewlet-status-dot.is-pulsing){position:relative}.crewlet-status-dot.is-pulsing:after{content:"";position:absolute;inset:-2px;border-radius:var(--radius-circle);pointer-events:none;animation:crewlet-status-dot-pulse var(--motion-duration-breath) var(--motion-easing-in-out) infinite}@keyframes crewlet-status-dot-pulse{0%,to{box-shadow:0 0 0 0 var(--crewlet-status-dot-halo)}50%{box-shadow:0 0 0 3px var(--crewlet-status-dot-halo)}}.crewlet-status{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%}.crewlet-status__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){.crewlet-status-dot.is-pulsing:after{animation:none}}.crewlet-tag{--crewlet-tag-height: calc(22px * var(--density, 1));--crewlet-tag-floor: 0px;--crewlet-tag-pad: calc(var(--spacing-2) + var(--spacing-1) / 4);--crewlet-tag-fill: var(--color-surface-elevated);--crewlet-tag-ink: var(--color-text-secondary);--crewlet-tag-line: var(--color-border-hover);--crewlet-tag-edge: transparent;display:inline-flex;align-items:center;gap:calc(var(--spacing-1) * 1.5);height:max(var(--crewlet-tag-height),var(--crewlet-tag-floor));padding:0 var(--crewlet-tag-pad);border:1px solid var(--crewlet-tag-edge);border-radius:var(--radius-pill);background:var(--crewlet-tag-fill);color:var(--crewlet-tag-ink);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--font-letter-spacing-normal);line-height:1;white-space:nowrap;width:fit-content;max-width:100%;vertical-align:middle;box-sizing:border-box}.crewlet-tag__label{overflow:hidden;text-overflow:ellipsis}.crewlet-tag__icon{display:inline-flex;align-items:center;flex:none}.crewlet-tag .crewlet-tag__dot{flex:none;background:currentColor}.crewlet-tag__count{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);flex:none}.crewlet-tag--xs{--crewlet-tag-height: calc(18px * var(--density, 1));--crewlet-tag-pad: calc(var(--spacing-1) * 1.5);gap:var(--spacing-1);font-size:var(--font-size-2xs)}.crewlet-tag--sm{--crewlet-tag-height: calc(22px * var(--density, 1))}.crewlet-tag--md{--crewlet-tag-height: var(--size-control-sm)}.crewlet-tag--acts{--crewlet-tag-floor: max(24px, calc(24px * var(--density, 1)))}.crewlet-tag--monospace .crewlet-tag__label{font-family:var(--font-family-mono);font-size:var(--font-size-2xs)}.crewlet-tag--info{--crewlet-tag-fill: var(--color-feedback-info-soft);--crewlet-tag-ink: var(--color-feedback-info-ink);--crewlet-tag-line: var(--color-feedback-info-line)}.crewlet-tag--success{--crewlet-tag-fill: var(--color-feedback-success-soft);--crewlet-tag-ink: var(--color-feedback-success-ink);--crewlet-tag-line: var(--color-feedback-success-line)}.crewlet-tag--warning{--crewlet-tag-fill: var(--color-feedback-warning-soft);--crewlet-tag-ink: var(--color-feedback-warning-ink);--crewlet-tag-line: var(--color-feedback-warning-line)}.crewlet-tag--danger{--crewlet-tag-fill: var(--color-feedback-danger-soft);--crewlet-tag-ink: var(--color-feedback-danger-ink);--crewlet-tag-line: var(--color-feedback-danger-line)}.crewlet-tag--brand{--crewlet-tag-fill: var(--color-brand-accent-soft);--crewlet-tag-ink: var(--color-brand-accent-ink);--crewlet-tag-line: var(--color-brand-accent-soft-strong)}.crewlet-tag--hue-purple{--crewlet-tag-fill: var(--color-node-purple-fill);--crewlet-tag-ink: var(--color-node-purple-ink);--crewlet-tag-line: var(--color-node-purple-line)}.crewlet-tag--hue-cyan{--crewlet-tag-fill: var(--color-node-cyan-fill);--crewlet-tag-ink: var(--color-node-cyan-ink);--crewlet-tag-line: var(--color-node-cyan-line)}.crewlet-tag--hue-green{--crewlet-tag-fill: var(--color-node-green-fill);--crewlet-tag-ink: var(--color-node-green-ink);--crewlet-tag-line: var(--color-node-green-line)}.crewlet-tag--hue-amber{--crewlet-tag-fill: var(--color-node-amber-fill);--crewlet-tag-ink: var(--color-node-amber-ink);--crewlet-tag-line: var(--color-node-amber-line)}.crewlet-tag--hue-rose{--crewlet-tag-fill: var(--color-node-rose-fill);--crewlet-tag-ink: var(--color-node-rose-ink);--crewlet-tag-line: var(--color-node-rose-line)}.crewlet-tag--hue-blue{--crewlet-tag-fill: var(--color-node-blue-fill);--crewlet-tag-ink: var(--color-node-blue-ink);--crewlet-tag-line: var(--color-node-blue-line)}.crewlet-tag--outline{background:transparent;border-color:var(--crewlet-tag-line)}.crewlet-tag--neutral.crewlet-tag--soft{--crewlet-tag-edge: var(--color-border-strong);--crewlet-tag-line: var(--color-border-strong-hover)}.crewlet-tag--neutral.crewlet-tag--outline{border-color:var(--color-border-strong);--crewlet-tag-ink: var(--color-text-tertiary)}.crewlet-tag--actionable{cursor:pointer;font-family:inherit;transition:border-color var(--motion-duration-fast) var(--motion-easing-default),box-shadow var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag--actionable:hover{border-color:var(--crewlet-tag-line)}.crewlet-tag--actionable[aria-pressed=true]{border-color:var(--crewlet-tag-ink);box-shadow:inset 0 0 0 1px var(--crewlet-tag-ink)}.crewlet-tag--actionable:focus-visible,.crewlet-tag__press:focus-visible,.crewlet-tag__remove:focus-visible{outline:2px solid var(--color-focus)}.crewlet-tag--actionable:focus-visible,.crewlet-tag__remove:focus-visible{outline-offset:-1px}.crewlet-tag__press:focus-visible{outline-offset:0}.crewlet-tag--split{padding:0;transition:border-color var(--motion-duration-fast) var(--motion-easing-default),box-shadow var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag--split .crewlet-tag__press{display:inline-flex;align-items:center;align-self:stretch;gap:inherit;min-width:0;padding:0 var(--crewlet-tag-pad);border:0;border-radius:var(--radius-pill) 0 0 var(--radius-pill);background:transparent;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;cursor:pointer}.crewlet-tag--split .crewlet-tag__remove{margin-right:0}.crewlet-tag--split:hover{border-color:var(--crewlet-tag-line)}.crewlet-tag--split.is-pressed{border-color:var(--crewlet-tag-ink);box-shadow:inset 0 0 0 1px var(--crewlet-tag-ink)}.crewlet-tag__remove{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;min-width:24px;margin-block-start:-1px;margin-block-end:-1px;margin-right:calc(var(--crewlet-tag-pad) * -1);padding:0 var(--spacing-1);border:0;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:transparent;color:inherit;cursor:pointer;opacity:.7;transition:opacity var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag__remove:hover,.crewlet-tag__remove:focus-visible{opacity:1}.crewlet-tag--animate-in{animation:crewlet-tag-in var(--motion-duration-base) var(--motion-easing-emphasized)}@keyframes crewlet-tag-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.crewlet-tag--animate-in{animation:none}.crewlet-tag--actionable,.crewlet-tag--split,.crewlet-tag__remove{transition:none}}.crewlet-popover{position:fixed;background:var(--color-surface-subtle);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:260px;max-width:380px;max-height:min(360px,60vh);overflow-y:auto;overscroll-behavior:contain;animation:crewlet-popover-in var(--motion-duration-base) var(--motion-easing-emphasized)}.crewlet-popover--in-host{position:absolute}.crewlet-popover--below{transform-origin:top left}.crewlet-popover--above{transform-origin:bottom left}.crewlet-popover:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}@keyframes crewlet-popover-in{0%{opacity:0;transform:translateY(var(--spacing-2))}}.crewlet-popover__list{list-style:none;margin:0;padding:var(--spacing-1);display:flex;flex-direction:column}.crewlet-popover__item{display:flex;align-items:center;gap:var(--spacing-2);min-height:var(--size-row-sm);padding:0 var(--spacing-2);border-radius:var(--radius-xs);cursor:pointer;background:transparent;border:none;color:var(--color-text-primary);font-size:var(--font-size-compact);font-family:inherit;text-align:left;width:100%}.crewlet-popover__item:hover:not(.is-disabled):not([aria-disabled=true]){background:var(--color-surface-hover)}.crewlet-popover__item:focus{background:var(--color-surface-hover)}.crewlet-popover__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-popover__item.is-disabled,.crewlet-popover__item[aria-disabled=true]{color:var(--color-text-tertiary);cursor:not-allowed}.crewlet-popover__item.is-active{color:var(--color-brand-accent-ink)}.crewlet-popover__item-icon{flex-shrink:0}.crewlet-popover__item-spacer{flex:1}.crewlet-popover__item-trail{margin-left:auto;padding-left:var(--spacing-4);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.crewlet-popover__heading{padding:var(--spacing-2) var(--spacing-3) var(--spacing-1);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--font-letter-spacing-wide);text-transform:uppercase;color:var(--color-text-tertiary)}.crewlet-popover__divider{height:1px;background:var(--color-border-default);margin:var(--spacing-1) 0}.crewlet-popover__editor{padding:var(--spacing-3);min-width:240px}.crewlet-popover__editor-label{display:block;margin-bottom:var(--spacing-2);font-size:var(--font-size-2xs);letter-spacing:var(--font-letter-spacing-wide);text-transform:uppercase;color:var(--color-text-tertiary)}@media(prefers-reduced-motion:reduce){.crewlet-popover{animation:none}}.crewlet-menu-anchor{display:inline-flex}.crewlet-menu{position:fixed;display:flex;flex-direction:column;padding:var(--spacing-1);width:max-content;min-width:var(--crewlet-menu-floor, 0px);max-width:max(320px,var(--crewlet-menu-floor, 0px));max-height:min(360px,60vh);overflow-y:auto;overscroll-behavior:contain;background:var(--color-surface-subtle);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);animation:crewlet-menu-in var(--motion-duration-base) var(--motion-easing-emphasized)}.crewlet-menu--in-host{position:absolute}@keyframes crewlet-menu-in{0%{opacity:0;transform:translateY(var(--spacing-2))}}.crewlet-menu__group{display:contents}.crewlet-menu__item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;flex:none;min-height:var(--size-row-sm);padding:0 var(--spacing-2);border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-compact);text-align:left;white-space:nowrap;cursor:pointer}.crewlet-menu__item--described{align-items:flex-start;padding-block:var(--spacing-2)}.crewlet-menu__item--described>.crewlet-menu__check,.crewlet-menu__item--described>.crewlet-menu__icon{height:1lh}.crewlet-menu__item--described>.crewlet-menu__text,.crewlet-menu__item--described>.crewlet-menu__hint{align-self:baseline}.crewlet-menu__item:hover:not(.is-disabled){background:var(--color-surface-hover)}.crewlet-menu__item:focus{background:var(--color-surface-hover)}.crewlet-menu__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-menu__item.is-danger,.crewlet-menu__item.is-danger .crewlet-menu__icon{color:var(--color-feedback-danger-ink)}.crewlet-menu__item.is-disabled,.crewlet-menu__item.is-disabled .crewlet-menu__icon{color:var(--color-text-tertiary)}.crewlet-menu__item.is-disabled{cursor:not-allowed}.crewlet-menu__check{display:inline-flex;align-items:center;justify-content:center;width:var(--spacing-4);flex:none;color:var(--color-text-tertiary)}.crewlet-menu__icon{display:inline-flex;align-items:center;flex:none;color:var(--color-text-tertiary)}.crewlet-menu__text{display:flex;flex-direction:column;gap:calc(var(--spacing-1) / 2);min-width:0}.crewlet-menu__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-menu__description{color:var(--color-text-tertiary);font-size:var(--font-size-xs);white-space:normal}.crewlet-menu__hint{margin-left:auto;padding-left:var(--spacing-4);color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.crewlet-menu__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-1) var(--spacing-2);margin:calc(var(--spacing-1) * -1) calc(var(--spacing-1) * -1) var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--color-border-default);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.crewlet-menu__separator{height:1px;margin:var(--spacing-1) 0;background:var(--color-border-default)}@media(prefers-reduced-motion:reduce){.crewlet-menu{animation:none}}.crewlet-menu-anchor>.crewlet-btn.crewlet-menu__value-trigger{font-size:inherit;font-weight:inherit;color:inherit}.crewlet-sheet-grid{--crewlet-sheet-row-height: var(--size-sheet-row);--crewlet-sheet-history-size: var(--size-target-min);position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-compact)}.crewlet-sheet-grid__measure{position:absolute;inset-block-start:0;inset-inline-start:0;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.crewlet-sheet-grid__measure>div{display:flex;flex-direction:column;width:max-content}.crewlet-sheet-grid__measure :is(.crewlet-sheet-grid__header,.crewlet-sheet-grid__cell){width:max-content}.crewlet-sheet-grid__probe{position:absolute;width:0;height:var(--size-sheet-row);visibility:hidden;pointer-events:none}.crewlet-sheet-grid__scroller{position:relative;flex:1 1 auto;min-height:0;max-width:100%;overflow:auto;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-background)}.crewlet-sheet-grid__grid{position:relative;min-width:100%}.crewlet-sheet-grid--fit-content>.crewlet-sheet-grid__scroller{flex:0 1 auto;min-height:min(var(--crewlet-sheet-min-height, 0px),var(--crewlet-sheet-content-height, 0px));max-height:var(--crewlet-sheet-max-height, 70vh)}.crewlet-sheet-grid__row{display:grid;grid-template-columns:var(--crewlet-sheet-columns);height:var(--crewlet-sheet-row-height)}.crewlet-sheet-grid__head{position:sticky;top:0;z-index:var(--z-index-sticky)}.crewlet-sheet-grid__body{position:relative}.crewlet-sheet-grid__body>.crewlet-sheet-grid__row{position:absolute;right:0;left:0}.crewlet-sheet-grid__corner,.crewlet-sheet-grid__header,.crewlet-sheet-grid__rownum,.crewlet-sheet-grid__cell{position:relative;display:flex;align-items:center;box-sizing:border-box;min-width:0;border-right:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default);background:var(--color-surface-background)}.crewlet-sheet-grid__scroller:not(.crewlet-sheet-grid__scroller--add-column) .crewlet-sheet-grid__row>:last-child{border-inline-end-width:0}.crewlet-sheet-grid__row--floor>:is(.crewlet-sheet-grid__corner,.crewlet-sheet-grid__header,.crewlet-sheet-grid__rownum,.crewlet-sheet-grid__cell){border-bottom-width:0}.crewlet-sheet-grid__corner,.crewlet-sheet-grid__header{background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.crewlet-sheet-grid__corner,.crewlet-sheet-grid__rownum{position:sticky;inset-inline-start:0;z-index:var(--z-index-raised);justify-content:center}.crewlet-sheet-grid__corner{z-index:var(--z-index-sticky)}.crewlet-sheet-grid__header{gap:var(--spacing-1);padding:0 var(--spacing-2);cursor:default;user-select:none}.crewlet-sheet-grid__header-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-sheet-grid__sort{display:inline-flex;flex:none;color:var(--color-text-tertiary)}.crewlet-sheet-grid__header-presence{display:inline-flex;flex:none;gap:var(--spacing-1);margin-inline-start:auto}.crewlet-sheet-grid__header--number,.crewlet-sheet-grid__header--rating{flex-direction:row-reverse}.crewlet-sheet-grid__header--number>.crewlet-sheet-grid__header-presence,.crewlet-sheet-grid__header--rating>.crewlet-sheet-grid__header-presence{margin-inline:0 auto}.crewlet-sheet-grid__header--checkbox{justify-content:center}.crewlet-sheet-grid .crewlet-sheet-grid__header-badge{box-shadow:0 0 0 2px var(--crewlet-presence-hue)}.crewlet-sheet-grid__rownum{display:grid;grid-template-areas:"gutter";place-items:center;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.crewlet-sheet-grid__rownum-number,.crewlet-sheet-grid__row-actions{grid-area:gutter}.crewlet-sheet-grid__row-actions{display:inline-flex;opacity:0}.crewlet-sheet-grid__row:is(:hover,:focus-within)>.crewlet-sheet-grid__rownum>.crewlet-sheet-grid__row-actions,.crewlet-sheet-grid__rownum--open>.crewlet-sheet-grid__row-actions{opacity:1}.crewlet-sheet-grid__row:is(:hover,:focus-within)>.crewlet-sheet-grid__rownum--actions>.crewlet-sheet-grid__rownum-number,.crewlet-sheet-grid__rownum--open>.crewlet-sheet-grid__rownum-number{visibility:hidden}.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__rownum--selected{background:linear-gradient(var(--color-brand-accent-soft),var(--color-brand-accent-soft)) var(--color-surface-background);color:var(--color-brand-accent-ink)}.crewlet-sheet-grid__grid:not(:focus-within) .crewlet-sheet-grid__cell--history:not(:hover)>.crewlet-sheet-grid__history{visibility:hidden}.crewlet-sheet-grid__rownum--present:before{position:absolute;top:0;bottom:0;inset-inline-start:0;width:3px;background:var(--crewlet-presence-hue);content:""}.crewlet-sheet-grid__cell{padding:0 var(--spacing-2);outline:none}.crewlet-sheet-grid__cell--frozen,.crewlet-sheet-grid__header.crewlet-sheet-grid__cell--frozen{position:sticky;z-index:var(--z-index-raised)}.crewlet-sheet-grid__header.crewlet-sheet-grid__cell--frozen{z-index:var(--z-index-sticky)}.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating{justify-content:flex-end}.crewlet-sheet-grid__cell--checkbox{justify-content:center}.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__cell--selected{background:linear-gradient(var(--color-brand-accent-soft),var(--color-brand-accent-soft)) var(--color-surface-background)}.crewlet-sheet-grid__scroller--across .crewlet-sheet-grid__frozen-edge{border-inline-end-color:var(--color-border-strong)}.crewlet-sheet-grid__cell:focus-visible,.crewlet-sheet-grid__header:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-grid__cell--editing{z-index:var(--z-index-presence);overflow:visible}.crewlet-sheet-grid__value{display:flex;align-items:center;min-width:0;max-width:100%;overflow:hidden}.crewlet-sheet-grid__cell--editing>.crewlet-sheet-grid__value{visibility:hidden}.crewlet-sheet-grid__cell--pending>.crewlet-sheet-grid__value:after{position:absolute;right:var(--spacing-1);bottom:2px;left:var(--spacing-1);border-bottom:1px dashed var(--color-text-tertiary);content:""}.crewlet-sheet-grid__refused{display:inline-flex;flex:none;margin-inline-start:auto;padding-inline-start:var(--spacing-1);color:var(--color-feedback-danger-ink)}:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating)>.crewlet-sheet-grid__refused{order:-1;margin-inline:0 auto;padding-inline:0 var(--spacing-1)}.crewlet-sheet-grid__cell--checkbox>.crewlet-sheet-grid__refused{position:absolute;inset-inline-end:var(--spacing-2);margin:0;padding:0}.crewlet-sheet-grid__message{position:absolute;top:100%;inset-inline-start:0;z-index:var(--z-index-presence);box-sizing:border-box;width:max-content;max-width:20rem;padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-feedback-danger-line);border-radius:var(--radius-sm);background:var(--color-surface-elevated);box-shadow:var(--shadow-md);color:var(--color-feedback-danger-ink);font-size:var(--font-size-xs);white-space:normal}.crewlet-sheet-grid__grid:focus-within .crewlet-sheet-grid__cell--history,.crewlet-sheet-grid__cell--history:hover{padding-inline-end:calc(var(--spacing-1) * 2 + var(--crewlet-sheet-history-size))}.crewlet-sheet-grid__grid:focus-within :is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating).crewlet-sheet-grid__cell--history,:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating).crewlet-sheet-grid__cell--history:hover{padding-inline:calc(var(--spacing-1) * 2 + var(--crewlet-sheet-history-size)) var(--spacing-2)}.crewlet-sheet-grid__grid:focus-within .crewlet-sheet-grid__cell--checkbox.crewlet-sheet-grid__cell--history,.crewlet-sheet-grid__cell--checkbox.crewlet-sheet-grid__cell--history:hover{padding-inline-end:var(--spacing-2)}:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating)>.crewlet-sheet-grid__history{inset-inline:var(--spacing-1) auto}.crewlet-sheet-grid__history{position:absolute;top:50%;inset-inline-end:var(--spacing-1);display:inline-flex;align-items:center;justify-content:center;width:var(--crewlet-sheet-history-size);height:var(--crewlet-sheet-history-size);padding:0;border:0;border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text-secondary);transform:translateY(-50%);cursor:pointer}.crewlet-sheet-grid__history:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-sheet-grid__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-2);padding:var(--spacing-2) 0;color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.crewlet-sheet-grid__header--settings{cursor:pointer}.crewlet-sheet-grid__header--settings:hover,.crewlet-sheet-grid__header--open{background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-popover.crewlet-sheet-grid__column-settings{width:300px;max-height:min(560px,80vh);padding:var(--spacing-3)}.crewlet-sheet-grid__scroller--add-column{--crewlet-sheet-add-column-width: calc(var(--size-control-sm) + 2 * var(--spacing-1));display:flex;align-items:flex-start}.crewlet-sheet-grid__scroller--add-column>.crewlet-sheet-grid__grid{flex:1 0 auto;min-width:0}.crewlet-sheet-grid__add-column{position:sticky;top:0;z-index:var(--z-index-sticky);display:flex;flex:0 0 var(--crewlet-sheet-add-column-width);align-items:center;justify-content:center;box-sizing:border-box;border-bottom:1px solid var(--color-border-default);background:var(--color-surface-subtle)}.crewlet-sheet-grid__add-column--floor{border-bottom-width:0}.crewlet-sheet-grid__sync{display:inline-flex;align-items:center;gap:var(--spacing-2);margin-inline-start:auto}.crewlet-sheet-grid__sync--failed{color:var(--color-feedback-danger-ink)}.crewlet-sheet-cell__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-sheet-cell__number{font-variant-numeric:tabular-nums}.crewlet-sheet-cell__muted{color:var(--color-text-tertiary)}.crewlet-sheet-cell__chips{flex:1 1 auto;flex-wrap:wrap;min-width:0}.crewlet-sheet-cell__person{display:inline-flex;align-items:center;gap:var(--spacing-1);min-width:0}.crewlet-sheet-cell__link{overflow:hidden;color:var(--color-text-link-quiet);text-overflow:ellipsis;white-space:nowrap}.crewlet-sheet-cell__link:hover{color:var(--color-brand-accent-ink)}.crewlet-sheet-cell__checkbox{display:inline-flex;align-items:center}.crewlet-sheet-cell__check{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--spacing-4);height:var(--spacing-4);border:1px solid var(--color-border-control);border-radius:var(--radius-xs);background:var(--color-surface-background);color:var(--color-text-on-accent)}.crewlet-sheet-cell__check--on{border-color:var(--color-brand-accent);background:var(--color-brand-accent)}.crewlet-sheet-cell__rating,.crewlet-sheet-cell__stars{display:inline-flex;align-items:center}.crewlet-sheet-cell__star{color:var(--color-border-strong)}.crewlet-sheet-cell__star--on{color:var(--color-text-primary)}.crewlet-sheet-cell{position:relative;display:inline-flex;flex-direction:column;gap:var(--spacing-1);min-width:0;font-size:var(--font-size-compact)}.crewlet-sheet-cell__face{display:inline-flex;align-items:center;box-sizing:border-box;min-height:var(--size-control-md);padding:0 var(--spacing-2);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface-background);color:inherit;font:inherit;text-align:start;cursor:pointer}.crewlet-sheet-cell__face[aria-disabled=true]{cursor:default}.crewlet-sheet-cell__face:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-cell--pending .crewlet-sheet-cell__face{border-style:dashed}.crewlet-sheet-cell__refusal{display:inline-flex;align-items:center;gap:var(--spacing-1);color:var(--color-feedback-danger-ink);font-size:var(--font-size-xs)}.crewlet-sheet-editor{position:absolute;inset:0;z-index:var(--z-index-presence)}.crewlet-sheet-cell .crewlet-sheet-editor{position:relative;inset:auto}.crewlet-sheet-editor__input{box-sizing:border-box;width:100%;height:100%;min-height:var(--size-control-md);padding:0 var(--spacing-2);border:0;border-radius:0;background:var(--color-surface-elevated);box-shadow:inset 0 0 0 2px var(--color-focus);color:var(--color-text-primary);font:inherit}:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating) .crewlet-sheet-editor__input{font-variant-numeric:tabular-nums;text-align:end}.crewlet-sheet-cell .crewlet-sheet-editor__input{padding-inline:calc(var(--spacing-2) + 1px);border-radius:var(--radius-md)}.crewlet-sheet-cell .crewlet-sheet-editor--list{min-height:var(--size-control-md)}.crewlet-sheet-editor__input:focus-visible,.crewlet-sheet-editor__filter:focus-visible,.crewlet-sheet-editor__textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-editor__panel{position:absolute;top:100%;inset-inline-start:0;z-index:var(--z-index-presence);display:flex;flex-direction:column;gap:var(--spacing-2);box-sizing:border-box;min-width:100%;width:max-content;max-width:min(24rem,90vw);padding:var(--spacing-2);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:var(--shadow-lg)}.crewlet-sheet-editor--above .crewlet-sheet-editor__panel{top:auto;bottom:100%}.crewlet-sheet-editor--list .crewlet-sheet-editor__panel{top:0;min-width:max(100%,14rem)}.crewlet-sheet-editor--list.crewlet-sheet-editor--above .crewlet-sheet-editor__panel{top:auto;bottom:0}.crewlet-sheet-editor__overlay{--crewlet-sheet-editor-inset: calc(var(--spacing-2) - 1px);position:absolute;top:0;inset-inline-start:0;z-index:var(--z-index-presence);display:flex;flex-direction:column;gap:var(--spacing-2);box-sizing:border-box;min-width:100%;width:max(100%,20rem);max-width:min(32rem,90vw);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:var(--shadow-xl)}.crewlet-sheet-editor--above .crewlet-sheet-editor__overlay{top:auto;bottom:0}.crewlet-sheet-editor__overlay>.crewlet-sheet-editor__error,.crewlet-sheet-editor__overlay>.crewlet-sheet-editor__conflict{margin:0 var(--crewlet-sheet-editor-inset) var(--spacing-2)}.crewlet-sheet-cell .crewlet-sheet-editor__overlay{--crewlet-sheet-editor-inset: var(--spacing-2);position:relative;width:100%;max-width:none}.crewlet-sheet-editor__filter,.crewlet-sheet-editor__textarea{box-sizing:border-box;width:100%;padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface-background);color:var(--color-text-primary);font:inherit}.crewlet-sheet-editor__overlay .crewlet-sheet-editor__textarea{--crewlet-sheet-editor-row: var(--crewlet-sheet-row-height, var(--size-sheet-row));--crewlet-sheet-editor-line: calc(var(--font-line-height-normal) * 1em);--crewlet-sheet-editor-pad: calc((var(--crewlet-sheet-editor-row) - var(--crewlet-sheet-editor-line)) / 2 - 1px);display:block;min-height:calc(var(--crewlet-sheet-editor-line) + 2 * var(--crewlet-sheet-editor-pad));max-height:calc(var(--crewlet-sheet-editor-lines, 6) * var(--crewlet-sheet-editor-line) + 2 * var(--crewlet-sheet-editor-pad));padding:calc(var(--crewlet-sheet-editor-pad) - .5px) var(--crewlet-sheet-editor-inset) calc(var(--crewlet-sheet-editor-pad) + .5px);overflow-y:auto;border:0;border-radius:var(--radius-md);background:transparent;line-height:var(--font-line-height-normal);white-space:pre-wrap;overflow-wrap:anywhere;resize:none}.crewlet-sheet-cell .crewlet-sheet-editor__overlay .crewlet-sheet-editor__textarea{--crewlet-sheet-editor-row: var(--size-control-md);padding:var(--crewlet-sheet-editor-pad) var(--crewlet-sheet-editor-inset)}.crewlet-sheet-editor__list{display:flex;flex-direction:column;max-height:16rem;margin:0;padding:0;overflow-y:auto;list-style:none}.crewlet-sheet-editor__option{display:flex;align-items:center;gap:var(--spacing-2);min-height:var(--size-row-sm);padding:0 var(--spacing-2);border-radius:var(--radius-sm);cursor:pointer}.crewlet-sheet-editor__option--clear{margin-top:var(--spacing-1);border-top:1px solid var(--color-border-default);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.crewlet-sheet-editor__list:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-editor__option--highlight{background:var(--color-surface-hover)}.crewlet-sheet-editor__mark{display:inline-flex;flex:none;width:var(--spacing-3);color:var(--color-brand-accent-ink)}.crewlet-sheet-editor__empty{padding:var(--spacing-2);color:var(--color-text-tertiary)}.crewlet-sheet-editor__error{display:flex;align-items:center;gap:var(--spacing-1);margin:0;color:var(--color-feedback-danger-ink);font-size:var(--font-size-xs)}.crewlet-sheet-editor__conflict{display:flex;flex-direction:column;gap:var(--spacing-2);padding-top:var(--spacing-2);border-top:1px solid var(--color-border-default)}.crewlet-sheet-editor__conflict:first-child{padding-top:0;border-top:0}.crewlet-sheet-editor__conflict-text{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.crewlet-sheet-editor__conflict-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}@media(width<640px){.crewlet-sheet-grid .crewlet-sheet-editor--list .crewlet-sheet-editor__panel,.crewlet-sheet-grid .crewlet-sheet-editor--long .crewlet-sheet-editor__overlay{position:fixed;inset:auto 0 0;width:auto;max-width:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.crewlet-sheet-grid .crewlet-sheet-editor--long .crewlet-sheet-editor__overlay{--crewlet-sheet-editor-inset: var(--spacing-2)}.crewlet-sheet-grid .crewlet-sheet-editor--long .crewlet-sheet-editor__textarea{--crewlet-sheet-editor-pad: var(--spacing-2);padding:var(--crewlet-sheet-editor-pad) var(--crewlet-sheet-editor-inset)}}@media(forced-colors:active){.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__cell--selected{background:Highlight;color:HighlightText}.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__rownum--selected{background:Canvas;color:Highlight}.crewlet-sheet-grid__rownum--present:before{background:Highlight}}
|
|
6
|
+
crewlet-sheet{display:block;min-width:0}crewlet-column{display:none}.crewlet-kit-sheet{display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0}.crewlet-kit-sheet__presence{display:flex;justify-content:flex-end}.crewlet-kit-sheet__presence>.crewlet-presence-stack{margin:var(--crewlet-presence-stack-reach)}.crewlet-callout{--crewlet-callout-fill: var(--color-surface-inset);--crewlet-callout-ink: var(--color-text-secondary);--crewlet-callout-line: transparent;display:grid;grid-template-columns:auto minmax(0,1fr);grid-auto-columns:auto;align-items:start;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--crewlet-callout-line);border-radius:var(--radius-md);background:var(--crewlet-callout-fill);color:var(--crewlet-callout-ink);font-family:var(--font-family-sans);font-size:var(--font-size-compact);line-height:var(--font-line-height-normal)}.crewlet-callout:has(>.crewlet-callout__action){--crewlet-callout-lead: max(0px, calc((var(--size-control-sm) - 1lh) / 2));container:crewlet-callout / inline-size}.crewlet-callout__icon{display:inline-flex;margin-top:calc(2px + var(--crewlet-callout-lead, 0px))}.crewlet-callout__content{min-width:0;padding-block:var(--crewlet-callout-lead, 0px)}.crewlet-callout__title{display:block;font-weight:var(--font-weight-semibold)}.crewlet-callout__action{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2);grid-column:3;grid-row:1;align-self:center}@container crewlet-callout (width < 28rem){.crewlet-callout__icon,.crewlet-callout__content{--crewlet-callout-lead: 0px}.crewlet-callout__action{grid-column:2;grid-row:2;justify-self:start;align-self:start}}.crewlet-callout code,.crewlet-callout .crewlet-inline-code{color:inherit}.crewlet-callout--info{--crewlet-callout-fill: var(--color-feedback-info-soft);--crewlet-callout-ink: var(--color-feedback-info-ink)}.crewlet-callout--success{--crewlet-callout-fill: var(--color-feedback-success-soft);--crewlet-callout-ink: var(--color-feedback-success-ink)}.crewlet-callout--warning{--crewlet-callout-fill: var(--color-feedback-warning-soft);--crewlet-callout-ink: var(--color-feedback-warning-ink)}.crewlet-callout--danger{--crewlet-callout-fill: var(--color-feedback-danger-soft);--crewlet-callout-ink: var(--color-feedback-danger-ink)}.crewlet-callout--banner{border-radius:var(--radius-none);border-width:0 0 1px;border-bottom-color:var(--color-border-default);padding:var(--spacing-2) var(--spacing-4)}@property --crewlet-spinner-arc{syntax: "<angle>"; inherits: false; initial-value: 270deg;}.crewlet-spinner{--crewlet-spinner-from: calc(270deg - var(--crewlet-spinner-arc) / 2);display:inline-block;box-sizing:border-box;flex:none;width:1em;height:1em;border:2px solid currentColor;border-radius:var(--radius-circle);opacity:.7;-webkit-mask-image:conic-gradient(from var(--crewlet-spinner-from),transparent 0deg,#000 6deg,#000 calc(var(--crewlet-spinner-arc) - 6deg),transparent var(--crewlet-spinner-arc));mask-image:conic-gradient(from var(--crewlet-spinner-from),transparent 0deg,#000 6deg,#000 calc(var(--crewlet-spinner-arc) - 6deg),transparent var(--crewlet-spinner-arc));animation:crewlet-spinner-turn var(--motion-duration-turn) linear infinite,crewlet-spinner-sweep var(--motion-duration-sweep) var(--motion-easing-in-out) infinite}.crewlet-spinner--xs{width:var(--font-size-xs);height:var(--font-size-xs)}.crewlet-spinner--sm{width:var(--font-size-sm);height:var(--font-size-sm)}.crewlet-spinner--md{width:var(--font-size-md);height:var(--font-size-md)}@keyframes crewlet-spinner-turn{to{transform:rotate(360deg)}}@keyframes crewlet-spinner-sweep{0%,to{--crewlet-spinner-arc: 90deg}50%{--crewlet-spinner-arc: 270deg}}@media(prefers-reduced-motion:reduce){.crewlet-spinner{animation:none}}.crewlet-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:pre}.crewlet-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);letter-spacing:var(--font-letter-spacing-normal);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-easing-default),color var(--motion-duration-fast) var(--motion-easing-default),border-color var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-btn,.crewlet-btn:hover{text-decoration:none}.crewlet-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.crewlet-btn--secondary:focus-visible,.crewlet-btn--outline:focus-visible,.crewlet-btn--danger:focus-visible,.crewlet-btn[aria-pressed=true]:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-btn:disabled,.crewlet-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.crewlet-btn:disabled{pointer-events:none}.crewlet-btn--small{--crewlet-btn-inset: var(--spacing-2);min-height:var(--size-control-sm);padding:0 var(--crewlet-btn-inset);font-size:var(--font-size-xs)}.crewlet-btn--medium{--crewlet-btn-inset: var(--spacing-3);min-height:var(--size-control-md);padding:0 var(--crewlet-btn-inset);font-size:var(--font-size-compact)}.crewlet-btn--large{--crewlet-btn-inset: var(--spacing-4);min-height:var(--size-control-lg);padding:0 var(--crewlet-btn-inset);font-size:var(--font-size-sm)}.crewlet-btn--flush{margin-inline-start:var(--crewlet-btn-flush-outdent, calc(-1 * (var(--crewlet-btn-inset) + 1px)))}.crewlet-btn--flush:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-btn--square{border-radius:var(--radius-md)}.crewlet-btn--pill{border-radius:var(--radius-pill)}.crewlet-btn--pill.crewlet-btn--small{padding:0 var(--spacing-3)}.crewlet-btn--pill.crewlet-btn--medium{padding:0 var(--spacing-4)}.crewlet-btn--pill.crewlet-btn--large{padding:0 var(--spacing-5)}.crewlet-btn--block{width:100%}.crewlet-btn--primary,.crewlet-btn--accent{background:var(--color-brand-accent);color:var(--color-text-on-accent);border-color:transparent}.crewlet-btn--primary:hover:not(:disabled):not([aria-disabled=true]),.crewlet-btn--accent:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-hover);border-color:transparent}.crewlet-btn--primary:active:not(:disabled):not([aria-disabled=true]),.crewlet-btn--accent:active:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-active);border-color:transparent}.crewlet-btn--secondary{background:var(--color-surface-subtle);--crewlet-indicator-ring: var(--color-surface-subtle);color:var(--color-text-primary);border-color:var(--color-border-strong)}.crewlet-btn--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-elevated);--crewlet-indicator-ring: var(--color-surface-elevated);border-color:var(--color-border-strong-hover)}.crewlet-btn--secondary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-pressed);--crewlet-indicator-ring: var(--color-surface-pressed)}.crewlet-btn--outline{background:transparent;color:var(--color-brand-accent-ink);border-color:var(--color-brand-accent)}.crewlet-btn--outline:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-soft)}.crewlet-btn--ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.crewlet-btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-btn--ghost:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-pressed)}.crewlet-btn--danger{background:var(--color-surface-subtle);color:var(--color-feedback-danger-ink);border-color:var(--color-border-strong)}.crewlet-btn--danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-feedback-danger-soft);border-color:var(--color-feedback-danger)}.crewlet-btn--danger:active:not(:disabled):not([aria-disabled=true]){background:var(--color-feedback-danger-soft);border-color:var(--color-feedback-danger-hover)}.crewlet-btn[aria-pressed=true]{background:var(--color-brand-accent-soft);--crewlet-indicator-ring: var(--color-brand-accent-soft);color:var(--color-brand-accent-ink);border-color:var(--color-brand-accent-soft-strong)}.crewlet-btn__icon,.crewlet-btn__label{display:inline-flex;align-items:center}.crewlet-btn__icon .crewlet-glyph{width:1em;height:1em}.crewlet-btn--loading{cursor:progress}@media(prefers-reduced-motion:reduce){.crewlet-btn{transition:none}}.crewlet-layer-host{position:absolute;inset:0;pointer-events:none}.crewlet-layer-host>*{pointer-events:auto}.crewlet-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;line-height:1;flex-shrink:0;transition:background var(--motion-duration-fast) var(--motion-easing-default),border-color var(--motion-duration-fast) var(--motion-easing-default),color var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-icon-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.crewlet-icon-btn--secondary:focus-visible,.crewlet-icon-btn--soft-brand:focus-visible,.crewlet-icon-btn--ghost-brand:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-icon-btn:disabled,.crewlet-icon-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.crewlet-icon-btn:disabled{pointer-events:none}.crewlet-icon-btn--sm{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-sm) - var(--font-size-xs)) / 2);width:var(--size-control-sm);height:var(--size-control-sm)}.crewlet-icon-btn--md{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-md) - var(--font-size-sm)) / 2);width:var(--size-control-md);height:var(--size-control-md)}.crewlet-icon-btn--lg{--crewlet-icon-btn-glyph-inset: calc((var(--size-control-lg) - var(--font-size-xl)) / 2);width:var(--size-control-lg);height:var(--size-control-lg)}.crewlet-icon-btn--sm .crewlet-glyph{width:var(--font-size-xs);height:var(--font-size-xs)}.crewlet-icon-btn--md .crewlet-glyph{width:var(--font-size-sm);height:var(--font-size-sm)}.crewlet-icon-btn--lg .crewlet-glyph{width:var(--font-size-xl);height:var(--font-size-xl)}.crewlet-icon-btn--primary{background:var(--color-brand-accent);color:var(--color-text-on-accent)}.crewlet-icon-btn--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-hover)}.crewlet-icon-btn--primary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-active)}.crewlet-icon-btn--secondary{background:var(--color-surface-subtle);--crewlet-indicator-ring: var(--color-surface-subtle);border-color:var(--color-border-strong);color:var(--color-text-primary)}.crewlet-icon-btn--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-elevated);--crewlet-indicator-ring: var(--color-surface-elevated);border-color:var(--color-border-strong-hover)}.crewlet-icon-btn--secondary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-pressed);--crewlet-indicator-ring: var(--color-surface-pressed)}.crewlet-icon-btn--ghost{color:var(--color-text-secondary)}.crewlet-icon-btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-icon-btn--ghost-brand{color:var(--color-text-tertiary)}.crewlet-icon-btn--ghost-brand:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-soft);border-color:var(--color-brand-accent-soft-strong);color:var(--color-brand-accent-ink)}.crewlet-icon-btn--ghost-danger{color:var(--color-text-tertiary)}.crewlet-icon-btn--ghost-danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-feedback-danger-soft);color:var(--color-feedback-danger-ink)}.crewlet-icon-btn--soft-brand{background:var(--color-brand-accent-soft);border-color:var(--color-brand-accent-soft-strong);color:var(--color-brand-accent-ink)}.crewlet-icon-btn--soft-brand:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-brand-accent-soft-strong);border-color:var(--color-brand-accent)}a.crewlet-icon-btn{text-decoration:none}.crewlet-icon-btn--current,.crewlet-icon-btn--current:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-surface-elevated);border-color:var(--color-border-default);color:var(--color-text-primary)}.crewlet-icon-btn--current:focus-visible{outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-icon-btn[aria-pressed=true]{background:var(--color-brand-accent-soft);--crewlet-indicator-ring: var(--color-brand-accent-soft);color:var(--color-brand-accent-ink)}@media(prefers-reduced-motion:reduce){.crewlet-icon-btn{transition:none}}.crewlet-modal-overlay{position:fixed;inset:0;display:flex;background:var(--color-surface-veil);backdrop-filter:blur(var(--blur-xs));overflow:clip;animation:crewlet-modal-veil-in var(--motion-duration-base) var(--motion-easing-default)}.crewlet-modal-overlay--clear{background:transparent;backdrop-filter:none}.crewlet-modal-overlay--in-host{position:absolute}.crewlet-modal-overlay--dialog{padding:var(--spacing-4);justify-content:center}.crewlet-modal-overlay--dialog.crewlet-modal-overlay--center{align-items:center}.crewlet-modal-overlay--dialog.crewlet-modal-overlay--top{align-items:flex-start;padding-top:var(--spacing-10)}.crewlet-modal-overlay--dialog.crewlet-modal-overlay--bottom{align-items:flex-end;padding:0}.crewlet-modal-overlay--bottom>.crewlet-modal--dialog{width:100%;max-height:calc(100dvh - var(--spacing-10));border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);animation:crewlet-modal-lift var(--motion-duration-moderate) var(--motion-easing-emphasized)}@media(width<640px){.crewlet-modal-overlay--dialog.crewlet-modal-overlay--phone-sheet{align-items:stretch;padding:0}.crewlet-modal-overlay--phone-sheet>.crewlet-modal--dialog{width:100%;height:100%;max-height:none;border:none;border-radius:0;padding-bottom:env(safe-area-inset-bottom,0px);animation:crewlet-modal-lift var(--motion-duration-moderate) var(--motion-easing-emphasized)}}.crewlet-modal-overlay--sheet{padding:0;justify-content:flex-end;align-items:stretch;animation-duration:var(--motion-duration-slow)}.crewlet-modal{--crewlet-modal-width: 480px;--crewlet-modal-sheet-width: 560px;display:flex;flex-direction:column;min-height:0;background:var(--color-surface-subtle);color:var(--color-text-primary);border:1px solid var(--color-border-default);box-shadow:var(--shadow-xl);outline:none}.crewlet-modal__form{display:contents}.crewlet-modal--dialog{width:min(var(--crewlet-modal-width),100%);max-height:calc(100dvh - var(--spacing-10) - var(--spacing-4));border-radius:var(--radius-xl);overflow:hidden;animation:crewlet-modal-rise var(--motion-duration-slow) var(--motion-easing-emphasized)}.crewlet-modal--sm{--crewlet-modal-width: 480px}.crewlet-modal--md{--crewlet-modal-width: 560px}.crewlet-modal--lg{--crewlet-modal-width: 720px}.crewlet-modal--xl{--crewlet-modal-width: 1080px}.crewlet-modal--prompt{--crewlet-modal-width: 420px;box-shadow:var(--shadow-2xl)}.crewlet-modal--prompt .crewlet-modal__body{padding:var(--spacing-6)}.crewlet-modal__prompt-title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-tight);color:var(--color-text-primary)}.crewlet-modal--prompt .crewlet-modal__footer{padding:0 var(--spacing-6) var(--spacing-6);border-top:none;background:none}.crewlet-modal--sheet{--crewlet-modal-sheet-from: 100%;width:min(var(--crewlet-modal-sheet-width),100%);height:100%;border-radius:0;border-block:none;border-inline-end:none;box-shadow:var(--shadow-sheet);animation:crewlet-modal-sheet-in var(--motion-duration-slow) var(--motion-easing-emphasized)}@media(width<1024px){.crewlet-modal--sheet{width:100%;border-inline:none}}.crewlet-modal__header{--crewlet-modal-glyph-inset: calc((var(--size-control-md) - var(--font-size-sm)) / 2);display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);border-bottom:1px solid var(--color-border-default)}.crewlet-modal__header--subtitled{--crewlet-modal-title-line: calc(var(--font-size-sm) * var(--font-line-height-tight));align-items:flex-start}.crewlet-modal__header--subtitled>.crewlet-modal__icon,.crewlet-modal__header--subtitled>.crewlet-modal__actions{align-items:center;height:var(--crewlet-modal-title-line)}.crewlet-modal__header--subtitled>.crewlet-modal__close,.crewlet-modal__header--subtitled>.crewlet-modal__back{margin-block:calc((var(--crewlet-modal-title-line) - var(--size-control-md)) / 2)}.crewlet-modal__header--sheet{min-height:var(--size-shell-topbar);padding:var(--spacing-1) var(--spacing-6);gap:var(--spacing-4);box-sizing:border-box}.crewlet-modal__actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.crewlet-modal__icon{display:inline-flex;flex-shrink:0;color:var(--color-text-primary)}.crewlet-modal__heading{display:flex;flex:1;flex-direction:column;gap:var(--spacing-1);min-width:0}.crewlet-modal__title{margin:0;font-family:var(--font-family-sans);letter-spacing:var(--font-letter-spacing-normal);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-tight);color:var(--color-text-primary)}.crewlet-modal__title--sheet{font-size:var(--font-size-md)}.crewlet-modal__subtitle{margin:0;font-size:var(--font-size-compact);line-height:var(--font-line-height-snug);color:var(--color-text-secondary)}.crewlet-modal__close{flex-shrink:0;margin:calc(var(--spacing-1) * -1);margin-inline-end:calc(var(--crewlet-modal-glyph-inset) * -1)}.crewlet-modal__back{flex-shrink:0;margin-inline-start:calc(var(--crewlet-modal-glyph-inset) * -1);margin-block:calc(var(--spacing-1) * -1)}.crewlet-modal__body{flex:1 1 auto;min-height:0;padding:var(--spacing-4);overflow-y:auto;font-size:var(--font-size-sm);line-height:var(--font-line-height-normal);color:var(--color-text-primary)}.crewlet-modal__body--sheet{padding:var(--spacing-6)}.crewlet-modal__body--stacked{display:flex;flex-direction:column;gap:var(--spacing-3)}.crewlet-modal__body--stacked.crewlet-modal__body--sheet{gap:var(--spacing-2)}.crewlet-modal__body--flush{padding:0}.crewlet-modal__body:not(.crewlet-modal__body--stacked)>p{margin:0 0 var(--spacing-3)}.crewlet-modal__body:not(.crewlet-modal__body--stacked)>p:last-child{margin-bottom:0}.crewlet-modal__footer{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border-top:1px solid var(--color-border-default);background:var(--color-surface-subtle)}.crewlet-modal__footer--sheet{padding-inline:var(--spacing-6)}.crewlet-modal__footer-start{display:flex;align-items:center;gap:var(--spacing-2);min-width:0;margin-inline-end:auto;font-size:var(--font-size-compact);color:var(--color-text-tertiary)}.crewlet-modal__footer-end{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--spacing-2);margin-inline-start:auto}.crewlet-modal__message{margin:0;line-height:var(--font-line-height-normal)}@keyframes crewlet-modal-veil-in{0%{opacity:0}}@keyframes crewlet-modal-rise{0%{opacity:0;transform:translateY(var(--spacing-2))}}@keyframes crewlet-modal-lift{0%{opacity:0;transform:translateY(var(--spacing-6))}}@keyframes crewlet-modal-sheet-in{0%{transform:translate(var(--crewlet-modal-sheet-from))}}@media(prefers-reduced-motion:reduce){.crewlet-modal-overlay,.crewlet-modal--dialog,.crewlet-modal--sheet{animation:none}.crewlet-modal-overlay--bottom>.crewlet-modal--dialog{animation:none}.crewlet-modal-overlay--phone-sheet>.crewlet-modal--dialog{animation:none}}.crewlet-presence-hue--purple{--crewlet-presence-hue: var(--color-node-purple)}.crewlet-presence-hue--cyan{--crewlet-presence-hue: var(--color-node-cyan)}.crewlet-presence-hue--green{--crewlet-presence-hue: var(--color-node-green)}.crewlet-presence-hue--amber{--crewlet-presence-hue: var(--color-node-amber)}.crewlet-presence-hue--rose{--crewlet-presence-hue: var(--color-node-rose)}.crewlet-presence-hue--blue{--crewlet-presence-hue: var(--color-node-blue)}.crewlet-presence-hue--neutral{--crewlet-presence-hue: var(--color-border-strong)}.crewlet-presence-ring{--crewlet-presence-ring-inset: 1px;--crewlet-presence-ring-weight: 2px;position:relative;display:inline-block}.crewlet-presence-ring:after{position:absolute;inset:0;z-index:var(--z-index-presence);border-radius:inherit;outline:var(--crewlet-presence-ring-weight) solid var(--crewlet-presence-hue);outline-offset:calc((var(--crewlet-presence-ring-inset) + var(--crewlet-presence-ring-weight)) * -1);content:"";pointer-events:none}.crewlet-presence-ring--idle:after{outline-style:dashed}@media(forced-colors:active){.crewlet-presence-ring:after{outline-color:Highlight}}.crewlet-presence-stack{--crewlet-presence-stack-cutout: 2px;--crewlet-presence-stack-reach: calc(var(--crewlet-presence-stack-cutout) * 2)}.crewlet-presence-stack>.crewlet-presence-stack__member{display:inline-flex;flex:none;padding:0;border:0;background:none;box-shadow:none;color:inherit;font:inherit}.crewlet-presence-stack>.crewlet-presence-stack__member--human{border-radius:var(--radius-circle)}.crewlet-presence-stack>.crewlet-presence-stack__member--agent{border-radius:var(--radius-sm)}button.crewlet-presence-stack__member{cursor:pointer}button.crewlet-presence-stack__member:focus-visible{position:relative;z-index:var(--z-index-raised);outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-presence-stack .crewlet-presence-stack__badge{box-shadow:0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground)}.crewlet-presence-stack .crewlet-presence-stack__badge--present{box-shadow:0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground),0 0 0 var(--crewlet-presence-stack-reach) var(--crewlet-presence-hue),0 0 0 calc(var(--crewlet-presence-stack-reach) + var(--crewlet-presence-stack-cutout)) var(--crewlet-avatar-stack-ground)}.crewlet-presence-stack>.crewlet-avatar-stack__member:has(+.crewlet-avatar-stack__member){margin-inline-end:var(--crewlet-presence-stack-reach)}.crewlet-presence-stack .crewlet-presence-stack__badge--idle{opacity:.5}.crewlet-presence-stack>.crewlet-presence-stack__member:has(>.crewlet-presence-stack__badge--idle){background:var(--crewlet-avatar-stack-ground);box-shadow:0 0 0 var(--crewlet-presence-stack-cutout) var(--crewlet-avatar-stack-ground)}@media(forced-colors:active){.crewlet-presence-stack .crewlet-presence-stack__badge--present{outline:2px solid Highlight;outline-offset:2px}}.crewlet-avatar{--crewlet-avatar-size: 32px;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--crewlet-avatar-size);height:var(--crewlet-avatar-size);overflow:hidden;object-fit:cover;font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--font-letter-spacing-wide);text-indent:var(--font-letter-spacing-wide);line-height:normal;text-transform:uppercase;user-select:none;box-sizing:border-box}.crewlet-avatar--text{--crewlet-avatar-size: 1.15em;font-size:inherit;display:inline-block;text-align:center;line-height:var(--crewlet-avatar-size)}.crewlet-avatar--text.crewlet-avatar--image{display:inline-block}.crewlet-avatar--text .crewlet-avatar__icon{display:inline-block;vertical-align:middle}.crewlet-avatar--text .crewlet-avatar__character{margin:13% auto}.crewlet-avatar__initials{--crewlet-avatar-initials-size: .5em;font-size:var(--crewlet-avatar-initials-size);line-height:1;vertical-align:middle}.crewlet-avatar--xs{--crewlet-avatar-size: 20px;font-size:calc(var(--crewlet-avatar-size) * .45)}.crewlet-avatar--sm{--crewlet-avatar-size: 26px;font-size:var(--font-size-2xs)}.crewlet-avatar--md{--crewlet-avatar-size: 32px;font-size:var(--font-size-xs)}.crewlet-avatar--lg{--crewlet-avatar-size: 40px;font-size:var(--font-size-sm)}.crewlet-avatar--agent{border-radius:calc(var(--crewlet-avatar-size) * .29);font-family:var(--font-family-mono)}@supports (corner-shape: squircle){.crewlet-avatar--agent{corner-shape:squircle;border-radius:var(--radius-circle)}}.crewlet-avatar--human{border-radius:var(--radius-circle);font-family:var(--font-family-sans)}.crewlet-avatar--image{display:block;object-fit:cover}.crewlet-avatar__icon{display:inline-flex;align-items:center;justify-content:center;width:55%;height:55%}.crewlet-avatar__icon>*{width:100%;height:100%}.crewlet-avatar--fallback{border:1px solid transparent}.crewlet-avatar--neutral{background:var(--color-surface-elevated);border-color:var(--color-border-strong);color:var(--color-text-secondary)}.crewlet-avatar--seeded{color:var(--color-text-on-scrim)}.crewlet-avatar--tint-0{background:var(--color-avatar-tint-0)}.crewlet-avatar--tint-1{background:var(--color-avatar-tint-1)}.crewlet-avatar--tint-2{background:var(--color-avatar-tint-2)}.crewlet-avatar--tint-3{background:var(--color-avatar-tint-3)}.crewlet-avatar--tint-4{background:var(--color-avatar-tint-4)}.crewlet-avatar--tint-5{background:var(--color-avatar-tint-5)}.crewlet-avatar--tint-6{background:var(--color-avatar-tint-6)}.crewlet-avatar--tint-7{background:var(--color-avatar-tint-7)}.crewlet-avatar--tint-8{background:var(--color-avatar-tint-8)}.crewlet-avatar--tint-9{background:var(--color-avatar-tint-9)}.crewlet-avatar--character{border:1px solid transparent}.crewlet-avatar__character{display:block;flex:none;width:74%;height:74%}.crewlet-avatar--hue-purple{--crewlet-avatar-plate: var(--color-node-purple-fill);background:var(--crewlet-avatar-plate);border-color:var(--color-node-purple-line);color:var(--color-node-purple)}.crewlet-avatar--hue-cyan{--crewlet-avatar-plate: var(--color-node-cyan-fill);background:var(--crewlet-avatar-plate);border-color:var(--color-node-cyan-line);color:var(--color-node-cyan)}.crewlet-avatar--hue-green{--crewlet-avatar-plate: var(--color-node-green-fill);background:var(--crewlet-avatar-plate);border-color:var(--color-node-green-line);color:var(--color-node-green)}.crewlet-avatar--hue-amber{--crewlet-avatar-plate: var(--color-node-amber-fill);background:var(--crewlet-avatar-plate);border-color:var(--color-node-amber-line);color:var(--color-node-amber)}.crewlet-avatar--hue-rose{--crewlet-avatar-plate: var(--color-node-rose-fill);background:var(--crewlet-avatar-plate);border-color:var(--color-node-rose-line);color:var(--color-node-rose)}.crewlet-avatar--hue-blue{--crewlet-avatar-plate: var(--color-node-blue-fill);background:var(--crewlet-avatar-plate);border-color:var(--color-node-blue-line);color:var(--color-node-blue)}.crewlet-avatar--ring-brand{outline-style:solid;outline-width:1.5px;outline-offset:2px;outline-color:var(--color-brand-accent)}.crewlet-avatar-frame{--crewlet-avatar-status-size: max(10px, calc(var(--crewlet-avatar-size) * .42));--crewlet-avatar-status-overhang: 2px;--crewlet-avatar-status-gap: 1.5px;position:relative;display:inline-flex;flex:none;width:var(--crewlet-avatar-size);height:var(--crewlet-avatar-size);vertical-align:middle}.crewlet-avatar--notched{--crewlet-avatar-status-centre: calc( 100% + var(--crewlet-avatar-status-overhang) - var(--crewlet-avatar-status-size) / 2 );--crewlet-avatar-status-cut: calc(var(--crewlet-avatar-status-size) / 2 + var(--crewlet-avatar-status-gap));-webkit-mask-image:radial-gradient(circle at var(--crewlet-avatar-status-centre) var(--crewlet-avatar-status-centre),transparent var(--crewlet-avatar-status-cut),#000 calc(var(--crewlet-avatar-status-cut) + .5px));mask-image:radial-gradient(circle at var(--crewlet-avatar-status-centre) var(--crewlet-avatar-status-centre),transparent var(--crewlet-avatar-status-cut),#000 calc(var(--crewlet-avatar-status-cut) + .5px))}.crewlet-avatar__status{position:absolute;right:calc(var(--crewlet-avatar-status-overhang) * -1);bottom:calc(var(--crewlet-avatar-status-overhang) * -1);display:grid;place-items:center;width:var(--crewlet-avatar-status-size);height:var(--crewlet-avatar-status-size);border-radius:var(--radius-circle);outline:1px solid transparent;color:var(--color-text-inverse);pointer-events:none}.crewlet-avatar__status>svg{display:block;width:100%;height:100%}.crewlet-avatar__status--working{background:var(--color-feedback-info)}.crewlet-avatar__status--needs{background:var(--color-feedback-warning)}.crewlet-avatar__status--stopped{background:var(--color-feedback-danger)}.crewlet-avatar__status--mark{padding:1px;background:var(--color-surface-elevated);outline-color:var(--color-border-strong);outline-offset:-1px;color:var(--color-text-secondary)}.crewlet-avatar-stack{--crewlet-avatar-stack-ground: var(--color-surface-background);--crewlet-avatar-stack-size: 26px;display:inline-flex;flex:none;align-items:center;vertical-align:middle}.crewlet-avatar-stack>.crewlet-avatar-stack__member{box-shadow:0 0 0 2px var(--crewlet-avatar-stack-ground)}.crewlet-avatar-stack>.crewlet-avatar-stack__member,.crewlet-avatar-stack>.crewlet-avatar-stack__member>.crewlet-avatar{background-image:linear-gradient(var(--crewlet-avatar-plate),var(--crewlet-avatar-plate)),linear-gradient(var(--crewlet-avatar-stack-ground),var(--crewlet-avatar-stack-ground))}.crewlet-avatar-stack>.crewlet-avatar-stack__member+.crewlet-avatar-stack__member{margin-inline-start:-6px}.crewlet-avatar-stack>.crewlet-avatar-stack__more{display:inline-flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;min-width:var(--crewlet-avatar-stack-size);height:var(--crewlet-avatar-stack-size);padding-inline:var(--spacing-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface-elevated);color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;line-height:normal;white-space:nowrap;user-select:none}.crewlet-tag-group{--crewlet-tag-group-pad: calc(var(--spacing-2) + var(--spacing-1) / 4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-1);margin:0;padding:0;list-style:none;min-width:0}.crewlet-tag-group:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.crewlet-tag-group--fit{flex-wrap:wrap;overflow:hidden;max-height:var(--size-control-sm)}.crewlet-tag-group__item[data-count]{align-self:stretch}.crewlet-tag-group__count{display:inline-flex;align-items:center;box-sizing:border-box;padding:0 var(--crewlet-tag-group-pad);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap}.crewlet-tag-group:has(.crewlet-tag--xs) .crewlet-tag-group__count{padding:0 calc(var(--spacing-1) * 1.5);font-size:var(--font-size-2xs)}.crewlet-tag-group__item{display:inline-flex;min-width:0;max-width:100%}.crewlet-tag-group__more{display:inline-flex;align-items:center;height:max(24px,calc(24px * var(--density, 1)));padding:0 var(--crewlet-tag-group-pad);border:1px dashed var(--color-border-hover);border-radius:var(--radius-pill);background:transparent;color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;cursor:pointer;box-sizing:border-box;transition:border-color var(--motion-duration-fast) var(--motion-easing-default),color var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag-group__more:hover{border-color:var(--color-border-strong-hover);color:var(--color-text-primary)}.crewlet-tag-group__more:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}@media(prefers-reduced-motion:reduce){.crewlet-tag-group__more{transition:none}}.crewlet-cursor-flag{display:inline-flex;align-items:center;gap:var(--spacing-1);box-sizing:border-box;max-width:16em;padding:0 calc(var(--spacing-1) * 1.5);border-radius:var(--radius-pill);background:var(--crewlet-presence-hue);box-shadow:var(--shadow-cursor);color:var(--color-presence-flag-text);font-family:var(--font-family-sans);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-normal);white-space:nowrap;pointer-events:none;user-select:none}.crewlet-cursor-flag--agent{border-radius:var(--radius-xs)}.crewlet-cursor-flag__name{overflow:hidden;text-overflow:ellipsis}.crewlet-cursor-flag__glyph{flex:none}.crewlet-cursor-flag--top-end,.crewlet-cursor-flag--bottom-end{position:absolute;inset-inline-end:0;z-index:var(--z-index-presence)}.crewlet-cursor-flag--top-end{bottom:100%}.crewlet-cursor-flag--bottom-end{top:100%}@media(forced-colors:active){.crewlet-cursor-flag{border:1px solid CanvasText;background:Canvas;color:CanvasText}}.crewlet-tooltip{position:fixed;max-width:260px;padding:var(--spacing-1) var(--spacing-2);background:var(--color-surface-subtle);color:var(--color-text-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--font-size-xs);line-height:var(--font-line-height-snug);overflow-wrap:break-word;animation:crewlet-tooltip-in var(--motion-duration-base) var(--motion-easing-emphasized)}.crewlet-tooltip--in-host{position:absolute}@keyframes crewlet-tooltip-in{0%{opacity:0;transform:translateY(var(--spacing-1))}}@media(prefers-reduced-motion:reduce){.crewlet-tooltip{animation:none}}.crewlet-change-mark{position:absolute;top:0;inset-inline-end:0;width:0;height:0;border-top:var(--spacing-2) solid var(--color-change-mark);border-inline-start:var(--spacing-2) solid transparent;border-start-end-radius:inherit;pointer-events:auto}@media(forced-colors:active){.crewlet-change-mark{border-top-color:CanvasText}}.crewlet-popover{position:fixed;background:var(--color-surface-subtle);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:260px;max-width:380px;max-height:min(360px,60vh);overflow-y:auto;overscroll-behavior:contain;animation:crewlet-popover-in var(--motion-duration-base) var(--motion-easing-emphasized)}.crewlet-popover--in-host{position:absolute}.crewlet-popover--below{transform-origin:top left}.crewlet-popover--above{transform-origin:bottom left}.crewlet-popover:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}@keyframes crewlet-popover-in{0%{opacity:0;transform:translateY(var(--spacing-2))}}.crewlet-popover__list{list-style:none;margin:0;padding:var(--spacing-1);display:flex;flex-direction:column}.crewlet-popover__item{display:flex;align-items:center;gap:var(--spacing-2);min-height:var(--size-row-sm);padding:0 var(--spacing-2);border-radius:var(--radius-xs);cursor:pointer;background:transparent;border:none;color:var(--color-text-primary);font-size:var(--font-size-compact);font-family:inherit;text-align:left;width:100%}.crewlet-popover__item:hover:not(.is-disabled):not([aria-disabled=true]){background:var(--color-surface-hover)}.crewlet-popover__item:focus{background:var(--color-surface-hover)}.crewlet-popover__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-popover__item.is-disabled,.crewlet-popover__item[aria-disabled=true]{color:var(--color-text-tertiary);cursor:not-allowed}.crewlet-popover__item.is-active{color:var(--color-brand-accent-ink)}.crewlet-popover__item-icon{flex-shrink:0}.crewlet-popover__item-spacer{flex:1}.crewlet-popover__item-trail{margin-left:auto;padding-left:var(--spacing-4);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.crewlet-popover__heading{padding:var(--spacing-2) var(--spacing-3) var(--spacing-1);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);letter-spacing:var(--font-letter-spacing-wide);text-transform:uppercase;color:var(--color-text-tertiary)}.crewlet-popover__divider{height:1px;background:var(--color-border-default);margin:var(--spacing-1) 0}.crewlet-popover__editor{padding:var(--spacing-3);min-width:240px}.crewlet-popover__editor-label{display:block;margin-bottom:var(--spacing-2);font-size:var(--font-size-2xs);letter-spacing:var(--font-letter-spacing-wide);text-transform:uppercase;color:var(--color-text-tertiary)}@media(prefers-reduced-motion:reduce){.crewlet-popover{animation:none}}.crewlet-status-dot{--crewlet-status-dot-size: 7px;display:inline-block;width:var(--crewlet-status-dot-size);height:var(--crewlet-status-dot-size);border-radius:var(--radius-circle);background:var(--color-text-tertiary);--crewlet-status-dot-halo: var(--color-surface-pressed);flex:none}.crewlet-status-dot--info{background:var(--color-feedback-info);--crewlet-status-dot-halo: var(--color-feedback-info-soft)}.crewlet-status-dot--success{background:var(--color-feedback-success);--crewlet-status-dot-halo: var(--color-feedback-success-soft)}.crewlet-status-dot--warning{background:var(--color-feedback-warning);--crewlet-status-dot-halo: var(--color-feedback-warning-soft)}.crewlet-status-dot--danger{background:var(--color-feedback-danger);--crewlet-status-dot-halo: var(--color-feedback-danger-soft)}.crewlet-status-dot--brand{background:var(--color-brand-accent);--crewlet-status-dot-halo: var(--color-brand-accent-soft)}:where(.crewlet-status-dot.is-pulsing){position:relative}.crewlet-status-dot.is-pulsing:after{content:"";position:absolute;inset:-2px;border-radius:var(--radius-circle);pointer-events:none;animation:crewlet-status-dot-pulse var(--motion-duration-breath) var(--motion-easing-in-out) infinite}@keyframes crewlet-status-dot-pulse{0%,to{box-shadow:0 0 0 0 var(--crewlet-status-dot-halo)}50%{box-shadow:0 0 0 3px var(--crewlet-status-dot-halo)}}.crewlet-status{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%}.crewlet-status__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){.crewlet-status-dot.is-pulsing:after{animation:none}}.crewlet-tag{--crewlet-tag-height: calc(22px * var(--density, 1));--crewlet-tag-floor: 0px;--crewlet-tag-pad: calc(var(--spacing-2) + var(--spacing-1) / 4);--crewlet-tag-fill: var(--color-surface-elevated);--crewlet-tag-ink: var(--color-text-secondary);--crewlet-tag-line: var(--color-border-hover);--crewlet-tag-edge: transparent;display:inline-flex;align-items:center;gap:calc(var(--spacing-1) * 1.5);height:max(var(--crewlet-tag-height),var(--crewlet-tag-floor));padding:0 var(--crewlet-tag-pad);border:1px solid var(--crewlet-tag-edge);border-radius:var(--radius-pill);background:var(--crewlet-tag-fill);color:var(--crewlet-tag-ink);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--font-letter-spacing-normal);line-height:1;white-space:nowrap;width:fit-content;max-width:100%;vertical-align:middle;box-sizing:border-box}.crewlet-tag__label{overflow:hidden;text-overflow:ellipsis}.crewlet-tag__icon{display:inline-flex;align-items:center;flex:none}.crewlet-tag .crewlet-tag__dot{flex:none;background:currentColor}.crewlet-tag__count{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);flex:none}.crewlet-tag--xs{--crewlet-tag-height: calc(18px * var(--density, 1));--crewlet-tag-pad: calc(var(--spacing-1) * 1.5);gap:var(--spacing-1);font-size:var(--font-size-2xs)}.crewlet-tag--sm{--crewlet-tag-height: calc(22px * var(--density, 1))}.crewlet-tag--md{--crewlet-tag-height: var(--size-control-sm)}.crewlet-tag--acts{--crewlet-tag-floor: max(24px, calc(24px * var(--density, 1)))}.crewlet-tag--monospace .crewlet-tag__label{font-family:var(--font-family-mono);font-size:var(--font-size-2xs)}.crewlet-tag--info{--crewlet-tag-fill: var(--color-feedback-info-soft);--crewlet-tag-ink: var(--color-feedback-info-ink);--crewlet-tag-line: var(--color-feedback-info-line)}.crewlet-tag--success{--crewlet-tag-fill: var(--color-feedback-success-soft);--crewlet-tag-ink: var(--color-feedback-success-ink);--crewlet-tag-line: var(--color-feedback-success-line)}.crewlet-tag--warning{--crewlet-tag-fill: var(--color-feedback-warning-soft);--crewlet-tag-ink: var(--color-feedback-warning-ink);--crewlet-tag-line: var(--color-feedback-warning-line)}.crewlet-tag--danger{--crewlet-tag-fill: var(--color-feedback-danger-soft);--crewlet-tag-ink: var(--color-feedback-danger-ink);--crewlet-tag-line: var(--color-feedback-danger-line)}.crewlet-tag--brand{--crewlet-tag-fill: var(--color-brand-accent-soft);--crewlet-tag-ink: var(--color-brand-accent-ink);--crewlet-tag-line: var(--color-brand-accent-soft-strong)}.crewlet-tag--hue-purple{--crewlet-tag-fill: var(--color-node-purple-fill);--crewlet-tag-ink: var(--color-node-purple-ink);--crewlet-tag-line: var(--color-node-purple-line)}.crewlet-tag--hue-cyan{--crewlet-tag-fill: var(--color-node-cyan-fill);--crewlet-tag-ink: var(--color-node-cyan-ink);--crewlet-tag-line: var(--color-node-cyan-line)}.crewlet-tag--hue-green{--crewlet-tag-fill: var(--color-node-green-fill);--crewlet-tag-ink: var(--color-node-green-ink);--crewlet-tag-line: var(--color-node-green-line)}.crewlet-tag--hue-amber{--crewlet-tag-fill: var(--color-node-amber-fill);--crewlet-tag-ink: var(--color-node-amber-ink);--crewlet-tag-line: var(--color-node-amber-line)}.crewlet-tag--hue-rose{--crewlet-tag-fill: var(--color-node-rose-fill);--crewlet-tag-ink: var(--color-node-rose-ink);--crewlet-tag-line: var(--color-node-rose-line)}.crewlet-tag--hue-blue{--crewlet-tag-fill: var(--color-node-blue-fill);--crewlet-tag-ink: var(--color-node-blue-ink);--crewlet-tag-line: var(--color-node-blue-line)}.crewlet-tag--outline{background:transparent;border-color:var(--crewlet-tag-line)}.crewlet-tag--neutral.crewlet-tag--soft{--crewlet-tag-edge: var(--color-border-strong);--crewlet-tag-line: var(--color-border-strong-hover)}.crewlet-tag--neutral.crewlet-tag--outline{border-color:var(--color-border-strong);--crewlet-tag-ink: var(--color-text-tertiary)}.crewlet-tag--actionable{cursor:pointer;font-family:inherit;transition:border-color var(--motion-duration-fast) var(--motion-easing-default),box-shadow var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag--actionable:hover{border-color:var(--crewlet-tag-line)}.crewlet-tag--actionable[aria-pressed=true]{border-color:var(--crewlet-tag-ink);box-shadow:inset 0 0 0 1px var(--crewlet-tag-ink)}.crewlet-tag--actionable:focus-visible,.crewlet-tag__press:focus-visible,.crewlet-tag__remove:focus-visible{outline:2px solid var(--color-focus)}.crewlet-tag--actionable:focus-visible,.crewlet-tag__remove:focus-visible{outline-offset:-1px}.crewlet-tag__press:focus-visible{outline-offset:0}.crewlet-tag--split{padding:0;transition:border-color var(--motion-duration-fast) var(--motion-easing-default),box-shadow var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag--split .crewlet-tag__press{display:inline-flex;align-items:center;align-self:stretch;gap:inherit;min-width:0;padding:0 var(--crewlet-tag-pad);border:0;border-radius:var(--radius-pill) 0 0 var(--radius-pill);background:transparent;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;cursor:pointer}.crewlet-tag--split .crewlet-tag__remove{margin-right:0}.crewlet-tag--split:hover{border-color:var(--crewlet-tag-line)}.crewlet-tag--split.is-pressed{border-color:var(--crewlet-tag-ink);box-shadow:inset 0 0 0 1px var(--crewlet-tag-ink)}.crewlet-tag__remove{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;min-width:24px;margin-block-start:-1px;margin-block-end:-1px;margin-right:calc(var(--crewlet-tag-pad) * -1);padding:0 var(--spacing-1);border:0;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:transparent;color:inherit;cursor:pointer;opacity:.7;transition:opacity var(--motion-duration-fast) var(--motion-easing-default)}.crewlet-tag__remove:hover,.crewlet-tag__remove:focus-visible{opacity:1}.crewlet-tag--animate-in{animation:crewlet-tag-in var(--motion-duration-base) var(--motion-easing-emphasized)}@keyframes crewlet-tag-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.crewlet-tag--animate-in{animation:none}.crewlet-tag--actionable,.crewlet-tag--split,.crewlet-tag__remove{transition:none}}.crewlet-menu-anchor{display:inline-flex}.crewlet-menu{position:fixed;display:flex;flex-direction:column;padding:var(--spacing-1);width:max-content;min-width:var(--crewlet-menu-floor, 0px);max-width:max(320px,var(--crewlet-menu-floor, 0px));max-height:min(360px,60vh);overflow-y:auto;overscroll-behavior:contain;background:var(--color-surface-subtle);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);animation:crewlet-menu-in var(--motion-duration-base) var(--motion-easing-emphasized)}.crewlet-menu--in-host{position:absolute}@keyframes crewlet-menu-in{0%{opacity:0;transform:translateY(var(--spacing-2))}}.crewlet-menu__group{display:contents}.crewlet-menu__item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;flex:none;min-height:var(--size-row-sm);padding:0 var(--spacing-2);border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-compact);text-align:left;white-space:nowrap;cursor:pointer}.crewlet-menu__item--described{align-items:flex-start;padding-block:var(--spacing-2)}.crewlet-menu__item--described>.crewlet-menu__check,.crewlet-menu__item--described>.crewlet-menu__icon{height:1lh}.crewlet-menu__item--described>.crewlet-menu__text,.crewlet-menu__item--described>.crewlet-menu__hint{align-self:baseline}.crewlet-menu__item:hover:not(.is-disabled){background:var(--color-surface-hover)}.crewlet-menu__item:focus{background:var(--color-surface-hover)}.crewlet-menu__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-menu__item.is-danger,.crewlet-menu__item.is-danger .crewlet-menu__icon{color:var(--color-feedback-danger-ink)}.crewlet-menu__item.is-disabled,.crewlet-menu__item.is-disabled .crewlet-menu__icon{color:var(--color-text-tertiary)}.crewlet-menu__item.is-disabled{cursor:not-allowed}.crewlet-menu__check{display:inline-flex;align-items:center;justify-content:center;width:var(--spacing-4);flex:none;color:var(--color-text-tertiary)}.crewlet-menu__icon{display:inline-flex;align-items:center;flex:none;color:var(--color-text-tertiary)}.crewlet-menu__text{display:flex;flex-direction:column;gap:calc(var(--spacing-1) / 2);min-width:0}.crewlet-menu__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-menu__description{color:var(--color-text-tertiary);font-size:var(--font-size-xs);white-space:normal}.crewlet-menu__hint{margin-left:auto;padding-left:var(--spacing-4);color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.crewlet-menu__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-1) var(--spacing-2);margin:calc(var(--spacing-1) * -1) calc(var(--spacing-1) * -1) var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--color-border-default);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.crewlet-menu__separator{height:1px;margin:var(--spacing-1) 0;background:var(--color-border-default)}@media(prefers-reduced-motion:reduce){.crewlet-menu{animation:none}}.crewlet-menu-anchor>.crewlet-btn.crewlet-menu__value-trigger{font-size:inherit;font-weight:inherit;color:inherit}.crewlet-sheet-grid{--crewlet-sheet-row-height: var(--size-sheet-row);--crewlet-sheet-history-size: var(--size-target-min);position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-compact)}.crewlet-sheet-grid__measure{position:absolute;inset-block-start:0;inset-inline-start:0;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.crewlet-sheet-grid__measure>div{display:flex;flex-direction:column;width:max-content}.crewlet-sheet-grid__measure :is(.crewlet-sheet-grid__header,.crewlet-sheet-grid__cell){width:max-content}.crewlet-sheet-grid__probe{position:absolute;width:0;height:var(--size-sheet-row);visibility:hidden;pointer-events:none}.crewlet-sheet-grid__scroller{position:relative;flex:1 1 auto;min-height:0;max-width:100%;overflow:auto;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-background)}.crewlet-sheet-grid__grid{position:relative;min-width:100%}.crewlet-sheet-grid--fit-content>.crewlet-sheet-grid__scroller{flex:0 1 auto;min-height:min(var(--crewlet-sheet-min-height, 0px),var(--crewlet-sheet-content-height, 0px));max-height:var(--crewlet-sheet-max-height, 70vh)}.crewlet-sheet-grid__row{display:grid;grid-template-columns:var(--crewlet-sheet-columns);height:var(--crewlet-sheet-row-height)}.crewlet-sheet-grid__head{position:sticky;top:0;z-index:var(--z-index-sticky)}.crewlet-sheet-grid__body{position:relative}.crewlet-sheet-grid__body>.crewlet-sheet-grid__row{position:absolute;right:0;left:0}.crewlet-sheet-grid__corner,.crewlet-sheet-grid__header,.crewlet-sheet-grid__rownum,.crewlet-sheet-grid__cell{position:relative;display:flex;align-items:center;box-sizing:border-box;min-width:0;border-right:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default);background:var(--color-surface-background)}.crewlet-sheet-grid__scroller:not(.crewlet-sheet-grid__scroller--add-column) .crewlet-sheet-grid__row>:last-child{border-inline-end-width:0}.crewlet-sheet-grid__row--floor>:is(.crewlet-sheet-grid__corner,.crewlet-sheet-grid__header,.crewlet-sheet-grid__rownum,.crewlet-sheet-grid__cell){border-bottom-width:0}.crewlet-sheet-grid__corner,.crewlet-sheet-grid__header{background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.crewlet-sheet-grid__corner,.crewlet-sheet-grid__rownum{position:sticky;inset-inline-start:0;z-index:var(--z-index-raised);justify-content:center}.crewlet-sheet-grid__corner{z-index:var(--z-index-sticky)}.crewlet-sheet-grid__header{gap:var(--spacing-1);padding:0 var(--spacing-2);cursor:default;user-select:none}.crewlet-sheet-grid__header-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-sheet-grid__sort{display:inline-flex;flex:none;color:var(--color-text-tertiary)}.crewlet-sheet-grid__header-presence{display:inline-flex;flex:none;gap:var(--spacing-1);margin-inline-start:auto}.crewlet-sheet-grid__header--number,.crewlet-sheet-grid__header--rating{flex-direction:row-reverse}.crewlet-sheet-grid__header--number>.crewlet-sheet-grid__header-presence,.crewlet-sheet-grid__header--rating>.crewlet-sheet-grid__header-presence{margin-inline:0 auto}.crewlet-sheet-grid__header--checkbox{justify-content:center}.crewlet-sheet-grid .crewlet-sheet-grid__header-badge{box-shadow:0 0 0 2px var(--crewlet-presence-hue)}.crewlet-sheet-grid__rownum{display:grid;grid-template-areas:"gutter";place-items:center;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.crewlet-sheet-grid__rownum-number,.crewlet-sheet-grid__row-actions{grid-area:gutter}.crewlet-sheet-grid__row-actions{display:inline-flex;opacity:0}.crewlet-sheet-grid__row:is(:hover,:focus-within)>.crewlet-sheet-grid__rownum>.crewlet-sheet-grid__row-actions,.crewlet-sheet-grid__rownum--open>.crewlet-sheet-grid__row-actions{opacity:1}.crewlet-sheet-grid__row:is(:hover,:focus-within)>.crewlet-sheet-grid__rownum--actions>.crewlet-sheet-grid__rownum-number,.crewlet-sheet-grid__rownum--open>.crewlet-sheet-grid__rownum-number{visibility:hidden}.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__rownum--selected{background:linear-gradient(var(--color-brand-accent-soft),var(--color-brand-accent-soft)) var(--color-surface-background);color:var(--color-brand-accent-ink)}.crewlet-sheet-grid__grid:not(:focus-within) .crewlet-sheet-grid__cell--history:not(:hover)>.crewlet-sheet-grid__history{visibility:hidden}.crewlet-sheet-grid__rownum--present:before{position:absolute;top:0;bottom:0;inset-inline-start:0;width:3px;background:var(--crewlet-presence-hue);content:""}.crewlet-sheet-grid__cell{padding:0 var(--spacing-2);outline:none}.crewlet-sheet-grid__cell--frozen,.crewlet-sheet-grid__header.crewlet-sheet-grid__cell--frozen{position:sticky;z-index:var(--z-index-raised)}.crewlet-sheet-grid__header.crewlet-sheet-grid__cell--frozen{z-index:var(--z-index-sticky)}.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating{justify-content:flex-end}.crewlet-sheet-grid__cell--checkbox{justify-content:center}.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__cell--selected{background:linear-gradient(var(--color-brand-accent-soft),var(--color-brand-accent-soft)) var(--color-surface-background)}.crewlet-sheet-grid__scroller--across .crewlet-sheet-grid__frozen-edge{border-inline-end-color:var(--color-border-strong)}.crewlet-sheet-grid__cell:focus-visible,.crewlet-sheet-grid__header:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-grid__cell--editing{z-index:var(--z-index-presence);overflow:visible}.crewlet-sheet-grid__value{display:flex;align-items:center;min-width:0;max-width:100%;overflow:hidden}.crewlet-sheet-grid__cell--editing>.crewlet-sheet-grid__value{visibility:hidden}.crewlet-sheet-grid__cell--pending>.crewlet-sheet-grid__value:after{position:absolute;right:var(--spacing-1);bottom:2px;left:var(--spacing-1);border-bottom:1px dashed var(--color-text-tertiary);content:""}.crewlet-sheet-grid__refused{display:inline-flex;flex:none;margin-inline-start:auto;padding-inline-start:var(--spacing-1);color:var(--color-feedback-danger-ink)}:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating)>.crewlet-sheet-grid__refused{order:-1;margin-inline:0 auto;padding-inline:0 var(--spacing-1)}.crewlet-sheet-grid__cell--checkbox>.crewlet-sheet-grid__refused{position:absolute;inset-inline-end:var(--spacing-2);margin:0;padding:0}.crewlet-sheet-grid__message{position:absolute;top:100%;inset-inline-start:0;z-index:var(--z-index-presence);box-sizing:border-box;width:max-content;max-width:20rem;padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-feedback-danger-line);border-radius:var(--radius-sm);background:var(--color-surface-elevated);box-shadow:var(--shadow-md);color:var(--color-feedback-danger-ink);font-size:var(--font-size-xs);white-space:normal}.crewlet-sheet-grid__grid:focus-within .crewlet-sheet-grid__cell--history,.crewlet-sheet-grid__cell--history:hover{padding-inline-end:calc(var(--spacing-1) * 2 + var(--crewlet-sheet-history-size))}.crewlet-sheet-grid__grid:focus-within :is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating).crewlet-sheet-grid__cell--history,:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating).crewlet-sheet-grid__cell--history:hover{padding-inline:calc(var(--spacing-1) * 2 + var(--crewlet-sheet-history-size)) var(--spacing-2)}.crewlet-sheet-grid__grid:focus-within .crewlet-sheet-grid__cell--checkbox.crewlet-sheet-grid__cell--history,.crewlet-sheet-grid__cell--checkbox.crewlet-sheet-grid__cell--history:hover{padding-inline-end:var(--spacing-2)}:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating)>.crewlet-sheet-grid__history{inset-inline:var(--spacing-1) auto}.crewlet-sheet-grid__history{position:absolute;top:50%;inset-inline-end:var(--spacing-1);display:inline-flex;align-items:center;justify-content:center;width:var(--crewlet-sheet-history-size);height:var(--crewlet-sheet-history-size);padding:0;border:0;border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-text-secondary);transform:translateY(-50%);cursor:pointer}.crewlet-sheet-grid__history:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-sheet-grid__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-2);padding:var(--spacing-2) 0;color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.crewlet-sheet-grid__header--settings{cursor:pointer}.crewlet-sheet-grid__header--settings:hover,.crewlet-sheet-grid__header--open{background:var(--color-surface-hover);color:var(--color-text-primary)}.crewlet-popover.crewlet-sheet-grid__column-settings{width:300px;max-height:min(560px,80vh);padding:var(--spacing-3)}.crewlet-sheet-grid__scroller--add-column{--crewlet-sheet-add-column-width: calc(var(--size-control-sm) + 2 * var(--spacing-1));display:flex;align-items:flex-start}.crewlet-sheet-grid__scroller--add-column>.crewlet-sheet-grid__grid{flex:1 0 auto;min-width:0}.crewlet-sheet-grid__add-column{position:sticky;top:0;z-index:var(--z-index-sticky);display:flex;flex:0 0 var(--crewlet-sheet-add-column-width);align-items:center;justify-content:center;box-sizing:border-box;border-bottom:1px solid var(--color-border-default);background:var(--color-surface-subtle)}.crewlet-sheet-grid__add-column--floor{border-bottom-width:0}.crewlet-sheet-grid__sync{display:inline-flex;align-items:center;gap:var(--spacing-2);margin-inline-start:auto}.crewlet-sheet-grid__sync--failed{color:var(--color-feedback-danger-ink)}.crewlet-sheet-cell__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crewlet-sheet-cell__number{font-variant-numeric:tabular-nums}.crewlet-sheet-cell__muted{color:var(--color-text-tertiary)}.crewlet-sheet-cell__chips{flex:1 1 auto;flex-wrap:wrap;min-width:0}.crewlet-sheet-cell__person{display:inline-flex;align-items:center;gap:var(--spacing-1);min-width:0}.crewlet-sheet-cell__link{overflow:hidden;color:var(--color-text-link-quiet);text-overflow:ellipsis;white-space:nowrap}.crewlet-sheet-cell__link:hover{color:var(--color-brand-accent-ink)}.crewlet-sheet-cell__checkbox{display:inline-flex;align-items:center}.crewlet-sheet-cell__check{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--spacing-4);height:var(--spacing-4);border:1px solid var(--color-border-control);border-radius:var(--radius-xs);background:var(--color-surface-background);color:var(--color-text-on-accent)}.crewlet-sheet-cell__check--on{border-color:var(--color-brand-accent);background:var(--color-brand-accent)}.crewlet-sheet-cell__rating,.crewlet-sheet-cell__stars{display:inline-flex;align-items:center}.crewlet-sheet-cell__star{color:var(--color-border-strong)}.crewlet-sheet-cell__star--on{color:var(--color-text-primary)}.crewlet-sheet-cell{position:relative;display:inline-flex;flex-direction:column;gap:var(--spacing-1);min-width:0;font-size:var(--font-size-compact)}.crewlet-sheet-cell__face{display:inline-flex;align-items:center;box-sizing:border-box;min-height:var(--size-control-md);padding:0 var(--spacing-2);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface-background);color:inherit;font:inherit;text-align:start;cursor:pointer}.crewlet-sheet-cell__face[aria-disabled=true]{cursor:default}.crewlet-sheet-cell__face:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-cell--pending .crewlet-sheet-cell__face{border-style:dashed}.crewlet-sheet-cell__refusal{display:inline-flex;align-items:center;gap:var(--spacing-1);color:var(--color-feedback-danger-ink);font-size:var(--font-size-xs)}.crewlet-sheet-editor{position:absolute;inset:0;z-index:var(--z-index-presence)}.crewlet-sheet-cell .crewlet-sheet-editor{position:relative;inset:auto}.crewlet-sheet-editor__input{box-sizing:border-box;width:100%;height:100%;min-height:var(--size-control-md);padding:0 var(--spacing-2);border:0;border-radius:0;background:var(--color-surface-elevated);box-shadow:inset 0 0 0 2px var(--color-focus);color:var(--color-text-primary);font:inherit}:is(.crewlet-sheet-grid__cell--number,.crewlet-sheet-grid__cell--rating) .crewlet-sheet-editor__input{font-variant-numeric:tabular-nums;text-align:end}.crewlet-sheet-cell .crewlet-sheet-editor__input{padding-inline:calc(var(--spacing-2) + 1px);border-radius:var(--radius-md)}.crewlet-sheet-cell .crewlet-sheet-editor--list{min-height:var(--size-control-md)}.crewlet-sheet-editor__input:focus-visible,.crewlet-sheet-editor__filter:focus-visible,.crewlet-sheet-editor__textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-editor__panel{position:absolute;top:100%;inset-inline-start:0;z-index:var(--z-index-presence);display:flex;flex-direction:column;gap:var(--spacing-2);box-sizing:border-box;min-width:100%;width:max-content;max-width:min(24rem,90vw);padding:var(--spacing-2);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:var(--shadow-lg)}.crewlet-sheet-editor--above .crewlet-sheet-editor__panel{top:auto;bottom:100%}.crewlet-sheet-editor--list .crewlet-sheet-editor__panel{top:0;min-width:max(100%,14rem)}.crewlet-sheet-editor--list.crewlet-sheet-editor--above .crewlet-sheet-editor__panel{top:auto;bottom:0}.crewlet-sheet-editor__overlay{--crewlet-sheet-editor-inset: calc(var(--spacing-2) - 1px);position:absolute;top:0;inset-inline-start:0;z-index:var(--z-index-presence);display:flex;flex-direction:column;gap:var(--spacing-2);box-sizing:border-box;min-width:100%;width:max(100%,20rem);max-width:min(32rem,90vw);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:var(--shadow-xl)}.crewlet-sheet-editor--above .crewlet-sheet-editor__overlay{top:auto;bottom:0}.crewlet-sheet-editor__overlay>.crewlet-sheet-editor__error,.crewlet-sheet-editor__overlay>.crewlet-sheet-editor__conflict{margin:0 var(--crewlet-sheet-editor-inset) var(--spacing-2)}.crewlet-sheet-cell .crewlet-sheet-editor__overlay{--crewlet-sheet-editor-inset: var(--spacing-2);position:relative;width:100%;max-width:none}.crewlet-sheet-editor__filter,.crewlet-sheet-editor__textarea{box-sizing:border-box;width:100%;padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-surface-background);color:var(--color-text-primary);font:inherit}.crewlet-sheet-editor__overlay .crewlet-sheet-editor__textarea{--crewlet-sheet-editor-row: var(--crewlet-sheet-row-height, var(--size-sheet-row));--crewlet-sheet-editor-line: calc(var(--font-line-height-normal) * 1em);--crewlet-sheet-editor-pad: calc((var(--crewlet-sheet-editor-row) - var(--crewlet-sheet-editor-line)) / 2 - 1px);display:block;min-height:calc(var(--crewlet-sheet-editor-line) + 2 * var(--crewlet-sheet-editor-pad));max-height:calc(var(--crewlet-sheet-editor-lines, 6) * var(--crewlet-sheet-editor-line) + 2 * var(--crewlet-sheet-editor-pad));padding:calc(var(--crewlet-sheet-editor-pad) - .5px) var(--crewlet-sheet-editor-inset) calc(var(--crewlet-sheet-editor-pad) + .5px);overflow-y:auto;border:0;border-radius:var(--radius-md);background:transparent;line-height:var(--font-line-height-normal);white-space:pre-wrap;overflow-wrap:anywhere;resize:none}.crewlet-sheet-cell .crewlet-sheet-editor__overlay .crewlet-sheet-editor__textarea{--crewlet-sheet-editor-row: var(--size-control-md);padding:var(--crewlet-sheet-editor-pad) var(--crewlet-sheet-editor-inset)}.crewlet-sheet-editor__list{display:flex;flex-direction:column;max-height:16rem;margin:0;padding:0;overflow-y:auto;list-style:none}.crewlet-sheet-editor__option{display:flex;align-items:center;gap:var(--spacing-2);min-height:var(--size-row-sm);padding:0 var(--spacing-2);border-radius:var(--radius-sm);cursor:pointer}.crewlet-sheet-editor__option--clear{margin-top:var(--spacing-1);border-top:1px solid var(--color-border-default);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.crewlet-sheet-editor__list:focus-visible{outline:2px solid var(--color-focus);outline-offset:var(--size-focus-ring-inset-offset)}.crewlet-sheet-editor__option--highlight{background:var(--color-surface-hover)}.crewlet-sheet-editor__mark{display:inline-flex;flex:none;width:var(--spacing-3);color:var(--color-brand-accent-ink)}.crewlet-sheet-editor__empty{padding:var(--spacing-2);color:var(--color-text-tertiary)}.crewlet-sheet-editor__error{display:flex;align-items:center;gap:var(--spacing-1);margin:0;color:var(--color-feedback-danger-ink);font-size:var(--font-size-xs)}.crewlet-sheet-editor__conflict{display:flex;flex-direction:column;gap:var(--spacing-2);padding-top:var(--spacing-2);border-top:1px solid var(--color-border-default)}.crewlet-sheet-editor__conflict:first-child{padding-top:0;border-top:0}.crewlet-sheet-editor__conflict-text{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.crewlet-sheet-editor__conflict-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}@media(width<640px){.crewlet-sheet-grid .crewlet-sheet-editor--list .crewlet-sheet-editor__panel,.crewlet-sheet-grid .crewlet-sheet-editor--long .crewlet-sheet-editor__overlay{position:fixed;inset:auto 0 0;width:auto;max-width:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.crewlet-sheet-grid .crewlet-sheet-editor--long .crewlet-sheet-editor__overlay{--crewlet-sheet-editor-inset: var(--spacing-2)}.crewlet-sheet-grid .crewlet-sheet-editor--long .crewlet-sheet-editor__textarea{--crewlet-sheet-editor-pad: var(--spacing-2);padding:var(--crewlet-sheet-editor-pad) var(--crewlet-sheet-editor-inset)}}@media(forced-colors:active){.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__cell--selected{background:Highlight;color:HighlightText}.crewlet-sheet-grid__grid:is(:focus-within,.crewlet-sheet-grid__grid--range) .crewlet-sheet-grid__rownum--selected{background:Canvas;color:Highlight}.crewlet-sheet-grid__rownum--present:before{background:Highlight}}
|
package/dist/kit.js
CHANGED
|
@@ -9,4 +9,4 @@ Error generating stack: `+n.message+`
|
|
|
9
9
|
`).replace(Vx,"")}function m2(e,t){return t=wg(t),wg(e)===t}function be(e,t,a,n,l,r){switch(a){case"children":if(typeof n=="string")t==="body"||t==="textarea"&&n===""||Hr(e,n);else if(typeof n=="number"||typeof n=="bigint")t!=="body"&&Hr(e,""+n);else return;break;case"className":ps(e,"class",n);break;case"tabIndex":ps(e,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":ps(e,a,n);break;case"style":fm(e,n,r);return;case"data":if(t!=="object"){ps(e,"data",n);break}case"src":case"href":if(n===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=ks(n),e.setAttribute(a,n);break;case"action":case"formAction":if(typeof n=="function"){e.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof r=="function"&&(a==="formAction"?(t!=="input"&&be(e,t,"name",l.name,l,null),be(e,t,"formEncType",l.formEncType,l,null),be(e,t,"formMethod",l.formMethod,l,null),be(e,t,"formTarget",l.formTarget,l,null)):(be(e,t,"encType",l.encType,l,null),be(e,t,"method",l.method,l,null),be(e,t,"target",l.target,l,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=ks(n),e.setAttribute(a,n);break;case"onClick":n!=null&&(e.onclick=Qa);return;case"onScroll":n!=null&&ae("scroll",e);return;case"onScrollEnd":n!=null&&ae("scrollend",e);return;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(T(61));if(a=n.__html,a!=null){if(l.children!=null)throw Error(T(60));r?.__html!==a&&(e.innerHTML=a)}}break;case"multiple":e.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":e.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){e.removeAttribute("xlink:href");break}a=ks(n),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,n):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"credentialless":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":n&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":n===!0?e.setAttribute(a,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,n):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?e.setAttribute(a,n):e.removeAttribute(a);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?e.removeAttribute(a):e.setAttribute(a,n);break;case"popover":ae("beforetoggle",e),ae("toggle",e),Cs(e,"popover",n);break;case"xlinkActuate":un(e,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":un(e,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":un(e,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":un(e,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":un(e,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":un(e,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":un(e,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":un(e,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":un(e,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":Cs(e,"is",n);break;case"innerText":case"textContent":return;default:if(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")a=s4.get(a)||a,Cs(e,a,n);else return}se=!0}function vh(e,t,a,n,l,r){switch(a){case"style":fm(e,n,r);return;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(T(61));if(a=n.__html,a!=null){if(l.children!=null)throw Error(T(60));r?.__html!==a&&(e.innerHTML=a)}}break;case"children":if(typeof n=="string")Hr(e,n);else if(typeof n=="number"||typeof n=="bigint")Hr(e,""+n);else return;break;case"onScroll":n!=null&&ae("scroll",e);return;case"onScrollEnd":n!=null&&ae("scrollend",e);return;case"onClick":n!=null&&(e.onclick=Qa);return;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":return;case"innerText":case"textContent":return;default:if(!om.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(l=a.endsWith("Capture"),r=a.slice(2,l?a.length-7:void 0),t=e[Jt]||null,t=t!=null?t[a]:null,typeof t=="function"&&e.removeEventListener(r,t,l),typeof n=="function")){typeof t!="function"&&t!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(r,n,l);break e}se=!0,a in e?e[a]=n:n===!0?e.setAttribute(a,""):Cs(e,a,n)}return}se=!0}function Mt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ae("error",e),ae("load",e);var n=!1,l=!1,r;for(r in a)if(a.hasOwnProperty(r)){var i=a[r];if(i!=null)switch(r){case"src":n=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(T(137,t));default:be(e,t,r,i,a,null)}}l&&be(e,t,"srcSet",a.srcSet,a,null),n&&be(e,t,"src",a.src,a,null);return;case"input":ae("invalid",e);var o=r=i=l=null,s=null,c=null;for(n in a)if(a.hasOwnProperty(n)){var h=a[n];if(h!=null)switch(n){case"name":l=h;break;case"type":i=h;break;case"checked":s=h;break;case"defaultChecked":c=h;break;case"value":r=h;break;case"defaultValue":o=h;break;case"children":case"dangerouslySetInnerHTML":if(h!=null)throw Error(T(137,t));break;default:be(e,t,n,h,a,null)}}um(e,r,o,s,c,i,l,!1);return;case"select":ae("invalid",e),n=i=r=null;for(l in a)if(a.hasOwnProperty(l)&&(o=a[l],o!=null))switch(l){case"value":r=o;break;case"defaultValue":i=o;break;case"multiple":n=o;default:be(e,t,l,o,a,null)}t=r,a=i,e.multiple=!!n,t!=null?Tr(e,!!n,t,!1):a!=null&&Tr(e,!!n,a,!0);return;case"textarea":ae("invalid",e),r=l=n=null;for(i in a)if(a.hasOwnProperty(i)&&(o=a[i],o!=null))switch(i){case"value":n=o;break;case"defaultValue":l=o;break;case"children":r=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(T(91));break;default:be(e,t,i,o,a,null)}hm(e,n,l,r);return;case"option":for(s in a)a.hasOwnProperty(s)&&(n=a[s],n!=null)&&(s==="selected"?e.selected=n&&typeof n!="function"&&typeof n!="symbol":be(e,t,s,n,a,null));return;case"dialog":ae("beforetoggle",e),ae("toggle",e),ae("cancel",e),ae("close",e);break;case"iframe":case"object":ae("load",e);break;case"video":case"audio":for(n=0;n<co.length;n++)ae(co[n],e);break;case"image":ae("error",e),ae("load",e);break;case"details":ae("toggle",e);break;case"embed":case"source":case"link":ae("error",e),ae("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in a)if(a.hasOwnProperty(c)&&(n=a[c],n!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(T(137,t));default:be(e,t,c,n,a,null)}return;default:if(Rh(t)){for(h in a)a.hasOwnProperty(h)&&(n=a[h],n!==void 0&&vh(e,t,h,n,a,void 0));return}}for(o in a)a.hasOwnProperty(o)&&(n=a[o],n!=null&&be(e,t,o,n,a,null))}var Yx={};function jx(e,t,a,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,r=null,i=null,o=null,s=null,c=null,h=null;for(m in a){var v=a[m];if(a.hasOwnProperty(m)&&v!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":s=v;default:n.hasOwnProperty(m)||be(e,t,m,null,n,v)}}for(var u in n){var m=n[u];if(v=a[u],n.hasOwnProperty(u)&&(m!=null||v!=null))switch(u){case"type":m!==v&&(se=!0),r=m;break;case"name":m!==v&&(se=!0),l=m;break;case"checked":m!==v&&(se=!0),c=m;break;case"defaultChecked":m!==v&&(se=!0),h=m;break;case"value":m!==v&&(se=!0),i=m;break;case"defaultValue":m!==v&&(se=!0),o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(T(137,t));break;default:m!==v&&be(e,t,u,m,n,v)}}zd(e,i,o,s,c,h,r,l);return;case"select":m=i=o=u=null;for(r in a)if(s=a[r],a.hasOwnProperty(r)&&s!=null)switch(r){case"value":break;case"multiple":m=s;default:n.hasOwnProperty(r)||be(e,t,r,null,n,s)}for(l in n)if(r=n[l],s=a[l],n.hasOwnProperty(l)&&(r!=null||s!=null))switch(l){case"value":r!==s&&(se=!0),u=r;break;case"defaultValue":r!==s&&(se=!0),o=r;break;case"multiple":r!==s&&(se=!0),i=r;default:r!==s&&be(e,t,l,r,n,s)}t=o,a=i,n=m,u!=null?Tr(e,!!a,u,!1):!!n!=!!a&&(t!=null?Tr(e,!!a,t,!0):Tr(e,!!a,a?[]:"",!1));return;case"textarea":m=u=null;for(o in a)if(l=a[o],a.hasOwnProperty(o)&&l!=null&&!n.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:be(e,t,o,null,n,l)}for(i in n)if(l=n[i],r=a[i],n.hasOwnProperty(i)&&(l!=null||r!=null))switch(i){case"value":l!==r&&(se=!0),u=l;break;case"defaultValue":l!==r&&(se=!0),m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(T(91));break;default:l!==r&&be(e,t,i,l,n,r)}dm(e,u,m);return;case"option":for(var y in a)u=a[y],a.hasOwnProperty(y)&&u!=null&&!n.hasOwnProperty(y)&&(y==="selected"?e.selected=!1:be(e,t,y,null,n,u));for(s in n)u=n[s],m=a[s],n.hasOwnProperty(s)&&u!==m&&(u!=null||m!=null)&&(s==="selected"?(u!==m&&(se=!0),e.selected=u&&typeof u!="function"&&typeof u!="symbol"):be(e,t,s,u,n,m));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var b in a)u=a[b],a.hasOwnProperty(b)&&u!=null&&!n.hasOwnProperty(b)&&be(e,t,b,null,n,u);for(c in n)if(u=n[c],m=a[c],n.hasOwnProperty(c)&&u!==m&&(u!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(u!=null)throw Error(T(137,t));break;default:be(e,t,c,u,n,m)}return;default:if(Rh(t)){for(var A in a)u=a[A],a.hasOwnProperty(A)&&u!==void 0&&!n.hasOwnProperty(A)&&vh(e,t,A,void 0,n,u);for(h in n)u=n[h],m=a[h],!n.hasOwnProperty(h)||u===m||u===void 0&&m===void 0||vh(e,t,h,u,n,m);return}}for(var f in a)u=a[f],a.hasOwnProperty(f)&&u!=null&&!n.hasOwnProperty(f)&&be(e,t,f,null,n,u);for(v in n)u=n[v],m=a[v],!n.hasOwnProperty(v)||u===m||u==null&&m==null||be(e,t,v,u,n,m)}function bg(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Kx(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),n=0;n<a.length;n++){var l=a[n],r=l.transferSize,i=l.initiatorType,o=l.duration;if(r&&o&&bg(i)){for(i=0,o=l.responseEnd,n+=1;n<a.length;n++){var s=a[n],c=s.startTime;if(c>o)break;var h=s.transferSize,v=s.initiatorType;h&&bg(v)&&(s=s.responseEnd,i+=h*(s<o?1:(o-c)/(s-c)))}if(--n,t+=8*(r+i)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var wh=null,bh=null;function ho(e){return e.nodeType===9?e:e.ownerDocument}function yg(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function v2(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function w2(e,t,a,n){return a=ho(a).createElement(e),a[Tt]=n,a[Jt]=t,Mt(a,e,t),ft(a),a}function yh(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var pd=null;function Ix(){var e=window.event;return e&&e.type==="popstate"?e===pd?!1:(pd=e,!0):(pd=null,!1)}var yf=typeof setTimeout=="function"?setTimeout:void 0,Xx=typeof clearTimeout=="function"?clearTimeout:void 0,xg=typeof Promise=="function"?Promise:void 0,_g=typeof requestAnimationFrame=="function"?requestAnimationFrame:yf,Qx=typeof queueMicrotask=="function"?queueMicrotask:typeof xg<"u"?function(e){return xg.resolve(null).then(e).catch(Zx)}:yf;function Zx(e){setTimeout(function(){throw e})}function il(e){return e==="head"}function Tg(e,t){var a=t,n=0;do{var l=a.nextSibling;if(e.removeChild(a),l&&l.nodeType===8)if(a=l.data,a==="/$"||a==="/&"){if(n===0){e.removeChild(l),Kr(t);return}n--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")n++;else if(a==="html")md(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,md(a);for(var r=a.firstChild;r;){var i=r.nextSibling,o=r.nodeName;r[xo]||o==="SCRIPT"||o==="STYLE"||o==="LINK"&&r.rel.toLowerCase()==="stylesheet"||a.removeChild(r),r=i}}else a==="body"&&md(e.ownerDocument.body);a=l}while(a);Kr(t)}function Eg(e,t){var a=e;e=0;do{var n=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),n&&n.nodeType===8)if(a=n.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=n}while(a)}function b2(e,t,a){if(t=CSS.escape(t)!==t?"r-"+btoa(t).replace(/=/g,""):t,e.style.viewTransitionName=t,a!=null&&(e.style.viewTransitionClass=a),a=getComputedStyle(e),a.display==="inline"){if(t=e.getClientRects(),t.length===1)var n=1;else for(var l=n=0;l<t.length;l++){var r=t[l];0<r.width&&0<r.height&&n++}n===1&&(e=e.style,e.display=t.length===1?"inline-block":"block",e.marginTop="-"+a.paddingTop,e.marginBottom="-"+a.paddingBottom)}}function y2(e,t){e=e.style,t=t.style;var a=t!=null?t.hasOwnProperty("viewTransitionName")?t.viewTransitionName:t.hasOwnProperty("view-transition-name")?t["view-transition-name"]:null:null;e.viewTransitionName=a==null||typeof a=="boolean"?"":(""+a).trim(),a=t!=null?t.hasOwnProperty("viewTransitionClass")?t.viewTransitionClass:t.hasOwnProperty("view-transition-class")?t["view-transition-class"]:null:null,e.viewTransitionClass=a==null||typeof a=="boolean"?"":(""+a).trim(),e.display==="inline-block"&&(t==null?e.display=e.margin="":(a=t.display,e.display=a==null||typeof a=="boolean"?"":a,a=t.margin,a!=null?e.margin=a:(a=t.hasOwnProperty("marginTop")?t.marginTop:t["margin-top"],e.marginTop=a==null||typeof a=="boolean"?"":a,t=t.hasOwnProperty("marginBottom")?t.marginBottom:t["margin-bottom"],e.marginBottom=t==null||typeof t=="boolean"?"":t)))}function x2(e,t,a){return a=a.ownerDocument.defaultView,{rect:e,abs:t.position==="absolute"||t.position==="fixed",clip:t.clipPath!=="none"||t.overflow!=="visible"||t.filter!=="none"||t.mask!=="none"||t.mask!=="none"||t.borderRadius!=="0px",view:0<=e.bottom&&0<=e.right&&e.top<=a.innerHeight&&e.left<=a.innerWidth}}function xh(e){var t=e.getBoundingClientRect(),a=getComputedStyle(e);return x2(t,a,e)}function Jx(e){var t=e.getBoundingClientRect();t=new DOMRect(t.x+2e4,t.y+2e4,t.width,t.height);var a=getComputedStyle(e);return x2(t,a,e)}function Fx(e){return e.documentElement.clientHeight}function $x(e){this.addEventListener("load",e),this.addEventListener("error",e)}function Wx(e,t,a,n,l,r,i,o,s){var c=t.nodeType===9?t:t.ownerDocument;try{var h=c.startViewTransition({update:function(){var u=c.defaultView,m=u.navigation&&u.navigation.transition,y=c.fonts.status;n();var b=[];if(y==="loaded"&&(Fx(c),c.fonts.status==="loading"&&b.push(c.fonts.ready)),y=b.length,e!==null)for(var A=e.suspenseyImages,f=0,d=0;d<A.length;d++){var g=A[d];if(!g.complete){var w=g.getBoundingClientRect();if(0<w.bottom&&0<w.right&&w.top<u.innerHeight&&w.left<u.innerWidth){if(f+=R2(g),f>Qs){b.length=y;break}g=new Promise($x.bind(g)),b.push(g)}}}if(0<b.length)return u=Promise.race([Promise.all(b),new Promise(function(E){return setTimeout(E,500)})]).then(l,l),(m?Promise.allSettled([m.finished,u]):u).then(r,r);if(l(),m)return m.finished.then(r,r);r()},types:a});c.__reactViewTransition=h;var v=[];return h.ready.then(function(){for(var u=c.documentElement.getAnimations({subtree:!0}),m=0;m<u.length;m++){var y=u[m],b=y.effect,A=b.pseudoElement;if(A!=null&&A.startsWith("::view-transition")){v.push(y),y=b.getKeyframes();for(var f=A=void 0,d=!0,g=0;g<y.length;g++){var w=y[g],E=w.width;if(A===void 0)A=E;else if(A!==E){d=!1;break}if(E=w.height,f===void 0)f=E;else if(f!==E){d=!1;break}delete w.width,delete w.height,w.transform==="none"&&delete w.transform}d&&A!==void 0&&f!==void 0&&(b.setKeyframes(y),d=getComputedStyle(b.target,b.pseudoElement),d.width!==A||d.height!==f)&&(d=y[0],d.width=A,d.height=f,d=y[y.length-1],d.width=A,d.height=f,b.setKeyframes(y))}}i()},function(u){c.__reactViewTransition===h&&(c.__reactViewTransition=null);try{typeof u=="object"&&u!==null&&u.name==="InvalidStateError"&&(u.message==="View transition was skipped because document visibility state is hidden."||u.message==="Skipping view transition because document visibility state has become hidden."||u.message==="Skipping view transition because viewport size changed."||u.message==="Transition was aborted because of invalid state")&&(u=null),u!==null&&s(u)}finally{n(),l(),i()}}),h.finished.finally(function(){for(var u=0;u<v.length;u++)v[u].cancel();c.__reactViewTransition===h&&(c.__reactViewTransition=null),o()}),h}catch{return n(),l(),i(),null}}function Tl(e,t){this._scope=document.documentElement,this._selector="::view-transition-"+e+"("+t+")"}Tl.prototype.animate=function(e,t){return t=typeof t=="number"?{duration:t}:Oe({},t),t.pseudoElement=this._selector,this._scope.animate(e,t)};Tl.prototype.getAnimations=function(){for(var e=this._scope,t=this._selector,a=e.getAnimations({subtree:!0}),n=[],l=0;l<a.length;l++){var r=a[l].effect;r!==null&&r.target===e&&r.pseudoElement===t&&n.push(a[l])}return n};Tl.prototype.getComputedStyle=function(){return getComputedStyle(this._scope,this._selector)};function _2(e){return{name:e,group:new Tl("group",e),imagePair:new Tl("image-pair",e),old:new Tl("old",e),new:new Tl("new",e)}}function oa(e){this._fragmentFiber=e,this._observers=this._eventListeners=null}oa.prototype.addEventListener=function(e,t,a){var n=null,l=null;if(!(a!=null&&typeof a!="boolean"&&(n=a.signal||null,n!==null&&n.aborted))){this._eventListeners===null&&(this._eventListeners=[]);var r=this._eventListeners;if(T2(r,e,t,a)===-1){var i=this,o=t;a!=null&&typeof a!="boolean"&&a.once===!0&&(o=function(s){i.removeEventListener(e,t,a),typeof t=="function"?t.call(this,s):t.handleEvent(s)}),n!==null&&(l=i.removeEventListener.bind(i,e,t,a),n.addEventListener("abort",l,{once:!0}),l=n.removeEventListener.bind(n,"abort",l)),n=qr(a),r.push({type:e,listener:t,optionsOrUseCapture:a,attachedListener:o,cleanup:l}),Zt(this._fragmentFiber.child,!1,Px,e,o,n)}this._eventListeners=r}};function Px(e,t,a,n){return lt(e).addEventListener(t,a,n),!1}oa.prototype.removeEventListener=function(e,t,a){var n=this._eventListeners;if(n!==null&&(t=T2(n,e,t,a),t!==-1)){var l=n[t];a=l.attachedListener;var r=l.cleanup;l=qr(l.optionsOrUseCapture),Zt(this._fragmentFiber.child,!1,e3,e,a,l),n.splice(t,1),r!==null&&r()}};function e3(e,t,a,n){return lt(e).removeEventListener(t,a,n),!1}function qr(e){return e!=null&&typeof e!="boolean"&&(e.once===!0||e.signal instanceof AbortSignal)?{capture:e.capture,passive:e.passive}:e}function Sg(e){return e==null?"c=0":typeof e=="boolean"?"c="+(e?"1":"0"):"c="+(e.capture?"1":"0")}function T2(e,t,a,n){if(e.length===0)return-1;n=Sg(n);for(var l=0;l<e.length;l++){var r=e[l];if(r.type===t&&r.listener===a&&Sg(r.optionsOrUseCapture)===n)return l}return-1}oa.prototype.dispatchEvent=function(e){var t=Ll(this._fragmentFiber);if(t===null)return!0;t=lt(t);var a=this._eventListeners;if(a!==null&&0<a.length||!e.bubbles){var n=t.nodeType===9?t.createComment(""):document.createTextNode("");if(a)for(var l=0;l<a.length;l++){var r=a[l];n.addEventListener(r.type,r.attachedListener,qr(r.optionsOrUseCapture))}if(t.appendChild(n),e=n.dispatchEvent(e),a)for(l=0;l<a.length;l++)r=a[l],n.removeEventListener(r.type,r.attachedListener,qr(r.optionsOrUseCapture));return t.removeChild(n),e}return t.dispatchEvent(e)};oa.prototype.focus=function(e){Zt(this._fragmentFiber.child,!0,E2,e,void 0,void 0)};function E2(e,t){return e.tag===6?!1:(e=lt(e),h3(e,t))}oa.prototype.focusLast=function(e){var t=[];Zt(this._fragmentFiber.child,!0,xf,t,void 0,void 0);for(var a=t.length-1;0<=a&&!E2(t[a],e);a--);};function xf(e,t){return t.push(e),!1}oa.prototype.blur=function(){var e=Ll(this._fragmentFiber);e!==null&&(e=lt(e),e=ho(e).activeElement,e!==null&&Zt(this._fragmentFiber.child,!1,t3,e,void 0,void 0))};function t3(e,t){return e.tag===6?!1:(e=lt(e),e===t||e.contains(t)?(t.blur(),!0):!1)}oa.prototype.observeUsing=function(e){this._observers===null&&(this._observers=new Set),this._observers.add(e),Zt(this._fragmentFiber.child,!1,a3,e,void 0,void 0)};function a3(e,t){return e.tag===6||(e=lt(e),t.observe(e)),!1}oa.prototype.unobserveUsing=function(e){var t=this._observers;if(t!==null&&t.has(e)){t.delete(e),Zt(this._fragmentFiber.child,!1,n3,e,void 0,void 0);for(var a=t=0;a<za.length;a++){var n=za[a];n.fragmentInstance===this&&n.observer===e?e.unobserve(n.instance):za[t++]=n}za.length=t}};function n3(e,t){return e.tag===6||(e=lt(e),t.unobserve(e)),!1}var za=[],gd=!1;function l3(e,t,a){za.push({fragmentInstance:e,observer:t,instance:a}),gd||(gd=!0,f3(function(){gd=!1;var n=za;za=[];for(var l=0;l<n.length;l++){var r=n[l];r.observer.unobserve(r.instance)}}))}oa.prototype.getClientRects=function(){var e=[];return Zt(this._fragmentFiber.child,!1,r3,e,void 0,void 0),e};function r3(e,t){if(e.tag===6){e=e.stateNode;var a=e.ownerDocument.createRange();a.selectNodeContents(e),t.push.apply(t,a.getClientRects())}else e=lt(e),t.push.apply(t,e.getClientRects());return!1}oa.prototype.getRootNode=function(e){var t=Ll(this._fragmentFiber);return t===null?this:lt(t).getRootNode(e)};oa.prototype.compareDocumentPosition=function(e){var t=Ll(this._fragmentFiber);if(t===null)return Node.DOCUMENT_POSITION_DISCONNECTED;var a=[];Zt(this._fragmentFiber.child,!1,xf,a,void 0,void 0);var n=lt(t);if(a.length===0){if(a=n,l1(this._fragmentFiber)){e:{for(t=this._fragmentFiber.return;t!==null;){if(t.tag===4){t=t.stateNode.containerInfo;break e}if(t.tag===3||t.tag===5||t.tag===27)break;t=t.return}t=null}t!=null&&(a=t)}t=this._fragmentFiber;var l=n=a.compareDocumentPosition(e);return a===e?l=Node.DOCUMENT_POSITION_CONTAINS:n&Node.DOCUMENT_POSITION_CONTAINED_BY&&(a=Xg(t)[1],a===null?l=Node.DOCUMENT_POSITION_PRECEDING:(e=lt(a).compareDocumentPosition(e),l=e===0||e&Node.DOCUMENT_POSITION_FOLLOWING?Node.DOCUMENT_POSITION_FOLLOWING:Node.DOCUMENT_POSITION_PRECEDING)),l|=Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC}t=lt(a[0]),l=lt(a[a.length-1]);var r=l1(this._fragmentFiber)?t.parentElement:n;if(r==null)return Node.DOCUMENT_POSITION_DISCONNECTED;n=r.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY,r=r.compareDocumentPosition(l)&Node.DOCUMENT_POSITION_CONTAINED_BY;var i=t.compareDocumentPosition(e),o=l.compareDocumentPosition(e),s=i&Node.DOCUMENT_POSITION_CONTAINED_BY||o&Node.DOCUMENT_POSITION_CONTAINED_BY;return o=n&&r&&i&Node.DOCUMENT_POSITION_FOLLOWING&&o&Node.DOCUMENT_POSITION_PRECEDING,t=n&&t===e||r&&l===e||s||o?Node.DOCUMENT_POSITION_CONTAINED_BY:!n&&t===e||!r&&l===e?Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:i,t&Node.DOCUMENT_POSITION_DISCONNECTED||t&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC||i3(t,this._fragmentFiber,a[0],a[a.length-1],e)?t:Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC};function i3(e,t,a,n,l){var r=_l(l);if(e&Node.DOCUMENT_POSITION_CONTAINED_BY){if(a=!!r)e:{for(;r!==null;){if(r.tag===7&&(r===t||r.alternate===t)){a=!0;break e}r=r.return}a=!1}return a}if(e&Node.DOCUMENT_POSITION_CONTAINS){if(r===null)return r=l.ownerDocument,l===r||l===r.documentElement||l===r.body;e:{for(r=t,t=Ll(t);r!==null;){if(!(r.tag!==5&&r.tag!==3&&r.tag!==27||r!==t&&r.alternate!==t)){r=!0;break e}r=r.return}r=!1}return r}return e&Node.DOCUMENT_POSITION_PRECEDING?((t=!!r)&&!(t=r===a)&&(t=wd(a,r,r1),t===null?t=!1:(Zt(t,!0,Gy,r,a),r=ur,ur=null,t=r!==null)),t):e&Node.DOCUMENT_POSITION_FOLLOWING?((t=!!r)&&!(t=r===n)&&(t=wd(n,r,r1),t===null?t=!1:(Zt(t,!0,Ly,r,n),r=ur,vd=ur=null,t=r!==null)),t):!1}function Ag(e,t){var a=e.ownerDocument.createRange();a.selectNodeContents(e),e=a.getBoundingClientRect(),window.scrollTo(window.scrollX+e.left,t?window.scrollY+e.top:window.scrollY+e.bottom-window.innerHeight)}oa.prototype.scrollIntoView=function(e){if(typeof e=="object")throw Error(T(566));var t=[];Zt(this._fragmentFiber.child,!1,xf,t,void 0,void 0);var a=e!==!1;if(t.length===0){var n=Xg(this._fragmentFiber);if(n=a?n[1]||n[0]||Ll(this._fragmentFiber):n[0]||n[1],n===null)return;if(n.tag===6){e=lt(n),Ag(e,a);return}if(n=lt(n),n.nodeType!==9){if(n.nodeType===11){a="host"in n?n.host:null,a!==null&&a.scrollIntoView(e);return}n.scrollIntoView(e)}}for(n=a?t.length-1:0;n!==(a?-1:t.length);){var l=t[n];l.tag===6?(l=lt(l),Ag(l,a)):lt(l).scrollIntoView(e),n+=a?-1:1}};function o3(e,t){return e=lt(e),S2(e,t),!1}function S2(e,t){e.reactFragments==null&&(e.reactFragments=new Set),e.reactFragments.add(t)}function A2(e,t){var a=t._eventListeners;if(a!==null)for(var n=0;n<a.length;n++){var l=a[n];e.addEventListener(l.type,l.attachedListener,qr(l.optionsOrUseCapture))}e.nodeType!==3&&(a=t._observers,a!==null&&a.forEach(function(r){for(var i=0,o=0;o<za.length;o++){var s=za[o];(s.fragmentInstance!==t||s.observer!==r||s.instance!==e)&&(za[i++]=s)}za.length=i,r.observe(e)}),S2(e,t))}function s3(e,t){var a=t._eventListeners;if(a!==null)for(var n=0;n<a.length;n++){var l=a[n];e.removeEventListener(l.type,l.attachedListener,qr(l.optionsOrUseCapture))}e.nodeType!==3&&(a=t._observers,a!==null&&a.forEach(function(r){typeof r.rootMargin=="string"?l3(t,r,e):r.unobserve(e)}),e.reactFragments!=null&&e.reactFragments.delete(t))}function _h(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":_h(a),Ac(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function c3(e,t,a,n){for(;e.nodeType===1;){var l=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!n&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(n){if(!e[xo])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(r=e.getAttribute("rel"),r==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(r!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(r=e.getAttribute("src"),(r!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&r&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var r=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===r)return e}else return e;if(e=wa(e.nextSibling),e===null)break}return null}function u3(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=wa(e.nextSibling),e===null))return null;return e}function M2(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=wa(e.nextSibling),e===null))return null;return e}function Th(e){return e.data==="$?"||e.data==="$~"}function _f(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function d3(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var n=function(){t(),a.removeEventListener("DOMContentLoaded",n)};a.addEventListener("DOMContentLoaded",n),e._reactRetry=n}}function wa(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Eh=null;function Mg(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return wa(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function Ng(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function h3(e,t){function a(){n=!0}if(e.ownerDocument.activeElement===e)return!0;var n=!1;try{e.ownerDocument.addEventListener("focus",a,!0),(e.focus||HTMLElement.prototype.focus).call(e,t)}finally{e.ownerDocument.removeEventListener("focus",a,!0)}return n}function f3(e){_g(function(){_g(function(t){return e(t)})})}function N2(e,t,a){switch(t=ho(a),e){case"html":if(e=t.documentElement,!e)throw Error(T(452));return e;case"head":if(e=t.head,!e)throw Error(T(453));return e;case"body":if(e=t.body,!e)throw Error(T(454));return e;default:throw Error(T(451))}}function z2(e,t,a){for(var n in a){var l=a[n];a.hasOwnProperty(n)&&l!=null&&be(e,t,n,null,Yx,l)}a.dangerouslySetInnerHTML!=null&&(e.textContent=""),e.onclick===Qa&&(e.onclick=null),Ac(e)}function md(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Ac(e)}var ba=new Map,zg=new Set;function fo(e){if(typeof e.getRootNode=="function"){var t=e.getRootNode();if(t.nodeType===9||t.nodeType===11)return t}return e.nodeType===9?e:e.ownerDocument}var En=he.d;he.d={f:p3,r:g3,D:m3,C:v3,L:w3,m:b3,X:x3,S:y3,M:_3};function p3(){var e=En.f(),t=qc();return e||t}function g3(e){var t=Xr(e);t!==null&&t.tag===5&&t.type==="form"?fv(t):En.r(e)}var Fr=typeof document>"u"?null:document;function O2(e,t,a){var n=Fr;if(n&&typeof t=="string"&&t){var l=ga(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof a=="string"&&(l+='[crossorigin="'+a+'"]'),zg.has(l)||(zg.add(l),e={rel:e,crossOrigin:a,href:t},n.querySelector(l)===null&&(t=n.createElement("link"),Mt(t,"link",e),ft(t),n.head.appendChild(t)))}}function m3(e){En.D(e),O2("dns-prefetch",e,null)}function v3(e,t){En.C(e,t),O2("preconnect",e,t)}function w3(e,t,a){En.L(e,t,a);var n=Fr;if(n&&e&&t){var l='link[rel="preload"][as="'+ga(t)+'"]';t==="image"&&a&&a.imageSrcSet?(l+='[imagesrcset="'+ga(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(l+='[imagesizes="'+ga(a.imageSizes)+'"]')):l+='[href="'+ga(e)+'"]';var r=l;switch(t){case"style":r=Vr(e);break;case"script":r=$r(e)}if(!(ba.has(r)||(e=Oe({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),ba.set(r,e),n.querySelector(l)!==null||t==="style"&&n.querySelector(Mo(r))||t==="script"&&n.querySelector(No(r))))){var i=n.createElement("link");Mt(i,"link",e),t==="style"&&(i[ec]=!0,i.onload=i.onerror=function(){rm(i)}),ft(i),n.head.appendChild(i)}}}function b3(e,t){En.m(e,t);var a=Fr;if(a&&e){var n=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+ga(n)+'"][href="'+ga(e)+'"]',r=l;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":r=$r(e)}if(!ba.has(r)&&(e=Oe({rel:"modulepreload",href:e},t),ba.set(r,e),a.querySelector(l)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(No(r)))return}n=a.createElement("link"),Mt(n,"link",e),ft(n),a.head.appendChild(n)}}}function y3(e,t,a){En.S(e,t,a);var n=Fr;if(n&&e){var l=_r(n).hoistableStyles,r=Vr(e);t=t||"default";var i=l.get(r);if(!i){var o={loading:0,preload:null};if(i=n.querySelector(Mo(r)))o.loading=5;else{e=Oe({rel:"stylesheet",href:e,"data-precedence":t},a),(a=ba.get(r))&&Tf(e,a);var s=i=n.createElement("link");ft(s),Mt(s,"link",e),s._p=new Promise(function(c,h){s.onload=c,s.onerror=h}),s.addEventListener("load",function(){o.loading|=1}),s.addEventListener("error",function(){o.loading|=2}),o.loading|=4,Is(i,t,n)}i={type:"stylesheet",instance:i,count:1,state:o},l.set(r,i)}}}function x3(e,t){En.X(e,t);var a=Fr;if(a&&e){var n=_r(a).hoistableScripts,l=$r(e),r=n.get(l);r||(r=a.querySelector(No(l)),r||(e=Oe({src:e,async:!0},t),(t=ba.get(l))&&Ef(e,t),r=a.createElement("script"),ft(r),Mt(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},n.set(l,r))}}function _3(e,t){En.M(e,t);var a=Fr;if(a&&e){var n=_r(a).hoistableScripts,l=$r(e),r=n.get(l);r||(r=a.querySelector(No(l)),r||(e=Oe({src:e,async:!0,type:"module"},t),(t=ba.get(l))&&Ef(e,t),r=a.createElement("script"),ft(r),Mt(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},n.set(l,r))}}function Og(e,t,a,n){var l=(l=Kn.current)?fo(l):null;if(!l)throw Error(T(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(a=Vr(a.href),t=_r(l).hoistableStyles,n=t.get(a),n||(n={type:"style",instance:null,count:0,state:null},t.set(a,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Vr(a.href);var r=_r(l).hoistableStyles,i=r.get(e);if(i||(l=l.ownerDocument||l,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},r.set(e,i),(r=l.querySelector(Mo(e)))?r._p||(i.instance=r,i.state.loading=5):(r=ba.get(e),r||(r={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},ba.set(e,r)),T3(l,e,r,i.state))),t&&n===null)throw Error(T(528,""));return i}if(t&&n!==null)throw Error(T(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(a=$r(a),t=_r(l).hoistableScripts,n=t.get(a),n||(n={type:"script",instance:null,count:0,state:null},t.set(a,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(T(444,e))}}function Vr(e){return'href="'+ga(e)+'"'}function Mo(e){return'link[rel="stylesheet"]['+e+"]"}function C2(e){return Oe({},e,{"data-precedence":e.precedence,precedence:null})}function T3(e,t,a,n){if(t=e.querySelector('link[rel="preload"][as="style"]['+t+"]")){if(t[ec]!==!0){n.loading=1;return}}else t=e.createElement("link"),t[ec]=!0,t.onload=t.onerror=rm.bind(null,t),Mt(t,"link",a),ft(t),e.head.appendChild(t);n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2})}function $r(e){return'[src="'+ga(e)+'"]'}function No(e){return"script[async]"+e}function Cg(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+ga(a.href)+'"]');if(n)return t.instance=n,ft(n),n;var l=Oe({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),ft(n),Mt(n,"style",l),Is(n,a.precedence,e),t.instance=n;case"stylesheet":l=Vr(a.href);var r=e.querySelector(Mo(l));if(r)return t.state.loading|=4,t.instance=r,ft(r),r;n=C2(a),(l=ba.get(l))&&Tf(n,l),r=(e.ownerDocument||e).createElement("link"),ft(r);var i=r;return i._p=new Promise(function(o,s){i.onload=o,i.onerror=s}),Mt(r,"link",n),t.state.loading|=4,Is(r,a.precedence,e),t.instance=r;case"script":return r=$r(a.src),(l=e.querySelector(No(r)))?(t.instance=l,ft(l),l):(n=a,(l=ba.get(r))&&(n=Oe({},a),Ef(n,l)),e=e.ownerDocument||e,l=e.createElement("script"),ft(l),Mt(l,"link",n),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(T(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Is(n,a.precedence,e));return t.instance}function Is(e,t,a){for(var n=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=n.length?n[n.length-1]:null,r=l,i=0;i<n.length;i++){var o=n[i];if(o.dataset.precedence===t)r=o;else if(r!==l)break}r?r.parentNode.insertBefore(e,r.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Tf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Ef(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Xs=null;function kg(e,t,a){if(Xs===null){var n=new Map,l=Xs=new Map;l.set(a,n)}else l=Xs,n=l.get(a),n||(n=new Map,l.set(a,n));if(n.has(e))return n;for(n.set(e,null),a=a.getElementsByTagName(e),l=0;l<a.length;l++){var r=a[l];if(!(r[xo]||r[Tt]||e==="link"&&r.getAttribute("rel")==="stylesheet")&&r.namespaceURI!=="http://www.w3.org/2000/svg"){var i=r.getAttribute(t)||"";i=e+i;var o=n.get(i);o?o.push(r):n.set(i,[r])}}return n}function Sh(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function E3(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Rg(e,t){return e==="img"&&t.src!=null&&t.src!==""&&t.onLoad==null&&t.loading!=="lazy"}function k2(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function R2(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio=="number"?devicePixelRatio:1)*.25}function Hg(e,t){typeof t.decode=="function"&&(e.imgCount++,t.complete||(e.imgBytes+=R2(t),e.suspenseyImages.push(t)),e=M3.bind(e),t.decode().then(e,e))}function S3(e,t,a,n){if(a.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var l=Vr(n.href),r=t.querySelector(Mo(l));if(r){t=r._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=po.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=r,ft(r);return}r=t.ownerDocument||t,n=C2(n),(l=ba.get(l))&&Tf(n,l),r=r.createElement("link"),ft(r);var i=r;i._p=new Promise(function(o,s){i.onload=o,i.onerror=s}),Mt(r,"link",n),a.instance=r}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=po.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Qs=0;function A3(e,t){return e.stylesheets&&e.count===0&&Zs(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var n=setTimeout(function(){if(e.stylesheets&&Zs(e,e.stylesheets),e.unsuspend){var r=e.unsuspend;e.unsuspend=null,r()}},6e4+t);0<e.imgBytes&&Qs===0&&(Qs=62500*Kx());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Zs(e,e.stylesheets),e.unsuspend)){var r=e.unsuspend;e.unsuspend=null,r()}},(e.imgBytes>Qs?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(l)}}:null}function H2(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)Zs(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function po(){this.count--,H2(this)}function M3(){this.imgCount--,H2(this)}var Tc=null;function Zs(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Tc=new Map,t.forEach(N3,e),Tc=null,po.call(e))}function N3(e,t){if(!(t.state.loading&4)){var a=Tc.get(e);if(a)var n=a.get(null);else{a=new Map,Tc.set(e,a);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),r=0;r<l.length;r++){var i=l[r];(i.nodeName==="LINK"||i.getAttribute("media")!=="not all")&&(a.set(i.dataset.precedence,i),n=i)}n&&a.set(null,n)}l=t.instance,i=l.getAttribute("data-precedence"),r=a.get(i)||n,r===n&&a.set(null,l),a.set(i,l),this.count++,n=po.bind(this),l.addEventListener("load",n),l.addEventListener("error",n),r?r.parentNode.insertBefore(l,r.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var Yr={$$typeof:Xa,Provider:null,Consumer:null,_currentValue:El,_currentValue2:El,_threadCount:0};function z3(e,t,a,n,l,r,i,o,s){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Ku(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ku(0),this.hiddenUpdates=Ku(null),this.identifierPrefix=n,this.onUncaughtError=l,this.onCaughtError=r,this.onRecoverableError=i,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=s,this.transitionTypes=null,this.incompleteTransitions=new Map}function D2(e,t,a,n,l,r,i,o,s,c,h,v){return e=new z3(e,t,a,i,s,c,h,v,o),t=1,r===!0&&(t|=24),r=Xt(3,null,null,t),e.current=r,r.stateNode=e,t=jh(),t.refCount++,e.pooledCache=t,t.refCount++,r.memoizedState={element:n,isDehydrated:a,cache:t},Xh(r),e}function G2(e){return e?(e=wr,e):wr}function L2(e,t,a,n,l,r){l=G2(l),n.context===null?n.context=l:n.pendingContext=l,n=Xn(t),n.payload={element:a},r=r===void 0?null:r,r!==null&&(n.callback=r),a=Qn(e,n,t),a!==null&&(Qt(a,e,t),Ii(a,e,t))}function Dg(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Sf(e,t){Dg(e,t),(e=e.alternate)&&Dg(e,t)}function U2(e){if(e.tag===13||e.tag===31){var t=ql(e,67108864);t!==null&&Qt(t,e,67108864),Sf(e,67108864)}}function Gg(e){if(e.tag===13||e.tag===31){var t=ra();t=Ch(t);var a=ql(e,t);a!==null&&Qt(a,e,t),Sf(e,t)}}var jr=!0;function O3(e,t,a,n){var l=I.T;I.T=null;var r=he.p;try{he.p=2,Af(e,t,a,n)}finally{he.p=r,I.T=l}}function C3(e,t,a,n){var l=I.T;I.T=null;var r=he.p;try{he.p=8,Af(e,t,a,n)}finally{he.p=r,I.T=l}}function Af(e,t,a,n){if(jr){var l=Ah(n);if(l===null)fd(e,t,n,Ec,a),Lg(e,n);else if(R3(l,e,t,a,n))n.stopPropagation();else if(Lg(e,n),t&4&&-1<k3.indexOf(e)){for(;l!==null;){var r=Xr(l);if(r!==null)switch(r.tag){case 3:if(r=r.stateNode,r.current.memoizedState.isDehydrated){var i=bl(r.pendingLanes);if(i!==0){var o=r;for(o.pendingLanes|=2,o.entangledLanes|=2;i;){var s=1<<31-la(i);o.entanglements[1]|=s,i&=~s}en(r),(de&6)===0&&(wc=aa()+500,Ao(0,!1))}}break;case 31:case 13:o=ql(r,2),o!==null&&Qt(o,r,2),qc(),Sf(r,2)}if(r=Ah(n),r===null&&fd(e,t,n,Ec,a),r===l)break;l=r}l!==null&&n.stopPropagation()}else fd(e,t,n,null,a)}}function Ah(e){return e=Hh(e),Mf(e)}var Ec=null;function Mf(e){if(Ec=null,e=_l(e),e!==null){var t=vo(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=jg(t),e!==null)return e;e=null}else if(a===31){if(e=Kg(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Ec=e,null}function B2(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"fullscreenerror":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"resize":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Xy()){case Fg:return 2;case $g:return 8;case Ps:case Qy:return 32;case Wg:return 268435456;default:return 32}default:return 32}}var Mh=!1,$n=null,Wn=null,Pn=null,go=new Map,mo=new Map,Ln=[],k3="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Lg(e,t){switch(e){case"focusin":case"focusout":$n=null;break;case"dragenter":case"dragleave":Wn=null;break;case"mouseover":case"mouseout":Pn=null;break;case"pointerover":case"pointerout":go.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":mo.delete(t.pointerId)}}function Hi(e,t,a,n,l,r){return e===null||e.nativeEvent!==r?(e={blockedOn:t,domEventName:a,eventSystemFlags:n,nativeEvent:r,targetContainers:[l]},t!==null&&(t=Xr(t),t!==null&&U2(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function R3(e,t,a,n,l){switch(t){case"focusin":return $n=Hi($n,e,t,a,n,l),!0;case"dragenter":return Wn=Hi(Wn,e,t,a,n,l),!0;case"mouseover":return Pn=Hi(Pn,e,t,a,n,l),!0;case"pointerover":var r=l.pointerId;return go.set(r,Hi(go.get(r)||null,e,t,a,n,l)),!0;case"gotpointercapture":return r=l.pointerId,mo.set(r,Hi(mo.get(r)||null,e,t,a,n,l)),!0}return!1}function q2(e){var t=_l(e.target);if(t!==null){var a=vo(t);if(a!==null){if(t=a.tag,t===13){if(t=jg(a),t!==null){e.blockedOn=t,c1(e.priority,function(){Gg(a)});return}}else if(t===31){if(t=Kg(a),t!==null){e.blockedOn=t,c1(e.priority,function(){Gg(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Js(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Ah(e.nativeEvent);if(a===null){a=e.nativeEvent;var n=new a.constructor(a.type,a);Od=n,a.target.dispatchEvent(n),Od=null}else return t=Xr(a),t!==null&&U2(t),e.blockedOn=a,!1;t.shift()}return!0}function Ug(e,t,a){Js(e)&&a.delete(t)}function H3(){Mh=!1,$n!==null&&Js($n)&&($n=null),Wn!==null&&Js(Wn)&&(Wn=null),Pn!==null&&Js(Pn)&&(Pn=null),go.forEach(Ug),mo.forEach(Ug)}function zs(e,t){e.blockedOn===t&&(e.blockedOn=null,Mh||(Mh=!0,rt.unstable_scheduleCallback(rt.unstable_NormalPriority,H3)))}var Os=null;function Bg(e){Os!==e&&(Os=e,rt.unstable_scheduleCallback(rt.unstable_NormalPriority,function(){Os===e&&(Os=null);for(var t=0;t<e.length;t+=3){var a=e[t],n=e[t+1],l=e[t+2];if(typeof n!="function"){if(Mf(n||a)===null)continue;break}var r=Xr(a);r!==null&&(e.splice(t,3),t-=3,Xd(r,{pending:!0,data:l,method:a.method,action:n},n,l))}}))}function Kr(e){function t(s){return zs(s,e)}$n!==null&&zs($n,e),Wn!==null&&zs(Wn,e),Pn!==null&&zs(Pn,e),go.forEach(t),mo.forEach(t);for(var a=0;a<Ln.length;a++){var n=Ln[a];n.blockedOn===e&&(n.blockedOn=null)}for(;0<Ln.length&&(a=Ln[0],a.blockedOn===null);)q2(a),a.blockedOn===null&&Ln.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(n=0;n<a.length;n+=3){var l=a[n],r=a[n+1],i=l[Jt]||null;if(typeof r=="function")i||Bg(a);else if(i){var o=null;if(r&&r.hasAttribute("formAction")){if(l=r,i=r[Jt]||null)o=i.formAction;else if(Mf(l)!==null)continue}else o=i.action;typeof o=="function"?a[n+1]=o:(a.splice(n,3),n-=3),Bg(a)}}}function V2(){function e(r){r.canIntercept&&r.info==="react-transition"&&r.intercept({handler:function(){return new Promise(function(i){return l=i})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),n||setTimeout(a,20)}function a(){if(!n&&!navigation.transition){var r=navigation.currentEntry;r&&r.url!=null&&navigation.navigate(r.url,{state:r.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var n=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){n=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function Nf(e){this._internalRoot=e}jc.prototype.render=Nf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(T(409));var a=t.current,n=ra();L2(a,n,e,t,null,null)};jc.prototype.unmount=Nf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;L2(e.current,2,null,e,null,null),qc(),t[Ir]=null}};function jc(e){this._internalRoot=e}jc.prototype.unstable_scheduleHydration=function(e){if(e){var t=lm();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Ln.length&&t!==0&&t<Ln[a].priority;a++);Ln.splice(a,0,e),a===0&&q2(e)}};var qg=Vg.version;if(qg!=="19.3.1")throw Error(T(527,qg,"19.3.1"));he.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(T(188)):(e=Object.keys(e).join(","),Error(T(268,e)));return e=Dy(t),e=e!==null?Ig(e):null,e=e===null?null:e.stateNode,e};var D3={bundleType:0,version:"19.3.1",rendererPackageName:"react-dom",currentDispatcherRef:I,reconcilerVersion:"19.3.1"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Di=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Di.isDisabled&&Di.supportsFiber))try{wo=Di.inject(D3),na=Di}catch{}var Di;Kc.createRoot=function(e,t){if(!Yg(e))throw Error(T(299));var a=!1,n="",l=xv,r=_v,i=Tv;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(r=t.onCaughtError),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=D2(e,1,!1,null,null,a,n,null,l,r,i,V2),e[Ir]=t.current,bf(e),new Nf(t)};Kc.hydrateRoot=function(e,t,a){if(!Yg(e))throw Error(T(299));var n=!1,l="",r=xv,i=_v,o=Tv,s=null;return a!=null&&(a.unstable_strictMode===!0&&(n=!0),a.identifierPrefix!==void 0&&(l=a.identifierPrefix),a.onUncaughtError!==void 0&&(r=a.onUncaughtError),a.onCaughtError!==void 0&&(i=a.onCaughtError),a.onRecoverableError!==void 0&&(o=a.onRecoverableError),a.formState!==void 0&&(s=a.formState)),t=D2(e,1,!0,t,a??null,n,l,s,r,i,o,V2),t.context=G2(null),a=t.current,n=ra(),n=Ch(n),l=Xn(n),l.callback=null,Qn(a,l,n),a=n,t.current.lanes=a,yo(t,a),en(t),e[Ir]=t.current,bf(e),new jc(t)};Kc.version="19.3.1"});var I2=Ba((C_,K2)=>{"use strict";function j2(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(j2)}catch(e){console.error(e)}}j2(),K2.exports=Y2()});var sw=Ba(lu=>{"use strict";var W3=Symbol.for("react.transitional.element"),P3=Symbol.for("react.fragment");function ow(e,t,a){var n=null;if(a!==void 0&&(n=""+a),t.key!==void 0&&(n=""+t.key),"key"in t){a={};for(var l in t)l!=="key"&&(a[l]=t[l])}else a=t;return t=a.ref,{$$typeof:W3,type:e,key:n,ref:t!==void 0?t:null,props:a}}lu.Fragment=P3;lu.jsx=ow;lu.jsxs=ow});var xe=Ba((F_,cw)=>{"use strict";cw.exports=sw()});var Ob=K(I2(),1);var Ic=["purple","cyan","green","amber","rose","blue"];var zo=e=>typeof e=="string"&&Ic.includes(e);var X2={editing:{human:0,agent:1},viewing:{human:2,agent:3},idle:{human:4,agent:5}};function zf(e){return e.map((t,a)=>({member:t,index:a})).sort((t,a)=>X2[t.member.activity][t.member.kind]-X2[a.member.activity][a.member.kind]||t.index-a.index).map(({member:t})=>t)}var Xc=Ic.filter(e=>e!=="purple");function Of(e,t=new Map){let a=new Map,n=new Map(Xc.map(r=>[r,0])),l=(r,i)=>{a.set(r,i),n.set(i,(n.get(i)??0)+1)};for(let r of e)r.kind==="agent"&&r.hue!==void 0&&l(r.id,r.hue);for(let r of e){if(a.has(r.id))continue;let i=t.get(r.id);i!==void 0&&l(r.id,i)}for(let r of e){if(a.has(r.id))continue;let i=Xc[0];for(let o of Xc)(n.get(o)??0)<(n.get(i)??0)&&(i=o);l(r.id,i)}return a}function Q2(e,t=2){if(e.length===0)return"";if(e.length===1)return e[0];if(e.length<=t)return`${e.slice(0,-1).join(", ")} and ${e[e.length-1]}`;let a=e.length-t;return`${e.slice(0,t).join(", ")} and ${a===1?"1 other":`${a} others`}`}var Oo={activity:(e,t)=>e==="editing"?"Editing":e==="idle"?"Idle":t==="agent"?"Reading":"Viewing",here:(e,t)=>t?e===0?"Only you are here":`You and ${e===1?"1 other":`${e} others`} are here`:e===1?"1 person is here":`${e} people are here`,member:e=>e.location?`${e.name}, ${e.location}`:`${e.name}, ${Oo.activity(e.activity,e.kind).toLowerCase()}`,more:e=>`${e} more`,editing:e=>`${e} is editing`,alsoHere:e=>e.length===0?"":`${Q2(e)} ${e.length===1?"is":"are"} also here.`};function Co(e){return{...Oo,...e}}var F2=["text","longtext","number","checkbox","select","multiselect","status","person","date","url","rating"],Zc=e=>typeof e=="string"&&F2.includes(e);var G3={text:"Text",longtext:"Long text",number:"Number",checkbox:"Checkbox",select:"Select",multiselect:"Multi-select",status:"Status",person:"Person",date:"Date",url:"URL",rating:"Rating"},Cf=e=>e===1?"1 change":`${e} changes`,Yl={rowHeader:"Row",addRow:"Add row",empty:"Empty",checked:"Checked",unchecked:"Not checked",rating:(e,t)=>`${e} of ${t} stars`,archived:e=>`Archived: ${e}`,unknownPerson:"Unknown person",types:G3,saving:"Saving",forbidden:"You can view this sheet but not edit it.",couldNotSave:"Could not save this change.",notANumber:e=>`${e} must be a number.`,belowMin:(e,t)=>`${e} must be at least ${t}.`,aboveMax:(e,t)=>`${e} must be at most ${t}.`,tooLong:(e,t)=>`${e} must be at most ${t} characters.`,required:e=>`${e} is required.`,notAnOption:e=>`${e} must be one of its options.`,tooManyItems:(e,t)=>`${e} holds at most ${t} options.`,notAPerson:e=>`${e} must be a person or an agent in this company.`,notADate:e=>`${e} must be a date.`,notAUrl:e=>`${e} must be a web address starting with https:// or http://.`,notARating:(e,t)=>`${e} must be a whole number from 1 to ${t}.`,notABoolean:e=>`${e} must be checked or not checked.`,readOnly:e=>`${e} is read only.`,conflict:(e,t)=>`${e} changed this to ${t} while you were editing.`,keepMine:"Keep yours",useTheirs:e=>`Use ${e}'s`,someone:"Someone",changed:(e,t,a)=>`Changed by ${e}, ${t}.${a===null?"":` Was ${a}.`}`,history:"Cell history",sync:e=>e.offline?e.saving===0?"Offline.":`Offline. ${Cf(e.saving)} will sync when you reconnect.`:e.failed!==void 0&&e.failed>0?"Could not save.":e.refused!==void 0&&e.refused>0?`${Cf(e.refused)} not saved`:e.saving>0?`Saving ${Cf(e.saving)}`:"Saved",retry:"Retry",dismiss:"Dismiss",notSaved:e=>`Not saved: ${e}`,rowActions:e=>`Actions for row ${e}`,deleteRow:"Delete row",rowActionsHelp:"Shift with F10 opens the actions of the row.",filter:"Filter options",noOptions:"No matching options",clear:"Clear",keyboardHelp:"Arrow keys move between cells. Enter or F2 edits a cell, Escape cancels, and typing replaces its value. Space toggles a checkbox. Control or Command with C and V copies and pastes. Control or Command with Alt and H opens the history of a cell.",sortBy:e=>`Sort by ${e}`,columnSettings:e=>`Column settings for ${e}`,columnSettingsHelp:"Enter on a column header opens the settings of that column.",addColumn:"Add column"};function ko(e){return{...Yl,...e,types:{...Yl.types,...e?.types}}}var L3={violet:"purple",indigo:"purple",teal:"cyan",sky:"cyan",emerald:"green",lime:"green",yellow:"amber",orange:"amber",red:"rose",pink:"rose"};function Jc(e){if(e===void 0)return"neutral";let t=e.trim().toLowerCase();return zo(t)?t:L3[t]??"neutral"}var U3=["neutral","info","success","warning","danger"],B3={green:"success",amber:"warning",rose:"danger",blue:"info",cyan:"info",purple:"neutral"},q3={todo:"neutral",in_progress:"info",done:"success",blocked:"danger"};function Fc(e){let t=e.color?.trim().toLowerCase();if(t!==void 0&&U3.includes(t))return t;if(t!==void 0){let a=Jc(t);if(a!=="neutral")return B3[a]}return e.category?q3[e.category]:"neutral"}function Sn(e,t){return e.options?.find(a=>a.id===t)}function jl(e){return(e.options??[]).filter(t=>!t.archived)}function Hf(e){let t=new Set,a=[];for(let n of e.split(",")){let[l="",r]=n.split(":"),i=l.trim();if(i==="")continue;let o=i.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"");for(o===""&&(o=`option_${a.length+1}`);t.has(o);)o=`${o}_`;t.add(o);let s=r?.trim();a.push(s?{id:o,label:i,color:s}:{id:o,label:i})}return a}var $2=1e3,W2=2e4,P2=2048,kf=5,ew=10,tw=1900,aw=2200;function tn(e){let t=e.max??kf;return Number.isInteger(t)&&t>=1?Math.min(t,ew):kf}function ol(e){return e.maxLength??(e.type==="longtext"?W2:$2)}var V3=e=>Array.isArray(e)&&e.every(t=>typeof t=="string");function kt(e,t){if(t==null)return e.type==="checkbox"?!1:e.type==="multiselect"?[]:null;switch(e.type){case"checkbox":return t===!0;case"number":{let a=typeof t=="number"?t:typeof t=="string"&&t.trim()!==""?Number(t):Number.NaN;return Number.isFinite(a)?a:null}case"rating":return typeof t=="number"&&Number.isInteger(t)&&t>=1?t:null;case"multiselect":return V3(t)?t:[];case"text":case"longtext":case"url":case"date":return typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):null;case"select":case"status":case"person":return typeof t=="string"?t:null}}function an(e){return e===null||e===""||Array.isArray(e)&&e.length===0}function Wr(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((a,n)=>a===t[n]):e===t}function Pr(e,t){return e?.find(a=>a.id===t)}function Y3(e,t){let a=e.precision,n=a===void 0?{maximumFractionDigits:10}:{minimumFractionDigits:a,maximumFractionDigits:a};return e.numberStyle==="percent"?new Intl.NumberFormat(t,{style:"percent",...n}):e.numberStyle==="currency"&&e.currency?new Intl.NumberFormat(t,{style:"currency",currency:e.currency,...n}):new Intl.NumberFormat(t,n)}var j3=/^(\d{4})-(\d{2})-(\d{2})$/;function nw(e){let t=j3.exec(e);if(!t)return null;let a=Number(t[1]),n=Number(t[2]),l=Number(t[3]),r=new Date(Date.UTC(a,n-1,l));return r.getUTCFullYear()!==a||r.getUTCMonth()!==n-1||r.getUTCDate()!==l||a<tw||a>aw?null:{year:a,month:n,day:l}}function ya(e,t,a){let{labels:n,locale:l}=a;if(e.type==="checkbox")return t===!0?n.checked:n.unchecked;if(an(t))return"";switch(e.type){case"number":return typeof t=="number"?Y3(e,l).format(t):"";case"rating":return typeof t=="number"?n.rating(t,tn(e)):"";case"select":case"status":{let r=Sn(e,String(t));return r?r.archived?n.archived(r.label):r.label:String(t)}case"multiselect":return t.map(r=>{let i=Sn(e,r);return i?i.archived?n.archived(i.label):i.label:r}).join(", ");case"person":return Pr(a.people,String(t))?.name??n.unknownPerson;case"date":{let r=String(t);if(nw(r))return new Intl.DateTimeFormat(l,{dateStyle:"medium",timeZone:"UTC"}).format(new Date(`${r}T00:00:00Z`));let i=Date.parse(r);return Number.isNaN(i)?r:new Intl.DateTimeFormat(l,{dateStyle:"medium",timeStyle:"short"}).format(i)}default:return String(t)}}function ei(e,t,a){if(e.type==="checkbox")return t===!0?"TRUE":"FALSE";if(an(t))return"";switch(e.type){case"number":return typeof t!="number"?"":e.numberStyle==="percent"?`${Rf(t*100,10)}%`:String(t);case"select":case"status":return Sn(e,String(t))?.label??String(t);case"multiselect":return t.map(n=>Sn(e,n)?.label??n).join(", ");case"person":return Pr(a.people,String(t))?.name??String(t);default:return String(t)}}function Rf(e,t){let a=10**t;return Math.round(e*a)/a}var it=e=>({ok:!1,error:e});function Z2(e,t){let a=t.trim().toLowerCase(),n=jl(e),l=n.find(r=>r.id===t.trim())??n.find(r=>r.label.toLowerCase()===a);return l?l.id:null}function K3(e,t){let a=t.trim().toLowerCase();if(!e||a==="")return null;let n=e.find(r=>r.id===t.trim()||r.name.toLowerCase()===a);if(n)return n.id;let l=e.filter(r=>r.name.toLowerCase().startsWith(a));return l.length===1?l[0].id:null}var I3=new Set(["true","yes","y","1","x","checked","on","\u2713","\u2714"]),X3=new Set(["false","no","n","0","","unchecked","off"]);function Q3(e,t,a){let n=t.trim().replace(/\s+/g,""),l=n.endsWith("%");if(l&&(n=n.slice(0,-1)),n=n.replace(/^[$€£¥]|[$€£¥]$/g,""),/^-?\d{1,3}(,\d{3})+(\.\d+)?$/.test(n)&&(n=n.replaceAll(",","")),!/^[-+]?(\d+\.?\d*|\.\d+)(e[-+]?\d+)?$/i.test(n))return it(a.notANumber(e.label));let r=Number(n);if((l||e.numberStyle==="percent")&&(r/=100),!Number.isFinite(r))return it(a.notANumber(e.label));e.precision!==void 0&&(r=Rf(r,e.precision));let i=o=>e.numberStyle==="percent"?`${Rf(o*100,10)}%`:String(o);return e.min!==void 0&&r<e.min?it(a.belowMin(e.label,i(e.min))):e.max!==void 0&&r>e.max?it(a.aboveMax(e.label,i(e.max))):{ok:!0,value:r}}function Z3(e,t,a){let n=t.trim();if(!e.time)return nw(n.slice(0,10))&&(n.length===10||n[10]==="T"||n[10]===" ")?{ok:!0,value:n.slice(0,10)}:it(a.notADate(e.label));let l=Date.parse(n);if(Number.isNaN(l))return it(a.notADate(e.label));let r=new Date(l).getUTCFullYear();return r<tw||r>aw?it(a.notADate(e.label)):{ok:!0,value:new Date(l).toISOString().replace(/\.000Z$/,"Z")}}function J3(e,t,a){let n=t.trim();!/^[a-z][a-z0-9+.-]*:/i.test(n)&&/^[^\s/]+\.[^\s/]+/.test(n)&&(n=`https://${n}`);let l;try{l=new URL(n)}catch{return it(a.notAUrl(e.label))}return l.protocol!=="https:"&&l.protocol!=="http:"||n.length>P2||l.host===""?it(a.notAUrl(e.label)):{ok:!0,value:n}}function ti(e,t,a){let{labels:n}=a;if(t.trim()===""&&e.type!=="checkbox")return e.required?it(n.required(e.label)):{ok:!0,value:e.type==="multiselect"?[]:null};switch(e.type){case"checkbox":{let r=t.trim().toLowerCase();return I3.has(r)?{ok:!0,value:!0}:X3.has(r)?{ok:!0,value:!1}:it(n.notABoolean(e.label))}case"number":return Q3(e,t,n);case"rating":{let r=tn(e),i=t.trim(),o=/^★+$/.test(i)?i.length:Number(i);return o===0?e.required?it(n.required(e.label)):{ok:!0,value:null}:!Number.isInteger(o)||o<1||o>r?it(n.notARating(e.label,r)):{ok:!0,value:o}}case"text":{let r=t.replace(/\s*[\r\n]+\s*/g," ");return r.length>ol(e)?it(n.tooLong(e.label,ol(e))):{ok:!0,value:r}}case"longtext":return t.length>ol(e)?it(n.tooLong(e.label,ol(e))):{ok:!0,value:t};case"select":case"status":{let r=Z2(e,t);return r===null?it(n.notAnOption(e.label)):{ok:!0,value:r}}case"multiselect":{let r=[];for(let i of t.split(/[,;\n]/)){if(i.trim()==="")continue;let o=Z2(e,i);if(o===null)return it(n.notAnOption(e.label));r.includes(o)||r.push(o)}return e.maxItems!==void 0&&r.length>e.maxItems?it(n.tooManyItems(e.label,e.maxItems)):{ok:!0,value:r}}case"person":{let r=K3(a.people,t);return r===null?it(n.notAPerson(e.label)):{ok:!0,value:r}}case"date":return Z3(e,t,n);case"url":return J3(e,t,n)}}function Df(e,t,a){let{labels:n}=a;if(e.required&&e.type!=="checkbox"&&an(t))return n.required(e.label);if(an(t))return null;switch(e.type){case"checkbox":return typeof t=="boolean"?null:n.notABoolean(e.label);case"select":case"status":return typeof t=="string"&&jl(e).some(l=>l.id===t)?null:n.notAnOption(e.label);case"multiselect":{if(!Array.isArray(t))return n.notAnOption(e.label);let l=new Set(jl(e).map(r=>r.id));return t.every(r=>l.has(r)||Sn(e,r)?.archived)?e.maxItems!==void 0&&t.length>e.maxItems?n.tooManyItems(e.label,e.maxItems):null:n.notAnOption(e.label)}case"person":return typeof t=="string"&&Pr(a.people,t)?null:n.notAPerson(e.label);case"rating":return typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=tn(e)?null:n.notARating(e.label,tn(e));default:{let l=ti(e,ei(e,t,a),a);return l.ok?null:l.error}}}function lw(e,t,a,n){let l=e.type!=="checkbox"&&an(t),r=e.type!=="checkbox"&&an(a);if(l||r)return l===r?0:l?1:-1;switch(e.type){case"number":case"rating":return t-a;case"checkbox":return+(t===!0)-+(a===!0);case"select":case"status":{let i=o=>(e.options??[]).findIndex(s=>s.id===o);return i(t)-i(a)}default:return ya(e,t,n).localeCompare(ya(e,a,n),n.locale,{numeric:!0})}}var Kl=e=>!!(e.ctrlKey||e.metaKey),J2=(e,t,a)=>Math.min(Math.max(e,t),a);function Gf(e,t,a){let n=a.rows-1,l=a.cols-1;if(a.cols===0)return null;let r=Kl(t);switch(t.key){case"ArrowUp":return{row:r?e.row<0?-1:0:Math.max(e.row-1,-1),col:e.col};case"ArrowDown":return n<0?e:{row:r?n:J2(e.row+1,-1,n),col:e.col};case"ArrowLeft":return{row:e.row,col:r?0:Math.max(e.col-1,0)};case"ArrowRight":return{row:e.row,col:r?l:Math.min(e.col+1,l)};case"Home":return r?{row:n<0?-1:0,col:0}:{row:e.row,col:0};case"End":return r?{row:Math.max(n,-1),col:l}:{row:e.row,col:l};case"PageUp":return{row:e.row<0?-1:Math.max(e.row-a.page,0),col:e.col};case"PageDown":return n<0?e:{row:J2(e.row+a.page,0,n),col:e.col};default:return null}}function Lf(e,t){let a=Math.max(e.row,0),n=Math.max(t.row,0);return{top:Math.min(a,n),bottom:Math.max(a,n),left:Math.min(e.col,t.col),right:Math.max(e.col,t.col)}}var Uf=(e,t,a)=>t>=e.top&&t<=e.bottom&&a>=e.left&&a<=e.right;function Bf(e,t,a,n,l=8){if(n===0)return[0,-1];let r=t>0?t:a*40,i=Math.max(0,Math.floor(e/a)-l),o=Math.min(n-1,Math.ceil((e+r)/a)+l);return[i,o]}function qf(e,t,a,n,l){let r=e*n,i=r+n,o=t,s=t+Math.max(a-l,n);return r<o?r:i>s?i-Math.max(a-l,n):t}function Vf(e,t,a,n,l){let r=n-t,i=e-a;return r>=l||r>=i?"below":"above"}var $c={text:200,longtext:260,number:112,checkbox:104,select:144,multiselect:208,status:144,person:176,date:136,url:208,rating:128},Il=52,Wc=32,nn=e=>e.width!==void 0&&e.width>0?e.width:$c[e.type];function Yf(e){let t=[],a=Il;for(let n of e)t.push(a),a+=nn(n);return t}function jf(e){return[...e.filter(t=>t.frozen),...e.filter(t=>!t.frozen)]}var Kf=e=>e.key.length===1&&!Kl(e)&&!e.altKey,Pc={text:[120,280],longtext:[160,320],number:[80,180],checkbox:[72,180],select:[104,240],multiselect:[$c.multiselect,280],status:[112,260],person:[120,240],date:[112,180],url:[160,280],rating:[104,180]},rw=8;function If(e,t){if(!(t>0))return $c[e];let[a,n]=Pc[e];return Math.min(n,Math.max(a,Math.ceil(t)))}function Xf(e,t,a,n=rw){switch(e.type){case"select":case"status":return jl(e).map(l=>l.id);case"checkbox":case"multiselect":return[];case"rating":return[tn(e)];default:{let l=[];for(let r of t){let i=kt(e,r.values[e.field]);if(an(i))continue;let o=ya(e,i,a).length;l.length===n&&o<=l[n-1].length||(l.push({value:i,length:o}),l.sort((s,c)=>c.length-s.length),l.length>n&&l.pop())}return l.map(r=>r.value)}}}function F3(e){return/[\t\n\r"]/.test(e)?`"${e.replaceAll('"','""')}"`:e}function Qf(e,t,a,n){let l=[];for(let r=a.top;r<=a.bottom;r+=1){let i=t[r];if(!i)continue;let o=[];for(let s=a.left;s<=a.right;s+=1){let c=e[s];c&&o.push(F3(ei(c,kt(c,i.values[c.field]),n)))}l.push(o.join(" "))}return l.join(`
|
|
10
10
|
`)}function Zf(e){let t=[],a=[],n="",l=!1,r=0,i=e.replace(/\r\n?/g,`
|
|
11
11
|
`);for(;r<i.length;){let o=i[r];if(l){if(o==='"'&&i[r+1]==='"'){n+='"',r+=2;continue}if(o==='"'){l=!1,r+=1;continue}n+=o,r+=1;continue}o==='"'&&n===""?l=!0:o===" "?(a.push(n),n=""):o===`
|
|
12
|
-
`?(a.push(n),t.push(a),a=[],n=""):n+=o,r+=1}return(n!==""||a.length>0)&&(a.push(n),t.push(a)),t}function Jf(e,t,a,n,l){let r={edits:[],refused:[]};if(n.length===0)return r;let i=n.length===1&&n[0].length===1,o=i?a.bottom-a.top+1:n.length,s=i?a.right-a.left+1:Math.max(...n.map(c=>c.length));for(let c=0;c<o;c+=1){let h=t[a.top+c];if(!h)break;for(let v=0;v<s;v+=1){let u=e[a.left+v];if(!u)break;if(u.readOnly)continue;let m=i?n[0][0]:n[c]?.[v];if(m===void 0)continue;let y=ti(u,m,l);if(!y.ok){r.refused.push({rowId:h.id,field:u.field,error:y.error});continue}Wr(y.value,kt(u,h.values[u.field]))||r.edits.push({rowId:h.id,field:u.field,value:y.value})}}return r}function Ff(e,t,a,n){let l={edits:[],refused:[]};for(let r=a.top;r<=a.bottom;r+=1){let i=t[r];if(i)for(let o=a.left;o<=a.right;o+=1){let s=e[o];if(!s||s.readOnly)continue;let c=s.type==="checkbox"?!1:s.type==="multiselect"?[]:null;if(!Wr(kt(s,i.values[s.field]),c)){if(s.required&&s.type!=="checkbox"){l.refused.push({rowId:i.id,field:s.field,error:n.labels.required(s.label)});continue}l.edits.push({rowId:i.id,field:s.field,value:c})}}}return l}function Ro(e,t,a){if(e==="forbidden"||e==="capability_not_declared")return a.forbidden;let n=t?.trim();return n||a.couldNotSave}var Qc=(e,t)=>`${e}\0${t}`,$f=class{constructor(){sn(this,"waiting",new Map);sn(this,"refusals",new Map);sn(this,"listeners",new Set);sn(this,"failed",0)}begin(e,t){let a=Qc(e,t);this.refusals.delete(a),this.waiting.set(a,(this.waiting.get(a)??0)+1),this.emit();let n=!1;return l=>{if(n)return;n=!0;let r=(this.waiting.get(a)??1)-1;r<=0?this.waiting.delete(a):this.waiting.set(a,r),l.ok||(this.refusals.set(a,l.message),this.failed+=1),this.emit()}}isPending(e,t){return this.waiting.has(Qc(e,t))}refusal(e,t){return this.refusals.get(Qc(e,t))}dismiss(e,t){this.refusals.delete(Qc(e,t))&&this.emit()}get saving(){let e=0;for(let t of this.waiting.values())e+=t;return e}dismissAll(){this.refusals.size!==0&&(this.refusals.clear(),this.emit())}sync(e=!1){return{saving:this.saving,offline:e,refused:this.refusals.size}}get failures(){return this.failed}resetFailures(){this.failed=0}decorate(e){return this.waiting.size===0&&this.refusals.size===0?[...e]:e.map(t=>{let a=[],n={};for(let l of this.waiting.keys()){let[r,i]=l.split("\0");r===t.id&&a.push(i)}for(let[l,r]of this.refusals){let[i,o]=l.split("\0");i===t.id&&(n[o]=r)}return a.length===0&&Object.keys(n).length===0?t:{...t,pending:[...t.pending??[],...a],refused:{...t.refused,...n}}})}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}emit(){for(let e of this.listeners)e()}};function iw(e,t){let a=e instanceof Date?e:new Date(e);return Number.isNaN(a.getTime())?"":new Intl.DateTimeFormat(t,{hour:"2-digit",minute:"2-digit"}).format(a)}function eu(e,t,a,n){return t.changed(e.by,iw(e.at,n),a)}var tu=e=>e.previous!==void 0;function Wf(e,t,a,n){if(!a)return[...t];let l=e.find(i=>i.field===a.field);if(!l)return[...t];let r=a.direction==="descending"?-1:1;return t.map((i,o)=>({row:i,index:o,value:kt(l,i.values[l.field])})).sort((i,o)=>{let s=c=>c===null||c===""||Array.isArray(c)&&c.length===0;return l.type!=="checkbox"&&(s(i.value)||s(o.value))?s(i.value)===s(o.value)?i.index-o.index:s(i.value)?1:-1:r*lw(l,i.value,o.value,n)||i.index-o.index}).map(({row:i})=>i)}function au(e,t){return!e||e.field!==t?{field:t,direction:"ascending"}:e.direction==="ascending"?{field:t,direction:"descending"}:null}var xa=(e,t)=>`${e}\0${t}`;function Pf(e){let t=new Map;for(let a of e??[]){let n=xa(a.rowId,a.field),l=t.get(n);l?l.push(a):t.set(n,[a])}for(let a of t.values())a.sort((n,l)=>+!!l.editing-+!!n.editing);return t}function ep(e){let t=new Map;for(let a of e??[])t.has(a.rowId)||t.set(a.rowId,a);return t}function tp(e,t=2){let a=new Map;for(let n of e??[]){let l=a.get(n.field)??[];l.length<t&&!l.some(r=>r.id===n.id)&&l.push(n),a.set(n.field,l)}return a}function ap(e){return e.map(t=>t.name).join(", ")}function np(e,t,a,n,l=Oo){let{labels:r}=n,i=[`${e.label}.`];e.readOnly&&i.push(r.readOnly(e.label)),t.pending?.includes(e.field)&&i.push(`${r.saving}.`);let o=t.refused?.[e.field];o&&i.push(o);let s=a.map(h=>h.name);s.length>0&&i.push(l.alsoHere(s));let c=t.changed?.[e.field];if(c){let h=tu(c)&&ya(e,kt(e,c.previous),n)||null;i.push(eu(c,r,h,n.locale))}return i.join(" ")}function nu(e,t,a,n){let l=e.find(r=>r.type==="text");if(l){let r=ya(l,kt(l,t.values[l.field]),n);if(r)return r}return String(a+1)}var lp=K(ut(),1),uw=K(xe(),1),e5=(0,lp.createContext)(2);function dw({level:e,children:t}){return(0,uw.jsx)(e5.Provider,{value:e,children:t})}var t5=K(ut(),1);var hw="data-crewlet-focus-returned";function ai(e,t){if(!e)return!1;let a=()=>e.removeAttribute(hw);return e.setAttribute(hw,""),e.addEventListener("blur",a,{once:!0}),e.focus(t),e.ownerDocument.activeElement===e?!0:(e.removeEventListener("blur",a),a(),!1)}function k(...e){return e.filter(Boolean).join(" ")}var a5=["todo","in_progress","done","blocked"];function n5(e){if(e.options)return e.options.map(t=>{let a={id:t.id,label:t.label};return t.color&&(a.color=t.color),t.category&&a5.includes(t.category)&&(a.category=t.category),t.archived&&(a.archived=!0),a})}function fw(e){let t=[];for(let a of e?.columns??[]){if(a.hidden)continue;let n=a.type,l=Zc(n),r={field:a.key,label:a.label||a.key,type:l?n:"text"};l||(r.readOnly=!0),a.primary&&(r.frozen=!0),a.required&&(r.required=!0),a.min!==void 0&&(r.min=a.min),a.max!==void 0&&(r.max=a.max),a.max_length!==void 0&&(r.maxLength=a.max_length),a.max_items!==void 0&&(r.maxItems=a.max_items);let i=n5(a);i&&(r.options=i),t.push(r)}return t}function l5(e,t){let a=t.trim();if(a===""||a==="plain")return;let n=/^currency:([A-Za-z]{3})$/.exec(a);if(n){e.numberStyle="currency",e.currency=n[1].toUpperCase();return}if(a==="percent"){e.numberStyle="percent";return}let l=/^0(?:\.(0+))?(%)?$/.exec(a);l&&(e.precision=l[1]?.length??0,l[2]&&(e.numberStyle="percent"))}var Ho=e=>{if(e===null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0},pw=["field","type","label","format","options","width","readonly","required","frozen","min","max","max-length","max-items","time"];function gw(e){let t=e("field")?.trim();if(!t)return null;let a=e("type")?.trim()??"text",n=Zc(a),l={field:t,label:e("label")?.trim()||t,type:n?a:"text"};(!n||e("readonly")!==null)&&(l.readOnly=!0),e("required")!==null&&(l.required=!0),e("frozen")!==null&&(l.frozen=!0),e("time")!==null&&(l.time=!0);let r=Ho(e("width"));r!==void 0&&(l.width=r);let i=Ho(e("min"));i!==void 0&&(l.min=i);let o=Ho(e("max"));o!==void 0&&(l.max=o);let s=Ho(e("max-length"));s!==void 0&&(l.maxLength=s);let c=Ho(e("max-items"));c!==void 0&&(l.maxItems=c);let h=e("options");h&&(l.options=Hf(h));let v=e("format");return v&&l.type==="number"&&l5(l,v),l}function mw(e){let t=e?.trim();return t?t.startsWith("-")?{field:t.slice(1),direction:"descending"}:{field:t,direction:"ascending"}:null}function vw(e,t){return t===void 0?[...e]:e.map((a,n)=>n<t?{...a,frozen:!0}:a)}var ww=e=>e!==void 0&&zo(e)?e:void 0;function bw(e){let t={id:e.seat,name:e.displayName,kind:e.kind},a=ww(e.avatar?.hue);return a&&(t.hue=a),e.avatar?.character&&(t.character=e.avatar.character),t}function yw(e,t){return e.filter(a=>a.seat!==t)}function xw(e,t){return Of(e.map(a=>({id:a.session,kind:a.kind,hue:ww(a.avatar?.hue)})),t)}function _w(e,t,a,n){let l=[];for(let r of yw(e,a)){let i=r.focus;i.collection!==t||!i.doc||!i.field||l.push({rowId:i.doc,field:i.field,id:r.session,name:r.displayName,kind:r.kind,hue:n.get(r.session)??"purple",editing:r.activity==="editing",idle:r.activity==="idle"})}return l}function Tw(e,t){return e.filter(a=>a.focus.collection===t)}function Ew(e,t,a){return yw(e,t).map(n=>{let l={id:n.session,seat:n.seat,name:n.displayName,kind:n.kind,activity:n.activity},r=a.get(n.session);return r&&(l.hue=r),n.avatar?.character&&(l.character=n.avatar.character),l})}var $=K(ut(),1);var Aw=K(xe(),1),Sw={xs:12,sm:14,md:16,lg:20,xl:24},Mw=1.75,r5=`var(--crewlet-glyph-stroke, ${Mw})`;function i5(e){return e===void 0?"1em":typeof e=="number"?`${e}px`:e in Sw?`${Sw[e]}px`:e}function gt({size:e,title:t,filled:a=!1,fillable:n,className:l,style:r,children:i,...o}){let s=i5(e);return(0,Aw.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:s,height:s,stroke:"currentColor",...t?{role:"img","aria-label":t}:{"aria-hidden":!0,focusable:!1},className:l===void 0?"crewlet-glyph":`crewlet-glyph ${l}`,...o,viewBox:"0 0 24 24",fill:n&&a?"currentColor":"none",strokeWidth:Mw,strokeLinecap:"round",strokeLinejoin:"round",style:{...r,strokeWidth:r5},children:i})}var U=K(xe(),1);function ru(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M12 5v14"}),(0,U.jsx)("path",{d:"m19 12-7 7-7-7"})]})}function rp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"m5 12 7-7 7 7"}),(0,U.jsx)("path",{d:"M12 19V5"})]})}function ni(e){return(0,U.jsx)(gt,{...e,fillable:!1,children:(0,U.jsx)("path",{d:"M20 6 9 17l-5-5"})})}function ip(e){return(0,U.jsx)(gt,{...e,fillable:!1,children:(0,U.jsx)("path",{d:"m15 18-6-6 6-6"})})}function li(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,U.jsx)("line",{x1:"12",x2:"12",y1:"8",y2:"12"}),(0,U.jsx)("line",{x1:"12",x2:"12.01",y1:"16",y2:"16"})]})}function op(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,U.jsx)("path",{d:"m16 9-5.5 5.5L8 12"})]})}function sp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("circle",{cx:"12",cy:"12",r:"1"}),(0,U.jsx)("circle",{cx:"19",cy:"12",r:"1"}),(0,U.jsx)("circle",{cx:"5",cy:"12",r:"1"})]})}function cp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("circle",{cx:"12",cy:"12",r:"1"}),(0,U.jsx)("circle",{cx:"12",cy:"5",r:"1"}),(0,U.jsx)("circle",{cx:"12",cy:"19",r:"1"})]})}function up(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M15 3h6v6"}),(0,U.jsx)("path",{d:"M10 14 21 3"}),(0,U.jsx)("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]})}function iu(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,U.jsx)("path",{d:"M12 16v-4"}),(0,U.jsx)("path",{d:"M12 8h.01"})]})}function dp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}),(0,U.jsx)("path",{d:"m15 5 4 4"})]})}function ou(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M5 12h14"}),(0,U.jsx)("path",{d:"M12 5v14"})]})}function hp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,U.jsx)("path",{d:"M3 3v5h5"}),(0,U.jsx)("path",{d:"M12 7v5l4 2"})]})}function fp(e){return(0,U.jsx)(gt,{...e,fillable:!0,children:(0,U.jsx)("path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"})})}function pp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M10 11v6"}),(0,U.jsx)("path",{d:"M14 11v6"}),(0,U.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}),(0,U.jsx)("path",{d:"M3 6h18"}),(0,U.jsx)("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})}function gp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),(0,U.jsx)("path",{d:"M12 9v4"}),(0,U.jsx)("path",{d:"M12 17h.01"})]})}function Do(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M18 6 6 18"}),(0,U.jsx)("path",{d:"m6 6 12 12"})]})}var _a=K(xe(),1),o5={neutral:(0,_a.jsx)(iu,{size:"md"}),info:(0,_a.jsx)(iu,{size:"md"}),success:(0,_a.jsx)(op,{size:"md"}),warning:(0,_a.jsx)(gp,{size:"md"}),danger:(0,_a.jsx)(li,{size:"md"})},ri=({variant:e="info",title:t,icon:a,layout:n="card",action:l,live:r,className:i,children:o,...s})=>(0,_a.jsxs)("div",{...s,"aria-live":r,className:k("crewlet-callout",`crewlet-callout--${e}`,`crewlet-callout--${n}`,i),children:[(0,_a.jsx)("span",{className:"crewlet-callout__icon","aria-hidden":!0,children:a??o5[e]}),(0,_a.jsxs)("div",{className:"crewlet-callout__content",children:[t?(0,_a.jsx)("span",{className:"crewlet-callout__title",children:t}):null,o]}),l?(0,_a.jsx)("div",{className:"crewlet-callout__action",children:l}):null]});var Nw=K(xe(),1);function zw({size:e="em",className:t,...a}){return(0,Nw.jsx)("span",{...a,"aria-hidden":"true",className:k("crewlet-spinner",`crewlet-spinner--${e}`,t)})}var Ow=K(xe(),1);function Rt({as:e="span",id:t,className:a,children:n}){return(0,Ow.jsx)(e,{id:t,className:k("crewlet-visually-hidden",a),children:n})}var ka=K(ut(),1);var mt=K(xe(),1);function Cw({variant:e="primary",size:t="medium",shape:a="square",block:n,flush:l,className:r},i){return k("crewlet-btn",`crewlet-btn--${e}`,`crewlet-btn--${t}`,`crewlet-btn--${a}`,n&&"crewlet-btn--block",l&&"crewlet-btn--flush",i,r)}function mp({leadingIcon:e,trailingIcon:t,loading:a,children:n}){return(0,mt.jsxs)(mt.Fragment,{children:[a?(0,mt.jsx)(zw,{className:"crewlet-btn__spinner"}):e?(0,mt.jsx)("span",{className:"crewlet-btn__icon",children:e}):null,(0,mt.jsx)("span",{className:"crewlet-btn__label",children:n}),t?(0,mt.jsx)("span",{className:"crewlet-btn__icon",children:t}):null]})}var Ra=(0,ka.forwardRef)(function({variant:t="primary",size:a="medium",shape:n="square",leadingIcon:l,trailingIcon:r,block:i,flush:o,className:s,type:c="button",asChild:h=!1,loading:v=!1,pressed:u,disabledReason:m,disabled:y,onClick:b,title:A,children:f,...d},g){let w=(0,ka.useId)(),C=Cw({variant:t,size:a,shape:n,block:i,flush:o,className:s},v?"crewlet-btn--loading":void 0);if(h){let z=ka.Children.only(f);if(!(0,ka.isValidElement)(z))throw new Error("Button with asChild expects exactly one valid React element child.");let V=z;return(0,ka.cloneElement)(V,{...d,title:A,className:k(V.props.className,C)},(0,mt.jsx)(mp,{leadingIcon:l,trailingIcon:r,children:V.props.children}))}let N=v||m!==void 0;return(0,mt.jsxs)(mt.Fragment,{children:[(0,mt.jsx)("button",{...d,ref:g,type:c,className:C,disabled:y,title:A,"aria-label":d["aria-label"]??(f===void 0?A:void 0),"aria-pressed":u,"aria-busy":v||void 0,"aria-disabled":N||void 0,"aria-describedby":m===void 0?d["aria-describedby"]:k(d["aria-describedby"],w),onClick:z=>{if(N){z.preventDefault();return}b?.(z)},children:(0,mt.jsx)(mp,{leadingIcon:l,trailingIcon:r,loading:v,children:f})}),m===void 0?null:(0,mt.jsx)(Rt,{id:w,children:m})]})}),H8=(0,ka.forwardRef)(function({variant:t="primary",size:a="medium",shape:n="square",leadingIcon:l,trailingIcon:r,block:i,flush:o,className:s,external:c=!1,title:h,children:v,...u},m){let y=r??(c?(0,mt.jsx)(up,{size:"sm"}):void 0);return(0,mt.jsx)("a",{...u,ref:m,className:Cw({variant:t,size:a,shape:n,block:i,flush:o,className:s}),title:h,"aria-label":u["aria-label"]??(v===void 0?h:void 0),target:c?"_blank":u.target,rel:c?"noreferrer":u.rel,children:(0,mt.jsx)(mp,{leadingIcon:l,trailingIcon:y,children:v})})});var Go=K(ut(),1),kw=K(xe(),1),An="crewlet:viewchange",ot=4;function ii(e,t,a,n=ot,l="below"){let r=e.y+e.height+n,i=e.y-n-t.height,o=a.y+a.height-r,s=e.y-n-a.y,h=(l==="below"?o>=t.height||o>=s:s>=t.height||s>=o)?l:l==="below"?"above":"below",v=h==="below"?r:i,u=a.y+a.height-t.height,m=Math.max(a.y,Math.min(v,u)),y=a.x+a.width-t.width;return{left:Math.max(a.x,Math.min(e.x,y)),top:m,side:h}}function oi(){return{x:0,y:0,width:window.innerWidth,height:window.innerHeight}}function si(e,t,a){let n={x:e.left-(a?t.x:0),y:e.top-(a?t.y:0),width:e.width,height:e.height};return s5(n,{x:0,y:0,width:t.width,height:t.height})}function s5(e,t){return e.x+e.width<t.x||e.y+e.height<t.y||e.x>t.x+t.width||e.y>t.y+t.height}var c5=(0,Go.createContext)(null);function sl(){let e=(0,Go.useContext)(c5);return e||(typeof document>"u"?null:document.body)}var Ge=K(ut(),1);var vp={duration:{instant:"75ms",fast:"120ms",base:"150ms",moderate:"200ms",slow:"300ms",breath:"2200ms",turn:"1000ms",sweep:"1500ms",spark:"1600ms"},easing:{default:"ease",out:"ease-out",inOut:"ease-in-out",emphasized:"cubic-bezier(0.16, 1, 0.3, 1)",spring:"cubic-bezier(0.34, 1.56, 0.64, 1)"}};var wp={base:"0",raised:"1",sticky:"10",presence:"20",dropdown:"100",overlay:"200",layerBase:"9000",layerMax:"9899",modal:"9999",popover:"10000",toast:"10001"};var Rw=Symbol.for("crewlet.layer-stack");function u5(){let e=globalThis,t=e[Rw];if(t)return t;let a={entries:[],opened:0,armed:null,listeners:new Set,version:0,locks:0,restore:null};return e[Rw]=a,a}var Ae=u5();function Hw(){Ae.version+=1;for(let e of[...Ae.listeners])e()}function d5(e){return Ae.listeners.add(e),()=>Ae.listeners.delete(e)}function ci(e){let t;for(let a of Ae.entries)e&&a.kind!==e||(!t||a.order>t.order)&&(t=a);return t}var bp={base:Number(wp.layerBase),max:Number(wp.layerMax)};function h5(e){let t=0;for(let a of Ae.entries)a.order<e&&(t+=1);return t}function f5(e){return e===0?bp.base:Math.min(bp.base+h5(e),bp.max)}var p5=229;function ui(e){let t="nativeEvent"in e&&e.nativeEvent||e;return!!t.isComposing||t.keyCode===p5}function Xl(e){let t=["a[href]","button:not([disabled])","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","[contenteditable='true']","[tabindex]"].join(",");return[...e.querySelectorAll(t)].filter(a=>a.tabIndex>=0&&!a.disabled&&!a.closest("[hidden],[inert]")&&(typeof a.checkVisibility!="function"||a.checkVisibility()))}function Dw(e){if(ui(e))return;if(e.key==="Escape"){if(e.defaultPrevented)return;let c=ci();if(!c)return;e.preventDefault(),c.dismissable()&&c.dismiss("escape");return}if(e.key!=="Tab"||e.defaultPrevented)return;let t=ci("modal"),a=t?.panel();if(!t||!a)return;let n=ci("popup"),l=document.activeElement;if(n&&n.order>t.order&&l&&n.panel()?.contains(l))return;let r=Xl(a);if(r.length===0){e.preventDefault(),a.focus();return}let i=r[0],o=r[r.length-1];if(!(l instanceof Node)||!a.contains(l)){e.preventDefault(),(e.shiftKey?o:i).focus();return}let s=c=>(l.compareDocumentPosition(c)&Node.DOCUMENT_POSITION_FOLLOWING)!==0;e.shiftKey&&!r.some(c=>c!==l&&!s(c))?(e.preventDefault(),o.focus()):!e.shiftKey&&!r.some(c=>c!==l&&s(c))&&(e.preventDefault(),i.focus())}function Gw(e){Ae.armed=null;let t=ci();if(!t||!(e.target instanceof Node))return;let a=e.target;if(t.kind==="modal"){a===t.veil()&&(Ae.armed=t);return}[t.panel(),...t.inside()].some(l=>l?.contains(a))||t.dismissable()&&t.dismiss("outside")}function Lw(e){let t=Ae.armed;Ae.armed=null,!(!t||t!==ci()||e.target!==t.veil())&&t.dismissable()&&t.dismiss("outside")}function Uw(e){return Ae.entries.length===0&&(document.addEventListener("keydown",Dw),document.addEventListener("pointerdown",Gw,!0),document.addEventListener("click",Lw,!0)),Ae.entries.push(e),Hw(),()=>{let t=Ae.entries.indexOf(e);t>=0&&Ae.entries.splice(t,1),Ae.armed===e&&(Ae.armed=null),Ae.entries.length===0&&(document.removeEventListener("keydown",Dw),document.removeEventListener("pointerdown",Gw,!0),document.removeEventListener("click",Lw,!0)),Hw()}}function Bw(e){let t=(0,Ge.useRef)(0);return e&&t.current===0&&(t.current=++Ae.opened),e||(t.current=0),t.current}function g5(e){if(!e)return[];let t;for(let n of Ae.entries)n.kind!=="modal"||!n.panel()?.contains(e)||(!t||n.order>t.order)&&(t=n);let a=t?.panel();return t&&a?[e,a,...t.returnTo]:[e]}function qw(e){return(0,Ge.useSyncExternalStore)(d5,()=>Ae.version,()=>0),{zIndex:f5(e),isTopmost:e!==0&&ci()?.order===e}}function Vw({onClose:e,dismissable:t=!0,initialFocus:a}){let n=(0,Ge.useRef)(null),l=(0,Ge.useRef)(null),r=(0,Ge.useRef)(e),i=(0,Ge.useRef)(t),o=(0,Ge.useRef)(a);r.current=e,i.current=t,o.current=a;let s=Bw(!0),[c]=(0,Ge.useState)(()=>typeof document>"u"?[]:g5(document.activeElement)),h=qw(s);(0,Ge.useLayoutEffect)(()=>Uw({kind:"modal",order:s,panel:()=>n.current,returnTo:c,veil:()=>l.current,inside:()=>[],dismiss:()=>r.current(),dismissable:()=>i.current}),[s,c]),(0,Ge.useEffect)(()=>{let m=n.current;return m&&!m.contains(document.activeElement)&&(o.current?.()??Xl(m)[0]??m).focus(),()=>{let y=document.activeElement;if(!(y&&Ae.entries.some(b=>b.panel()?.contains(y)))){for(let b of c)if(!(!(b instanceof HTMLElement)||!b.isConnected||b===document.body)&&ai(b))return}}},[c]);let v=(0,Ge.useCallback)(m=>{n.current=m},[]),u=(0,Ge.useCallback)(m=>{l.current=m},[]);return{panelRef:v,veilRef:u,...h}}function di({open:e,onDismiss:t}){let a=(0,Ge.useRef)(null),n=(0,Ge.useRef)(null),l=(0,Ge.useRef)(t);l.current=t;let r=Bw(e),i=qw(r);(0,Ge.useLayoutEffect)(()=>{if(e)return Uw({kind:"popup",order:r,panel:()=>a.current,returnTo:[],veil:()=>null,inside:()=>[n.current],dismiss:c=>l.current(c),dismissable:()=>!0})},[e,r]);let o=(0,Ge.useCallback)(c=>{a.current=c},[]),s=(0,Ge.useCallback)(c=>{n.current=c},[]);return{panelRef:o,insideRef:s,...i}}function Yw(e){(0,Ge.useLayoutEffect)(()=>{if(!(!e||typeof document>"u"))return Ae.locks===0&&(Ae.restore=document.body.style.overflow,document.body.style.overflow="hidden"),Ae.locks+=1,()=>{Ae.locks-=1,Ae.locks===0&&(document.body.style.overflow=Ae.restore??"",Ae.restore=null)}},[e])}var Ha=K(ut(),1),cl=K(xe(),1),ul=(0,Ha.forwardRef)(function({label:t,icon:a,size:n="md",variant:l="ghost",pressed:r,disabledReason:i,className:o,type:s="button",asChild:c=!1,disabled:h,onClick:v,title:u,children:m,...y},b){let A=(0,Ha.useId)(),f=k("crewlet-icon-btn",`crewlet-icon-btn--${n}`,`crewlet-icon-btn--${l}`,o),d=a??m;if(c){let w=Ha.Children.only(m);if(!(0,Ha.isValidElement)(w))throw new Error("IconButton with asChild expects exactly one valid React element child.");let E=w;return(0,Ha.cloneElement)(E,{...y,"aria-label":t,title:u??t,className:k(E.props.className,f)})}let g=i!==void 0;return(0,cl.jsxs)(cl.Fragment,{children:[(0,cl.jsx)("button",{...y,ref:b,type:s,className:f,disabled:h,title:u??t,"aria-label":t,"aria-pressed":r,"aria-disabled":g||void 0,"aria-describedby":g?k(y["aria-describedby"],A):y["aria-describedby"],onClick:w=>{if(g){w.preventDefault();return}v?.(w)},children:d}),g?(0,cl.jsx)(Rt,{id:A,children:i}):null]})}),J8=(0,Ha.forwardRef)(function({label:t,href:a,icon:n,size:l="md",variant:r="ghost",current:i=!1,className:o,title:s,...c},h){return(0,cl.jsx)("a",{...c,ref:h,href:a,className:k("crewlet-icon-btn",`crewlet-icon-btn--${l}`,`crewlet-icon-btn--${r}`,i&&"crewlet-icon-btn--current",o),title:s??t,"aria-label":t,"aria-current":i?"page":void 0,children:n})});var Da=K(ut(),1),Kw=K(nr(),1);var fe=K(xe(),1);function Iw({open:e,...t}){let a=sl();return e&&a?(0,fe.jsx)(v5,{container:a,...t},m5(a)):null}var jw=new WeakMap,yp=0;function m5(e){let t=jw.get(e);return t!==void 0?t:(yp+=1,jw.set(e,yp),yp)}function vt(e){return e!=null&&e!==!1&&e!==""}function v5({container:e,onClose:t,title:a,subtitle:n,icon:l,footer:r,footerStart:i,headerActions:o,onBack:s,backLabel:c="Back",children:h,size:v="sm",variant:u="dialog",shape:m="framed",placement:y,phoneSheet:b=!1,role:A="dialog",dismissable:f=!0,closeOnBackdrop:d=!0,backdrop:g="veil",showCloseButton:w=!0,stackBody:E=!1,flush:C=!1,className:N,ariaLabel:z,describedBy:V,initialFocus:G,onSubmit:X,closeLabel:Ce="Close",closeDisabledReason:Me="Closing is unavailable until this finishes.",...L}){let H=(0,Da.useId)(),me=`${H}-title`,O=`${H}-subtitle`,j=m==="prompt"&&u==="dialog",W=!j,Xe=u==="sheet",et=y??(j?"center":"top"),Ht=b&&u==="dialog"&&!j,yt=(0,Da.useRef)(null),D=(0,Da.useRef)(null),oe=(0,Da.useRef)(null),xt=(0,Da.useRef)(G);xt.current=G;let tt=(0,Da.useCallback)(()=>{let Te=xt.current?.();if(Te)return Te;let Je=D.current?Xl(D.current)[0]:void 0;return Je||((oe.current?Xl(oe.current)[0]:void 0)??yt.current)},[]),S=Vw({onClose:t,dismissable:f,initialFocus:tt});Yw(!0);let ve=vt(a)?me:void 0,B=V??(vt(n)?O:void 0),Q={...L,ref:Te=>{yt.current=Te,S.panelRef(Te)},className:k("crewlet-modal",`crewlet-modal--${u}`,u==="dialog"?`crewlet-modal--${v}`:void 0,j?"crewlet-modal--prompt":void 0,N),role:A,"aria-modal":!0,"aria-labelledby":ve,"aria-label":ve===void 0?z:void 0,"aria-describedby":B,tabIndex:-1},ce=W&&w,at=(0,fe.jsxs)(fe.Fragment,{children:[W&&(vt(a)||vt(n)||vt(o)||ce||s)?(0,fe.jsxs)("div",{className:k("crewlet-modal__header",Xe?"crewlet-modal__header--sheet":vt(n)?"crewlet-modal__header--subtitled":void 0),children:[s?(0,fe.jsx)(ul,{className:"crewlet-modal__back",label:c,icon:(0,fe.jsx)(ip,{size:"md"}),onClick:s}):null,vt(l)?(0,fe.jsx)("span",{className:"crewlet-modal__icon","aria-hidden":"true",children:l}):null,(0,fe.jsxs)("div",{className:"crewlet-modal__heading",children:[vt(a)?(0,fe.jsx)("h1",{className:k("crewlet-modal__title",Xe?"crewlet-modal__title--sheet":void 0),id:me,children:a}):null,vt(n)?(0,fe.jsx)("p",{className:"crewlet-modal__subtitle",id:O,children:n}):null]}),vt(o)?(0,fe.jsx)("div",{className:"crewlet-modal__actions",children:o}):null,ce?(0,fe.jsx)(ul,{className:"crewlet-modal__close",label:Ce,icon:(0,fe.jsx)(Do,{size:"md"}),onClick:t,disabledReason:f?void 0:Me}):null]}):null,vt(h)||j&&vt(a)?(0,fe.jsxs)("div",{ref:D,className:k("crewlet-modal__body",E?"crewlet-modal__body--stacked":void 0,C?"crewlet-modal__body--flush":void 0,Xe?"crewlet-modal__body--sheet":void 0),children:[j&&vt(a)?(0,fe.jsx)("p",{className:"crewlet-modal__prompt-title",id:me,children:a}):null,(0,fe.jsx)(dw,{level:2,children:h})]}):null,vt(r)||vt(i)?(0,fe.jsxs)("div",{ref:oe,className:k("crewlet-modal__footer",Xe?"crewlet-modal__footer--sheet":void 0),children:[vt(i)?(0,fe.jsx)("div",{className:"crewlet-modal__footer-start",children:i}):null,(0,fe.jsx)("div",{className:"crewlet-modal__footer-end",children:r})]}):null]});return(0,Kw.createPortal)((0,fe.jsx)("div",{ref:d?S.veilRef:void 0,className:k("crewlet-modal-overlay",`crewlet-modal-overlay--${u}`,`crewlet-modal-overlay--${et}`,Ht&&"crewlet-modal-overlay--phone-sheet",g==="clear"&&"crewlet-modal-overlay--clear",e===document.body?"crewlet-modal-overlay--fixed":"crewlet-modal-overlay--in-host"),role:"presentation",style:{zIndex:S.zIndex},children:(0,fe.jsx)("div",{...Q,children:X?(0,fe.jsx)("form",{className:"crewlet-modal__form",onSubmit:Te=>{Te.preventDefault(),X()},children:at}):at})}),e)}function xp({open:e,onClose:t,onConfirm:a,title:n,message:l,children:r,confirmLabel:i="Confirm",cancelLabel:o="Cancel",destructive:s=!1,confirmVariant:c,cancelVariant:h="ghost",confirmDisabled:v=!1,confirmDisabledReason:u="Complete the confirmation above to continue.",submitting:m=!1,busyReason:y="Waiting for this to finish.",shape:b="prompt",size:A="sm"}){let f=`${(0,Da.useId)()}-message`,d=c??(s?"danger":"primary"),g=v||m,w=(0,Da.useCallback)(()=>{g||(async()=>{try{await a()}catch{}})()},[g,a]);return(0,fe.jsxs)(Iw,{open:e,onClose:t,title:n,shape:b,size:A,role:s?"alertdialog":"dialog",describedBy:vt(l)?f:void 0,dismissable:!m,closeDisabledReason:y,onSubmit:w,stackBody:!0,footer:(0,fe.jsxs)(fe.Fragment,{children:[(0,fe.jsx)(Ra,{variant:h,onClick:t,disabledReason:m?y:void 0,children:o}),(0,fe.jsx)(Ra,{type:"submit",variant:d,loading:m,disabledReason:v?u:void 0,children:i})]}),children:[vt(l)?(0,fe.jsx)("p",{className:"crewlet-modal__message",id:f,children:l}):null,r]})}var w5=K(xe(),1);function dl(e){return`crewlet-presence-hue--${e}`}var hu=K(ut(),1);var su=K(xe(),1),Ap={paths:["M543.42 868.92 l-34.44 -0.24 0 -58.77 0 -58.77 -28.92 0 -28.80 0 -40.20 -39.61 c-119.78 -118.25 -181.49 -179.97 -204.30 -204.30 -15.87 -16.93 -82.75 -96.74 -92.51 -110.38 l-3.76 -5.17 26.80 -18.46 c14.69 -10.11 34.09 -23.51 43.14 -29.86 55.25 -38.32 70.29 -48.43 71.12 -47.49 0.47 0.47 11.64 13.87 24.69 29.74 13.17 15.87 27.98 33.62 32.80 39.50 4.94 5.88 21.63 26.10 37.15 44.90 15.52 18.81 28.56 34.21 29.15 34.21 0.47 0.12 0.82 -30.44 0.82 -67.83 l0 -68.06 37.26 -34.56 c43.38 -40.20 61.83 -57.13 75.11 -69 l9.52 -8.46 261.78 0 261.90 0 47.14 45.73 c25.98 25.16 52.43 51.02 58.66 57.36 l11.52 11.52 0.24 67.94 0.35 67.83 31.74 -40.79 c17.51 -22.33 34.91 -45.02 38.91 -50.19 15.16 -20.34 44.32 -57.72 45.14 -58.07 0.71 -0.24 104.97 75.82 126.83 92.51 2.23 1.65 4.58 3.41 5.17 3.76 1.65 1.18 -7.99 14.22 -46.08 62.07 -35.38 44.32 -49.84 61.13 -92.39 106.97 -19.28 20.81 -38.91 41.73 -148.70 157.40 l-34.68 36.56 -26.45 0.12 c-19.04 0 -26.92 0.35 -27.98 1.41 -1.06 1.06 -1.41 15.05 -1.41 55.72 l0 54.31 -34.91 0.47 c-19.28 0.24 -53.72 0.24 -76.41 0 l-41.49 -0.47 0 -55.72 0 -55.72 -99.33 0 -99.33 0 -0.24 56.19 -0.35 56.07 -39.97 0 c-21.98 0 -55.48 -0.12 -74.29 -0.35z m94.74 -13.87 l7.17 -0.82 0 -54.89 c0 -49.02 0.24 -55.13 1.88 -55.72 1.06 -0.35 51.84 -0.71 112.85 -0.71 l110.97 0 0 55.84 0 55.84 62.89 0 62.89 0 0 -55.84 0 -55.84 31.50 0 31.50 0 14.69 -14.93 c30.80 -31.50 113.20 -118.49 144.47 -152.58 48.66 -53.01 81.34 -90.28 104.85 -119.43 22.80 -28.45 44.43 -56.42 44.43 -57.48 0 -0.59 -2 -2.47 -4.35 -4.23 -2.47 -1.76 -7.05 -5.17 -10.34 -7.64 -3.17 -2.35 -16.93 -12.34 -30.56 -22.22 -13.52 -9.87 -33.50 -24.57 -44.43 -32.68 -16.34 -12.11 -19.98 -14.34 -21.39 -13.17 -0.94 0.82 -5.88 6.82 -10.81 13.40 -4.94 6.47 -13.99 18.46 -20.10 26.57 -6.23 8.11 -26.57 34.44 -45.37 58.54 -18.81 24.10 -36.56 47.02 -39.50 50.78 -5.29 7.05 -5.29 7.05 -11.40 7.05 l-6.23 0 0 -79.58 0 -79.58 -37.85 -37.03 c-20.92 -20.45 -45.14 -44.08 -53.95 -52.66 l-15.99 -15.63 -256.84 0 -256.73 0 -47.49 44.20 c-26.21 24.33 -51.13 47.49 -55.60 51.37 l-7.88 7.05 0 79.11 0 79.23 -6.35 0 -6.35 0 -48.66 -58.54 c-26.80 -32.09 -55.95 -67.24 -64.89 -78.17 -8.93 -10.81 -16.69 -19.63 -17.16 -19.63 -0.94 0 -8.58 5.17 -34.32 22.92 -34.21 23.74 -46.08 31.86 -62.65 43.26 -10.34 7.05 -19.28 13.28 -19.87 13.87 -0.59 0.47 2.35 5.05 6.47 10.11 13.87 16.93 53.13 63.12 66.77 78.40 21.86 24.57 83.81 87.69 145.41 148.23 31.62 31.03 68.65 67.36 82.28 80.76 l24.69 24.45 33.50 0.24 33.38 0.35 0.35 59.13 0.24 59.01 53.37 0 c29.27 0 56.54 -0.35 60.54 -0.71z","M535.78 783.81 l-0.35 -59.13 -36.67 0 -36.67 0 -6.82 -6.47 c-48.78 -46.43 -176.91 -173.03 -210.41 -207.82 -24.69 -25.74 -75.70 -81.70 -93.69 -102.85 -3.29 -3.88 -5.29 -7.17 -4.70 -7.76 1.29 -1.06 58.30 -40.32 82.05 -56.42 l16.34 -11.05 3.64 4.47 c11.05 13.87 76.99 92.51 98.98 118.14 l25.74 29.97 15.63 0.35 15.52 0.35 0 -82.87 0 -82.75 50.55 -46.67 c27.86 -25.74 50.55 -47.14 50.55 -47.72 0 -0.59 46.78 -1.06 111.55 -1.06 l111.55 0 15.52 14.81 c15.28 14.58 15.52 14.69 17.98 12.58 1.29 -1.18 8.46 -7.76 15.75 -14.58 l13.40 -12.46 17.75 -0.71 c9.76 -0.47 58.77 -0.82 108.85 -0.82 l90.98 0 14.34 13.75 c7.76 7.64 24.57 23.86 37.15 36.20 12.58 12.34 29.15 28.45 36.67 35.85 l13.87 13.40 0.24 82.87 0.35 82.99 14.22 0.35 14.34 0.35 4.47 -5.64 c2.47 -3.06 11.52 -14.11 19.98 -24.45 8.46 -10.34 30.56 -38.32 49.14 -62.30 43.85 -56.42 46.20 -59.36 48.43 -59.36 2.12 0 4.82 1.88 47.96 33.27 43.02 31.27 45.37 33.03 45.37 34.09 0 0.82 -39.03 46.20 -62.42 72.53 -62.42 70.29 -106.50 117.67 -184.08 197.60 l-50.78 52.43 -13.28 0.71 c-7.29 0.47 -23.98 0.82 -37.03 0.82 l-23.86 0 0 57.01 0 57.01 -49.37 0 -49.37 0 0 -56.42 0 -56.42 -114.37 0 c-63.01 0 -120.13 0.35 -126.95 0.82 l-12.58 0.71 0 55.72 0 55.60 -47.61 0 -47.61 0 -0.24 -59.01z m443.16 -373.22 l-0.35 -119.66 -223.93 0.12 -223.93 0.12 -0.35 119.43 -0.24 119.55 224.52 0 224.52 0 -0.24 -119.55z","M546.36 516.39 c-0.24 -0.59 -0.47 -4.94 -0.35 -9.76 0 -4.82 0.12 -52.54 0.35 -106.15 l0.24 -97.21 209.59 0.24 209.47 0.35 0.35 106.73 0.24 106.62 -209.71 0 c-115.43 0 -209.94 -0.35 -210.18 -0.82z m121.07 -100.50 l-0.35 -66.18 -34.32 -0.35 -34.44 -0.24 0 66.41 0 66.41 34.68 0 34.68 0 -0.24 -66.06z m260.96 0 l-0.35 -66.18 -34.09 0 -34.09 0 0 10.93 c0 5.88 0.12 35.62 0.35 66.06 l0.24 55.25 34.09 0 34.09 0 -0.24 -66.06z"],box:{left:110.48999999999992,top:196.30999999999992,right:1389.0800000000002,bottom:869.2899999999998},centroid:{x:755.6746766446299,y:497.3295661269271}},uu=e=>e.reduce((t,a,n)=>{let l=e[(n+1)%e.length];return t+a[0]*l[1]-l[0]*a[1]},0);function Xw(e,t,a){for(let n of e)n.forEach((l,r)=>{let i=n[(r+1)%n.length];l[1]!==i[1]&&a.push(l[1]<i[1]?{x0:l[0],y0:l[1],x1:i[0],y1:i[1],wind:1,add:t}:{x0:i[0],y0:i[1],x1:l[0],y1:l[1],wind:-1,add:t})})}var hi=(e,t)=>t===e.y0?e.x0:t===e.y1?e.x1:e.x0+(t-e.y0)*(e.x1-e.x0)/(e.y1-e.y0);function b5(e){let t=new Set;for(let a of e)t.add(a.y0),t.add(a.y1);for(let a=0;a<e.length;a+=1){let n=e[a];for(let l=a+1;l<e.length&&e[l].y0<n.y1;l+=1){let r=e[l],i=Math.max(n.y0,r.y0),o=Math.min(n.y1,r.y1);if(o<=i)continue;let s=hi(n,i)-hi(r,i),c=hi(n,o)-hi(r,o);s*c<0&&t.add(i+(o-i)*s/(s-c))}}return[...t].sort((a,n)=>a-n)}var y5=1e-9;function x5(){let e=new Map;return(t,a)=>{let n=e.get(t);n||e.set(t,n=[]);for(let l of n)if(Math.abs(l-a)<=y5)return l;return n.push(a),a}}function _5(e,t,a,n){let l=e.map(h=>({e:h,a:n(t,hi(h,t)),b:n(a,hi(h,a))})).sort((h,v)=>h.a+h.b-(v.a+v.b)),r=[],i=0,o=0,s=!1,c=[0,0];for(let h=0;h<l.length;){let{a:v,b:u}=l[h];for(;h<l.length&&l[h].a===v&&l[h].b===u;h+=1){let{e:y}=l[h];y.add?i+=y.wind:o+=y.wind}let m=i!==0&&o===0;m&&!s?c=[v,u]:!m&&s&&r.push({left:c,right:[v,u]}),s=m}return r}function Qw(e,t){let a=[],n=0;for(let[l,r]of e){let i=l;for(;n<t.length&&t[n][1]<=i;)n+=1;for(let o=n;o<t.length&&t[o][0]<r&&i<r;o+=1){let[s,c]=t[o];s>i&&a.push([i,s]),i=Math.max(i,c)}i<r&&a.push([i,r])}return a}function T5(e,t){let a=[];return t.forEach((n,l)=>{let r=e[l],i=e[l+1];for(let{left:o,right:s}of n)a.push([[s[0],r],[s[1],i]]),a.push([[o[1],i],[o[0],r]])}),e.forEach((n,l)=>{let r=l>0?t[l-1].map(({left:o,right:s})=>[o[1],s[1]]):[],i=l<t.length?t[l].map(({left:o,right:s})=>[o[0],s[0]]):[];for(let[o,s]of Qw(i,r))a.push([[o,n],[s,n]]);for(let[o,s]of Qw(r,i))a.push([[s,n],[o,n]])}),a.filter(([n,l])=>n[0]!==l[0]||n[1]!==l[1])}var Mp=1e-9;function E5(e){let t=[...e],a=!0;for(;a&&t.length>=3;){a=!1;let n=[];for(let l=0;l<t.length;l+=1){let r=n.length>0?n[n.length-1]:t[t.length-1],i=t[l],o=t[(l+1)%t.length],s=i[0]-r[0],c=i[1]-r[1],h=o[0]-i[0],v=o[1]-i[1],u=Math.hypot(s,c)<Mp,m=Math.abs(s*v-c*h)<Mp;if(u||m){a=!0;continue}n.push(i)}t=n}return t}function S5(e){let t=r=>`${r[0]} ${r[1]}`,a=new Map;e.forEach(([r],i)=>{let o=a.get(t(r));o?o.push(i):a.set(t(r),[i])});let n=new Uint8Array(e.length),l=[];return e.forEach((r,i)=>{if(n[i])return;let o=[],s=i;for(;s!==void 0;){n[s]=1;let[c,h]=e[s];if(o.push(c),h[0]===r[0][0]&&h[1]===r[0][1])break;s=a.get(t(h))?.find(v=>!n[v])}l.push(o)}),l.map(E5).filter(r=>r.length>=3&&Math.abs(uu(r))>Mp)}function Np(e,t=[]){let a=[];Xw(e,!0,a),Xw(t,!1,a),a.sort((s,c)=>s.y0-c.y0);let n=b5(a),l=x5(),r=[],i=0,o=[];for(let s=0;s+1<n.length;s+=1){let c=n[s],h=n[s+1];for(;i<a.length&&a[i].y0<=c;)o.push(a[i++]);o=o.filter(v=>v.y1>c),r.push(_5(o,c,h,l))}return S5(T5(n,r))}var A5=e=>e.reduce((t,a)=>t+uu(a),0)/2;function M5(e){let t=0,a=0;for(let l of e)l.forEach((r,i)=>{let o=l[(i+1)%l.length],s=r[0]*o[1]-o[0]*r[1];t+=(r[0]+o[0])*s,a+=(r[1]+o[1])*s});let n=6*A5(e);return[t/n,a/n]}var _p=e=>uu(e)<0?e.reverse():e;function tb(e,t,a=4){let n=[];for(let l of e)l.forEach((r,i)=>{let o=l[(i+1)%l.length],s=l[(i+2)%l.length],c=Math.hypot(o[0]-r[0],o[1]-r[1]),h=(o[1]-r[1])/c,v=-(o[0]-r[0])/c,u=Math.hypot(s[0]-o[0],s[1]-o[1]),m=(s[1]-o[1])/u,y=-(s[0]-o[0])/u,b=t;n.push(_p([[r[0]+h*b,r[1]+v*b],[o[0]+h*b,o[1]+v*b],[o[0]-h*b,o[1]-v*b],[r[0]-h*b,r[1]-v*b]]));let A=(o[0]-r[0])*(s[1]-o[1])-(o[1]-r[1])*(s[0]-o[0]);if(A===0)return;let f=A>0?1:-1,d=[o[0]+f*h*b,o[1]+f*v*b],g=[o[0]+f*m*b,o[1]+f*y*b],w=h+m,E=v+y,C=w*w+E*E;if(C>0&&2/Math.sqrt(C)<=a){let N=[o[0]+f*w*2*b/C,o[1]+f*E*2*b/C];n.push(_p([o,d,N,g]))}else n.push(_p([o,d,g]))});return n}var Zw=e=>Math.round(e*100)/100;function Jw(e){return e.map(t=>`M${t.map(([n,l])=>`${Zw(n)} ${Zw(l)}`).filter((n,l,r)=>n!==r[l-1]).join("L")}Z`).join("")}var ab=["crewlet","hexlet","peaklet","prismlet","towerlet","bricklet","gemlet","coglet","pluslet","shieldlet","stacklet","sparklet","cloudlet","foxlet","rocketlet","crownlet","cactlet","wisplet","heartlet","flasklet","chiplet","duolet","chatlet","pagelet","archlet","dashlet","octlet","conelet","hivelet","folderlet"],Uo=e=>typeof e=="string"&&ab.includes(e),cu=96,N5=1.35,nb=.9,Lo=1.3,z5=2,Tp={full:{width:.164,height:.62},compact:{width:.19,height:.68},offset:.312},Ep={half:3.2,depth:2.6},Fw=e=>Math.round(e*100)/100;function $w(e,t){let a=[];return e.forEach((n,l)=>{let r=typeof t=="number"?t:t[l]??0;if(!r){a.push(n);return}let i=o=>{let s=o[0]-n[0],c=o[1]-n[1],h=Math.min(r/Math.hypot(s,c),.45);return[n[0]+s*h,n[1]+c*h]};a.push(i(e[(l-1+e.length)%e.length]),i(e[(l+1)%e.length]))}),a}var Ww=e=>`M${e.map(([t,a])=>`${Fw(t)} ${Fw(a)}`).join("L")}Z`;function Ue(e,t=0){let a=typeof t=="number"?e.map(()=>t):t;return uu(e)<0?$w([...e].reverse(),[...a].reverse()):$w(e,a)}var pe=(e,t,a,n,l=0)=>Ue([[e,t],[e+a,t],[e+a,t+n],[e,t+n]],l),Le=(e,t,a,n=10)=>[pe(e,a,n,cu-a),pe(t,a,n,cu-a)];function O5(e,t,a,n,l){let r=[];for(let i=0;i<l;i+=1){let o=(i*360/l-90)*(Math.PI/180);for(let[s,c]of[[n,-15],[a,-8.5],[a,8.5],[n,15]]){let h=o+c*(Math.PI/180);r.push([e+s*Math.cos(h),t+s*Math.sin(h)])}}return Ue(r)}function C5(e){let t=e.flat(),a=t.map(([i])=>i),n=t.map(([,i])=>i),l=Math.min(...a),r=Math.min(...n);return{x:l,y:r,width:Math.max(...a)-l,height:Math.max(...n)-r}}var k5=([e,t,a,n])=>({x:e,y:t,width:a,height:n}),lb=new WeakMap;function _e(e){let t=e.holes??[],a,n={kind:"drawn",name:e.name,shape:e.shape,shapes:e.shapes.map(Ww),holes:t.map(Ww),visor:k5(e.visor),notch:e.notch===void 0?null:[e.notchX??50,e.notch],get bounds(){return a??(a=C5([...Cp(n),...rb(n)]))}};return lb.set(n,{parts:e.shapes,holes:t}),n}var du=e=>lb.get(e);function Cp(e){let t=du(e);return t.silhouette??(t.silhouette=Np(t.parts))}function rb(e){let t=du(e);return t.reach??(t.reach=tb(Cp(e),nb+N5))}var zp=.095,ib=760,ob=869,Op=(e,t)=>[50+(e-ib)*zp,cu+(t-ob)*zp],R5=Op(Ap.centroid.x,Ap.centroid.y);function H5(){let{paths:e,box:t}=Ap,[a,n]=Op(t.left,t.top),[l,r]=Op(t.right,t.bottom);return{kind:"mark",name:"Crewlet",shape:"The original mark, arms raised",transform:`translate(50 ${cu}) scale(${zp}) translate(${-ib} ${-ob})`,keyline:e[0],body:[e[1],e[2]],bounds:{x:a,y:n,width:l-a,height:r-n}}}var kp={crewlet:H5(),hexlet:_e({name:"Hexlet",shape:"Hexagon with pointed flanks",shapes:[Ue([[30,22],[70,22],[86,54],[70,86],[30,86],[14,54]],[5,5,4,4,4,4]),...Le(34,56,84)],visor:[28,38,44,20],notch:22}),peaklet:_e({name:"Peaklet",shape:"Pentagon with a peaked roof",shapes:[Ue([[50,12],[82,36],[82,86],[18,86],[18,36]],[6,5,4,4,5]),...Le(28,62,84)],visor:[26,44,48,20]}),prismlet:_e({name:"Prismlet",shape:"Triangle with cut tips",shapes:[Ue([[50,10],[90,86],[10,86]],[9,8,8]),...Le(28,62,84)],visor:[31,54,38,18]}),towerlet:_e({name:"Towerlet",shape:"Tall pillar, narrow stance",shapes:[pe(32,12,36,74,[8,8,4,4]),...Le(35,55,84)],visor:[36,24,28,16],notch:12}),bricklet:_e({name:"Bricklet",shape:"Wide, low slab",shapes:[pe(10,42,80,44,[9,9,6,6]),...Le(22,68,84)],visor:[21,50,58,19],notch:42}),gemlet:_e({name:"Gemlet",shape:"Diamond on its point",shapes:[Ue([[50,6],[90,48],[50,90],[10,48]],[7,7,16,7]),...Le(40,52,76,8)],visor:[27,38,46,20]}),coglet:_e({name:"Coglet",shape:"Eight-tooth gear",shapes:[O5(50,52,37,31,8),...Le(36,54,78)],visor:[30,40,40,18]}),pluslet:_e({name:"Pluslet",shape:"Cross with squared arms",shapes:[pe(34,14,32,72,[7,7,0,0]),pe(10,34,80,30,7),...Le(37,53,84)],visor:[20,40,60,18],notch:14}),shieldlet:_e({name:"Shieldlet",shape:"Flat crown, pointed base",shapes:[Ue([[16,16],[84,16],[84,54],[50,92],[16,54]],[9,9,5,14,5]),...Le(41,51,79,8)],visor:[26,28,48,20],notch:16}),stacklet:_e({name:"Stacklet",shape:"Stepped crown, square base",shapes:[Ue([[34,12],[66,12],[66,26],[82,26],[82,86],[18,86],[18,26],[34,26]],[4,4,0,5,4,4,5,0]),...Le(28,62,84)],visor:[26,40,48,20],notch:12}),sparklet:_e({name:"Sparklet",shape:"Faceted drop",shapes:[Ue([[50,8],[80,48],[78,74],[64,86],[36,86],[22,74],[20,48]],[6,4,2,2,2,2,4]),...Le(36,54,84)],visor:[30,48,40,18]}),cloudlet:_e({name:"Cloudlet",shape:"Three-lobed cloud",shapes:[pe(14,44,72,42,[0,0,8,8]),pe(16,30,32,32,9),pe(33,18,34,34,10),pe(56,32,30,30,9),...Le(30,60,84)],visor:[24,48,52,18],notch:18}),foxlet:_e({name:"Foxlet",shape:"Square body, pointed ears",shapes:[pe(18,34,64,52,6),Ue([[20,36],[26,12],[44,36]],[0,4,0]),Ue([[56,36],[74,12],[80,36]],[0,4,0]),...Le(28,62,84)],visor:[26,46,48,20]}),rocketlet:_e({name:"Rocketlet",shape:"Nose cone and swept fins",shapes:[Ue([[50,6],[66,26],[66,80],[34,80],[34,26]],[5,3,3,3,3]),Ue([[34,54],[34,80],[18,90],[18,70]],[0,0,3,3]),Ue([[66,54],[82,70],[82,90],[66,80]],[0,3,3,0]),...Le(37,55,80,8)],visor:[37,32,26,16]}),crownlet:_e({name:"Crownlet",shape:"Three-point crown",shapes:[pe(18,40,64,46,[0,0,6,6]),Ue([[18,44],[18,18],[34,32],[50,12],[66,32],[82,18],[82,44]],[0,3,0,3,0,3,0]),...Le(28,62,84)],visor:[27,48,46,20]}),cactlet:_e({name:"Cactlet",shape:"Trunk with two raised arms",shapes:[pe(32,12,36,74,[10,10,0,0]),pe(16,50,18,9,[0,0,0,3]),pe(16,28,9,31,[4.5,4.5,0,3]),pe(66,58,18,9,[0,0,3,0]),pe(75,38,9,29,[4.5,4.5,3,0]),...Le(36,54,84)],visor:[37,26,26,16],notch:12}),wisplet:_e({name:"Wisplet",shape:"Tall ghost with a zigzag hem",shapes:[Ue([[16,10],[84,10],[84,92],[72.5,82],[61,92],[50,82],[39,92],[27.5,82],[16,92]],[14,14,2,0,2,0,2,0,2])],visor:[26,28,48,20],notch:10}),heartlet:_e({name:"Heartlet",shape:"Faceted heart",shapes:[Ue([[50,26],[62,14],[78,14],[90,26],[90,44],[50,84],[10,44],[10,26],[22,14],[38,14]],[0,3,3,3,4,6,4,3,3,3]),...Le(41,51,74,8)],visor:[23,30,54,18]}),flasklet:_e({name:"Flasklet",shape:"Lab flask with a narrow neck",shapes:[pe(35,6,30,7,2),pe(40,10,20,22),Ue([[40,28],[60,28],[86,80],[86,86],[14,86],[14,80]],[0,0,6,3,3,6]),...Le(26,64,84)],visor:[33,54,34,14],notch:6}),chiplet:_e({name:"Chiplet",shape:"Square chip with pins",shapes:[pe(24,20,52,60,6),...[31,47,63].map(e=>pe(e,11,6,10)),...[32,47,62].map(e=>pe(15,e,10,6)),...[32,47,62].map(e=>pe(75,e,10,6)),...[31,47,63].map(e=>pe(e,78,6,18))],holes:[pe(29,70,5,5)],visor:[31,34,38,18]}),duolet:_e({name:"Duolet",shape:"Small head on a wide body",shapes:[pe(30,10,40,34,8),pe(18,40,64,46,6),...Le(28,62,84)],visor:[36,19,28,15],notch:10}),chatlet:_e({name:"Chatlet",shape:"Speech bubble with a tail",shapes:[pe(14,22,72,54,8),Ue([[26,72],[46,72],[22,94]],[0,0,2])],visor:[24,34,52,22],notch:22}),pagelet:_e({name:"Pagelet",shape:"Page with a folded corner",shapes:[Ue([[20,10],[64,10],[80,26],[80,86],[20,86]],[4,0,0,4,4]),...Le(28,62,84)],holes:[pe(63.3,10,1.4,17.4),pe(63.3,25.3,17,1.4)],visor:[27,36,46,20],notch:10}),archlet:_e({name:"Archlet",shape:"Gate with built-in legs",shapes:[Ue([[16,18],[84,18],[84,96],[64,96],[64,74],[36,74],[36,96],[16,96]],[8,8,0,0,4,4,0,0])],visor:[25,30,50,22],notch:18}),dashlet:_e({name:"Dashlet",shape:"Body leaning forward",shapes:[Ue([[29,14],[87,14],[71,86],[13,86]],6),...Le(20,48,84)],visor:[31.5,28,42,20],notch:14,notchX:58}),octlet:_e({name:"Octlet",shape:"Regular octagon",shapes:[pe(16,16,68,68,20),...Le(35,55,81)],visor:[26,36,48,22],notch:16}),conelet:_e({name:"Conelet",shape:"Narrow crown, wide base",shapes:[Ue([[30,12],[70,12],[88,84],[12,84]],[6,6,5,5]),...Le(26,64,82)],visor:[28,40,44,20],notch:12}),hivelet:_e({name:"Hivelet",shape:"Upright honeycomb cell",shapes:[Ue([[50,6],[84,24],[84,72],[50,90],[16,72],[16,24]],[6,4,4,6,4,4]),...Le(40,52,80,8)],visor:[25,36,50,20]}),folderlet:_e({name:"Folderlet",shape:"Folder with a tab",shapes:[Ue([[12,14],[38,14],[50,26],[88,26],[88,84],[12,84]],[4,0,0,6,5,5]),...Le(26,64,82)],visor:[24,40,52,22]})},Pw=.5,Sp=(e,t,a,n)=>[[e,t],[e+a,t],[e+a,t+n],[e,t+n]];function D5(e){let t=1/0;return e.forEach((a,n)=>{let l=e[(n+1)%e.length],r=Math.hypot(l[0]-a[0],l[1]-a[1]);if(r===0)return;let i=Math.max(...e.map(o=>Math.abs((l[0]-a[0])*(o[1]-a[1])-(l[1]-a[1])*(o[0]-a[0]))/r));t=Math.min(t,i)}),t}function G5(e,t){let{visor:a,notch:n}=e,l=t==="full",r=l?Tp.full:Tp.compact,i=a.width*r.width,o=a.height*r.height,s=a.y+(a.height-o)/2,c=a.x+a.width/2,h=a.width*Tp.offset,v=[c-h,c+h].map(u=>Sp(u-i/2,s,i,o));n&&v.push([[n[0]-Ep.half,n[1]-1],[n[0]+Ep.half,n[1]-1],[n[0],n[1]+Ep.depth]]);for(let u of du(e).holes)(l||D5(u)>z5)&&v.push(u);if(l){let u=Lo/2;v.push(Sp(a.x-u,a.y-u,a.width+Lo,a.height+Lo)),v.push([...Sp(a.x+u,a.y+u,a.width-Lo,a.height-Lo)].reverse())}return v}function sb(e,t){let a=e.x+e.width/2,n=e.y+e.height/2,l=a+Pw*(t[0]-a),r=n+Pw*(t[1]-n),i=Math.max(e.width+2*Math.abs(l-a),e.height+2*Math.abs(r-n));return{x:l-i/2,y:r-i/2,width:i,height:i}}function L5(e){let{parts:t}=du(e),a=Cp(e),n={},l=i=>Jw(Np(t,G5(e,i))),r=()=>Jw(Np([...a,...rb(e)],[...a,...tb(a,nb)]));return{frame:sb(e.bounds,M5(a)),paths:i=>n[i]??(n[i]=i==="full"?[r(),l("full")]:[l("compact")])}}var eb=new Map;function U5(e){let t=eb.get(e);if(t)return t;let a=kp[e];if(a.kind==="mark"){let n=[a.keyline,...a.body];t={frame:sb(a.bounds,R5),paths:l=>l==="full"?n:a.body}}else t=L5(a);return eb.set(e,t),t}var B5=e=>Math.round(e*100)/100,q5=({character:e,detail:t="full",...a})=>{let n=kp[e],{frame:l,paths:r}=U5(e),i=r(t).map(o=>(0,su.jsx)("path",{d:o},o));return(0,su.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:[l.x,l.y,l.width,l.height].map(B5).join(" "),width:"1em",height:"1em","aria-hidden":"true",focusable:"false","data-character":e,"data-detail":t,...a,children:(0,su.jsx)("g",{fill:"currentColor",transform:n.kind==="mark"?n.transform:void 0,children:i})})},Rp=q5;var wt=K(xe(),1);var V5={working:"working",needs:"needs you",stopped:"stopped"},Hp={xs:20,sm:26,md:32,lg:40},Y5=16;var j5=/^agent(?:[\s._-]+)(?=\S)/i;function cb(e,t){if(e===void 0||t!=="agent")return e;let a=e.replace(j5,"");return a.trim()?a:e}var K5=56,ub=e=>{if(!e)return"?";let t=e.trim().split(/[\s\-_.:]+/).map(r=>r.replace(/^\p{P}+|\p{P}+$/gu,"")).filter(Boolean);if(t.length===0)return"?";let a=r=>(Array.from(r)[0]??"").toUpperCase();if(t.length>=2)return t.slice(0,2).map(a).join("")||"?";let n=t[0],l=n.split(/(?<=\p{Ll})(?=\p{Lu})/u);return l.length>=2?l.slice(0,2).map(a).join(""):Array.from(n).slice(0,2).map(r=>r.toUpperCase()).join("")||"?"},I5=10,X5=e=>{let t=0;for(let a=0;a<e.length;a+=1)t=t*31+e.charCodeAt(a)>>>0;return t%I5};function Q5(e){return e==="text"?Y5:typeof e=="number"?e:Hp[e]}var Bo=({src:e,name:t,size:a="md",kind:n="agent",tone:l="neutral",ring:r,status:i,mark:o,markLabel:s,decorative:c=!1,colorSeed:h,character:v,hue:u,icon:m,className:y,style:b,...A})=>{let[f,d]=(0,hu.useState)(!1);(0,hu.useEffect)(()=>{d(!1)},[e]);let g=a==="text",w=typeof a=="number"||g?null:a,E=Q5(a),C=w===null&&!g?{"--crewlet-avatar-size":`${E}px`,fontSize:Math.max(9,Math.round(E*.36))}:{},N=l==="seeded"?X5(h??t??""):null,z=i===void 0&&o!==void 0&&o!==null,V=i!==void 0||z,G=i!==void 0?V5[i]:z?s:void 0,X=t?`${t} avatar`:"Avatar",Ce=G?`${X}, ${G}`:X,Me=k("crewlet-avatar",`crewlet-avatar--${n}`,w===null?null:`crewlet-avatar--${w}`,g?"crewlet-avatar--text":null,V?"crewlet-avatar--notched":null,r===void 0||V?null:`crewlet-avatar--ring-${r}`,V?null:y),L=V?C:{...C,...b};function H(){return v!==void 0&&n==="agent"?(0,wt.jsx)("span",{...A,className:k(Me,"crewlet-avatar--character",u===void 0?"crewlet-avatar--neutral":`crewlet-avatar--hue-${u}`),style:L,role:c?void 0:"img","aria-hidden":c?!0:void 0,"aria-label":c?void 0:Ce,children:(0,wt.jsx)(Rp,{className:"crewlet-avatar__character",character:v,detail:E>=K5?"full":"compact"})}):e&&!f?(0,wt.jsx)("img",{...A,className:k(Me,"crewlet-avatar--image"),style:L,src:e,alt:c?"":G?`${t??""}, ${G}`:t??"","aria-hidden":c?!0:void 0,onError:()=>d(!0)}):(0,wt.jsx)("span",{...A,className:k(Me,"crewlet-avatar--fallback",`crewlet-avatar--${l}`,N===null?null:`crewlet-avatar--tint-${N}`,m==null?null:"crewlet-avatar--icon"),style:L,role:c?void 0:"img","aria-hidden":c?!0:void 0,"aria-label":c?void 0:Ce,children:m==null?g?(0,wt.jsx)("span",{className:"crewlet-avatar__initials",children:ub(cb(t,n))}):ub(cb(t,n)):(0,wt.jsx)("span",{className:"crewlet-avatar__icon","aria-hidden":"true",children:m})})}let me=H();return V?(0,wt.jsxs)("span",{className:k("crewlet-avatar-frame",y),style:g?b:{"--crewlet-avatar-size":`${E}px`,...b},children:[me,i!==void 0?(0,wt.jsx)("span",{className:`crewlet-avatar__status crewlet-avatar__status--${i}`,"aria-hidden":"true",children:Z5[i]}):(0,wt.jsx)("span",{className:"crewlet-avatar__status crewlet-avatar__status--mark","aria-hidden":"true",children:o})]}):me},Z5={working:(0,wt.jsx)("svg",{viewBox:"0 0 14 14",focusable:"false",children:(0,wt.jsx)("path",{d:"M5.4 3.9 10.2 7l-4.8 3.1z",fill:"currentColor"})}),needs:(0,wt.jsxs)("svg",{viewBox:"0 0 14 14",focusable:"false",children:[(0,wt.jsx)("path",{d:"M5.1 5.3a1.9 1.9 0 1 1 2.7 1.7c-.55.27-.8.62-.8 1.15v.3",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,wt.jsx)("circle",{cx:"7",cy:"10.45",r:".85",fill:"currentColor"})]}),stopped:(0,wt.jsx)("svg",{viewBox:"0 0 14 14",focusable:"false",children:(0,wt.jsx)("rect",{x:"4.6",y:"4.6",width:"4.8",height:"4.8",rx:".7",fill:"currentColor"})})};var Mn=K(xe(),1);function Dp({members:e,self:t=!0,max:a=4,size:n="sm",onSelect:l,label:r,labels:i,className:o}){if(!Number.isInteger(a)||a<1)throw new RangeError(`PresenceStack max must be a whole number of at least 1; it was ${a}`);let s=Co(i),c=zf(e);if(c.length===0&&!t)return null;let h=c.slice(0,a),v=c.slice(a),u=r??s.here(c.length,t),m=[u,...c.map(f=>s.member(f))].join(". "),y=f=>(0,Mn.jsx)(Bo,{name:f.name,kind:f.kind,src:f.src,character:f.character!==void 0&&Uo(f.character)?f.character:void 0,hue:f.kind==="agent"?f.hue:void 0,size:n,decorative:!0,className:k("crewlet-presence-stack__badge",f.hue!==void 0&&f.activity!=="idle"&&dl(f.hue),f.hue!==void 0&&f.activity!=="idle"&&"crewlet-presence-stack__badge--present",f.activity==="idle"&&"crewlet-presence-stack__badge--idle")}),b=v.length>0?(0,Mn.jsxs)("span",{className:"crewlet-avatar-stack__member crewlet-avatar-stack__more","aria-hidden":"true",children:["+",v.length]}):null,A={"--crewlet-avatar-stack-size":`${Hp[n]}px`};return l===void 0?c.length===0?null:(0,Mn.jsxs)("span",{className:k("crewlet-avatar-stack","crewlet-presence-stack",o),style:A,role:"img","aria-label":m,children:[h.map(f=>(0,Mn.jsx)("span",{className:k("crewlet-avatar-stack__member","crewlet-presence-stack__member",`crewlet-presence-stack__member--${f.kind}`),children:y(f)},f.id)),b]}):(0,Mn.jsxs)("div",{className:k("crewlet-avatar-stack","crewlet-presence-stack",o),style:A,role:"group","aria-label":u,children:[h.map(f=>(0,Mn.jsx)("button",{type:"button",className:k("crewlet-avatar-stack__member","crewlet-presence-stack__member",`crewlet-presence-stack__member--${f.kind}`),"aria-label":s.member(f),title:s.member(f),onClick:()=>l(f),children:y(f)},f.id)),b,v.length>0?(0,Mn.jsx)(Rt,{children:`${s.more(v.length)}: ${v.map(f=>s.member(f)).join(", ")}`}):null]})}var Gp=K(ut(),1),J5=K(xe(),1),db={text:"",n:0},F5=new Set,$5=0;function W5(e){if(e!==""){if($5===0){console.warn("[crewlet] announce() was called with no <Announcer> mounted, so nothing was said:",e);return}db={text:e,n:db.n+1};for(let t of[...F5])t()}}function hb(){return(0,Gp.useCallback)(W5,[])}var Ta=K(ut(),1),hl=K(xe(),1);function fb({label:e,max:t=6,overflow:a="expand",moreLabel:n=s=>`+${s} more`,countLabel:l=s=>`+${s}`,expandedMessage:r=s=>`Showing all ${s}.`,className:i,children:o}){let[s,c]=(0,Ta.useState)(!1),h=hb(),v=(0,Ta.useRef)(null),u=Ta.Children.toArray(o),m=a==="fit",y=P5(v,m,u.length),b=m?u.slice(0,y):s?u:u.slice(0,t),A=u.length-b.length;return(0,hl.jsxs)("ul",{ref:v,tabIndex:-1,className:k("crewlet-tag-group",m&&"crewlet-tag-group--fit",i),"aria-label":`${e}, ${u.length}`,children:[b.map((f,d)=>(0,hl.jsx)("li",{className:"crewlet-tag-group__item",children:f},d)),A>0&&m?(0,hl.jsx)("li",{className:"crewlet-tag-group__item","data-count":"",children:(0,hl.jsx)("span",{className:"crewlet-tag-group__count",children:l(A)})}):A>0?(0,hl.jsx)("li",{className:"crewlet-tag-group__item",children:(0,hl.jsx)("button",{type:"button",className:"crewlet-tag-group__more",onClick:()=>{c(!0),v.current?.focus(),h(r(u.length))},children:n(A)})}):null]})}function P5(e,t,a){let[n,l]=(0,Ta.useState)(a),r=(0,Ta.useRef)(null);return(0,Ta.useLayoutEffect)(()=>{t&&l(a)},[t,a]),(0,Ta.useLayoutEffect)(()=>{let i=e.current;if(!t||!i)return;let o=[...i.children],s=o[0];if(!s)return;let c=s.offsetTop,h=c+s.offsetHeight,v=f=>f.offsetTop===c||f.offsetTop<h,u=o.filter(f=>!f.hasAttribute("data-count")),m=o.find(f=>f.hasAttribute("data-count")),y=u.filter(v).length,b=m&&!v(m)?y-1:y,A=Math.max(1,Math.min(b,u.length));A<u.length&&l(A)},[e,t,n,a]),(0,Ta.useLayoutEffect)(()=>{let i=e.current;if(!t||!i||typeof ResizeObserver!="function")return;let o=new ResizeObserver(([s])=>{let c=s?.contentRect.width??0;r.current!==null&&r.current!==c&&l(a),r.current=c});return o.observe(i),()=>o.disconnect()},[e,t,a]),t?n:a}var qo=K(xe(),1);function pb({name:e,hue:t,kind:a="human",editing:n=!1,placement:l="top-end",className:r,...i}){let o=typeof e=="string"?e:e.join(", ");return(0,qo.jsxs)("span",{...i,"aria-hidden":"true",className:k("crewlet-cursor-flag",dl(t),`crewlet-cursor-flag--${a}`,`crewlet-cursor-flag--${l}`,r),children:[n?(0,qo.jsx)(dp,{size:"xs",className:"crewlet-cursor-flag__glyph"}):null,(0,qo.jsx)("span",{className:"crewlet-cursor-flag__name",children:o})]})}var Ke=K(ut(),1),gb=K(nr(),1);var fi=K(xe(),1);function mb(e){return Number.parseFloat(e)}function e_(e,t){if(typeof e=="function"){let n=e(t);return typeof n=="function"?n:()=>{e(null)}}if(!e)return()=>{};let a=e;return a.current=t,()=>{a.current=null}}var t_=mb(vp.duration.slow),a_=mb(vp.duration.base);function Vo({content:e,placement:t="top",align:a="center",disabled:n=!1,openDelay:l=t_,closeDelay:r=a_,className:i,children:o}){let c=`${(0,Ke.useId)()}-tooltip`,[h,v]=(0,Ke.useState)(!1),u=(0,Ke.useRef)(null),m=(0,Ke.useRef)(null),y=(0,Ke.useRef)(void 0),b=(0,Ke.useRef)({pointer:!1,focus:!1}),[A,f]=(0,Ke.useState)(null),d=sl(),g=(0,Ke.useCallback)(()=>{y.current!==void 0&&clearTimeout(y.current),y.current=void 0},[]),w=(0,Ke.useCallback)(L=>{if(g(),!n){if(L<=0){v(!0);return}y.current=setTimeout(()=>v(!0),L)}},[g,n]),E=(0,Ke.useCallback)(L=>{g();let H=()=>{b.current.pointer||b.current.focus||v(!1)};if(L<=0){H();return}y.current=setTimeout(H,L)},[g]),C=di({open:h,onDismiss:()=>{b.current={pointer:!1,focus:!1},g(),v(!1)}});(0,Ke.useEffect)(()=>g,[g]),(0,Ke.useEffect)(()=>{n&&(g(),v(!1))},[n,g]);let N=(0,Ke.useCallback)(()=>{let L=u.current,H=m.current;if(!L||!H||!d)return;let me=d!==document.body,O=me?d.getBoundingClientRect():oi(),j=L.getBoundingClientRect(),W=H.getBoundingClientRect(),Xe=getComputedStyle(L).direction==="rtl",Ht={x:(a==="center"?j.x+j.width/2-W.width/2:Xe?j.right-W.width:j.x)-(me?O.x:0),y:j.y-(me?O.y:0),width:j.width,height:j.height},yt={x:ot,y:ot,width:O.width-2*ot,height:O.height-2*ot};if(si(j,O,me)){v(!1);return}let D=ii(Ht,{width:W.width,height:W.height},yt,ot,t==="top"?"above":"below");f(oe=>oe&&oe.left===D.left&&oe.top===D.top&&oe.side===D.side?oe:D)},[a,d,t]);(0,Ke.useLayoutEffect)(()=>{if(!h)return;N();let L=()=>N();d?.addEventListener(An,L),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0);let H=typeof ResizeObserver=="function"?new ResizeObserver(L):null;return m.current&&H?.observe(m.current),()=>{d?.removeEventListener(An,L),window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0),H?.disconnect()}},[h,d,N]),(0,Ke.useEffect)(()=>{h||f(null)},[h]);let z=o,V=z.props["aria-describedby"],G=z.props.ref,X=(0,Ke.cloneElement)(z,{ref:L=>{u.current=L,C.insideRef(L);let H=e_(G,L);return()=>{u.current=null,C.insideRef(null),H()}},"aria-describedby":h?k(V,c):V,onPointerEnter:L=>{b.current.pointer=!0,w(l),z.props.onPointerEnter?.(L)},onPointerLeave:L=>{b.current.pointer=!1,E(r),z.props.onPointerLeave?.(L)},onFocus:L=>{b.current.focus=!0,w(0),z.props.onFocus?.(L)},onBlur:L=>{b.current.focus=!1,E(0),z.props.onBlur?.(L)}}),Ce=A?{left:A.left,top:A.top,zIndex:C.zIndex}:{visibility:"hidden",zIndex:C.zIndex},Me=h?(0,fi.jsx)("div",{ref:L=>{m.current=L,C.panelRef(L)},id:c,role:"tooltip",className:k("crewlet-tooltip",`crewlet-tooltip--${A?.side??(t==="top"?"above":"below")}`,d!==null&&d!==document.body?"crewlet-tooltip--in-host":"crewlet-tooltip--fixed",i),style:Ce,onPointerEnter:()=>{b.current.pointer=!0,g()},onPointerLeave:()=>{b.current.pointer=!1,E(r)},children:e}):null;return(0,fi.jsxs)(fi.Fragment,{children:[X,Me&&d?(0,gb.createPortal)(Me,d):null]})}var Lp=K(xe(),1);function vb({by:e,at:t,previous:a=null,locale:n,className:l,labels:r}){let i=eu({by:e,at:t},ko(r),a,n);return(0,Lp.jsx)(Vo,{content:i,children:(0,Lp.jsx)("span",{"aria-hidden":"true",className:k("crewlet-change-mark",l)})})}var Yo=K(xe(),1);function jo({tone:e="neutral",pulse:t=!1,children:a,className:n}){let l=a!=null&&a!==!1&&a!=="",r=(0,Yo.jsx)("span",{"aria-hidden":!0,className:k("crewlet-status-dot",`crewlet-status-dot--${e}`,t&&"is-pulsing",!l&&n)});return l?(0,Yo.jsxs)("span",{className:k("crewlet-status",n),children:[r," ",(0,Yo.jsx)("span",{className:"crewlet-status__label",children:a})]}):r}var Vt=K(xe(),1);function fu(e){let{variant:t="neutral",hue:a,appearance:n="soft",size:l="sm",leadingIcon:r,dot:i=!1,count:o,monospace:s=!1,animateIn:c=!1,onClick:h,pressed:v,onRemove:u,removeAriaLabel:m="Remove tag",className:y,children:b,...A}=e,f=h!==void 0,d=f||u!==void 0,g=f&&u!==void 0;d&&l==="xs"&&console.warn('[crewlet] Tag size="xs" cannot act: an interactive tag starts at "sm", so its target clears 24px. Drawn at "sm".');let w=d&&l==="xs"?"sm":l,E=k("crewlet-tag",a===void 0?`crewlet-tag--${t}`:`crewlet-tag--hue-${a}`,`crewlet-tag--${n}`,`crewlet-tag--${w}`,s&&"crewlet-tag--monospace",c&&"crewlet-tag--animate-in",d&&"crewlet-tag--acts",f&&!g&&"crewlet-tag--actionable",g&&"crewlet-tag--split",g&&v===!0&&"is-pressed",y),C=(0,Vt.jsxs)(Vt.Fragment,{children:[i?(0,Vt.jsx)(jo,{tone:a===void 0?t:"neutral",className:"crewlet-tag__dot"}):null,r?(0,Vt.jsx)("span",{className:"crewlet-tag__icon","aria-hidden":!0,children:r}):null,(0,Vt.jsx)("span",{className:"crewlet-tag__label",children:b}),o===void 0?null:(0,Vt.jsx)("span",{className:"crewlet-tag__count",children:o})]}),N=u===void 0?null:(0,Vt.jsx)("button",{type:"button",className:"crewlet-tag__remove",onClick:z=>{z.stopPropagation(),u()},"aria-label":m,children:(0,Vt.jsx)(Do,{size:"xs"})});return g?(0,Vt.jsxs)("span",{...A,className:E,children:[(0,Vt.jsx)("button",{type:"button",className:"crewlet-tag__press",onClick:h,"aria-pressed":v===!0,children:C}),N]}):f?(0,Vt.jsx)("button",{...A,type:"button",className:E,onClick:h,"aria-pressed":v===!0,children:C}):(0,Vt.jsxs)("span",{...A,className:E,children:[C,N]})}var Ve=K(ut(),1),wb=K(nr(),1),pi=K(xe(),1);function bb({trigger:e,children:t,align:a="start",side:n="bottom",width:l="auto",alignOffset:r,sideOffset:i=ot,initialFocus:o,role:s="dialog",label:c,className:h,open:v,defaultOpen:u=!1,onOpenChange:m}){let b=`${(0,Ve.useId)()}-popover`,[A,f]=(0,Ve.useState)(u),d=v??A,g=(0,Ve.useRef)(null),w=(0,Ve.useRef)(null),[E,C]=(0,Ve.useState)(null),N=sl(),z=(0,Ve.useRef)(v!==void 0),V=(0,Ve.useRef)(m),G=(0,Ve.useRef)(r),X=(0,Ve.useRef)(o);z.current=v!==void 0,V.current=m,G.current=r,X.current=o;let Ce=(0,Ve.useCallback)((D,oe)=>{z.current||f(D),V.current?.(D,oe)},[]),Me=(0,Ve.useCallback)(D=>{let oe=w.current?.contains(document.activeElement)??!1;(D==="escape"||D==="tab"||D==="content"&&oe)&&ai(g.current),Ce(!1,D)},[Ce]),L=di({open:d,onDismiss:Me}),H=(0,Ve.useCallback)(()=>{let D=g.current,oe=w.current;if(!D||!oe||!N)return;let xt=N!==document.body,tt=xt?N.getBoundingClientRect():oi(),S=D.getBoundingClientRect();oe.style.width=l==="match"?`${S.width}px`:"";let ve=oe.getBoundingClientRect(),B=G.current,Q=typeof B=="function"?B(oe,D):B??0,ce={x:(a==="end"?S.right-ve.width:S.left)+Q-(xt?tt.x:0),y:S.top-(xt?tt.y:0),width:S.width,height:S.height},at={x:ot,y:ot,width:tt.width-2*ot,height:tt.height-2*ot};if(si(S,tt,xt)){Me("anchor-gone");return}let Te=l==="match"?S.width:void 0,Je=ii(ce,{width:ve.width,height:ve.height},at,i,n==="top"?"above":"below");C(Ft=>Ft&&Ft.left===Je.left&&Ft.top===Je.top&&Ft.side===Je.side&&Ft.width===Te?Ft:{left:Je.left,top:Je.top,side:Je.side,width:Te})},[a,Me,N,n,i,l]);(0,Ve.useLayoutEffect)(()=>{if(!d)return;H();let D=()=>H();N?.addEventListener(An,D),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0);let oe=typeof ResizeObserver=="function"?new ResizeObserver(D):null;return w.current&&oe?.observe(w.current),()=>{N?.removeEventListener(An,D),window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0),oe?.disconnect()}},[d,N,H]),(0,Ve.useEffect)(()=>{d||C(null)},[d]);let me=d&&E!==null;(0,Ve.useEffect)(()=>{if(!me||s!=="dialog")return;let D=w.current;D&&!D.contains(document.activeElement)&&(X.current?.()??Xl(D)[0]??D).focus()},[me,s]);let O=(0,Ve.useCallback)(()=>{d?Me("trigger"):Ce(!0,"trigger")},[Me,d,Ce]),j=e(d,O),W=s==="none"?void 0:s,Xe=(0,Ve.cloneElement)(j,{ref:D=>{g.current=D,L.insideRef(D)},"aria-expanded":d,"aria-haspopup":j.props["aria-haspopup"]??W,"aria-controls":d?b:void 0});function et(D){D.key!=="Escape"&&D.key!=="Tab"&&!D.ctrlKey&&!D.metaKey&&!D.altKey&&D.stopPropagation()}let Ht=E?{left:E.left,top:E.top,width:E.width}:{visibility:"hidden"},yt=d?(0,pi.jsx)("div",{ref:D=>{w.current=D,L.panelRef(D)},id:b,className:k("crewlet-popover",`crewlet-popover--${E?.side??(n==="top"?"above":"below")}`,N!==null&&N!==document.body?"crewlet-popover--in-host":"crewlet-popover--fixed",h),style:{...Ht,zIndex:L.zIndex},role:s==="none"?void 0:s,"aria-label":s==="none"?void 0:c,"aria-modal":s==="dialog"?!1:void 0,tabIndex:s==="dialog"?-1:void 0,onKeyDown:et,onPointerDown:D=>D.stopPropagation(),onClick:D=>D.stopPropagation(),children:typeof t=="function"?t(()=>Me("content")):t}):null;return(0,pi.jsxs)(pi.Fragment,{children:[Xe,yt&&N?(0,wb.createPortal)(yt,N):null]})}var Ie=K(ut(),1),yb=K(nr(),1);var bt=K(xe(),1),n_="[role='menuitem'],[role='menuitemradio']";function l_(e){let t=[];for(let a of e){if(a.kind==="separator"){t.push({kind:"separator",key:a.key});continue}let n=t[t.length-1];a.checked===void 0?t.push({kind:"action",item:a}):n?.kind==="answers"?n.items.push(a):t.push({kind:"answers",key:`${a.key}:answers`,items:[a]})}return t}function xb({label:e,items:t,icon:a,trigger:n,trailingIcon:l,triggerVariant:r="ghost",valueTrigger:i=!1,triggerTabIndex:o,open:s,onOpenChange:c,align:h="start",width:v="content",renderTrigger:u,header:m,className:y}){let b=(0,Ie.useId)(),A=`${b}-menu`,f=`${b}-header`,[d,g]=(0,Ie.useState)(!1),w=s??d,E=(0,Ie.useRef)(null),C=(0,Ie.useRef)(null),N=(0,Ie.useRef)(null),z=(0,Ie.useRef)("first"),[V,G]=(0,Ie.useState)(null),X=sl(),Ce=(0,Ie.useRef)(s!==void 0),Me=(0,Ie.useRef)(c);Ce.current=s!==void 0,Me.current=c;let L=(0,Ie.useCallback)(S=>{Ce.current||g(S),Me.current?.(S)},[]),H=(0,Ie.useCallback)(()=>{let S=N.current,ve=S&&S.isConnected&&S!==document.body?S:E.current;ai(ve)},[]),me=(0,Ie.useCallback)(S=>{S&&H(),L(!1)},[H,L]),O=di({open:w,onDismiss:S=>me(S!=="outside")}),j=()=>C.current?[...C.current.querySelectorAll(n_)]:[];(0,Ie.useLayoutEffect)(()=>{if(!w)return;let S=document.activeElement;S instanceof Node&&C.current?.contains(S)||(N.current=S instanceof HTMLElement?S:null)},[w]);let W=(0,Ie.useCallback)(()=>{let S=E.current,ve=C.current;if(!S||!ve||!X)return;let B=X!==document.body,Q=B?X.getBoundingClientRect():oi(),ce=S.getBoundingClientRect(),at=ve.getBoundingClientRect(),Te=v==="trigger"?ce.width:void 0,Je={width:Math.max(at.width,Te??0),height:at.height},Ft={x:(h==="end"?ce.right-Je.width:ce.left)-(B?Q.x:0),y:ce.top-(B?Q.y:0),width:ce.width,height:ce.height},mi={x:ot,y:ot,width:Q.width-2*ot,height:Q.height-2*ot};if(si(ce,Q,B)){me(!0);return}let Dt=ii(Ft,{width:Je.width,height:Je.height},mi,ot);G(Ea=>Ea&&Ea.left===Dt.left&&Ea.top===Dt.top&&Ea.floor===Te?Ea:{left:Dt.left,top:Dt.top,floor:Te})},[h,me,X,v]);(0,Ie.useLayoutEffect)(()=>{if(!w)return;W();let S=()=>W();X?.addEventListener(An,S),window.addEventListener("resize",S),window.addEventListener("scroll",S,!0);let ve=typeof ResizeObserver=="function"?new ResizeObserver(S):null;return C.current&&ve?.observe(C.current),()=>{X?.removeEventListener(An,S),window.removeEventListener("resize",S),window.removeEventListener("scroll",S,!0),ve?.disconnect()}},[w,X,W]),(0,Ie.useEffect)(()=>{w||G(null)},[w]);let Xe=w&&V!==null;(0,Ie.useLayoutEffect)(()=>{if(!Xe)return;let S=j();(z.current==="last"?S[S.length-1]:S[0])?.focus(),z.current="first"},[Xe]);function et(S){(S.key==="ArrowDown"||S.key==="ArrowUp")&&(S.preventDefault(),z.current=S.key==="ArrowUp"?"last":"first",L(!0))}function Ht(S){S.key!=="Escape"&&S.key!=="Tab"&&!S.ctrlKey&&!S.metaKey&&!S.altKey&&S.stopPropagation();let ve=j(),B=ve.indexOf(document.activeElement),Q=ce=>ve[(ce+ve.length)%ve.length]?.focus();switch(S.key){case"ArrowDown":S.preventDefault(),Q(B+1);return;case"ArrowUp":S.preventDefault(),Q(B-1);return;case"Home":S.preventDefault(),Q(0);return;case"End":S.preventDefault(),Q(ve.length-1);return;case"Tab":me(!0);return;default:if(S.key.length===1&&!S.ctrlKey&&!S.metaKey&&!S.altKey&&S.key!==" "){let ce=S.key.toLocaleLowerCase();for(let at=1;at<=ve.length;at++){let Te=ve[(B+at)%ve.length];if((Te.textContent??"").trim().toLocaleLowerCase().startsWith(ce)){S.preventDefault(),Te.focus();return}}}}}function yt(S){S.disabled||(me(!0),S.onSelect())}let D=S=>S.description!==void 0&&S.description!==null&&S.description!==!1&&S.description!=="",oe=S=>(0,bt.jsxs)("button",{type:"button",role:S.checked===void 0?"menuitem":"menuitemradio","aria-checked":S.checked,tabIndex:-1,className:k("crewlet-menu__item",D(S)?"crewlet-menu__item--described":void 0,S.danger&&"is-danger",S.disabled&&"is-disabled"),"aria-disabled":S.disabled||void 0,onClick:()=>yt(S),children:[S.checked!==void 0&&(0,bt.jsx)("span",{className:"crewlet-menu__check","aria-hidden":!0,children:S.checked&&(0,bt.jsx)(ni,{size:"sm"})}),S.icon&&(0,bt.jsx)("span",{className:"crewlet-menu__icon",children:S.icon}),(0,bt.jsxs)("span",{className:"crewlet-menu__text",children:[(0,bt.jsx)("span",{className:"crewlet-menu__label",children:S.label}),D(S)?(0,bt.jsx)("span",{className:"crewlet-menu__description",children:S.description}):null]}),S.hint&&(0,bt.jsx)("span",{className:"crewlet-menu__hint",children:S.hint})]},S.key),xt=w?(0,bt.jsxs)("div",{className:k("crewlet-menu",X!==null&&X!==document.body?"crewlet-menu--in-host":null,y),id:A,role:"menu","aria-label":e,"aria-describedby":m?f:void 0,tabIndex:-1,ref:S=>{C.current=S,O.panelRef(S)},style:V?{left:V.left,top:V.top,zIndex:O.zIndex,...V.floor===void 0?null:{"--crewlet-menu-floor":`${V.floor}px`}}:{visibility:"hidden"},onKeyDown:Ht,onPointerDown:S=>S.stopPropagation(),onClick:S=>S.stopPropagation(),children:[m?(0,bt.jsx)("div",{role:"presentation",id:f,className:"crewlet-menu__header",children:m}):null,l_(t).map(S=>S.kind==="separator"?(0,bt.jsx)("div",{role:"separator",className:"crewlet-menu__separator"},S.key):S.kind==="answers"?(0,bt.jsx)("div",{role:"group",className:"crewlet-menu__group",children:S.items.map(oe)},S.key):oe(S.item))]}):null,tt={ref:S=>{E.current=S,O.insideRef(S)},"aria-haspopup":"menu","aria-expanded":w,"aria-controls":w?A:void 0,tabIndex:o,onClick:()=>{w?me(!0):(z.current="first",L(!0))},onKeyDown:et};return(0,bt.jsxs)("span",{className:"crewlet-menu-anchor",children:[u?u(tt):n===void 0?(0,bt.jsx)(ul,{...tt,label:e,icon:a??(0,bt.jsx)(cp,{}),size:"sm"}):(0,bt.jsx)(Ra,{...tt,"aria-label":e,variant:r,size:"small",flush:i,className:i?"crewlet-menu__value-trigger":void 0,leadingIcon:a,trailingIcon:l,children:n}),xt&&X?(0,yb.createPortal)(xt,X):null]})}var M=K(ut(),1);var _=K(xe(),1);function Bp({column:e,id:t,labels:a}){let n=Sn(e,t);if(!n)return(0,_.jsx)(fu,{size:"xs",children:t});if(n.archived)return(0,_.jsx)(fu,{size:"xs",appearance:"outline",children:a.archived(n.label)});let l=Jc(n.color);return(0,_.jsx)(fu,{size:"xs",hue:l==="neutral"?void 0:l,children:n.label})}function Tb({person:e,fallback:t}){return e?(0,_.jsxs)("span",{className:"crewlet-sheet-cell__person",children:[(0,_.jsx)(Bo,{name:e.name,kind:e.kind==="human"?"human":"agent",src:e.src,character:e.character!==void 0&&Uo(e.character)?e.character:void 0,hue:e.kind==="agent"?e.hue:void 0,size:"xs",decorative:!0}),(0,_.jsx)("span",{className:"crewlet-sheet-cell__text",children:e.name})]}):(0,_.jsx)("span",{className:"crewlet-sheet-cell__muted",children:t})}function qp({column:e,value:t,context:a,onOpenLink:n}){let{labels:l}=a;if(e.type==="checkbox"){let r=t===!0;return(0,_.jsxs)("span",{className:"crewlet-sheet-cell__checkbox",children:[(0,_.jsx)("span",{className:k("crewlet-sheet-cell__check",r&&"crewlet-sheet-cell__check--on"),"aria-hidden":"true",children:r?(0,_.jsx)(ni,{size:"xs"}):null}),(0,_.jsx)(Rt,{children:r?l.checked:l.unchecked})]})}if(an(t))return(0,_.jsx)(Rt,{children:l.empty});switch(e.type){case"select":return(0,_.jsx)(Bp,{column:e,id:String(t),labels:l});case"multiselect":return(0,_.jsx)(fb,{label:e.label,overflow:"fit",className:"crewlet-sheet-cell__chips",children:t.map(r=>(0,_.jsx)(Bp,{column:e,id:r,labels:l},r))});case"status":{let r=Sn(e,String(t)),i=ya(e,t,a);return(0,_.jsx)(jo,{tone:r&&!r.archived?Fc(r):"neutral",children:i})}case"person":return(0,_.jsx)(Tb,{person:Pr(a.people,String(t)),fallback:l.unknownPerson});case"rating":{let r=tn(e),i=Number(t);return(0,_.jsxs)("span",{className:"crewlet-sheet-cell__rating",children:[(0,_.jsx)("span",{className:"crewlet-sheet-cell__stars","aria-hidden":"true",children:Array.from({length:r},(o,s)=>(0,_.jsx)(fp,{size:"sm",filled:s<i,className:k("crewlet-sheet-cell__star",s<i&&"crewlet-sheet-cell__star--on")},s))}),(0,_.jsx)(Rt,{children:l.rating(i,r)})]})}case"url":{let r=String(t);return(0,_.jsx)("a",{className:"crewlet-sheet-cell__link",href:r,target:"_blank",rel:"noopener noreferrer",tabIndex:-1,onClick:n?i=>{i.preventDefault(),n(r)}:void 0,children:r})}case"number":return(0,_.jsx)("span",{className:"crewlet-sheet-cell__text crewlet-sheet-cell__number",children:ya(e,t,a)});default:return(0,_.jsx)("span",{className:"crewlet-sheet-cell__text",children:ya(e,t,a)})}}var r_=new Set(["text","number","url","date","rating"]),i_=new Set(["text","longtext"]),o_=6,s_=8,Eb=new Set(["select","multiselect","status","person"]),c_=e=>e!=="checkbox",_b=e=>r_.has(e)||Eb.has(e)||e==="longtext";function Sb(e,t){if(e.key==="Tab")return e.shiftKey?"left":"right";if(e.key==="Enter")return t?e.shiftKey&&!Kl(e)?void 0:"down":e.shiftKey?"up":"down"}function Vp(e,t){e&&(e.focus({preventScroll:!0}),t&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&e.setSelectionRange(e.value.length,e.value.length))}function Yp(e){let t=(0,M.useRef)(!1);return{finish:()=>{t.current=!0},onBlur:a=>{if(t.current)return;let n=a.relatedTarget;n!==null&&a.currentTarget.contains(n)||(t.current=!0,e())}}}function u_(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let a=n=>String(n).padStart(2,"0");return`${t.getFullYear()}-${a(t.getMonth()+1)}-${a(t.getDate())}T${a(t.getHours())}:${a(t.getMinutes())}`}function jp({conflict:e,labels:t}){return(0,_.jsxs)("div",{className:"crewlet-sheet-editor__conflict",role:"alert",children:[(0,_.jsx)("p",{className:"crewlet-sheet-editor__conflict-text",children:t.conflict(e.writer,e.value)}),(0,_.jsxs)("div",{className:"crewlet-sheet-editor__conflict-actions",children:[(0,_.jsx)(Ra,{size:"small",variant:"secondary",onClick:e.onKeepMine,children:t.keepMine}),(0,_.jsx)(Ra,{size:"small",variant:"ghost",onClick:e.onUseTheirs,children:t.useTheirs(e.writer)})]})]})}function Kp({id:e,message:t}){return(0,_.jsxs)("p",{id:e,className:"crewlet-sheet-editor__error",children:[(0,_.jsx)(li,{size:"xs","aria-hidden":"true"}),(0,_.jsx)("span",{children:t})]})}function Ab(e){let{column:t}=e;return Eb.has(t.type)?(0,_.jsx)(g_,{...e}):i_.has(t.type)?(0,_.jsx)(h_,{...e}):(0,_.jsx)(d_,{...e})}function d_({column:e,value:t,context:a,seed:n,label:l,onCommit:r,onCancel:i,conflict:o}){let{labels:s}=a,c=(0,M.useId)(),h=(0,M.useRef)(null),v=e.type==="date",u=(0,M.useMemo)(()=>{if(v){let g=typeof t=="string"?t:"";return e.time?u_(g):g}return n??ei(e,t,a)},[]),[m,y]=(0,M.useState)(u),[b,A]=(0,M.useState)(null);(0,M.useLayoutEffect)(()=>{Vp(h.current,!v)},[v]);let f=g=>{let w=v&&e.time&&m!==""?new Date(m).toISOString():m,E=ti(e,w,a);return E.ok?(d.finish(),r(E.value,g),!0):(A(E.error),!1)},d=Yp(()=>{f(null)||i()});return(0,_.jsxs)("div",{className:"crewlet-sheet-editor crewlet-sheet-editor--line",onBlur:d.onBlur,children:[(0,_.jsx)("input",{ref:h,className:"crewlet-sheet-editor__input",type:v?e.time?"datetime-local":"date":e.type==="url"?"url":"text",inputMode:e.type==="number"?"decimal":e.type==="rating"?"numeric":void 0,"aria-label":l,"aria-invalid":b!==null,"aria-describedby":b!==null?c:void 0,maxLength:e.type==="text"?ol(e):void 0,value:m,onChange:g=>{y(g.target.value),A(null)},onKeyDown:g=>{if(ui(g))return;if(g.key==="Escape"){g.preventDefault(),g.stopPropagation(),d.finish(),i();return}if(g.key==="Tab"&&o)return;let w=Sb(g,!1);w!==void 0&&(g.preventDefault(),g.stopPropagation(),f(w))}}),b!==null||o?(0,_.jsxs)("div",{className:k("crewlet-sheet-editor__panel"),children:[b!==null?(0,_.jsx)(Kp,{id:c,message:b}):null,o?(0,_.jsx)(jp,{conflict:o,labels:s}):null]}):null]})}function h_({column:e,value:t,context:a,seed:n,label:l,onCommit:r,onCancel:i,side:o="below",conflict:s}){let{labels:c}=a,h=e.type==="longtext",v=(0,M.useId)(),u=(0,M.useRef)(null),[m,y]=(0,M.useState)(()=>n??ei(e,t,a)),[b,A]=(0,M.useState)(null);(0,M.useLayoutEffect)(()=>{Vp(u.current,!0)},[]),(0,M.useLayoutEffect)(()=>{let g=u.current;!g||g.scrollHeight===0||(g.style.height="auto",g.style.height=`${g.scrollHeight}px`)},[m]);let f=g=>{let w=ti(e,m,a);return w.ok?(d.finish(),r(w.value,g),!0):(A(w.error),!1)},d=Yp(()=>{f(null)||i()});return(0,_.jsx)("div",{className:k("crewlet-sheet-editor","crewlet-sheet-editor--text",h&&"crewlet-sheet-editor--long",`crewlet-sheet-editor--${o}`),onBlur:d.onBlur,children:(0,_.jsxs)("div",{className:"crewlet-sheet-editor__overlay",children:[(0,_.jsx)("textarea",{ref:u,className:"crewlet-sheet-editor__textarea","aria-label":l,"aria-multiline":h,"aria-invalid":b!==null,"aria-describedby":b!==null?v:void 0,maxLength:ol(e),rows:1,style:{"--crewlet-sheet-editor-lines":o_},value:m,onChange:g=>{y(h?g.target.value:g.target.value.replace(/\r?\n/g," ")),A(null)},onKeyDown:g=>{if(ui(g))return;if(g.key==="Escape"){g.preventDefault(),g.stopPropagation(),d.finish(),i();return}if(g.key==="Tab"&&s)return;let w=Sb(g,h);w!==void 0&&(g.preventDefault(),g.stopPropagation(),f(w))}}),b!==null?(0,_.jsx)(Kp,{id:v,message:b}):null,s?(0,_.jsx)(jp,{conflict:s,labels:c}):null]})})}function f_(e,t){return e.type==="person"?(t.people??[]).map(a=>({id:a.id,label:a.name,person:a})):jl(e).map(a=>({id:a.id,label:a.label,option:a}))}function p_({column:e,choice:t,context:a}){return t.person?(0,_.jsx)(Tb,{person:t.person,fallback:t.label}):e.type==="status"&&t.option?(0,_.jsx)(jo,{tone:Fc(t.option),children:t.label}):(0,_.jsx)(Bp,{column:e,id:t.id,labels:a.labels})}var ln="";function g_({column:e,value:t,context:a,seed:n,label:l,onCommit:r,onCancel:i,side:o="below",conflict:s}){let{labels:c}=a,h=e.type==="multiselect",v=(0,M.useId)(),u=(0,M.useId)(),m=(0,M.useRef)(null),y=(0,M.useRef)(null),b=(0,M.useMemo)(()=>f_(e,a),[e,a]),A=b.length>s_,[f,d]=(0,M.useState)(A?n??"":""),[g,w]=(0,M.useState)(()=>h?[...t??[]]:typeof t=="string"?[t]:[]),[E,C]=(0,M.useState)(null),N=!h&&!e.required,z=(0,M.useMemo)(()=>{let O=f.trim().toLowerCase(),j=O===""?b:b.filter(W=>W.label.toLowerCase().includes(O));return N&&O===""?[...j,{id:ln,label:c.clear}]:j},[b,f,N,c.clear]),[V,G]=(0,M.useState)(()=>{let O=!A&&n?z.findIndex(W=>W.id!==ln&&W.label.toLowerCase().startsWith(n.toLowerCase())):-1;if(O>=0)return O;let j=z.findIndex(W=>W.id!==ln&&g.includes(W.id));return j>=0?j:0});(0,M.useEffect)(()=>{G(O=>Math.min(O,Math.max(z.length-1,0)))},[z.length]),(0,M.useLayoutEffect)(()=>{Vp(A?m.current:y.current,!1)},[A]);let X=(O,j)=>{let W=Df(e,O,a);return W!==null?(C(W),!1):(Ce.finish(),r(O,j),!0)},Ce=Yp(()=>{(!h||!X(g,null))&&i()}),Me=(O,j)=>{if(O){if(!h){X(O.id===ln?null:O.id,j);return}C(null),w(W=>W.includes(O.id)?W.filter(Xe=>Xe!==O.id):[...W,O.id])}},L=O=>`${v}-${O}`,H=z.length>0?L(V):void 0,me=O=>{if(!ui(O))switch(O.key){case"Escape":O.preventDefault(),O.stopPropagation(),Ce.finish(),i();return;case"ArrowDown":O.preventDefault(),O.stopPropagation(),G(j=>Math.min(j+1,z.length-1));return;case"ArrowUp":O.preventDefault(),O.stopPropagation(),G(j=>Math.max(j-1,0));return;case"Home":case"End":if(f!=="")return;O.preventDefault(),O.stopPropagation(),G(O.key==="Home"?0:z.length-1);return;case"Enter":O.preventDefault(),O.stopPropagation(),h&&Kl(O)?X(g,"down"):Me(z[V],O.shiftKey?"up":"down");return;case" ":if(A)return;O.preventDefault(),O.stopPropagation(),Me(z[V],h?null:"down");return;case"Tab":if(s)return;O.preventDefault(),O.stopPropagation(),X(h?g:t,O.shiftKey?"left":"right");return;default:if(!A&&O.key.length===1&&!O.ctrlKey&&!O.metaKey&&!O.altKey){let j=O.key.toLowerCase(),W=V+1,et=[...z.slice(W),...z.slice(0,W)].find(Ht=>Ht.id!==ln&&Ht.label.toLowerCase().startsWith(j));et&&(O.preventDefault(),O.stopPropagation(),G(z.indexOf(et)))}return}};return(0,_.jsx)("div",{className:k("crewlet-sheet-editor","crewlet-sheet-editor--list",`crewlet-sheet-editor--${o}`),onBlur:Ce.onBlur,children:(0,_.jsxs)("div",{className:"crewlet-sheet-editor__panel crewlet-sheet-editor__panel--list",children:[A?(0,_.jsx)("input",{ref:m,className:"crewlet-sheet-editor__filter",role:"combobox","aria-label":l,"aria-expanded":"true","aria-controls":v,"aria-autocomplete":"list","aria-activedescendant":H,"aria-invalid":E!==null,"aria-describedby":E!==null?u:void 0,placeholder:c.filter,value:f,onChange:O=>{d(O.target.value),G(0)},onKeyDown:me}):null,(0,_.jsx)("ul",{ref:y,className:"crewlet-sheet-editor__list",id:v,role:"listbox","aria-label":l,"aria-multiselectable":h||void 0,tabIndex:-1,"aria-activedescendant":A?void 0:H,"aria-invalid":A?void 0:E!==null,"aria-describedby":!A&&E!==null?u:void 0,onKeyDown:A?void 0:me,children:z.length===0?(0,_.jsx)("li",{className:"crewlet-sheet-editor__empty",role:"presentation",children:c.noOptions}):z.map((O,j)=>{let W=O.id===ln?g.length===0:g.includes(O.id);return(0,_.jsxs)("li",{id:L(j),role:"option","aria-selected":W,className:k("crewlet-sheet-editor__option",O.id===ln&&"crewlet-sheet-editor__option--clear",j===V&&"crewlet-sheet-editor__option--highlight",W&&"crewlet-sheet-editor__option--selected"),onMouseDown:Xe=>Xe.preventDefault(),onMouseEnter:()=>G(j),onClick:()=>Me(O,h?null:"down"),children:[(0,_.jsx)("span",{className:"crewlet-sheet-editor__mark","aria-hidden":"true",children:W&&O.id!==ln?(0,_.jsx)(ni,{size:"xs"}):null}),O.id===ln?(0,_.jsx)("span",{className:"crewlet-sheet-cell__muted",children:O.label}):(0,_.jsx)(p_,{column:e,choice:O,context:a})]},O.id===ln?"\0clear":O.id)})}),E!==null?(0,_.jsx)(Kp,{id:u,message:E}):null,s?(0,_.jsx)(jp,{conflict:s,labels:c}):null]})})}var fl=-1,m_=.6;function Ip({label:e,columns:t,rows:a,people:n,mode:l="edit",onEdit:r,onAddRow:i,onShowHistory:o,onActiveCellChange:s,onEditingChange:c,onUndo:h,onRedo:v,onOpenLink:u,presence:m,sort:y,onSortChange:b,sync:A,onRetry:f,height:d,fit:g="container",onDeleteRow:w,onDismissRefused:E,renderColumnEditor:C,settingsColumn:N,onSettingsColumnChange:z,onAddColumn:V,locale:G,className:X,labels:Ce,presenceLabels:Me}){let L=(0,M.useId)(),H=(0,M.useMemo)(()=>ko(Ce),[Ce]),me=(0,M.useMemo)(()=>Co(Me),[Me]),O=(0,M.useMemo)(()=>({people:n,locale:G,labels:H}),[n,G,H]),j=(0,M.useMemo)(()=>jf(t),[t]),[W,Xe]=(0,M.useState)(0),et=(0,M.useRef)(a);(0,M.useLayoutEffect)(()=>{et.current=a});let Ht=a.length>0,[yt,D]=(0,M.useState)(null);(0,M.useLayoutEffect)(()=>{let p=Ht?et.current:[];D(new Map(j.filter(x=>!(x.width&&x.width>0)).map(x=>[x.field,Xf(x,p,O)])))},[j,Ht,O]);let[oe,xt]=(0,M.useState)(0);(0,M.useEffect)(()=>{let p=typeof document>"u"?void 0:document.fonts;if(!p)return;let x=!0,R=()=>{x&&xt(F=>F+1)};return p.ready.then(R),p.addEventListener("loadingdone",R),()=>{x=!1,p.removeEventListener("loadingdone",R)}},[]);let tt=(0,M.useRef)(null),[S,ve]=(0,M.useState)(new Map);(0,M.useLayoutEffect)(()=>{let p=tt.current;if(!p)return;let x=new Map;for(let R of p.querySelectorAll("[data-measure]")){let F=0;for(let le of R.children)F=Math.max(F,le.getBoundingClientRect().width);x.set(R.dataset.measure??"",F)}ve(x)},[yt,oe]);let B=(0,M.useMemo)(()=>{let p=q=>q.width!==void 0&&q.width>0,x=j.map(q=>p(q)?q:{...q,width:If(q.type,S.get(q.field)??0)});if(W<=0)return x;let R=Math.floor(W*m_)-Il,F=x.filter(q=>q.frozen).reduce((q,Ne)=>q+nn(Ne),0)-R,le=j.filter(q=>q.frozen&&!p(q)).length;if(F<=0||le===0)return x;let Ee=Math.ceil(F/le);return x.map((q,Ne)=>q.frozen&&!p(j[Ne])?{...q,width:Math.max(Pc[q.type][0],nn(q)-Ee)}:q)},[j,S,W]),Q=(0,M.useMemo)(()=>Wf(B,a,y,O),[B,a,y,O]),ce=l==="edit"&&r!==void 0,at=l==="edit"&&w!==void 0,Te=l==="edit"&&C!==void 0,Je=l==="edit"&&V!==void 0,[Ft,mi]=(0,M.useState)(null),Dt=N!==void 0?N:Ft,Ea=p=>{N===void 0&&mi(p),z?.(p)},Sa=(0,M.useRef)(null),Y=(0,M.useRef)(null),Z=(0,M.useRef)(null),[st,sa]=(0,M.useState)(0),Ua=(0,M.useRef)(0),[ie,Ql]=(0,M.useState)(Wc),[rn,Rb]=(0,M.useState)(Wc),[vi,Hb]=(0,M.useState)(0),[Db,Gb]=(0,M.useState)(0),[Fp,$p]=(0,M.useState)(0),[Lb,Ub]=(0,M.useState)(!1),[Xo,Qo]=(0,M.useState)(null),[Wp,Zo]=(0,M.useState)(null),[P,wi]=(0,M.useState)(null),[Pp,e0]=(0,M.useState)(new Map),[t0,Bb]=(0,M.useState)({text:"",n:0}),vu=(0,M.useRef)(!1),[a0,n0]=(0,M.useState)(null),Yt=(0,M.useCallback)(p=>Bb(x=>({text:p,n:x.n+1})),[]),l0=(0,M.useRef)(new Map);(0,M.useEffect)(()=>{let p=new Map;for(let x of a)for(let[R,F]of Object.entries(x.refused??{}))p.set(xa(x.id,R),F);for(let[x,R]of p)if(l0.current.get(x)!==R){Yt(H.notSaved(R));break}l0.current=p},[a,H,Yt]),(0,M.useLayoutEffect)(()=>{let p=()=>{let R=Y.current?.offsetHeight??0;R>0&&Ql(R);let F=Z.current?.querySelector(".crewlet-sheet-grid__row--head")?.offsetHeight??0;F>0&&Rb(F),Hb(Sa.current?.clientHeight??0),Xe(Sa.current?.clientWidth??0);let le=Sa.current;if(le){let Ee=getComputedStyle(le),q=le.offsetHeight-le.clientHeight-(parseFloat(Ee.borderTopWidth)||0)-(parseFloat(Ee.borderBottomWidth)||0);Gb(Math.max(0,Math.round(q)))}};if(p(),typeof ResizeObserver!="function")return;let x=new ResizeObserver(p);return Sa.current&&x.observe(Sa.current),Y.current&&x.observe(Y.current),()=>x.disconnect()},[]);let Zl=(0,M.useMemo)(()=>Yf(B),[B]),qb=(0,M.useMemo)(()=>[`${Il}px`,...B.map((p,x)=>x===B.length-1?`minmax(${nn(p)}px, 1fr)`:`${nn(p)}px`)].join(" "),[B]),Vb=(0,M.useMemo)(()=>B.reduce((p,x)=>p+nn(x),Il),[B]),Jo=(0,M.useMemo)(()=>B.reduce((p,x,R)=>x.frozen?R:p,-1),[B]),wu=(0,M.useMemo)(()=>{let p=Il;return B.forEach((x,R)=>{x.frozen&&(p=(Zl[R]??p)+nn(x))}),p},[B,Zl]),pl=(0,M.useMemo)(()=>new Map(Q.map((p,x)=>[p.id,x])),[Q]),Fo=(0,M.useMemo)(()=>new Map(B.map((p,x)=>[p.field,x])),[B]),Jl=(0,M.useCallback)(p=>{if(!p)return null;let x=Fo.get(p.field);if(x===void 0)return null;if(p.rowId===null)return{row:fl,col:x};let R=pl.get(p.rowId);return R===void 0?null:{row:R,col:x}},[Fo,pl]),on=(0,M.useCallback)(p=>{let x=B[p.col];if(!x)return null;if(p.row===fl)return{rowId:null,field:x.field};let R=Q[p.row];return R?{rowId:R.id,field:x.field}:null},[B,Q]),Yb=Q.length>0&&B.length>0?{rowId:Q[0].id,field:B[0].field}:B.length>0?{rowId:null,field:B[0].field}:null,ue=Jl(Xo)??Jl(Yb),ct=ue?on(ue):null,r0=Jl(Wp)??ue,Ye=ue&&r0&&ue.row!==fl?Lf(r0,ue):null,i0=(0,M.useMemo)(()=>Pf(m),[m]),jb=(0,M.useMemo)(()=>ep(m),[m]),Kb=(0,M.useMemo)(()=>tp(m),[m]),o0=(0,M.useRef)(null);(0,M.useEffect)(()=>{let p=ct&&ct.rowId!==null?{rowId:ct.rowId,field:ct.field}:null,x=p?xa(p.rowId,p.field):null;x!==o0.current&&(o0.current=x,s?.(p))},[ct,s]);let s0=(0,M.useRef)(null);(0,M.useEffect)(()=>{let p=P?xa(P.rowId,P.field):null;p!==s0.current&&(s0.current=p,c?.(P?{rowId:P.rowId,field:P.field}:null))},[P,c]);let $o=(0,M.useCallback)(p=>{p.length!==0&&(e0(x=>{let R=new Map(x);for(let F of p)R.set(xa(F.rowId,F.field),F.error);return R}),Yt(p[0].error))},[Yt]),Wo=(0,M.useCallback)(p=>{e0(x=>{if(!p.some(F=>x.has(F)))return x;let R=new Map(x);for(let F of p)R.delete(F);return R})},[]),Nn=(0,M.useCallback)(p=>{p.length===0||!r||(Wo(p.map(x=>xa(x.rowId,x.field))),r(p))},[r,Wo]),gl=(0,M.useCallback)(p=>B[Fo.get(p)??-1],[B,Fo]),ml=(0,M.useCallback)(p=>Q[pl.get(p)??-1],[Q,pl]),Fl=(0,M.useCallback)(p=>ce&&p!==void 0&&!p.readOnly,[ce]),bu=(0,M.useCallback)(()=>sa(p=>p+1),[]),$l=(0,M.useCallback)((p,x=!1)=>{p&&(Qo(p),x||Zo(p),bu())},[bu]),c0=p=>{Xo&&Xo.rowId===p.rowId&&Xo.field===p.field||(Qo(p),Zo(p))},bi=ue?.row??null,yi=ue?.col??null;(0,M.useLayoutEffect)(()=>{if(bi===null||yi===null)return;let p=Sa.current;if(p&&bi>=0){let x=qf(bi,p.scrollTop,p.clientHeight,ie,rn);x!==p.scrollTop&&(p.scrollTop=x,$p(x));let R=B[yi];if(R&&!R.frozen){let F=Zl[yi]??0,le=F+nn(R);F-wu<p.scrollLeft?p.scrollLeft=Math.max(F-wu,0):le>p.scrollLeft+p.clientWidth&&(p.scrollLeft=le-p.clientWidth)}}st===Ua.current||P||(Ua.current=st,document.getElementById(Up(L,{row:bi,col:yi}))?.focus({preventScroll:!0}))},[bi,yi,st,P,L,ie,rn,B,Zl,wu]);let Po=(0,M.useCallback)((p,x)=>{if(p.rowId===null)return;let R=gl(p.field),F=ml(p.rowId);if(!(!F||!R)){if(!Fl(R)){Yt(ce?H.readOnly(R.label):H.forbidden);return}c_(R.type)&&(Wo([xa(p.rowId,p.field)]),wi({rowId:p.rowId,field:p.field,seed:x,base:kt(R,F.values[R.field])}))}},[Fl,Wo,gl,ce,H,ml,Yt]),yu=(0,M.useCallback)(p=>{if(p.rowId===null)return;let x=gl(p.field),R=ml(p.rowId);if(!(!R||!x||x.type!=="checkbox")){if(!Fl(x)){Yt(ce?H.readOnly(x.label):H.forbidden);return}Nn([{rowId:R.id,field:x.field,value:kt(x,R.values[x.field])!==!0}])}},[Fl,gl,ce,Nn,H,ml,Yt]),u0=(0,M.useCallback)((p,x)=>{if(x===null)return on(p);let R={down:{row:Math.min(p.row+1,Q.length-1),col:p.col},up:{row:Math.max(p.row-1,0),col:p.col},right:{row:p.row,col:Math.min(p.col+1,B.length-1)},left:{row:p.row,col:Math.max(p.col-1,0)}}[x];return on(R)},[on,B.length,Q.length]),d0=(0,M.useCallback)((p,x)=>{if(!P)return;let R=Jl({rowId:P.rowId,field:P.field}),F=gl(P.field),le=ml(P.rowId);wi(null),p!==void 0&&F&&le&&!Wr(p,kt(F,le.values[F.field]))&&Nn([{rowId:le.id,field:F.field,value:p}]);let Ee=document.activeElement,q=Ee!==null&&Ee!==document.body&&!!Z.current?.contains(Ee);R&&q&&$l(u0(R,x))},[gl,P,Nn,$l,Jl,ml,u0]);(0,M.useEffect)(()=>{P&&!pl.has(P.rowId)&&wi(null)},[P,pl]);let es=P?ml(P.rowId):void 0,Wl=P?gl(P.field):void 0,xu=P&&es&&Wl?kt(Wl,es.values[Wl.field]):null,h0=!!(P&&es&&Wl&&!Wr(xu,P.base)),Ib=h0&&P?es?.changed?.[P.field]?.by??H.someone:"",ts=h0&&P&&Wl?{writer:Ib,value:ya(Wl,xu,O)||H.empty,onKeepMine:()=>wi(p=>p&&{...p,base:xu}),onUseTheirs:()=>{let p=Jl({rowId:P.rowId,field:P.field});wi(null),p&&$l(on(p))}}:null,_u=ts?H.conflict(ts.writer,ts.value):"";(0,M.useEffect)(()=>{_u&&Yt(_u)},[_u,Yt]);let f0=p=>{P||!Ye||gi(p)||(p.preventDefault(),p.clipboardData.setData("text/plain",Qf(B,Q,Ye,O)))},p0=(0,M.useCallback)(()=>{if(!Ye)return;if(!ce){Yt(H.forbidden);return}let p=Ff(B,Q,Ye,O);Nn(p.edits),$o(p.refused)},[B,O,ce,Nn,H.forbidden,Ye,$o,Q,Yt]),Xb=p=>{P||!Ye||gi(p)||(f0(p),p0())},Qb=p=>{if(P||!Ye||gi(p))return;if(p.preventDefault(),!ce){Yt(H.forbidden);return}let x=Jf(B,Q,Ye,Zf(p.clipboardData.getData("text/plain")),O);Nn(x.edits),$o(x.refused)},Zb=Math.max(1,Math.floor(Math.max(vi-rn,ie)/ie)-1),Jb=p=>{if(P||ui(p)||!ue||!ct||gi(p)||p.target.closest(".crewlet-sheet-grid__row-actions"))return;let x=B[ue.col],R=Kl(p);if(R&&p.altKey&&p.key.toLowerCase()==="h"){o&&ct.rowId!==null&&(p.preventDefault(),o({rowId:ct.rowId,field:ct.field}));return}if(R&&!p.altKey&&p.key.toLowerCase()==="z"){let le=p.shiftKey?v:h;le&&(p.preventDefault(),le());return}if(R&&!p.altKey&&p.key.toLowerCase()==="y"){v&&(p.preventDefault(),v());return}if(R&&!p.altKey&&p.key.toLowerCase()==="a"){if(p.preventDefault(),Q.length===0)return;Zo(on({row:0,col:0})),Qo(on({row:Q.length-1,col:B.length-1})),bu();return}if(at&&ct.rowId!==null&&(p.key==="ContextMenu"||p.shiftKey&&p.key==="F10")){p.preventDefault(),n0(ct.rowId);return}let F=Gf(ue,p,{rows:Q.length,cols:B.length,page:Zb});if(F){p.preventDefault();let le=p.shiftKey&&F.row!==fl&&ue.row!==fl;$l(on(F),le);return}if(p.key==="Tab"){let le=p.shiftKey?-1:1,Ee=ue.col+le;if(Ee<0||Ee>=B.length)return;p.preventDefault(),$l(on({row:ue.row,col:Ee}));return}if(ue.row===fl){(p.key==="Enter"||p.key===" ")&&x&&Te?(p.preventDefault(),Ea(x.field)):(p.key==="Enter"||p.key===" ")&&x&&b&&(p.preventDefault(),b(au(y,x.field)));return}switch(p.key){case"Enter":case"F2":if(p.preventDefault(),p.key==="Enter"&&R&&x?.type==="url"){let le=Q[ue.row],Ee=le?kt(x,le.values[x.field]):null;typeof Ee=="string"&&Ee&&(u?u(Ee):window.open(Ee,"_blank","noopener,noreferrer"));return}x?.type==="checkbox"?yu(ct):Po(ct);return;case" ":p.preventDefault(),x?.type==="checkbox"?yu(ct):x&&_b(x.type)&&Po(ct," ");return;case"Delete":case"Backspace":p.preventDefault(),p0();return;case"Escape":Wp&&Ye&&(Ye.top!==Ye.bottom||Ye.left!==Ye.right)&&(p.preventDefault(),Zo(ct));return}if(Kf(p)&&x){if(x.type==="rating"&&/^\d$/.test(p.key)){if(p.preventDefault(),!Fl(x)){Yt(ce?H.readOnly(x.label):H.forbidden);return}let le=Number(p.key),Ee=Q[ue.row];if(!Ee)return;if(le>tn(x)){$o([{rowId:Ee.id,field:x.field,error:H.notARating(x.label,tn(x))}]);return}Nn([{rowId:Ee.id,field:x.field,value:le===0?null:le}]);return}_b(x.type)&&(p.preventDefault(),Po(ct,x.type==="date"?void 0:p.key))}};(0,M.useEffect)(()=>{let p=()=>{vu.current=!1};return window.addEventListener("mouseup",p),()=>window.removeEventListener("mouseup",p)},[]);let g0=(p,x)=>{if(p.button!==0)return;let R=p.shiftKey&&x.rowId!==null&&ct?.rowId!==null;P&&P.rowId===x.rowId&&P.field===x.field||$l(x,R),vu.current=x.rowId!==null},Fb=p=>{!vu.current||p.rowId===null||Qo(p)},[m0,v0]=Bf(Math.max(Fp-rn,0),vi,ie,Q.length),xi=[];for(let p=m0;p<=v0;p+=1)xi.push(p);if(ue&&ue.row>=0&&(ue.row<m0||ue.row>v0)&&xi.push(ue.row),P){let p=pl.get(P.rowId);p!==void 0&&!xi.includes(p)&&xi.push(p)}let w0=`${L}-described`,b0=`${L}-help`,_i=ue?B[ue.col]:void 0,as=ue&&ue.row>=0?Q[ue.row]:void 0,$b=as&&_i?i0.get(xa(as.id,_i.field))??[]:[],Wb=as&&_i?np(_i,v_(as,Pp,_i.field),$b,O,me):"",Pb={"--crewlet-sheet-columns":qb,"--crewlet-sheet-row-height":`${ie}px`,width:`${Vb}px`},Tu=rn+Q.length*ie+2+Db,y0=rn+Q.length*ie>=vi,x0=Q.length===0&&y0,ey=g==="content"?{height:`${d!==void 0?Math.min(Tu,d):Tu}px`,"--crewlet-sheet-content-height":`${Tu}px`}:d!==void 0?{height:`${d}px`}:void 0,ty=p=>{let x=rn+p*ie-Fp,R=vi>0?vi:ie*12;return Vf(x,x+ie,rn,R,ie*8)};return(0,_.jsxs)("div",{className:k("crewlet-sheet-grid",l==="read"&&"crewlet-sheet-grid--read",g==="content"&&"crewlet-sheet-grid--fit-content",X),children:[(0,_.jsx)("div",{ref:Y,className:"crewlet-sheet-grid__probe","aria-hidden":"true"}),(0,_.jsxs)("div",{ref:Sa,className:k("crewlet-sheet-grid__scroller",Lb&&"crewlet-sheet-grid__scroller--across",Je&&"crewlet-sheet-grid__scroller--add-column"),style:ey,onScroll:p=>{$p(p.currentTarget.scrollTop),Ub(p.currentTarget.scrollLeft>0)},children:[(0,_.jsxs)("div",{ref:Z,role:"grid","aria-label":e,"aria-rowcount":Q.length+1,"aria-colcount":B.length+1,"aria-readonly":!ce||void 0,"aria-multiselectable":"true","aria-describedby":b0,tabIndex:-1,className:k("crewlet-sheet-grid__grid",Ye&&(Ye.top!==Ye.bottom||Ye.left!==Ye.right)&&"crewlet-sheet-grid__grid--range"),style:Pb,onKeyDown:Jb,onCopy:f0,onCut:Xb,onPaste:Qb,children:[(0,_.jsx)("div",{role:"rowgroup",className:"crewlet-sheet-grid__head",children:(0,_.jsxs)("div",{role:"row","aria-rowindex":1,className:k("crewlet-sheet-grid__row","crewlet-sheet-grid__row--head",x0&&"crewlet-sheet-grid__row--floor"),children:[(0,_.jsx)("div",{role:"columnheader","aria-colindex":1,className:k("crewlet-sheet-grid__corner",Jo<0&&"crewlet-sheet-grid__frozen-edge"),children:(0,_.jsx)(Rt,{children:H.rowHeader})}),B.map((p,x)=>{let R={row:fl,col:x},F=ue?.row===fl&&ue.col===x,le=y?.field===p.field?y.direction:void 0,Ee=Kb.get(p.field)??[],q=(0,_.jsxs)("div",{id:Up(L,R),role:"columnheader","aria-colindex":x+2,"aria-sort":le??(b?"none":void 0),tabIndex:F?0:-1,className:k("crewlet-sheet-grid__header",`crewlet-sheet-grid__header--${p.type}`,p.frozen&&"crewlet-sheet-grid__cell--frozen",x===Jo&&"crewlet-sheet-grid__frozen-edge",F&&"crewlet-sheet-grid__header--active",Te&&"crewlet-sheet-grid__header--settings",Dt===p.field&&"crewlet-sheet-grid__header--open"),style:p.frozen?{insetInlineStart:`${Zl[x]}px`}:void 0,onMouseDown:Ne=>{gi(Ne)||g0(Ne,{rowId:null,field:p.field})},onFocus:Ne=>{Ne.target===Ne.currentTarget&&c0({rowId:null,field:p.field})},onClick:Ne=>{gi(Ne)||(Te?Ea(Dt===p.field?null:p.field):b&&b(au(y,p.field)))},title:Te?H.columnSettings(p.label):b?H.sortBy(p.label):p.label,children:[(0,_.jsx)("span",{className:"crewlet-sheet-grid__header-label",children:p.label}),(0,_.jsx)(Rt,{children:`, ${H.types[p.type]}`}),le?(0,_.jsx)("span",{className:"crewlet-sheet-grid__sort","aria-hidden":"true",children:le==="ascending"?(0,_.jsx)(rp,{size:"xs"}):(0,_.jsx)(ru,{size:"xs"})}):null,Ee.length>0?(0,_.jsx)("span",{className:"crewlet-sheet-grid__header-presence","aria-hidden":"true",children:Ee.map(Ne=>(0,_.jsx)(Bo,{name:Ne.name,kind:Ne.kind,size:16,decorative:!0,className:k("crewlet-sheet-grid__header-badge",dl(Ne.hue))},Ne.id))}):null]},p.field);return Te?(0,_.jsx)(bb,{label:H.columnSettings(p.label),open:Dt===p.field,onOpenChange:Ne=>{!Ne&&Dt===p.field&&Ea(null)},trigger:()=>q,className:"crewlet-sheet-grid__column-settings",children:Ne=>C(p,Ne)},p.field):q})]})}),(0,_.jsx)("div",{role:"rowgroup",className:"crewlet-sheet-grid__body",style:{height:`${Q.length*ie}px`},children:xi.map(p=>{let x=Q[p],R=jb.get(x.id),F=`${L}-r${p}-name`,le=Ye!==null&&p>=Ye.top&&p<=Ye.bottom,Ee=H.rowActions(p+1);return(0,_.jsxs)("div",{role:"row","aria-rowindex":p+2,className:k("crewlet-sheet-grid__row",p===Q.length-1&&y0&&"crewlet-sheet-grid__row--floor"),style:{top:`${p*ie}px`},"data-row-id":x.id,children:[(0,_.jsxs)("div",{role:"rowheader","aria-colindex":1,"aria-labelledby":F,className:k("crewlet-sheet-grid__rownum",Jo<0&&"crewlet-sheet-grid__frozen-edge",at&&"crewlet-sheet-grid__rownum--actions",le&&"crewlet-sheet-grid__rownum--selected",a0===x.id&&"crewlet-sheet-grid__rownum--open",R&&"crewlet-sheet-grid__rownum--present",R&&dl(R.hue)),children:[(0,_.jsx)("span",{className:"crewlet-sheet-grid__rownum-number","aria-hidden":"true",children:p+1}),(0,_.jsx)(Rt,{id:F,children:nu(B,x,p,O)}),at?(0,_.jsx)("span",{className:"crewlet-sheet-grid__row-actions",children:(0,_.jsx)(xb,{label:Ee,triggerTabIndex:-1,open:a0===x.id,onOpenChange:q=>n0(q?x.id:null),renderTrigger:q=>(0,_.jsx)(Vo,{content:Ee,align:"start",children:(0,_.jsx)(ul,{...q,label:Ee,icon:(0,_.jsx)(sp,{}),size:"sm",title:""})}),items:[{key:"delete",label:H.deleteRow,icon:(0,_.jsx)(pp,{size:"sm"}),danger:!0,onSelect:()=>w?.(x.id)}]})}):null]}),B.map((q,Ne)=>{let ay={row:p,col:Ne},_0=xa(x.id,q.field),Ti=ue?.row===p&&ue.col===Ne,T0=Ye?Uf(Ye,p,Ne):!1,ny=x.pending?.includes(q.field)??!1,ns=x.refused?.[q.field]??Pp.get(_0),Ei=x.changed?.[q.field],E0=kt(q,x.values[q.field]),ls=i0.get(_0),zn=ls?.[0],Si=P?.rowId===x.id&&P.field===q.field,S0=Ti&&o!==void 0&&!Si;return(0,_.jsxs)("div",{id:Up(L,ay),role:"gridcell","aria-colindex":Ne+2,"aria-selected":T0,"aria-readonly":!Fl(q)||void 0,"aria-describedby":Ti?w0:void 0,tabIndex:Ti&&!Si?0:-1,className:k("crewlet-sheet-grid__cell",`crewlet-sheet-grid__cell--${q.type}`,q.frozen&&"crewlet-sheet-grid__cell--frozen",Ne===Jo&&"crewlet-sheet-grid__frozen-edge",T0&&"crewlet-sheet-grid__cell--selected",Ti&&"crewlet-sheet-grid__cell--active",ny&&"crewlet-sheet-grid__cell--pending",ns!==void 0&&"crewlet-sheet-grid__cell--refused",Si&&"crewlet-sheet-grid__cell--editing",S0&&"crewlet-sheet-grid__cell--history",zn&&"crewlet-presence-ring",zn&&dl(zn.hue),zn&&(zn.idle?"crewlet-presence-ring--idle":null)),style:q.frozen?{insetInlineStart:`${Zl[Ne]}px`}:void 0,onMouseDown:ca=>g0(ca,{rowId:x.id,field:q.field}),onFocus:ca=>{ca.target===ca.currentTarget&&c0({rowId:x.id,field:q.field})},onMouseEnter:()=>Fb({rowId:x.id,field:q.field}),onDoubleClick:()=>{q.type!=="checkbox"&&Po({rowId:x.id,field:q.field})},onClick:ca=>{q.type==="checkbox"&&ca.target.closest(".crewlet-sheet-cell__check")&&yu({rowId:x.id,field:q.field})},children:[(0,_.jsx)("span",{className:"crewlet-sheet-grid__value",children:(0,_.jsx)(qp,{column:q,value:E0,context:O,onOpenLink:u})}),ns!==void 0?(0,_.jsx)("span",{className:"crewlet-sheet-grid__refused","aria-hidden":"true",children:(0,_.jsx)(li,{size:"xs"})}):null,Ei?(0,_.jsx)(vb,{by:Ei.by,at:Ei.at,previous:tu(Ei)&&ya(q,kt(q,Ei.previous),O)||null,locale:G,labels:H}):null,ls&&zn?(0,_.jsx)(pb,{name:ap(ls),hue:zn.hue,kind:zn.kind,editing:ls.some(ca=>ca.editing)}):null,Ti&&ns!==void 0&&!Si?(0,_.jsx)("span",{className:"crewlet-sheet-grid__message","aria-hidden":"true",children:ns}):null,S0?(0,_.jsx)("button",{type:"button",tabIndex:-1,"aria-hidden":"true",className:"crewlet-sheet-grid__history",title:H.history,onMouseDown:ca=>ca.stopPropagation(),onClick:()=>o?.({rowId:x.id,field:q.field}),children:(0,_.jsx)(hp,{size:"xs"})}):null,Si?(0,_.jsx)(Ab,{column:q,value:E0,context:O,seed:P.seed,label:`${q.label}, ${nu(B,x,p,O)}`,side:ty(p),conflict:ts,onCommit:(ca,ly)=>d0(ca,ly),onCancel:()=>d0(void 0,null)}):null]},q.field)})]},x.id)})})]}),Je?(0,_.jsx)("div",{className:k("crewlet-sheet-grid__add-column",x0&&"crewlet-sheet-grid__add-column--floor"),style:{height:`${rn}px`},children:(0,_.jsx)(Vo,{content:H.addColumn,children:(0,_.jsx)(ul,{label:H.addColumn,icon:(0,_.jsx)(ou,{size:"xs"}),size:"sm",title:"",onClick:V})})}):null]}),yt?(0,_.jsx)("div",{ref:tt,className:"crewlet-sheet-grid__measure","aria-hidden":"true",inert:!0,children:j.filter(p=>yt.has(p.field)).map(p=>(0,_.jsxs)("div",{"data-measure":p.field,children:[(0,_.jsxs)("div",{className:k("crewlet-sheet-grid__header",`crewlet-sheet-grid__header--${p.type}`),children:[(0,_.jsx)("span",{className:"crewlet-sheet-grid__header-label",children:p.label}),b?(0,_.jsx)("span",{className:"crewlet-sheet-grid__sort",children:(0,_.jsx)(ru,{size:"xs"})}):null]}),(yt.get(p.field)??[]).map((x,R)=>(0,_.jsx)("div",{className:k("crewlet-sheet-grid__cell",`crewlet-sheet-grid__cell--${p.type}`),children:(0,_.jsx)("span",{className:"crewlet-sheet-grid__value",children:(0,_.jsx)(qp,{column:p,value:x,context:O})})},R))]},p.field))}):null,(0,_.jsx)(Rt,{id:w0,children:Wb}),(0,_.jsx)(Rt,{id:b0,children:[H.keyboardHelp,at?H.rowActionsHelp:"",Te?H.columnSettingsHelp:""].filter(Boolean).join(" ")}),(0,_.jsx)(Rt,{children:(0,_.jsx)("span",{role:"status","aria-live":"polite",children:(0,_.jsx)("span",{children:t0.text},t0.n)})}),i||A?(0,_.jsxs)("div",{className:"crewlet-sheet-grid__foot",children:[i&&ce?(0,_.jsx)(Ra,{size:"small",variant:"ghost",onClick:i,leadingIcon:(0,_.jsx)(ou,{size:"sm"}),children:H.addRow}):null,A?(0,_.jsxs)("span",{className:k("crewlet-sheet-grid__sync",((A.failed??0)>0||!A.offline&&(A.refused??0)>0)&&"crewlet-sheet-grid__sync--failed"),children:[(0,_.jsx)("span",{children:H.sync(A)}),(A.failed??0)>0&&f?(0,_.jsx)(Ra,{size:"small",variant:"ghost",onClick:f,children:H.retry}):null,(A.failed??0)===0&&(A.refused??0)>0&&E?(0,_.jsx)(Ra,{size:"small",variant:"ghost",onClick:E,children:H.dismiss}):null]}):null]}):null]})}function gi(e){return!e.currentTarget.contains(e.target)}function Up(e,t){return`${e}-r${t.row<0?"h":t.row}-c${t.col}`}function v_(e,t,a){let n=t.get(xa(e.id,a));return n===void 0||e.refused?.[a]!==void 0?e:{...e,refused:{...e.refused,[a]:n}}}var Xp="crewlet:ready";function Qp(e=window){let t=e.crewlet;return t?Ko(t):new Promise(a=>{let n=()=>{let l=e.crewlet;l&&(e.removeEventListener(Xp,n),a(Ko(l)))};e.addEventListener(Xp,n)})}function Ko(e){return e.ready.then(()=>e)}function Mb(){let e=crypto.getRandomValues(new Uint8Array(12));return Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}var La=K(xe(),1),Ga={noData:"This sheet cannot load, because this version of the page was published without access to its data.",noColumns:e=>`The \u201C${e}\u201D collection has no columns yet.`,loadFailed:(e,t)=>t==="forbidden"?`You do not have access to the \u201C${e}\u201D collection.`:t==="not_found"?`This page has no collection named \u201C${e}\u201D.`:`The \u201C${e}\u201D collection could not be loaded. Reload the page to try again.`,inSheet:e=>e===1?"1 other person is in this sheet":`${e} other people are in this sheet`,stepOvertaken:e=>`Somebody changed this after you, so the ${e} was skipped.`,addRowFailed:e=>`Could not add a row. ${e}`,deleteRowTitle:"Delete this row?",deleteRowMessage:"The row is removed for everyone who can open this page.",deleteRowConfirm:"Delete row",deleteRowCancel:"Cancel"};function pu(e,t){console.warn(`[crewlet artifact-kit] ${e}`,t)}function Zp(e){return e.verdict==="applied"||e.verdict==="pending"?null:Ro(e.verdict,e.reason,Yl)}function gu(e){let t=typeof e?.code=="string"?e.code:"",a=e instanceof Error?e.message:void 0;return Ro(t,a,Yl)}function Nb(e,t){let{capabilities:a}=e;return{settled:t,db:a.has("db"),presence:a.has("presence"),identity:a.has("identity")}}var w_=(e,t)=>e.settled===t.settled&&e.db===t.db&&e.presence===t.presence&&e.identity===t.identity;function b_(e){let[t,a]=(0,$.useState)(()=>Nb(e,!1));return(0,$.useEffect)(()=>{let n=!0,l=r=>{let i=Nb(e,r);a(o=>w_(o,i)?o:i)};return l(!1),e.ready.then(()=>{n&&l(!0)}),()=>{n=!1}},[e]),t}function zb({runtime:e,collection:t,columns:a,sort:n,frozen:l,readOnly:r=!1,label:i,height:o}){let s=b_(e),c=s.db,h=s.presence,v=s.identity,u=(0,$.useMemo)(()=>e.data.collection(t),[e,t]),[m,y]=(0,$.useState)(null),[b,A]=(0,$.useState)(void 0),[f,d]=(0,$.useState)([]),[g,w]=(0,$.useState)(null),[E,C]=(0,$.useState)(n),[N,z]=(0,$.useState)(null),[V,G]=(0,$.useState)([]),[X,Ce]=(0,$.useState)([]),[Me,L]=(0,$.useState)(!1),[H,me]=(0,$.useState)(0),[O,j]=(0,$.useState)({text:"",n:0}),[W,Xe]=(0,$.useState)(null),et=(0,$.useCallback)(Y=>j(Z=>({text:Y,n:Z.n+1})),[]),[,Ht]=(0,$.useState)(0),yt=(0,$.useRef)(new Map),D=(0,$.useMemo)(()=>new $f,[]);(0,$.useEffect)(()=>C(n),[n]),(0,$.useEffect)(()=>D.subscribe(()=>Ht(Y=>Y+1)),[D]),(0,$.useEffect)(()=>{if(!c)return;let Y=!0;return e.data.schema().then(Z=>{if(!Y)return;let st=Z.find(sa=>sa.name===t)??null;A(st?.title),a||y(fw(st))}).catch(Z=>{pu(`the schema of ${t} could not be read`,Z),Y&&!a&&y([])}),()=>{Y=!1}},[e,a,c,t]),(0,$.useEffect)(()=>{if(c)return w(null),u.subscribe(Y=>d(Y.map(Z=>({id:Z.id,values:Z.data}))),Y=>w(Ga.loadFailed(t,Y.code)))},[u,c,t]),(0,$.useEffect)(()=>{if(!v)return;let Y=!0;return e.identity.me().then(Z=>{Y&&z(Z)}).catch(Z=>pu("the reader could not be identified",Z)),e.identity.people().then(Z=>{Y&&G(Z.map(bw))}).catch(Z=>pu("the people a person cell offers could not be listed",Z)),()=>{Y=!1}},[e,v]);let oe=(0,$.useMemo)(()=>vw(a??m??[],l),[a,m,l]);(0,$.useEffect)(()=>{if(h)return Ce(e.presence.roster().members),e.presence.subscribe(Y=>Ce(Y.members))},[e,h]),(0,$.useEffect)(()=>{if(e.connection)return L(e.connection.state==="offline"),e.connection.subscribe(Y=>L(Y==="offline"))},[e]);let xt=(0,$.useMemo)(()=>{let Y=xw(X,yt.current);return yt.current=Y,Y},[X]),tt=N?.seat??null,S=(0,$.useMemo)(()=>_w(X,t,tt,xt),[X,t,tt,xt]),ve=(0,$.useMemo)(()=>Ew(Tw(X,t),tt,xt),[X,t,tt,xt]),B=(0,$.useCallback)(Y=>{let Z=Y.map(ie=>D.begin(ie.rowId,ie.field)),st=ie=>{for(let Ql of Z)Ql(ie===null?{ok:!0}:{ok:!1,message:ie})},sa=ie=>({[ie.field]:ie.value}),Ua;if(Y.length===1){let[ie]=Y;Ua=u.merge(ie.rowId,sa(ie))}else{let ie=e.data.batch();for(let Ql of Y)ie.merge(t,Ql.rowId,sa(Ql));Ua=ie.commit()}Ua.then(ie=>st(Zp(ie)),ie=>st(gu(ie)))},[t,D,e,u]),Q=(0,$.useCallback)(()=>{u.set(Mb(),{}).then(Y=>{let Z=Zp(Y);me(st=>Z===null?0:st+1),Z!==null&&et(Ga.addRowFailed(Z))},Y=>{me(Z=>Z+1),et(Ga.addRowFailed(gu(Y)))})},[u,et]),ce=(0,$.useCallback)(Y=>{let Z=oe[0],st=Z?D.begin(Y,Z.field):()=>{};u.delete(Y).then(sa=>{let Ua=Zp(sa);if(st(Ua===null?{ok:!0}:{ok:!1,message:Ua}),Ua===null)for(let ie of oe)D.dismiss(Y,ie.field)},sa=>st({ok:!1,message:gu(sa)}))},[oe,D,u]),at=(0,$.useCallback)(Y=>{e.data[Y]().then(Z=>{Z===null||Z.verdict==="applied"||Z.verdict==="pending"||et(Z.verdict==="conflict"?Ga.stepOvertaken(Y):Ro(Z.verdict,Z.reason,Yl))},Z=>et(gu(Z)))},[e,et]),Te=(0,$.useRef)({active:null,editing:null}),Je=(0,$.useCallback)(()=>{if(!h)return;let{active:Y,editing:Z}=Te.current,st=Z??Y,sa=st?{collection:t,doc:st.rowId,field:st.field}:{};e.presence.set({activity:Z?"editing":"viewing",focus:sa})},[e,h,t]),Ft=(0,$.useCallback)(Y=>{Te.current.active=Y,Je()},[Je]),mi=(0,$.useCallback)(Y=>{Te.current.editing=Y,Je()},[Je]);if(!c)return s.settled?(0,La.jsx)(ri,{variant:"warning",children:Ga.noData}):null;if(g!==null)return(0,La.jsx)(ri,{variant:"warning",children:g});if(oe.length===0&&(a!==null||m!==null))return(0,La.jsx)(ri,{variant:"neutral",children:Ga.noColumns(t)});let Dt=r||N?.role==="viewer",Ea={...D.sync(Me),failed:H},Sa=W===null?void 0:f.find(Y=>Y.id===W);return(0,La.jsxs)("div",{className:"crewlet-kit-sheet",children:[ve.length>0?(0,La.jsx)("div",{className:"crewlet-kit-sheet__presence",children:(0,La.jsx)(Dp,{members:ve,self:!1,size:"xs",label:Ga.inSheet(ve.length)})}):null,(0,La.jsx)(Ip,{label:i??b??t,columns:oe,rows:D.decorate(f),people:V,mode:Dt?"read":"edit",onEdit:Dt?void 0:B,onAddRow:Dt?void 0:Q,onDeleteRow:Dt?void 0:Xe,onActiveCellChange:Ft,onEditingChange:mi,onOpenLink:Y=>{e.openLink(Y).catch(Z=>pu("a link could not be opened",Z))},onUndo:()=>at("undo"),onRedo:()=>at("redo"),presence:S,sort:E,onSortChange:C,sync:Dt?void 0:Ea,onRetry:H>0?Q:void 0,onDismissRefused:()=>D.dismissAll(),height:o,fit:"content"}),(0,La.jsx)(xp,{open:Sa!==void 0,onClose:()=>Xe(null),onConfirm:()=>{Sa&&ce(Sa.id),Xe(null)},title:Ga.deleteRowTitle,message:Ga.deleteRowMessage,confirmLabel:Ga.deleteRowConfirm,cancelLabel:Ga.deleteRowCancel,destructive:!0}),O.text?(0,La.jsx)(ri,{variant:"warning",live:"polite",children:O.text},O.n):null]})}var kb=K(xe(),1);function Cb(e,t){let a=e.ownerDocument.createElement("div");a.className="crewlet-kit-sheet__root",e.append(a);let n=(0,Ob.createRoot)(a),l=t,r=null,i=!1,o=()=>{i||!r||n.render((0,kb.jsx)(zb,{runtime:r,collection:l.collection,columns:l.columns&&l.columns.length>0?l.columns:null,sort:l.sort??null,frozen:l.frozen,readOnly:l.readOnly,label:l.label,height:l.height}))},s=c=>{c.then(h=>{r=h,o()})};return s(t.runtime?Ko(t.runtime):Qp(e.ownerDocument.defaultView??window)),{update(c){l=c,c.runtime&&c.runtime!==r&&s(Ko(c.runtime)),o()},unmount(){i=!0,n.unmount(),a.remove()}}}var Io=class extends HTMLElement{static get observedAttributes(){return pw}attributeChangedCallback(){this.closest("crewlet-sheet")?.dispatchEvent(new Event("crewlet-columnchange"))}toColumn(){return gw(t=>this.getAttribute(t))}},y_=["collection","sort","frozen","readonly","label","height"],mu=class extends HTMLElement{constructor(){super(...arguments);sn(this,"mounted",null);sn(this,"observer",typeof MutationObserver=="function"?new MutationObserver(()=>this.refresh()):null);sn(this,"onColumnChange",()=>this.refresh())}static get observedAttributes(){return y_}connectedCallback(){this.addEventListener("crewlet-columnchange",this.onColumnChange),this.observer?.observe(this,{childList:!0}),this.refresh()}disconnectedCallback(){this.removeEventListener("crewlet-columnchange",this.onColumnChange),this.observer?.disconnect(),this.mounted?.unmount(),this.mounted=null}attributeChangedCallback(){this.isConnected&&this.refresh()}options(){let a=this.getAttribute("collection")?.trim();if(!a)return null;let n=[...this.children].filter(s=>s instanceof Io).map(s=>s.toColumn()).filter(s=>s!==null),l=Number(this.getAttribute("frozen")),r=Number(this.getAttribute("height")),i={collection:a,columns:n,sort:mw(this.getAttribute("sort")),readOnly:this.hasAttribute("readonly")};this.hasAttribute("frozen")&&Number.isInteger(l)&&l>=0&&(i.frozen=l),this.hasAttribute("height")&&Number.isFinite(r)&&r>0&&(i.height=r);let o=this.getAttribute("label")?.trim();return o&&(i.label=o),i}refresh(){let a=this.options();if(!a){this.mounted?.unmount(),this.mounted=null;return}this.mounted?this.mounted.update(a):this.mounted=Cb(this,a)}};function Jp(e=customElements){e.get("crewlet-column")||e.define("crewlet-column",Io),e.get("crewlet-sheet")||e.define("crewlet-sheet",mu)}Jp();export{Io as CrewletColumnElement,mu as CrewletSheetElement,Xp as RUNTIME_READY_EVENT,Jp as defineElements,Cb as mountSheet,Qp as whenRuntime};
|
|
12
|
+
`?(a.push(n),t.push(a),a=[],n=""):n+=o,r+=1}return(n!==""||a.length>0)&&(a.push(n),t.push(a)),t}function Jf(e,t,a,n,l){let r={edits:[],refused:[]};if(n.length===0)return r;let i=n.length===1&&n[0].length===1,o=i?a.bottom-a.top+1:n.length,s=i?a.right-a.left+1:Math.max(...n.map(c=>c.length));for(let c=0;c<o;c+=1){let h=t[a.top+c];if(!h)break;for(let v=0;v<s;v+=1){let u=e[a.left+v];if(!u)break;if(u.readOnly)continue;let m=i?n[0][0]:n[c]?.[v];if(m===void 0)continue;let y=ti(u,m,l);if(!y.ok){r.refused.push({rowId:h.id,field:u.field,error:y.error});continue}Wr(y.value,kt(u,h.values[u.field]))||r.edits.push({rowId:h.id,field:u.field,value:y.value})}}return r}function Ff(e,t,a,n){let l={edits:[],refused:[]};for(let r=a.top;r<=a.bottom;r+=1){let i=t[r];if(i)for(let o=a.left;o<=a.right;o+=1){let s=e[o];if(!s||s.readOnly)continue;let c=s.type==="checkbox"?!1:s.type==="multiselect"?[]:null;if(!Wr(kt(s,i.values[s.field]),c)){if(s.required&&s.type!=="checkbox"){l.refused.push({rowId:i.id,field:s.field,error:n.labels.required(s.label)});continue}l.edits.push({rowId:i.id,field:s.field,value:c})}}}return l}function Ro(e,t,a){if(e==="forbidden"||e==="capability_not_declared")return a.forbidden;let n=t?.trim();return n||a.couldNotSave}var Qc=(e,t)=>`${e}\0${t}`,$f=class{constructor(){sn(this,"waiting",new Map);sn(this,"refusals",new Map);sn(this,"listeners",new Set);sn(this,"failed",0)}begin(e,t){let a=Qc(e,t);this.refusals.delete(a),this.waiting.set(a,(this.waiting.get(a)??0)+1),this.emit();let n=!1;return l=>{if(n)return;n=!0;let r=(this.waiting.get(a)??1)-1;r<=0?this.waiting.delete(a):this.waiting.set(a,r),l.ok||(this.refusals.set(a,l.message),this.failed+=1),this.emit()}}isPending(e,t){return this.waiting.has(Qc(e,t))}refusal(e,t){return this.refusals.get(Qc(e,t))}dismiss(e,t){this.refusals.delete(Qc(e,t))&&this.emit()}get saving(){let e=0;for(let t of this.waiting.values())e+=t;return e}dismissAll(){this.refusals.size!==0&&(this.refusals.clear(),this.emit())}sync(e=!1){return{saving:this.saving,offline:e,refused:this.refusals.size}}get failures(){return this.failed}resetFailures(){this.failed=0}decorate(e){return this.waiting.size===0&&this.refusals.size===0?[...e]:e.map(t=>{let a=[],n={};for(let l of this.waiting.keys()){let[r,i]=l.split("\0");r===t.id&&a.push(i)}for(let[l,r]of this.refusals){let[i,o]=l.split("\0");i===t.id&&(n[o]=r)}return a.length===0&&Object.keys(n).length===0?t:{...t,pending:[...t.pending??[],...a],refused:{...t.refused,...n}}})}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}emit(){for(let e of this.listeners)e()}};function iw(e,t){let a=e instanceof Date?e:new Date(e);return Number.isNaN(a.getTime())?"":new Intl.DateTimeFormat(t,{hour:"2-digit",minute:"2-digit"}).format(a)}function eu(e,t,a,n){return t.changed(e.by,iw(e.at,n),a)}var tu=e=>e.previous!==void 0;function Wf(e,t,a,n){if(!a)return[...t];let l=e.find(i=>i.field===a.field);if(!l)return[...t];let r=a.direction==="descending"?-1:1;return t.map((i,o)=>({row:i,index:o,value:kt(l,i.values[l.field])})).sort((i,o)=>{let s=c=>c===null||c===""||Array.isArray(c)&&c.length===0;return l.type!=="checkbox"&&(s(i.value)||s(o.value))?s(i.value)===s(o.value)?i.index-o.index:s(i.value)?1:-1:r*lw(l,i.value,o.value,n)||i.index-o.index}).map(({row:i})=>i)}function au(e,t){return!e||e.field!==t?{field:t,direction:"ascending"}:e.direction==="ascending"?{field:t,direction:"descending"}:null}var xa=(e,t)=>`${e}\0${t}`;function Pf(e){let t=new Map;for(let a of e??[]){let n=xa(a.rowId,a.field),l=t.get(n);l?l.push(a):t.set(n,[a])}for(let a of t.values())a.sort((n,l)=>+!!l.editing-+!!n.editing);return t}function ep(e){let t=new Map;for(let a of e??[])t.has(a.rowId)||t.set(a.rowId,a);return t}function tp(e,t=2){let a=new Map;for(let n of e??[]){let l=a.get(n.field)??[];l.length<t&&!l.some(r=>r.id===n.id)&&l.push(n),a.set(n.field,l)}return a}function ap(e){return e.map(t=>t.name).join(", ")}function np(e,t,a,n,l=Oo){let{labels:r}=n,i=[`${e.label}.`];e.readOnly&&i.push(r.readOnly(e.label)),t.pending?.includes(e.field)&&i.push(`${r.saving}.`);let o=t.refused?.[e.field];o&&i.push(o);let s=a.map(h=>h.name);s.length>0&&i.push(l.alsoHere(s));let c=t.changed?.[e.field];if(c){let h=tu(c)&&ya(e,kt(e,c.previous),n)||null;i.push(eu(c,r,h,n.locale))}return i.join(" ")}function nu(e,t,a,n){let l=e.find(r=>r.type==="text");if(l){let r=ya(l,kt(l,t.values[l.field]),n);if(r)return r}return String(a+1)}var lp=K(ut(),1),uw=K(xe(),1),e5=(0,lp.createContext)(2);function dw({level:e,children:t}){return(0,uw.jsx)(e5.Provider,{value:e,children:t})}var t5=K(ut(),1);var hw="data-crewlet-focus-returned";function ai(e,t){if(!e)return!1;let a=()=>e.removeAttribute(hw);return e.setAttribute(hw,""),e.addEventListener("blur",a,{once:!0}),e.focus(t),e.ownerDocument.activeElement===e?!0:(e.removeEventListener("blur",a),a(),!1)}function k(...e){return e.filter(Boolean).join(" ")}var a5=["todo","in_progress","done","blocked"];function n5(e){if(e.options)return e.options.map(t=>{let a={id:t.id,label:t.label};return t.color&&(a.color=t.color),t.category&&a5.includes(t.category)&&(a.category=t.category),t.archived&&(a.archived=!0),a})}function fw(e){let t=[];for(let a of e?.columns??[]){if(a.hidden)continue;let n=a.type,l=Zc(n),r={field:a.key,label:a.label||a.key,type:l?n:"text"};l||(r.readOnly=!0),a.primary&&(r.frozen=!0),a.required&&(r.required=!0),a.min!==void 0&&(r.min=a.min),a.max!==void 0&&(r.max=a.max),a.max_length!==void 0&&(r.maxLength=a.max_length),a.max_items!==void 0&&(r.maxItems=a.max_items);let i=n5(a);i&&(r.options=i),t.push(r)}return t}function l5(e,t){let a=t.trim();if(a===""||a==="plain")return;let n=/^currency:([A-Za-z]{3})$/.exec(a);if(n){e.numberStyle="currency",e.currency=n[1].toUpperCase();return}if(a==="percent"){e.numberStyle="percent";return}let l=/^0(?:\.(0+))?(%)?$/.exec(a);l&&(e.precision=l[1]?.length??0,l[2]&&(e.numberStyle="percent"))}var Ho=e=>{if(e===null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0},pw=["field","type","label","format","options","width","readonly","required","frozen","min","max","max-length","max-items","time"];function gw(e){let t=e("field")?.trim();if(!t)return null;let a=e("type")?.trim()??"text",n=Zc(a),l={field:t,label:e("label")?.trim()||t,type:n?a:"text"};(!n||e("readonly")!==null)&&(l.readOnly=!0),e("required")!==null&&(l.required=!0),e("frozen")!==null&&(l.frozen=!0),e("time")!==null&&(l.time=!0);let r=Ho(e("width"));r!==void 0&&(l.width=r);let i=Ho(e("min"));i!==void 0&&(l.min=i);let o=Ho(e("max"));o!==void 0&&(l.max=o);let s=Ho(e("max-length"));s!==void 0&&(l.maxLength=s);let c=Ho(e("max-items"));c!==void 0&&(l.maxItems=c);let h=e("options");h&&(l.options=Hf(h));let v=e("format");return v&&l.type==="number"&&l5(l,v),l}function mw(e){let t=e?.trim();return t?t.startsWith("-")?{field:t.slice(1),direction:"descending"}:{field:t,direction:"ascending"}:null}function vw(e,t){return t===void 0?[...e]:e.map((a,n)=>n<t?{...a,frozen:!0}:a)}var ww=e=>e!==void 0&&zo(e)?e:void 0;function bw(e){let t={id:e.seat,name:e.displayName,kind:e.kind},a=ww(e.avatar?.hue);return a&&(t.hue=a),e.avatar?.character&&(t.character=e.avatar.character),t}function yw(e,t){return e.filter(a=>a.seat!==t)}function xw(e,t){return Of(e.map(a=>({id:a.session,kind:a.kind,hue:ww(a.avatar?.hue)})),t)}function _w(e,t,a,n){let l=[];for(let r of yw(e,a)){let i=r.focus;i.collection!==t||!i.doc||!i.field||l.push({rowId:i.doc,field:i.field,id:r.session,name:r.displayName,kind:r.kind,hue:n.get(r.session)??"purple",editing:r.activity==="editing",idle:r.activity==="idle"})}return l}function Tw(e,t){return e.filter(a=>a.focus.collection===t)}function Ew(e,t,a){return yw(e,t).map(n=>{let l={id:n.session,seat:n.seat,name:n.displayName,kind:n.kind,activity:n.activity},r=a.get(n.session);return r&&(l.hue=r),n.avatar?.character&&(l.character=n.avatar.character),l})}var $=K(ut(),1);var Aw=K(xe(),1),Sw={xs:12,sm:14,md:16,lg:20,xl:24},Mw=1.75,r5=`var(--crewlet-glyph-stroke, ${Mw})`;function i5(e){return e===void 0?"1em":typeof e=="number"?`${e}px`:e in Sw?`${Sw[e]}px`:e}function gt({size:e,title:t,filled:a=!1,fillable:n,className:l,style:r,children:i,...o}){let s=i5(e);return(0,Aw.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:s,height:s,stroke:"currentColor",...t?{role:"img","aria-label":t}:{"aria-hidden":!0,focusable:!1},className:l===void 0?"crewlet-glyph":`crewlet-glyph ${l}`,...o,viewBox:"0 0 24 24",fill:n&&a?"currentColor":"none",strokeWidth:Mw,strokeLinecap:"round",strokeLinejoin:"round",style:{...r,strokeWidth:r5},children:i})}var U=K(xe(),1);function ru(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M12 5v14"}),(0,U.jsx)("path",{d:"m19 12-7 7-7-7"})]})}function rp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"m5 12 7-7 7 7"}),(0,U.jsx)("path",{d:"M12 19V5"})]})}function ni(e){return(0,U.jsx)(gt,{...e,fillable:!1,children:(0,U.jsx)("path",{d:"M20 6 9 17l-5-5"})})}function ip(e){return(0,U.jsx)(gt,{...e,fillable:!1,children:(0,U.jsx)("path",{d:"m15 18-6-6 6-6"})})}function li(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,U.jsx)("line",{x1:"12",x2:"12",y1:"8",y2:"12"}),(0,U.jsx)("line",{x1:"12",x2:"12.01",y1:"16",y2:"16"})]})}function op(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,U.jsx)("path",{d:"m16 9-5.5 5.5L8 12"})]})}function sp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("circle",{cx:"12",cy:"12",r:"1"}),(0,U.jsx)("circle",{cx:"19",cy:"12",r:"1"}),(0,U.jsx)("circle",{cx:"5",cy:"12",r:"1"})]})}function cp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("circle",{cx:"12",cy:"12",r:"1"}),(0,U.jsx)("circle",{cx:"12",cy:"5",r:"1"}),(0,U.jsx)("circle",{cx:"12",cy:"19",r:"1"})]})}function up(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M15 3h6v6"}),(0,U.jsx)("path",{d:"M10 14 21 3"}),(0,U.jsx)("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]})}function iu(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,U.jsx)("path",{d:"M12 16v-4"}),(0,U.jsx)("path",{d:"M12 8h.01"})]})}function dp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}),(0,U.jsx)("path",{d:"m15 5 4 4"})]})}function ou(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M5 12h14"}),(0,U.jsx)("path",{d:"M12 5v14"})]})}function hp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,U.jsx)("path",{d:"M3 3v5h5"}),(0,U.jsx)("path",{d:"M12 7v5l4 2"})]})}function fp(e){return(0,U.jsx)(gt,{...e,fillable:!0,children:(0,U.jsx)("path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"})})}function pp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M10 11v6"}),(0,U.jsx)("path",{d:"M14 11v6"}),(0,U.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}),(0,U.jsx)("path",{d:"M3 6h18"}),(0,U.jsx)("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})}function gp(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),(0,U.jsx)("path",{d:"M12 9v4"}),(0,U.jsx)("path",{d:"M12 17h.01"})]})}function Do(e){return(0,U.jsxs)(gt,{...e,fillable:!1,children:[(0,U.jsx)("path",{d:"M18 6 6 18"}),(0,U.jsx)("path",{d:"m6 6 12 12"})]})}var _a=K(xe(),1),o5={neutral:(0,_a.jsx)(iu,{size:"md"}),info:(0,_a.jsx)(iu,{size:"md"}),success:(0,_a.jsx)(op,{size:"md"}),warning:(0,_a.jsx)(gp,{size:"md"}),danger:(0,_a.jsx)(li,{size:"md"})},ri=({variant:e="info",title:t,icon:a,layout:n="card",action:l,live:r,className:i,children:o,...s})=>(0,_a.jsxs)("div",{...s,"aria-live":r,className:k("crewlet-callout",`crewlet-callout--${e}`,`crewlet-callout--${n}`,i),children:[(0,_a.jsx)("span",{className:"crewlet-callout__icon","aria-hidden":!0,children:a??o5[e]}),(0,_a.jsxs)("div",{className:"crewlet-callout__content",children:[t?(0,_a.jsx)("span",{className:"crewlet-callout__title",children:t}):null,o]}),l?(0,_a.jsx)("div",{className:"crewlet-callout__action",children:l}):null]});var Nw=K(xe(),1);function zw({size:e="em",className:t,...a}){return(0,Nw.jsx)("span",{...a,"aria-hidden":"true",className:k("crewlet-spinner",`crewlet-spinner--${e}`,t)})}var Ow=K(xe(),1);function Rt({as:e="span",id:t,className:a,children:n}){return(0,Ow.jsx)(e,{id:t,className:k("crewlet-visually-hidden",a),children:n})}var ka=K(ut(),1);var mt=K(xe(),1);function Cw({variant:e="primary",size:t="medium",shape:a="square",block:n,flush:l,className:r},i){return k("crewlet-btn",`crewlet-btn--${e}`,`crewlet-btn--${t}`,`crewlet-btn--${a}`,n&&"crewlet-btn--block",l&&"crewlet-btn--flush",i,r)}function mp({leadingIcon:e,trailingIcon:t,loading:a,children:n}){return(0,mt.jsxs)(mt.Fragment,{children:[a?(0,mt.jsx)(zw,{className:"crewlet-btn__spinner"}):e?(0,mt.jsx)("span",{className:"crewlet-btn__icon",children:e}):null,(0,mt.jsx)("span",{className:"crewlet-btn__label",children:n}),t?(0,mt.jsx)("span",{className:"crewlet-btn__icon",children:t}):null]})}var Ra=(0,ka.forwardRef)(function({variant:t="primary",size:a="medium",shape:n="square",leadingIcon:l,trailingIcon:r,block:i,flush:o,className:s,type:c="button",asChild:h=!1,loading:v=!1,pressed:u,disabledReason:m,disabled:y,onClick:b,title:A,children:f,...d},g){let w=(0,ka.useId)(),C=Cw({variant:t,size:a,shape:n,block:i,flush:o,className:s},v?"crewlet-btn--loading":void 0);if(h){let z=ka.Children.only(f);if(!(0,ka.isValidElement)(z))throw new Error("Button with asChild expects exactly one valid React element child.");let V=z;return(0,ka.cloneElement)(V,{...d,title:A,className:k(V.props.className,C)},(0,mt.jsx)(mp,{leadingIcon:l,trailingIcon:r,children:V.props.children}))}let N=v||m!==void 0;return(0,mt.jsxs)(mt.Fragment,{children:[(0,mt.jsx)("button",{...d,ref:g,type:c,className:C,disabled:y,title:A,"aria-label":d["aria-label"]??(f===void 0?A:void 0),"aria-pressed":u,"aria-busy":v||void 0,"aria-disabled":N||void 0,"aria-describedby":m===void 0?d["aria-describedby"]:k(d["aria-describedby"],w),onClick:z=>{if(N){z.preventDefault();return}b?.(z)},children:(0,mt.jsx)(mp,{leadingIcon:l,trailingIcon:r,loading:v,children:f})}),m===void 0?null:(0,mt.jsx)(Rt,{id:w,children:m})]})}),H8=(0,ka.forwardRef)(function({variant:t="primary",size:a="medium",shape:n="square",leadingIcon:l,trailingIcon:r,block:i,flush:o,className:s,external:c=!1,title:h,children:v,...u},m){let y=r??(c?(0,mt.jsx)(up,{size:"sm"}):void 0);return(0,mt.jsx)("a",{...u,ref:m,className:Cw({variant:t,size:a,shape:n,block:i,flush:o,className:s}),title:h,"aria-label":u["aria-label"]??(v===void 0?h:void 0),target:c?"_blank":u.target,rel:c?"noreferrer":u.rel,children:(0,mt.jsx)(mp,{leadingIcon:l,trailingIcon:y,children:v})})});var Go=K(ut(),1),kw=K(xe(),1),An="crewlet:viewchange",ot=4;function ii(e,t,a,n=ot,l="below"){let r=e.y+e.height+n,i=e.y-n-t.height,o=a.y+a.height-r,s=e.y-n-a.y,h=(l==="below"?o>=t.height||o>=s:s>=t.height||s>=o)?l:l==="below"?"above":"below",v=h==="below"?r:i,u=a.y+a.height-t.height,m=Math.max(a.y,Math.min(v,u)),y=a.x+a.width-t.width;return{left:Math.max(a.x,Math.min(e.x,y)),top:m,side:h}}function oi(){return{x:0,y:0,width:window.innerWidth,height:window.innerHeight}}function si(e,t,a){let n={x:e.left-(a?t.x:0),y:e.top-(a?t.y:0),width:e.width,height:e.height};return s5(n,{x:0,y:0,width:t.width,height:t.height})}function s5(e,t){return e.x+e.width<t.x||e.y+e.height<t.y||e.x>t.x+t.width||e.y>t.y+t.height}var c5=(0,Go.createContext)(null);function sl(){let e=(0,Go.useContext)(c5);return e||(typeof document>"u"?null:document.body)}var Ge=K(ut(),1);var vp={duration:{instant:"75ms",fast:"120ms",base:"150ms",moderate:"200ms",slow:"300ms",breath:"2200ms",turn:"1000ms",sweep:"1500ms",spark:"1600ms"},easing:{default:"ease",out:"ease-out",inOut:"ease-in-out",emphasized:"cubic-bezier(0.16, 1, 0.3, 1)",spring:"cubic-bezier(0.34, 1.56, 0.64, 1)"}};var wp={base:"0",raised:"1",sticky:"10",presence:"20",dropdown:"100",overlay:"200",layerBase:"9000",layerMax:"9899",modal:"9999",popover:"10000",toast:"10001"};var Rw=Symbol.for("crewlet.layer-stack");function u5(){let e=globalThis,t=e[Rw];if(t)return t;let a={entries:[],opened:0,armed:null,listeners:new Set,version:0,locks:0,restore:null};return e[Rw]=a,a}var Ae=u5();function Hw(){Ae.version+=1;for(let e of[...Ae.listeners])e()}function d5(e){return Ae.listeners.add(e),()=>Ae.listeners.delete(e)}function ci(e){let t;for(let a of Ae.entries)e&&a.kind!==e||(!t||a.order>t.order)&&(t=a);return t}var bp={base:Number(wp.layerBase),max:Number(wp.layerMax)};function h5(e){let t=0;for(let a of Ae.entries)a.order<e&&(t+=1);return t}function f5(e){return e===0?bp.base:Math.min(bp.base+h5(e),bp.max)}var p5=229;function ui(e){let t="nativeEvent"in e&&e.nativeEvent||e;return!!t.isComposing||t.keyCode===p5}function Xl(e){let t=["a[href]","button:not([disabled])","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","[contenteditable='true']","[tabindex]"].join(",");return[...e.querySelectorAll(t)].filter(a=>a.tabIndex>=0&&!a.disabled&&!a.closest("[hidden],[inert]")&&(typeof a.checkVisibility!="function"||a.checkVisibility()))}function Dw(e){if(ui(e))return;if(e.key==="Escape"){if(e.defaultPrevented)return;let c=ci();if(!c)return;e.preventDefault(),c.dismissable()&&c.dismiss("escape");return}if(e.key!=="Tab"||e.defaultPrevented)return;let t=ci("modal"),a=t?.panel();if(!t||!a)return;let n=ci("popup"),l=document.activeElement;if(n&&n.order>t.order&&l&&n.panel()?.contains(l))return;let r=Xl(a);if(r.length===0){e.preventDefault(),a.focus();return}let i=r[0],o=r[r.length-1];if(!(l instanceof Node)||!a.contains(l)){e.preventDefault(),(e.shiftKey?o:i).focus();return}let s=c=>(l.compareDocumentPosition(c)&Node.DOCUMENT_POSITION_FOLLOWING)!==0;e.shiftKey&&!r.some(c=>c!==l&&!s(c))?(e.preventDefault(),o.focus()):!e.shiftKey&&!r.some(c=>c!==l&&s(c))&&(e.preventDefault(),i.focus())}function Gw(e){Ae.armed=null;let t=ci();if(!t||!(e.target instanceof Node))return;let a=e.target;if(t.kind==="modal"){a===t.veil()&&(Ae.armed=t);return}[t.panel(),...t.inside()].some(l=>l?.contains(a))||t.dismissable()&&t.dismiss("outside")}function Lw(e){let t=Ae.armed;Ae.armed=null,!(!t||t!==ci()||e.target!==t.veil())&&t.dismissable()&&t.dismiss("outside")}function Uw(e){return Ae.entries.length===0&&(document.addEventListener("keydown",Dw),document.addEventListener("pointerdown",Gw,!0),document.addEventListener("click",Lw,!0)),Ae.entries.push(e),Hw(),()=>{let t=Ae.entries.indexOf(e);t>=0&&Ae.entries.splice(t,1),Ae.armed===e&&(Ae.armed=null),Ae.entries.length===0&&(document.removeEventListener("keydown",Dw),document.removeEventListener("pointerdown",Gw,!0),document.removeEventListener("click",Lw,!0)),Hw()}}function Bw(e){let t=(0,Ge.useRef)(0);return e&&t.current===0&&(t.current=++Ae.opened),e||(t.current=0),t.current}function g5(e){if(!e)return[];let t;for(let n of Ae.entries)n.kind!=="modal"||!n.panel()?.contains(e)||(!t||n.order>t.order)&&(t=n);let a=t?.panel();return t&&a?[e,a,...t.returnTo]:[e]}function qw(e){return(0,Ge.useSyncExternalStore)(d5,()=>Ae.version,()=>0),{zIndex:f5(e),isTopmost:e!==0&&ci()?.order===e}}function Vw({onClose:e,dismissable:t=!0,initialFocus:a}){let n=(0,Ge.useRef)(null),l=(0,Ge.useRef)(null),r=(0,Ge.useRef)(e),i=(0,Ge.useRef)(t),o=(0,Ge.useRef)(a);r.current=e,i.current=t,o.current=a;let s=Bw(!0),[c]=(0,Ge.useState)(()=>typeof document>"u"?[]:g5(document.activeElement)),h=qw(s);(0,Ge.useLayoutEffect)(()=>Uw({kind:"modal",order:s,panel:()=>n.current,returnTo:c,veil:()=>l.current,inside:()=>[],dismiss:()=>r.current(),dismissable:()=>i.current}),[s,c]),(0,Ge.useEffect)(()=>{let m=n.current;return m&&!m.contains(document.activeElement)&&(o.current?.()??Xl(m)[0]??m).focus(),()=>{let y=document.activeElement;if(!(y&&Ae.entries.some(b=>b.panel()?.contains(y)))){for(let b of c)if(!(!(b instanceof HTMLElement)||!b.isConnected||b===document.body)&&ai(b))return}}},[c]);let v=(0,Ge.useCallback)(m=>{n.current=m},[]),u=(0,Ge.useCallback)(m=>{l.current=m},[]);return{panelRef:v,veilRef:u,...h}}function di({open:e,onDismiss:t}){let a=(0,Ge.useRef)(null),n=(0,Ge.useRef)(null),l=(0,Ge.useRef)(t);l.current=t;let r=Bw(e),i=qw(r);(0,Ge.useLayoutEffect)(()=>{if(e)return Uw({kind:"popup",order:r,panel:()=>a.current,returnTo:[],veil:()=>null,inside:()=>[n.current],dismiss:c=>l.current(c),dismissable:()=>!0})},[e,r]);let o=(0,Ge.useCallback)(c=>{a.current=c},[]),s=(0,Ge.useCallback)(c=>{n.current=c},[]);return{panelRef:o,insideRef:s,...i}}function Yw(e){(0,Ge.useLayoutEffect)(()=>{if(!(!e||typeof document>"u"))return Ae.locks===0&&(Ae.restore=document.body.style.overflow,document.body.style.overflow="hidden"),Ae.locks+=1,()=>{Ae.locks-=1,Ae.locks===0&&(document.body.style.overflow=Ae.restore??"",Ae.restore=null)}},[e])}var Ha=K(ut(),1),cl=K(xe(),1),ul=(0,Ha.forwardRef)(function({label:t,icon:a,size:n="md",variant:l="ghost",pressed:r,disabledReason:i,className:o,type:s="button",asChild:c=!1,disabled:h,onClick:v,title:u,children:m,...y},b){let A=(0,Ha.useId)(),f=k("crewlet-icon-btn",`crewlet-icon-btn--${n}`,`crewlet-icon-btn--${l}`,o),d=a??m;if(c){let w=Ha.Children.only(m);if(!(0,Ha.isValidElement)(w))throw new Error("IconButton with asChild expects exactly one valid React element child.");let E=w;return(0,Ha.cloneElement)(E,{...y,"aria-label":t,title:u??t,className:k(E.props.className,f)})}let g=i!==void 0;return(0,cl.jsxs)(cl.Fragment,{children:[(0,cl.jsx)("button",{...y,ref:b,type:s,className:f,disabled:h,title:u??t,"aria-label":t,"aria-pressed":r,"aria-disabled":g||void 0,"aria-describedby":g?k(y["aria-describedby"],A):y["aria-describedby"],onClick:w=>{if(g){w.preventDefault();return}v?.(w)},children:d}),g?(0,cl.jsx)(Rt,{id:A,children:i}):null]})}),J8=(0,Ha.forwardRef)(function({label:t,href:a,icon:n,size:l="md",variant:r="ghost",current:i=!1,className:o,title:s,...c},h){return(0,cl.jsx)("a",{...c,ref:h,href:a,className:k("crewlet-icon-btn",`crewlet-icon-btn--${l}`,`crewlet-icon-btn--${r}`,i&&"crewlet-icon-btn--current",o),title:s??t,"aria-label":t,"aria-current":i?"page":void 0,children:n})});var Da=K(ut(),1),Kw=K(nr(),1);var fe=K(xe(),1);function Iw({open:e,...t}){let a=sl();return e&&a?(0,fe.jsx)(v5,{container:a,...t},m5(a)):null}var jw=new WeakMap,yp=0;function m5(e){let t=jw.get(e);return t!==void 0?t:(yp+=1,jw.set(e,yp),yp)}function vt(e){return e!=null&&e!==!1&&e!==""}function v5({container:e,onClose:t,title:a,subtitle:n,icon:l,footer:r,footerStart:i,headerActions:o,onBack:s,backLabel:c="Back",children:h,size:v="sm",variant:u="dialog",shape:m="framed",placement:y,phoneSheet:b=!1,role:A="dialog",dismissable:f=!0,closeOnBackdrop:d=!0,backdrop:g="veil",showCloseButton:w=!0,stackBody:E=!1,flush:C=!1,className:N,ariaLabel:z,describedBy:V,initialFocus:G,onSubmit:X,closeLabel:Ce="Close",closeDisabledReason:Me="Closing is unavailable until this finishes.",...L}){let H=(0,Da.useId)(),me=`${H}-title`,O=`${H}-subtitle`,j=m==="prompt"&&u==="dialog",W=!j,Xe=u==="sheet",et=y??(j?"center":"top"),Ht=b&&u==="dialog"&&!j,yt=(0,Da.useRef)(null),D=(0,Da.useRef)(null),oe=(0,Da.useRef)(null),xt=(0,Da.useRef)(G);xt.current=G;let tt=(0,Da.useCallback)(()=>{let Te=xt.current?.();if(Te)return Te;let Je=D.current?Xl(D.current)[0]:void 0;return Je||((oe.current?Xl(oe.current)[0]:void 0)??yt.current)},[]),S=Vw({onClose:t,dismissable:f,initialFocus:tt});Yw(!0);let ve=vt(a)?me:void 0,B=V??(vt(n)?O:void 0),Q={...L,ref:Te=>{yt.current=Te,S.panelRef(Te)},className:k("crewlet-modal",`crewlet-modal--${u}`,u==="dialog"?`crewlet-modal--${v}`:void 0,j?"crewlet-modal--prompt":void 0,N),role:A,"aria-modal":!0,"aria-labelledby":ve,"aria-label":ve===void 0?z:void 0,"aria-describedby":B,tabIndex:-1},ce=W&&w,at=(0,fe.jsxs)(fe.Fragment,{children:[W&&(vt(a)||vt(n)||vt(o)||ce||s)?(0,fe.jsxs)("div",{className:k("crewlet-modal__header",Xe?"crewlet-modal__header--sheet":vt(n)?"crewlet-modal__header--subtitled":void 0),children:[s?(0,fe.jsx)(ul,{className:"crewlet-modal__back",label:c,icon:(0,fe.jsx)(ip,{size:"md"}),onClick:s}):null,vt(l)?(0,fe.jsx)("span",{className:"crewlet-modal__icon","aria-hidden":"true",children:l}):null,(0,fe.jsxs)("div",{className:"crewlet-modal__heading",children:[vt(a)?(0,fe.jsx)("h1",{className:k("crewlet-modal__title",Xe?"crewlet-modal__title--sheet":void 0),id:me,children:a}):null,vt(n)?(0,fe.jsx)("p",{className:"crewlet-modal__subtitle",id:O,children:n}):null]}),vt(o)?(0,fe.jsx)("div",{className:"crewlet-modal__actions",children:o}):null,ce?(0,fe.jsx)(ul,{className:"crewlet-modal__close",label:Ce,icon:(0,fe.jsx)(Do,{size:"md"}),onClick:t,disabledReason:f?void 0:Me}):null]}):null,vt(h)||j&&vt(a)?(0,fe.jsxs)("div",{ref:D,className:k("crewlet-modal__body",E?"crewlet-modal__body--stacked":void 0,C?"crewlet-modal__body--flush":void 0,Xe?"crewlet-modal__body--sheet":void 0),children:[j&&vt(a)?(0,fe.jsx)("p",{className:"crewlet-modal__prompt-title",id:me,children:a}):null,(0,fe.jsx)(dw,{level:2,children:h})]}):null,vt(r)||vt(i)?(0,fe.jsxs)("div",{ref:oe,className:k("crewlet-modal__footer",Xe?"crewlet-modal__footer--sheet":void 0),children:[vt(i)?(0,fe.jsx)("div",{className:"crewlet-modal__footer-start",children:i}):null,(0,fe.jsx)("div",{className:"crewlet-modal__footer-end",children:r})]}):null]});return(0,Kw.createPortal)((0,fe.jsx)("div",{ref:d?S.veilRef:void 0,className:k("crewlet-modal-overlay",`crewlet-modal-overlay--${u}`,`crewlet-modal-overlay--${et}`,Ht&&"crewlet-modal-overlay--phone-sheet",g==="clear"&&"crewlet-modal-overlay--clear",e===document.body?"crewlet-modal-overlay--fixed":"crewlet-modal-overlay--in-host"),role:"presentation",style:{zIndex:S.zIndex},children:(0,fe.jsx)("div",{...Q,children:X?(0,fe.jsx)("form",{className:"crewlet-modal__form",onSubmit:Te=>{Te.preventDefault(),X()},children:at}):at})}),e)}function xp({open:e,onClose:t,onConfirm:a,title:n,message:l,children:r,confirmLabel:i="Confirm",cancelLabel:o="Cancel",destructive:s=!1,confirmVariant:c,cancelVariant:h="ghost",confirmDisabled:v=!1,confirmDisabledReason:u="Complete the confirmation above to continue.",submitting:m=!1,busyReason:y="Waiting for this to finish.",shape:b="prompt",size:A="sm"}){let f=`${(0,Da.useId)()}-message`,d=c??(s?"danger":"primary"),g=v||m,w=(0,Da.useCallback)(()=>{g||(async()=>{try{await a()}catch{}})()},[g,a]);return(0,fe.jsxs)(Iw,{open:e,onClose:t,title:n,shape:b,size:A,role:s?"alertdialog":"dialog",describedBy:vt(l)?f:void 0,dismissable:!m,closeDisabledReason:y,onSubmit:w,stackBody:!0,footer:(0,fe.jsxs)(fe.Fragment,{children:[(0,fe.jsx)(Ra,{variant:h,onClick:t,disabledReason:m?y:void 0,children:o}),(0,fe.jsx)(Ra,{type:"submit",variant:d,loading:m,disabledReason:v?u:void 0,children:i})]}),children:[vt(l)?(0,fe.jsx)("p",{className:"crewlet-modal__message",id:f,children:l}):null,r]})}var w5=K(xe(),1);function dl(e){return`crewlet-presence-hue--${e}`}var hu=K(ut(),1);var su=K(xe(),1),Ap={paths:["M543.42 868.92 l-34.44 -0.24 0 -58.77 0 -58.77 -28.92 0 -28.80 0 -40.20 -39.61 c-119.78 -118.25 -181.49 -179.97 -204.30 -204.30 -15.87 -16.93 -82.75 -96.74 -92.51 -110.38 l-3.76 -5.17 26.80 -18.46 c14.69 -10.11 34.09 -23.51 43.14 -29.86 55.25 -38.32 70.29 -48.43 71.12 -47.49 0.47 0.47 11.64 13.87 24.69 29.74 13.17 15.87 27.98 33.62 32.80 39.50 4.94 5.88 21.63 26.10 37.15 44.90 15.52 18.81 28.56 34.21 29.15 34.21 0.47 0.12 0.82 -30.44 0.82 -67.83 l0 -68.06 37.26 -34.56 c43.38 -40.20 61.83 -57.13 75.11 -69 l9.52 -8.46 261.78 0 261.90 0 47.14 45.73 c25.98 25.16 52.43 51.02 58.66 57.36 l11.52 11.52 0.24 67.94 0.35 67.83 31.74 -40.79 c17.51 -22.33 34.91 -45.02 38.91 -50.19 15.16 -20.34 44.32 -57.72 45.14 -58.07 0.71 -0.24 104.97 75.82 126.83 92.51 2.23 1.65 4.58 3.41 5.17 3.76 1.65 1.18 -7.99 14.22 -46.08 62.07 -35.38 44.32 -49.84 61.13 -92.39 106.97 -19.28 20.81 -38.91 41.73 -148.70 157.40 l-34.68 36.56 -26.45 0.12 c-19.04 0 -26.92 0.35 -27.98 1.41 -1.06 1.06 -1.41 15.05 -1.41 55.72 l0 54.31 -34.91 0.47 c-19.28 0.24 -53.72 0.24 -76.41 0 l-41.49 -0.47 0 -55.72 0 -55.72 -99.33 0 -99.33 0 -0.24 56.19 -0.35 56.07 -39.97 0 c-21.98 0 -55.48 -0.12 -74.29 -0.35z m94.74 -13.87 l7.17 -0.82 0 -54.89 c0 -49.02 0.24 -55.13 1.88 -55.72 1.06 -0.35 51.84 -0.71 112.85 -0.71 l110.97 0 0 55.84 0 55.84 62.89 0 62.89 0 0 -55.84 0 -55.84 31.50 0 31.50 0 14.69 -14.93 c30.80 -31.50 113.20 -118.49 144.47 -152.58 48.66 -53.01 81.34 -90.28 104.85 -119.43 22.80 -28.45 44.43 -56.42 44.43 -57.48 0 -0.59 -2 -2.47 -4.35 -4.23 -2.47 -1.76 -7.05 -5.17 -10.34 -7.64 -3.17 -2.35 -16.93 -12.34 -30.56 -22.22 -13.52 -9.87 -33.50 -24.57 -44.43 -32.68 -16.34 -12.11 -19.98 -14.34 -21.39 -13.17 -0.94 0.82 -5.88 6.82 -10.81 13.40 -4.94 6.47 -13.99 18.46 -20.10 26.57 -6.23 8.11 -26.57 34.44 -45.37 58.54 -18.81 24.10 -36.56 47.02 -39.50 50.78 -5.29 7.05 -5.29 7.05 -11.40 7.05 l-6.23 0 0 -79.58 0 -79.58 -37.85 -37.03 c-20.92 -20.45 -45.14 -44.08 -53.95 -52.66 l-15.99 -15.63 -256.84 0 -256.73 0 -47.49 44.20 c-26.21 24.33 -51.13 47.49 -55.60 51.37 l-7.88 7.05 0 79.11 0 79.23 -6.35 0 -6.35 0 -48.66 -58.54 c-26.80 -32.09 -55.95 -67.24 -64.89 -78.17 -8.93 -10.81 -16.69 -19.63 -17.16 -19.63 -0.94 0 -8.58 5.17 -34.32 22.92 -34.21 23.74 -46.08 31.86 -62.65 43.26 -10.34 7.05 -19.28 13.28 -19.87 13.87 -0.59 0.47 2.35 5.05 6.47 10.11 13.87 16.93 53.13 63.12 66.77 78.40 21.86 24.57 83.81 87.69 145.41 148.23 31.62 31.03 68.65 67.36 82.28 80.76 l24.69 24.45 33.50 0.24 33.38 0.35 0.35 59.13 0.24 59.01 53.37 0 c29.27 0 56.54 -0.35 60.54 -0.71z","M535.78 783.81 l-0.35 -59.13 -36.67 0 -36.67 0 -6.82 -6.47 c-48.78 -46.43 -176.91 -173.03 -210.41 -207.82 -24.69 -25.74 -75.70 -81.70 -93.69 -102.85 -3.29 -3.88 -5.29 -7.17 -4.70 -7.76 1.29 -1.06 58.30 -40.32 82.05 -56.42 l16.34 -11.05 3.64 4.47 c11.05 13.87 76.99 92.51 98.98 118.14 l25.74 29.97 15.63 0.35 15.52 0.35 0 -82.87 0 -82.75 50.55 -46.67 c27.86 -25.74 50.55 -47.14 50.55 -47.72 0 -0.59 46.78 -1.06 111.55 -1.06 l111.55 0 15.52 14.81 c15.28 14.58 15.52 14.69 17.98 12.58 1.29 -1.18 8.46 -7.76 15.75 -14.58 l13.40 -12.46 17.75 -0.71 c9.76 -0.47 58.77 -0.82 108.85 -0.82 l90.98 0 14.34 13.75 c7.76 7.64 24.57 23.86 37.15 36.20 12.58 12.34 29.15 28.45 36.67 35.85 l13.87 13.40 0.24 82.87 0.35 82.99 14.22 0.35 14.34 0.35 4.47 -5.64 c2.47 -3.06 11.52 -14.11 19.98 -24.45 8.46 -10.34 30.56 -38.32 49.14 -62.30 43.85 -56.42 46.20 -59.36 48.43 -59.36 2.12 0 4.82 1.88 47.96 33.27 43.02 31.27 45.37 33.03 45.37 34.09 0 0.82 -39.03 46.20 -62.42 72.53 -62.42 70.29 -106.50 117.67 -184.08 197.60 l-50.78 52.43 -13.28 0.71 c-7.29 0.47 -23.98 0.82 -37.03 0.82 l-23.86 0 0 57.01 0 57.01 -49.37 0 -49.37 0 0 -56.42 0 -56.42 -114.37 0 c-63.01 0 -120.13 0.35 -126.95 0.82 l-12.58 0.71 0 55.72 0 55.60 -47.61 0 -47.61 0 -0.24 -59.01z m443.16 -373.22 l-0.35 -119.66 -223.93 0.12 -223.93 0.12 -0.35 119.43 -0.24 119.55 224.52 0 224.52 0 -0.24 -119.55z","M546.36 516.39 c-0.24 -0.59 -0.47 -4.94 -0.35 -9.76 0 -4.82 0.12 -52.54 0.35 -106.15 l0.24 -97.21 209.59 0.24 209.47 0.35 0.35 106.73 0.24 106.62 -209.71 0 c-115.43 0 -209.94 -0.35 -210.18 -0.82z m121.07 -100.50 l-0.35 -66.18 -34.32 -0.35 -34.44 -0.24 0 66.41 0 66.41 34.68 0 34.68 0 -0.24 -66.06z m260.96 0 l-0.35 -66.18 -34.09 0 -34.09 0 0 10.93 c0 5.88 0.12 35.62 0.35 66.06 l0.24 55.25 34.09 0 34.09 0 -0.24 -66.06z"],box:{left:110.48999999999992,top:196.30999999999992,right:1389.0800000000002,bottom:869.2899999999998},centroid:{x:755.6746766446299,y:497.3295661269271}},uu=e=>e.reduce((t,a,n)=>{let l=e[(n+1)%e.length];return t+a[0]*l[1]-l[0]*a[1]},0);function Xw(e,t,a){for(let n of e)n.forEach((l,r)=>{let i=n[(r+1)%n.length];l[1]!==i[1]&&a.push(l[1]<i[1]?{x0:l[0],y0:l[1],x1:i[0],y1:i[1],wind:1,add:t}:{x0:i[0],y0:i[1],x1:l[0],y1:l[1],wind:-1,add:t})})}var hi=(e,t)=>t===e.y0?e.x0:t===e.y1?e.x1:e.x0+(t-e.y0)*(e.x1-e.x0)/(e.y1-e.y0);function b5(e){let t=new Set;for(let a of e)t.add(a.y0),t.add(a.y1);for(let a=0;a<e.length;a+=1){let n=e[a];for(let l=a+1;l<e.length&&e[l].y0<n.y1;l+=1){let r=e[l],i=Math.max(n.y0,r.y0),o=Math.min(n.y1,r.y1);if(o<=i)continue;let s=hi(n,i)-hi(r,i),c=hi(n,o)-hi(r,o);s*c<0&&t.add(i+(o-i)*s/(s-c))}}return[...t].sort((a,n)=>a-n)}var y5=1e-9;function x5(){let e=new Map;return(t,a)=>{let n=e.get(t);n||e.set(t,n=[]);for(let l of n)if(Math.abs(l-a)<=y5)return l;return n.push(a),a}}function _5(e,t,a,n){let l=e.map(h=>({e:h,a:n(t,hi(h,t)),b:n(a,hi(h,a))})).sort((h,v)=>h.a+h.b-(v.a+v.b)),r=[],i=0,o=0,s=!1,c=[0,0];for(let h=0;h<l.length;){let{a:v,b:u}=l[h];for(;h<l.length&&l[h].a===v&&l[h].b===u;h+=1){let{e:y}=l[h];y.add?i+=y.wind:o+=y.wind}let m=i!==0&&o===0;m&&!s?c=[v,u]:!m&&s&&r.push({left:c,right:[v,u]}),s=m}return r}function Qw(e,t){let a=[],n=0;for(let[l,r]of e){let i=l;for(;n<t.length&&t[n][1]<=i;)n+=1;for(let o=n;o<t.length&&t[o][0]<r&&i<r;o+=1){let[s,c]=t[o];s>i&&a.push([i,s]),i=Math.max(i,c)}i<r&&a.push([i,r])}return a}function T5(e,t){let a=[];return t.forEach((n,l)=>{let r=e[l],i=e[l+1];for(let{left:o,right:s}of n)a.push([[s[0],r],[s[1],i]]),a.push([[o[1],i],[o[0],r]])}),e.forEach((n,l)=>{let r=l>0?t[l-1].map(({left:o,right:s})=>[o[1],s[1]]):[],i=l<t.length?t[l].map(({left:o,right:s})=>[o[0],s[0]]):[];for(let[o,s]of Qw(i,r))a.push([[o,n],[s,n]]);for(let[o,s]of Qw(r,i))a.push([[s,n],[o,n]])}),a.filter(([n,l])=>n[0]!==l[0]||n[1]!==l[1])}var Mp=1e-9;function E5(e){let t=[...e],a=!0;for(;a&&t.length>=3;){a=!1;let n=[];for(let l=0;l<t.length;l+=1){let r=n.length>0?n[n.length-1]:t[t.length-1],i=t[l],o=t[(l+1)%t.length],s=i[0]-r[0],c=i[1]-r[1],h=o[0]-i[0],v=o[1]-i[1],u=Math.hypot(s,c)<Mp,m=Math.abs(s*v-c*h)<Mp;if(u||m){a=!0;continue}n.push(i)}t=n}return t}function S5(e){let t=r=>`${r[0]} ${r[1]}`,a=new Map;e.forEach(([r],i)=>{let o=a.get(t(r));o?o.push(i):a.set(t(r),[i])});let n=new Uint8Array(e.length),l=[];return e.forEach((r,i)=>{if(n[i])return;let o=[],s=i;for(;s!==void 0;){n[s]=1;let[c,h]=e[s];if(o.push(c),h[0]===r[0][0]&&h[1]===r[0][1])break;s=a.get(t(h))?.find(v=>!n[v])}l.push(o)}),l.map(E5).filter(r=>r.length>=3&&Math.abs(uu(r))>Mp)}function Np(e,t=[]){let a=[];Xw(e,!0,a),Xw(t,!1,a),a.sort((s,c)=>s.y0-c.y0);let n=b5(a),l=x5(),r=[],i=0,o=[];for(let s=0;s+1<n.length;s+=1){let c=n[s],h=n[s+1];for(;i<a.length&&a[i].y0<=c;)o.push(a[i++]);o=o.filter(v=>v.y1>c),r.push(_5(o,c,h,l))}return S5(T5(n,r))}var A5=e=>e.reduce((t,a)=>t+uu(a),0)/2;function M5(e){let t=0,a=0;for(let l of e)l.forEach((r,i)=>{let o=l[(i+1)%l.length],s=r[0]*o[1]-o[0]*r[1];t+=(r[0]+o[0])*s,a+=(r[1]+o[1])*s});let n=6*A5(e);return[t/n,a/n]}var _p=e=>uu(e)<0?e.reverse():e;function tb(e,t,a=4){let n=[];for(let l of e)l.forEach((r,i)=>{let o=l[(i+1)%l.length],s=l[(i+2)%l.length],c=Math.hypot(o[0]-r[0],o[1]-r[1]),h=(o[1]-r[1])/c,v=-(o[0]-r[0])/c,u=Math.hypot(s[0]-o[0],s[1]-o[1]),m=(s[1]-o[1])/u,y=-(s[0]-o[0])/u,b=t;n.push(_p([[r[0]+h*b,r[1]+v*b],[o[0]+h*b,o[1]+v*b],[o[0]-h*b,o[1]-v*b],[r[0]-h*b,r[1]-v*b]]));let A=(o[0]-r[0])*(s[1]-o[1])-(o[1]-r[1])*(s[0]-o[0]);if(A===0)return;let f=A>0?1:-1,d=[o[0]+f*h*b,o[1]+f*v*b],g=[o[0]+f*m*b,o[1]+f*y*b],w=h+m,E=v+y,C=w*w+E*E;if(C>0&&2/Math.sqrt(C)<=a){let N=[o[0]+f*w*2*b/C,o[1]+f*E*2*b/C];n.push(_p([o,d,N,g]))}else n.push(_p([o,d,g]))});return n}var Zw=e=>Math.round(e*100)/100;function Jw(e){return e.map(t=>`M${t.map(([n,l])=>`${Zw(n)} ${Zw(l)}`).filter((n,l,r)=>n!==r[l-1]).join("L")}Z`).join("")}var ab=["crewlet","hexlet","peaklet","prismlet","towerlet","bricklet","gemlet","coglet","pluslet","shieldlet","stacklet","sparklet","cloudlet","foxlet","rocketlet","crownlet","cactlet","wisplet","heartlet","flasklet","chiplet","duolet","chatlet","pagelet","archlet","dashlet","octlet","conelet","hivelet","folderlet"],Uo=e=>typeof e=="string"&&ab.includes(e),cu=96,N5=1.35,nb=.9,Lo=1.3,z5=2,Tp={full:{width:.164,height:.62},compact:{width:.19,height:.68},offset:.312},Ep={half:3.2,depth:2.6},Fw=e=>Math.round(e*100)/100;function $w(e,t){let a=[];return e.forEach((n,l)=>{let r=typeof t=="number"?t:t[l]??0;if(!r){a.push(n);return}let i=o=>{let s=o[0]-n[0],c=o[1]-n[1],h=Math.min(r/Math.hypot(s,c),.45);return[n[0]+s*h,n[1]+c*h]};a.push(i(e[(l-1+e.length)%e.length]),i(e[(l+1)%e.length]))}),a}var Ww=e=>`M${e.map(([t,a])=>`${Fw(t)} ${Fw(a)}`).join("L")}Z`;function Ue(e,t=0){let a=typeof t=="number"?e.map(()=>t):t;return uu(e)<0?$w([...e].reverse(),[...a].reverse()):$w(e,a)}var pe=(e,t,a,n,l=0)=>Ue([[e,t],[e+a,t],[e+a,t+n],[e,t+n]],l),Le=(e,t,a,n=10)=>[pe(e,a,n,cu-a),pe(t,a,n,cu-a)];function O5(e,t,a,n,l){let r=[];for(let i=0;i<l;i+=1){let o=(i*360/l-90)*(Math.PI/180);for(let[s,c]of[[n,-15],[a,-8.5],[a,8.5],[n,15]]){let h=o+c*(Math.PI/180);r.push([e+s*Math.cos(h),t+s*Math.sin(h)])}}return Ue(r)}function C5(e){let t=e.flat(),a=t.map(([i])=>i),n=t.map(([,i])=>i),l=Math.min(...a),r=Math.min(...n);return{x:l,y:r,width:Math.max(...a)-l,height:Math.max(...n)-r}}var k5=([e,t,a,n])=>({x:e,y:t,width:a,height:n}),lb=new WeakMap;function _e(e){let t=e.holes??[],a,n={kind:"drawn",name:e.name,shape:e.shape,shapes:e.shapes.map(Ww),holes:t.map(Ww),visor:k5(e.visor),notch:e.notch===void 0?null:[e.notchX??50,e.notch],get bounds(){return a??(a=C5([...Cp(n),...rb(n)]))}};return lb.set(n,{parts:e.shapes,holes:t}),n}var du=e=>lb.get(e);function Cp(e){let t=du(e);return t.silhouette??(t.silhouette=Np(t.parts))}function rb(e){let t=du(e);return t.reach??(t.reach=tb(Cp(e),nb+N5))}var zp=.095,ib=760,ob=869,Op=(e,t)=>[50+(e-ib)*zp,cu+(t-ob)*zp],R5=Op(Ap.centroid.x,Ap.centroid.y);function H5(){let{paths:e,box:t}=Ap,[a,n]=Op(t.left,t.top),[l,r]=Op(t.right,t.bottom);return{kind:"mark",name:"Crewlet",shape:"The original mark, arms raised",transform:`translate(50 ${cu}) scale(${zp}) translate(${-ib} ${-ob})`,keyline:e[0],body:[e[1],e[2]],bounds:{x:a,y:n,width:l-a,height:r-n}}}var kp={crewlet:H5(),hexlet:_e({name:"Hexlet",shape:"Hexagon with pointed flanks",shapes:[Ue([[30,22],[70,22],[86,54],[70,86],[30,86],[14,54]],[5,5,4,4,4,4]),...Le(34,56,84)],visor:[28,38,44,20],notch:22}),peaklet:_e({name:"Peaklet",shape:"Pentagon with a peaked roof",shapes:[Ue([[50,12],[82,36],[82,86],[18,86],[18,36]],[6,5,4,4,5]),...Le(28,62,84)],visor:[26,44,48,20]}),prismlet:_e({name:"Prismlet",shape:"Triangle with cut tips",shapes:[Ue([[50,10],[90,86],[10,86]],[9,8,8]),...Le(28,62,84)],visor:[31,54,38,18]}),towerlet:_e({name:"Towerlet",shape:"Tall pillar, narrow stance",shapes:[pe(32,12,36,74,[8,8,4,4]),...Le(35,55,84)],visor:[36,24,28,16],notch:12}),bricklet:_e({name:"Bricklet",shape:"Wide, low slab",shapes:[pe(10,42,80,44,[9,9,6,6]),...Le(22,68,84)],visor:[21,50,58,19],notch:42}),gemlet:_e({name:"Gemlet",shape:"Diamond on its point",shapes:[Ue([[50,6],[90,48],[50,90],[10,48]],[7,7,16,7]),...Le(40,52,76,8)],visor:[27,38,46,20]}),coglet:_e({name:"Coglet",shape:"Eight-tooth gear",shapes:[O5(50,52,37,31,8),...Le(36,54,78)],visor:[30,40,40,18]}),pluslet:_e({name:"Pluslet",shape:"Cross with squared arms",shapes:[pe(34,14,32,72,[7,7,0,0]),pe(10,34,80,30,7),...Le(37,53,84)],visor:[20,40,60,18],notch:14}),shieldlet:_e({name:"Shieldlet",shape:"Flat crown, pointed base",shapes:[Ue([[16,16],[84,16],[84,54],[50,92],[16,54]],[9,9,5,14,5]),...Le(41,51,79,8)],visor:[26,28,48,20],notch:16}),stacklet:_e({name:"Stacklet",shape:"Stepped crown, square base",shapes:[Ue([[34,12],[66,12],[66,26],[82,26],[82,86],[18,86],[18,26],[34,26]],[4,4,0,5,4,4,5,0]),...Le(28,62,84)],visor:[26,40,48,20],notch:12}),sparklet:_e({name:"Sparklet",shape:"Faceted drop",shapes:[Ue([[50,8],[80,48],[78,74],[64,86],[36,86],[22,74],[20,48]],[6,4,2,2,2,2,4]),...Le(36,54,84)],visor:[30,48,40,18]}),cloudlet:_e({name:"Cloudlet",shape:"Three-lobed cloud",shapes:[pe(14,44,72,42,[0,0,8,8]),pe(16,30,32,32,9),pe(33,18,34,34,10),pe(56,32,30,30,9),...Le(30,60,84)],visor:[24,48,52,18],notch:18}),foxlet:_e({name:"Foxlet",shape:"Square body, pointed ears",shapes:[pe(18,34,64,52,6),Ue([[20,36],[26,12],[44,36]],[0,4,0]),Ue([[56,36],[74,12],[80,36]],[0,4,0]),...Le(28,62,84)],visor:[26,46,48,20]}),rocketlet:_e({name:"Rocketlet",shape:"Nose cone and swept fins",shapes:[Ue([[50,6],[66,26],[66,80],[34,80],[34,26]],[5,3,3,3,3]),Ue([[34,54],[34,80],[18,90],[18,70]],[0,0,3,3]),Ue([[66,54],[82,70],[82,90],[66,80]],[0,3,3,0]),...Le(37,55,80,8)],visor:[37,32,26,16]}),crownlet:_e({name:"Crownlet",shape:"Three-point crown",shapes:[pe(18,40,64,46,[0,0,6,6]),Ue([[18,44],[18,18],[34,32],[50,12],[66,32],[82,18],[82,44]],[0,3,0,3,0,3,0]),...Le(28,62,84)],visor:[27,48,46,20]}),cactlet:_e({name:"Cactlet",shape:"Trunk with two raised arms",shapes:[pe(32,12,36,74,[10,10,0,0]),pe(16,50,18,9,[0,0,0,3]),pe(16,28,9,31,[4.5,4.5,0,3]),pe(66,58,18,9,[0,0,3,0]),pe(75,38,9,29,[4.5,4.5,3,0]),...Le(36,54,84)],visor:[37,26,26,16],notch:12}),wisplet:_e({name:"Wisplet",shape:"Tall ghost with a zigzag hem",shapes:[Ue([[16,10],[84,10],[84,92],[72.5,82],[61,92],[50,82],[39,92],[27.5,82],[16,92]],[14,14,2,0,2,0,2,0,2])],visor:[26,28,48,20],notch:10}),heartlet:_e({name:"Heartlet",shape:"Faceted heart",shapes:[Ue([[50,26],[62,14],[78,14],[90,26],[90,44],[50,84],[10,44],[10,26],[22,14],[38,14]],[0,3,3,3,4,6,4,3,3,3]),...Le(41,51,74,8)],visor:[23,30,54,18]}),flasklet:_e({name:"Flasklet",shape:"Lab flask with a narrow neck",shapes:[pe(35,6,30,7,2),pe(40,10,20,22),Ue([[40,28],[60,28],[86,80],[86,86],[14,86],[14,80]],[0,0,6,3,3,6]),...Le(26,64,84)],visor:[33,54,34,14],notch:6}),chiplet:_e({name:"Chiplet",shape:"Square chip with pins",shapes:[pe(24,20,52,60,6),...[31,47,63].map(e=>pe(e,11,6,10)),...[32,47,62].map(e=>pe(15,e,10,6)),...[32,47,62].map(e=>pe(75,e,10,6)),...[31,47,63].map(e=>pe(e,78,6,18))],holes:[pe(29,70,5,5)],visor:[31,34,38,18]}),duolet:_e({name:"Duolet",shape:"Small head on a wide body",shapes:[pe(30,10,40,34,8),pe(18,40,64,46,6),...Le(28,62,84)],visor:[36,19,28,15],notch:10}),chatlet:_e({name:"Chatlet",shape:"Speech bubble with a tail",shapes:[pe(14,22,72,54,8),Ue([[26,72],[46,72],[22,94]],[0,0,2])],visor:[24,34,52,22],notch:22}),pagelet:_e({name:"Pagelet",shape:"Page with a folded corner",shapes:[Ue([[20,10],[64,10],[80,26],[80,86],[20,86]],[4,0,0,4,4]),...Le(28,62,84)],holes:[pe(63.3,10,1.4,17.4),pe(63.3,25.3,17,1.4)],visor:[27,36,46,20],notch:10}),archlet:_e({name:"Archlet",shape:"Gate with built-in legs",shapes:[Ue([[16,18],[84,18],[84,96],[64,96],[64,74],[36,74],[36,96],[16,96]],[8,8,0,0,4,4,0,0])],visor:[25,30,50,22],notch:18}),dashlet:_e({name:"Dashlet",shape:"Body leaning forward",shapes:[Ue([[29,14],[87,14],[71,86],[13,86]],6),...Le(20,48,84)],visor:[31.5,28,42,20],notch:14,notchX:58}),octlet:_e({name:"Octlet",shape:"Regular octagon",shapes:[pe(16,16,68,68,20),...Le(35,55,81)],visor:[26,36,48,22],notch:16}),conelet:_e({name:"Conelet",shape:"Narrow crown, wide base",shapes:[Ue([[30,12],[70,12],[88,84],[12,84]],[6,6,5,5]),...Le(26,64,82)],visor:[28,40,44,20],notch:12}),hivelet:_e({name:"Hivelet",shape:"Upright honeycomb cell",shapes:[Ue([[50,6],[84,24],[84,72],[50,90],[16,72],[16,24]],[6,4,4,6,4,4]),...Le(40,52,80,8)],visor:[25,36,50,20]}),folderlet:_e({name:"Folderlet",shape:"Folder with a tab",shapes:[Ue([[12,14],[38,14],[50,26],[88,26],[88,84],[12,84]],[4,0,0,6,5,5]),...Le(26,64,82)],visor:[24,40,52,22]})},Pw=.5,Sp=(e,t,a,n)=>[[e,t],[e+a,t],[e+a,t+n],[e,t+n]];function D5(e){let t=1/0;return e.forEach((a,n)=>{let l=e[(n+1)%e.length],r=Math.hypot(l[0]-a[0],l[1]-a[1]);if(r===0)return;let i=Math.max(...e.map(o=>Math.abs((l[0]-a[0])*(o[1]-a[1])-(l[1]-a[1])*(o[0]-a[0]))/r));t=Math.min(t,i)}),t}function G5(e,t){let{visor:a,notch:n}=e,l=t==="full",r=l?Tp.full:Tp.compact,i=a.width*r.width,o=a.height*r.height,s=a.y+(a.height-o)/2,c=a.x+a.width/2,h=a.width*Tp.offset,v=[c-h,c+h].map(u=>Sp(u-i/2,s,i,o));n&&v.push([[n[0]-Ep.half,n[1]-1],[n[0]+Ep.half,n[1]-1],[n[0],n[1]+Ep.depth]]);for(let u of du(e).holes)(l||D5(u)>z5)&&v.push(u);if(l){let u=Lo/2;v.push(Sp(a.x-u,a.y-u,a.width+Lo,a.height+Lo)),v.push([...Sp(a.x+u,a.y+u,a.width-Lo,a.height-Lo)].reverse())}return v}function sb(e,t){let a=e.x+e.width/2,n=e.y+e.height/2,l=a+Pw*(t[0]-a),r=n+Pw*(t[1]-n),i=Math.max(e.width+2*Math.abs(l-a),e.height+2*Math.abs(r-n));return{x:l-i/2,y:r-i/2,width:i,height:i}}function L5(e){let{parts:t}=du(e),a=Cp(e),n={},l=i=>Jw(Np(t,G5(e,i))),r=()=>Jw(Np([...a,...rb(e)],[...a,...tb(a,nb)]));return{frame:sb(e.bounds,M5(a)),paths:i=>n[i]??(n[i]=i==="full"?[r(),l("full")]:[l("compact")])}}var eb=new Map;function U5(e){let t=eb.get(e);if(t)return t;let a=kp[e];if(a.kind==="mark"){let n=[a.keyline,...a.body];t={frame:sb(a.bounds,R5),paths:l=>l==="full"?n:a.body}}else t=L5(a);return eb.set(e,t),t}var B5=e=>Math.round(e*100)/100,q5=({character:e,detail:t="full",...a})=>{let n=kp[e],{frame:l,paths:r}=U5(e),i=r(t).map(o=>(0,su.jsx)("path",{d:o},o));return(0,su.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:[l.x,l.y,l.width,l.height].map(B5).join(" "),width:"1em",height:"1em","aria-hidden":"true",focusable:"false","data-character":e,"data-detail":t,...a,children:(0,su.jsx)("g",{fill:"currentColor",transform:n.kind==="mark"?n.transform:void 0,children:i})})},Rp=q5;var wt=K(xe(),1);var V5={working:"working",needs:"needs you",stopped:"stopped"},Hp={xs:20,sm:26,md:32,lg:40},Y5=16;var j5=/^agent(?:[\s._-]+)(?=\S)/i;function cb(e,t){if(e===void 0||t!=="agent")return e;let a=e.replace(j5,"");return a.trim()?a:e}var K5=56,ub=e=>{if(!e)return"?";let t=e.trim().split(/[\s\-_.:]+/).map(r=>r.replace(/^\p{P}+|\p{P}+$/gu,"")).filter(Boolean);if(t.length===0)return"?";let a=r=>(Array.from(r)[0]??"").toUpperCase();if(t.length>=2)return t.slice(0,2).map(a).join("")||"?";let n=t[0],l=n.split(/(?<=\p{Ll})(?=\p{Lu})/u);return l.length>=2?l.slice(0,2).map(a).join(""):Array.from(n).slice(0,2).map(r=>r.toUpperCase()).join("")||"?"},I5=10,X5=e=>{let t=0;for(let a=0;a<e.length;a+=1)t=t*31+e.charCodeAt(a)>>>0;return t%I5};function Q5(e){return e==="text"?Y5:typeof e=="number"?e:Hp[e]}var Bo=({src:e,name:t,size:a="md",kind:n="agent",tone:l="neutral",ring:r,status:i,mark:o,markLabel:s,decorative:c=!1,colorSeed:h,character:v,hue:u,icon:m,className:y,style:b,...A})=>{let[f,d]=(0,hu.useState)(!1);(0,hu.useEffect)(()=>{d(!1)},[e]);let g=a==="text",w=typeof a=="number"||g?null:a,E=Q5(a),C=w===null&&!g?{"--crewlet-avatar-size":`${E}px`,fontSize:Math.max(9,Math.round(E*.36))}:{},N=l==="seeded"?X5(h??t??""):null,z=i===void 0&&o!==void 0&&o!==null,V=i!==void 0||z,G=i!==void 0?V5[i]:z?s:void 0,X=t?`${t} avatar`:"Avatar",Ce=G?`${X}, ${G}`:X,Me=k("crewlet-avatar",`crewlet-avatar--${n}`,w===null?null:`crewlet-avatar--${w}`,g?"crewlet-avatar--text":null,V?"crewlet-avatar--notched":null,r===void 0||V?null:`crewlet-avatar--ring-${r}`,V?null:y),L=V?C:{...C,...b};function H(){return v!==void 0&&n==="agent"?(0,wt.jsx)("span",{...A,className:k(Me,"crewlet-avatar--character",u===void 0?"crewlet-avatar--neutral":`crewlet-avatar--hue-${u}`),style:L,role:c?void 0:"img","aria-hidden":c?!0:void 0,"aria-label":c?void 0:Ce,children:(0,wt.jsx)(Rp,{className:"crewlet-avatar__character",character:v,detail:E>=K5?"full":"compact"})}):e&&!f?(0,wt.jsx)("img",{...A,className:k(Me,"crewlet-avatar--image"),style:L,src:e,alt:c?"":G?`${t??""}, ${G}`:t??"","aria-hidden":c?!0:void 0,onError:()=>d(!0)}):(0,wt.jsx)("span",{...A,className:k(Me,"crewlet-avatar--fallback",`crewlet-avatar--${l}`,N===null?null:`crewlet-avatar--tint-${N}`,m==null?null:"crewlet-avatar--icon"),style:L,role:c?void 0:"img","aria-hidden":c?!0:void 0,"aria-label":c?void 0:Ce,children:m==null?g?(0,wt.jsx)("span",{className:"crewlet-avatar__initials",children:ub(cb(t,n))}):ub(cb(t,n)):(0,wt.jsx)("span",{className:"crewlet-avatar__icon","aria-hidden":"true",children:m})})}let me=H();return V?(0,wt.jsxs)("span",{className:k("crewlet-avatar-frame",y),style:g?b:{"--crewlet-avatar-size":`${E}px`,...b},children:[me,i!==void 0?(0,wt.jsx)("span",{className:`crewlet-avatar__status crewlet-avatar__status--${i}`,"aria-hidden":"true",children:Z5[i]}):(0,wt.jsx)("span",{className:"crewlet-avatar__status crewlet-avatar__status--mark","aria-hidden":"true",children:o})]}):me},Z5={working:(0,wt.jsx)("svg",{viewBox:"0 0 14 14",focusable:"false",children:(0,wt.jsx)("path",{d:"M5.4 3.9 10.2 7l-4.8 3.1z",fill:"currentColor"})}),needs:(0,wt.jsxs)("svg",{viewBox:"0 0 14 14",focusable:"false",children:[(0,wt.jsx)("path",{d:"M5.1 5.3a1.9 1.9 0 1 1 2.7 1.7c-.55.27-.8.62-.8 1.15v.3",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,wt.jsx)("circle",{cx:"7",cy:"10.45",r:".85",fill:"currentColor"})]}),stopped:(0,wt.jsx)("svg",{viewBox:"0 0 14 14",focusable:"false",children:(0,wt.jsx)("rect",{x:"4.6",y:"4.6",width:"4.8",height:"4.8",rx:".7",fill:"currentColor"})})};var Mn=K(xe(),1);function Dp({members:e,self:t=!0,max:a=4,size:n="sm",onSelect:l,label:r,labels:i,className:o}){if(!Number.isInteger(a)||a<1)throw new RangeError(`PresenceStack max must be a whole number of at least 1; it was ${a}`);let s=Co(i),c=zf(e);if(c.length===0&&!t)return null;let h=c.slice(0,a),v=c.slice(a),u=r??s.here(c.length,t),m=[u,...c.map(f=>s.member(f))].join(". "),y=f=>(0,Mn.jsx)(Bo,{name:f.name,kind:f.kind,src:f.src,character:f.character!==void 0&&Uo(f.character)?f.character:void 0,hue:f.kind==="agent"?f.hue:void 0,size:n,decorative:!0,className:k("crewlet-presence-stack__badge",f.hue!==void 0&&f.activity!=="idle"&&dl(f.hue),f.hue!==void 0&&f.activity!=="idle"&&"crewlet-presence-stack__badge--present",f.activity==="idle"&&"crewlet-presence-stack__badge--idle")}),b=v.length>0?(0,Mn.jsxs)("span",{className:"crewlet-avatar-stack__member crewlet-avatar-stack__more","aria-hidden":"true",children:["+",v.length]}):null,A={"--crewlet-avatar-stack-size":`${Hp[n]}px`};return l===void 0?c.length===0?null:(0,Mn.jsxs)("span",{className:k("crewlet-avatar-stack","crewlet-presence-stack",o),style:A,role:"img","aria-label":m,children:[h.map(f=>(0,Mn.jsx)("span",{className:k("crewlet-avatar-stack__member","crewlet-presence-stack__member",`crewlet-presence-stack__member--${f.kind}`),children:y(f)},f.id)),b]}):(0,Mn.jsxs)("div",{className:k("crewlet-avatar-stack","crewlet-presence-stack",o),style:A,role:"group","aria-label":u,children:[h.map(f=>(0,Mn.jsx)("button",{type:"button",className:k("crewlet-avatar-stack__member","crewlet-presence-stack__member",`crewlet-presence-stack__member--${f.kind}`),"aria-label":s.member(f),title:s.member(f),onClick:()=>l(f),children:y(f)},f.id)),b,v.length>0?(0,Mn.jsx)(Rt,{children:`${s.more(v.length)}: ${v.map(f=>s.member(f)).join(", ")}`}):null]})}var Gp=K(ut(),1),J5=K(xe(),1),db={text:"",n:0},F5=new Set,$5=0;function W5(e){if(e!==""){if($5===0){console.warn("[crewlet] announce() was called with no <Announcer> mounted, so nothing was said:",e);return}db={text:e,n:db.n+1};for(let t of[...F5])t()}}function hb(){return(0,Gp.useCallback)(W5,[])}var Ta=K(ut(),1),hl=K(xe(),1);function fb({label:e,max:t=6,overflow:a="expand",moreLabel:n=s=>`+${s} more`,countLabel:l=s=>`+${s}`,expandedMessage:r=s=>`Showing all ${s}.`,className:i,children:o}){let[s,c]=(0,Ta.useState)(!1),h=hb(),v=(0,Ta.useRef)(null),u=Ta.Children.toArray(o),m=a==="fit",y=P5(v,m,u.length),b=m?u.slice(0,y):s?u:u.slice(0,t),A=u.length-b.length;return(0,hl.jsxs)("ul",{ref:v,tabIndex:-1,className:k("crewlet-tag-group",m&&"crewlet-tag-group--fit",i),"aria-label":`${e}, ${u.length}`,children:[b.map((f,d)=>(0,hl.jsx)("li",{className:"crewlet-tag-group__item",children:f},d)),A>0&&m?(0,hl.jsx)("li",{className:"crewlet-tag-group__item","data-count":"",children:(0,hl.jsx)("span",{className:"crewlet-tag-group__count",children:l(A)})}):A>0?(0,hl.jsx)("li",{className:"crewlet-tag-group__item",children:(0,hl.jsx)("button",{type:"button",className:"crewlet-tag-group__more",onClick:()=>{c(!0),v.current?.focus(),h(r(u.length))},children:n(A)})}):null]})}function P5(e,t,a){let[n,l]=(0,Ta.useState)(a),r=(0,Ta.useRef)(null);return(0,Ta.useLayoutEffect)(()=>{t&&l(a)},[t,a]),(0,Ta.useLayoutEffect)(()=>{let i=e.current;if(!t||!i)return;let o=[...i.children],s=o[0];if(!s)return;let c=s.offsetTop,h=c+s.offsetHeight,v=f=>f.offsetTop===c||f.offsetTop<h,u=o.filter(f=>!f.hasAttribute("data-count")),m=o.find(f=>f.hasAttribute("data-count")),y=u.filter(v).length,b=m&&!v(m)?y-1:y,A=Math.max(1,Math.min(b,u.length));A<u.length&&l(A)},[e,t,n,a]),(0,Ta.useLayoutEffect)(()=>{let i=e.current;if(!t||!i||typeof ResizeObserver!="function")return;let o=new ResizeObserver(([s])=>{let c=s?.contentRect.width??0;r.current!==null&&r.current!==c&&l(a),r.current=c});return o.observe(i),()=>o.disconnect()},[e,t,a]),t?n:a}var qo=K(xe(),1);function pb({name:e,hue:t,kind:a="human",editing:n=!1,placement:l="top-end",className:r,...i}){let o=typeof e=="string"?e:e.join(", ");return(0,qo.jsxs)("span",{...i,"aria-hidden":"true",className:k("crewlet-cursor-flag",dl(t),`crewlet-cursor-flag--${a}`,`crewlet-cursor-flag--${l}`,r),children:[n?(0,qo.jsx)(dp,{size:"xs",className:"crewlet-cursor-flag__glyph"}):null,(0,qo.jsx)("span",{className:"crewlet-cursor-flag__name",children:o})]})}var Ke=K(ut(),1),gb=K(nr(),1);var fi=K(xe(),1);function mb(e){return Number.parseFloat(e)}function e_(e,t){if(typeof e=="function"){let n=e(t);return typeof n=="function"?n:()=>{e(null)}}if(!e)return()=>{};let a=e;return a.current=t,()=>{a.current=null}}var t_=mb(vp.duration.slow),a_=mb(vp.duration.base);function Vo({content:e,placement:t="top",align:a="center",disabled:n=!1,openDelay:l=t_,closeDelay:r=a_,className:i,children:o}){let c=`${(0,Ke.useId)()}-tooltip`,[h,v]=(0,Ke.useState)(!1),u=(0,Ke.useRef)(null),m=(0,Ke.useRef)(null),y=(0,Ke.useRef)(void 0),b=(0,Ke.useRef)({pointer:!1,focus:!1}),[A,f]=(0,Ke.useState)(null),d=sl(),g=(0,Ke.useCallback)(()=>{y.current!==void 0&&clearTimeout(y.current),y.current=void 0},[]),w=(0,Ke.useCallback)(L=>{if(g(),!n){if(L<=0){v(!0);return}y.current=setTimeout(()=>v(!0),L)}},[g,n]),E=(0,Ke.useCallback)(L=>{g();let H=()=>{b.current.pointer||b.current.focus||v(!1)};if(L<=0){H();return}y.current=setTimeout(H,L)},[g]),C=di({open:h,onDismiss:()=>{b.current={pointer:!1,focus:!1},g(),v(!1)}});(0,Ke.useEffect)(()=>g,[g]),(0,Ke.useEffect)(()=>{n&&(g(),v(!1))},[n,g]);let N=(0,Ke.useCallback)(()=>{let L=u.current,H=m.current;if(!L||!H||!d)return;let me=d!==document.body,O=me?d.getBoundingClientRect():oi(),j=L.getBoundingClientRect(),W=H.getBoundingClientRect(),Xe=getComputedStyle(L).direction==="rtl",Ht={x:(a==="center"?j.x+j.width/2-W.width/2:Xe?j.right-W.width:j.x)-(me?O.x:0),y:j.y-(me?O.y:0),width:j.width,height:j.height},yt={x:ot,y:ot,width:O.width-2*ot,height:O.height-2*ot};if(si(j,O,me)){v(!1);return}let D=ii(Ht,{width:W.width,height:W.height},yt,ot,t==="top"?"above":"below");f(oe=>oe&&oe.left===D.left&&oe.top===D.top&&oe.side===D.side?oe:D)},[a,d,t]);(0,Ke.useLayoutEffect)(()=>{if(!h)return;N();let L=()=>N();d?.addEventListener(An,L),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0);let H=typeof ResizeObserver=="function"?new ResizeObserver(L):null;return m.current&&H?.observe(m.current),()=>{d?.removeEventListener(An,L),window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0),H?.disconnect()}},[h,d,N]),(0,Ke.useEffect)(()=>{h||f(null)},[h]);let z=o,V=z.props["aria-describedby"],G=z.props.ref,X=(0,Ke.cloneElement)(z,{ref:L=>{u.current=L,C.insideRef(L);let H=e_(G,L);return()=>{u.current=null,C.insideRef(null),H()}},"aria-describedby":h?k(V,c):V,onPointerEnter:L=>{b.current.pointer=!0,w(l),z.props.onPointerEnter?.(L)},onPointerLeave:L=>{b.current.pointer=!1,E(r),z.props.onPointerLeave?.(L)},onFocus:L=>{b.current.focus=!0,w(0),z.props.onFocus?.(L)},onBlur:L=>{b.current.focus=!1,E(0),z.props.onBlur?.(L)}}),Ce=A?{left:A.left,top:A.top,zIndex:C.zIndex}:{visibility:"hidden",zIndex:C.zIndex},Me=h?(0,fi.jsx)("div",{ref:L=>{m.current=L,C.panelRef(L)},id:c,role:"tooltip",className:k("crewlet-tooltip",`crewlet-tooltip--${A?.side??(t==="top"?"above":"below")}`,d!==null&&d!==document.body?"crewlet-tooltip--in-host":"crewlet-tooltip--fixed",i),style:Ce,onPointerEnter:()=>{b.current.pointer=!0,g()},onPointerLeave:()=>{b.current.pointer=!1,E(r)},children:e}):null;return(0,fi.jsxs)(fi.Fragment,{children:[X,Me&&d?(0,gb.createPortal)(Me,d):null]})}var Lp=K(xe(),1);function vb({by:e,at:t,previous:a=null,locale:n,className:l,labels:r}){let i=eu({by:e,at:t},ko(r),a,n);return(0,Lp.jsx)(Vo,{content:i,children:(0,Lp.jsx)("span",{"aria-hidden":"true",className:k("crewlet-change-mark",l)})})}var Ve=K(ut(),1),wb=K(nr(),1),pi=K(xe(),1);function bb({trigger:e,children:t,align:a="start",side:n="bottom",width:l="auto",alignOffset:r,sideOffset:i=ot,initialFocus:o,role:s="dialog",label:c,className:h,open:v,defaultOpen:u=!1,onOpenChange:m}){let b=`${(0,Ve.useId)()}-popover`,[A,f]=(0,Ve.useState)(u),d=v??A,g=(0,Ve.useRef)(null),w=(0,Ve.useRef)(null),[E,C]=(0,Ve.useState)(null),N=sl(),z=(0,Ve.useRef)(v!==void 0),V=(0,Ve.useRef)(m),G=(0,Ve.useRef)(r),X=(0,Ve.useRef)(o);z.current=v!==void 0,V.current=m,G.current=r,X.current=o;let Ce=(0,Ve.useCallback)((D,oe)=>{z.current||f(D),V.current?.(D,oe)},[]),Me=(0,Ve.useCallback)(D=>{let oe=w.current?.contains(document.activeElement)??!1;(D==="escape"||D==="tab"||D==="content"&&oe)&&ai(g.current),Ce(!1,D)},[Ce]),L=di({open:d,onDismiss:Me}),H=(0,Ve.useCallback)(()=>{let D=g.current,oe=w.current;if(!D||!oe||!N)return;let xt=N!==document.body,tt=xt?N.getBoundingClientRect():oi(),S=D.getBoundingClientRect();oe.style.width=l==="match"?`${S.width}px`:"";let ve=oe.getBoundingClientRect(),B=G.current,Q=typeof B=="function"?B(oe,D):B??0,ce={x:(a==="end"?S.right-ve.width:S.left)+Q-(xt?tt.x:0),y:S.top-(xt?tt.y:0),width:S.width,height:S.height},at={x:ot,y:ot,width:tt.width-2*ot,height:tt.height-2*ot};if(si(S,tt,xt)){Me("anchor-gone");return}let Te=l==="match"?S.width:void 0,Je=ii(ce,{width:ve.width,height:ve.height},at,i,n==="top"?"above":"below");C(Ft=>Ft&&Ft.left===Je.left&&Ft.top===Je.top&&Ft.side===Je.side&&Ft.width===Te?Ft:{left:Je.left,top:Je.top,side:Je.side,width:Te})},[a,Me,N,n,i,l]);(0,Ve.useLayoutEffect)(()=>{if(!d)return;H();let D=()=>H();N?.addEventListener(An,D),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0);let oe=typeof ResizeObserver=="function"?new ResizeObserver(D):null;return w.current&&oe?.observe(w.current),()=>{N?.removeEventListener(An,D),window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0),oe?.disconnect()}},[d,N,H]),(0,Ve.useEffect)(()=>{d||C(null)},[d]);let me=d&&E!==null;(0,Ve.useEffect)(()=>{if(!me||s!=="dialog")return;let D=w.current;D&&!D.contains(document.activeElement)&&(X.current?.()??Xl(D)[0]??D).focus()},[me,s]);let O=(0,Ve.useCallback)(()=>{d?Me("trigger"):Ce(!0,"trigger")},[Me,d,Ce]),j=e(d,O),W=s==="none"?void 0:s,Xe=(0,Ve.cloneElement)(j,{ref:D=>{g.current=D,L.insideRef(D)},"aria-expanded":d,"aria-haspopup":j.props["aria-haspopup"]??W,"aria-controls":d?b:void 0});function et(D){D.key!=="Escape"&&D.key!=="Tab"&&!D.ctrlKey&&!D.metaKey&&!D.altKey&&D.stopPropagation()}let Ht=E?{left:E.left,top:E.top,width:E.width}:{visibility:"hidden"},yt=d?(0,pi.jsx)("div",{ref:D=>{w.current=D,L.panelRef(D)},id:b,className:k("crewlet-popover",`crewlet-popover--${E?.side??(n==="top"?"above":"below")}`,N!==null&&N!==document.body?"crewlet-popover--in-host":"crewlet-popover--fixed",h),style:{...Ht,zIndex:L.zIndex},role:s==="none"?void 0:s,"aria-label":s==="none"?void 0:c,"aria-modal":s==="dialog"?!1:void 0,tabIndex:s==="dialog"?-1:void 0,onKeyDown:et,onPointerDown:D=>D.stopPropagation(),onClick:D=>D.stopPropagation(),children:typeof t=="function"?t(()=>Me("content")):t}):null;return(0,pi.jsxs)(pi.Fragment,{children:[Xe,yt&&N?(0,wb.createPortal)(yt,N):null]})}var Yo=K(xe(),1);function jo({tone:e="neutral",pulse:t=!1,children:a,className:n}){let l=a!=null&&a!==!1&&a!=="",r=(0,Yo.jsx)("span",{"aria-hidden":!0,className:k("crewlet-status-dot",`crewlet-status-dot--${e}`,t&&"is-pulsing",!l&&n)});return l?(0,Yo.jsxs)("span",{className:k("crewlet-status",n),children:[r," ",(0,Yo.jsx)("span",{className:"crewlet-status__label",children:a})]}):r}var Vt=K(xe(),1);function fu(e){let{variant:t="neutral",hue:a,appearance:n="soft",size:l="sm",leadingIcon:r,dot:i=!1,count:o,monospace:s=!1,animateIn:c=!1,onClick:h,pressed:v,onRemove:u,removeAriaLabel:m="Remove tag",className:y,children:b,...A}=e,f=h!==void 0,d=f||u!==void 0,g=f&&u!==void 0;d&&l==="xs"&&console.warn('[crewlet] Tag size="xs" cannot act: an interactive tag starts at "sm", so its target clears 24px. Drawn at "sm".');let w=d&&l==="xs"?"sm":l,E=k("crewlet-tag",a===void 0?`crewlet-tag--${t}`:`crewlet-tag--hue-${a}`,`crewlet-tag--${n}`,`crewlet-tag--${w}`,s&&"crewlet-tag--monospace",c&&"crewlet-tag--animate-in",d&&"crewlet-tag--acts",f&&!g&&"crewlet-tag--actionable",g&&"crewlet-tag--split",g&&v===!0&&"is-pressed",y),C=(0,Vt.jsxs)(Vt.Fragment,{children:[i?(0,Vt.jsx)(jo,{tone:a===void 0?t:"neutral",className:"crewlet-tag__dot"}):null,r?(0,Vt.jsx)("span",{className:"crewlet-tag__icon","aria-hidden":!0,children:r}):null,(0,Vt.jsx)("span",{className:"crewlet-tag__label",children:b}),o===void 0?null:(0,Vt.jsx)("span",{className:"crewlet-tag__count",children:o})]}),N=u===void 0?null:(0,Vt.jsx)("button",{type:"button",className:"crewlet-tag__remove",onClick:z=>{z.stopPropagation(),u()},"aria-label":m,children:(0,Vt.jsx)(Do,{size:"xs"})});return g?(0,Vt.jsxs)("span",{...A,className:E,children:[(0,Vt.jsx)("button",{type:"button",className:"crewlet-tag__press",onClick:h,"aria-pressed":v===!0,children:C}),N]}):f?(0,Vt.jsx)("button",{...A,type:"button",className:E,onClick:h,"aria-pressed":v===!0,children:C}):(0,Vt.jsxs)("span",{...A,className:E,children:[C,N]})}var Ie=K(ut(),1),yb=K(nr(),1);var bt=K(xe(),1),n_="[role='menuitem'],[role='menuitemradio']";function l_(e){let t=[];for(let a of e){if(a.kind==="separator"){t.push({kind:"separator",key:a.key});continue}let n=t[t.length-1];a.checked===void 0?t.push({kind:"action",item:a}):n?.kind==="answers"?n.items.push(a):t.push({kind:"answers",key:`${a.key}:answers`,items:[a]})}return t}function xb({label:e,items:t,icon:a,trigger:n,trailingIcon:l,triggerVariant:r="ghost",valueTrigger:i=!1,triggerTabIndex:o,open:s,onOpenChange:c,align:h="start",width:v="content",renderTrigger:u,header:m,className:y}){let b=(0,Ie.useId)(),A=`${b}-menu`,f=`${b}-header`,[d,g]=(0,Ie.useState)(!1),w=s??d,E=(0,Ie.useRef)(null),C=(0,Ie.useRef)(null),N=(0,Ie.useRef)(null),z=(0,Ie.useRef)("first"),[V,G]=(0,Ie.useState)(null),X=sl(),Ce=(0,Ie.useRef)(s!==void 0),Me=(0,Ie.useRef)(c);Ce.current=s!==void 0,Me.current=c;let L=(0,Ie.useCallback)(S=>{Ce.current||g(S),Me.current?.(S)},[]),H=(0,Ie.useCallback)(()=>{let S=N.current,ve=S&&S.isConnected&&S!==document.body?S:E.current;ai(ve)},[]),me=(0,Ie.useCallback)(S=>{S&&H(),L(!1)},[H,L]),O=di({open:w,onDismiss:S=>me(S!=="outside")}),j=()=>C.current?[...C.current.querySelectorAll(n_)]:[];(0,Ie.useLayoutEffect)(()=>{if(!w)return;let S=document.activeElement;S instanceof Node&&C.current?.contains(S)||(N.current=S instanceof HTMLElement?S:null)},[w]);let W=(0,Ie.useCallback)(()=>{let S=E.current,ve=C.current;if(!S||!ve||!X)return;let B=X!==document.body,Q=B?X.getBoundingClientRect():oi(),ce=S.getBoundingClientRect(),at=ve.getBoundingClientRect(),Te=v==="trigger"?ce.width:void 0,Je={width:Math.max(at.width,Te??0),height:at.height},Ft={x:(h==="end"?ce.right-Je.width:ce.left)-(B?Q.x:0),y:ce.top-(B?Q.y:0),width:ce.width,height:ce.height},mi={x:ot,y:ot,width:Q.width-2*ot,height:Q.height-2*ot};if(si(ce,Q,B)){me(!0);return}let Dt=ii(Ft,{width:Je.width,height:Je.height},mi,ot);G(Ea=>Ea&&Ea.left===Dt.left&&Ea.top===Dt.top&&Ea.floor===Te?Ea:{left:Dt.left,top:Dt.top,floor:Te})},[h,me,X,v]);(0,Ie.useLayoutEffect)(()=>{if(!w)return;W();let S=()=>W();X?.addEventListener(An,S),window.addEventListener("resize",S),window.addEventListener("scroll",S,!0);let ve=typeof ResizeObserver=="function"?new ResizeObserver(S):null;return C.current&&ve?.observe(C.current),()=>{X?.removeEventListener(An,S),window.removeEventListener("resize",S),window.removeEventListener("scroll",S,!0),ve?.disconnect()}},[w,X,W]),(0,Ie.useEffect)(()=>{w||G(null)},[w]);let Xe=w&&V!==null;(0,Ie.useLayoutEffect)(()=>{if(!Xe)return;let S=j();(z.current==="last"?S[S.length-1]:S[0])?.focus(),z.current="first"},[Xe]);function et(S){(S.key==="ArrowDown"||S.key==="ArrowUp")&&(S.preventDefault(),z.current=S.key==="ArrowUp"?"last":"first",L(!0))}function Ht(S){S.key!=="Escape"&&S.key!=="Tab"&&!S.ctrlKey&&!S.metaKey&&!S.altKey&&S.stopPropagation();let ve=j(),B=ve.indexOf(document.activeElement),Q=ce=>ve[(ce+ve.length)%ve.length]?.focus();switch(S.key){case"ArrowDown":S.preventDefault(),Q(B+1);return;case"ArrowUp":S.preventDefault(),Q(B-1);return;case"Home":S.preventDefault(),Q(0);return;case"End":S.preventDefault(),Q(ve.length-1);return;case"Tab":me(!0);return;default:if(S.key.length===1&&!S.ctrlKey&&!S.metaKey&&!S.altKey&&S.key!==" "){let ce=S.key.toLocaleLowerCase();for(let at=1;at<=ve.length;at++){let Te=ve[(B+at)%ve.length];if((Te.textContent??"").trim().toLocaleLowerCase().startsWith(ce)){S.preventDefault(),Te.focus();return}}}}}function yt(S){S.disabled||(me(!0),S.onSelect())}let D=S=>S.description!==void 0&&S.description!==null&&S.description!==!1&&S.description!=="",oe=S=>(0,bt.jsxs)("button",{type:"button",role:S.checked===void 0?"menuitem":"menuitemradio","aria-checked":S.checked,tabIndex:-1,className:k("crewlet-menu__item",D(S)?"crewlet-menu__item--described":void 0,S.danger&&"is-danger",S.disabled&&"is-disabled"),"aria-disabled":S.disabled||void 0,onClick:()=>yt(S),children:[S.checked!==void 0&&(0,bt.jsx)("span",{className:"crewlet-menu__check","aria-hidden":!0,children:S.checked&&(0,bt.jsx)(ni,{size:"sm"})}),S.icon&&(0,bt.jsx)("span",{className:"crewlet-menu__icon",children:S.icon}),(0,bt.jsxs)("span",{className:"crewlet-menu__text",children:[(0,bt.jsx)("span",{className:"crewlet-menu__label",children:S.label}),D(S)?(0,bt.jsx)("span",{className:"crewlet-menu__description",children:S.description}):null]}),S.hint&&(0,bt.jsx)("span",{className:"crewlet-menu__hint",children:S.hint})]},S.key),xt=w?(0,bt.jsxs)("div",{className:k("crewlet-menu",X!==null&&X!==document.body?"crewlet-menu--in-host":null,y),id:A,role:"menu","aria-label":e,"aria-describedby":m?f:void 0,tabIndex:-1,ref:S=>{C.current=S,O.panelRef(S)},style:V?{left:V.left,top:V.top,zIndex:O.zIndex,...V.floor===void 0?null:{"--crewlet-menu-floor":`${V.floor}px`}}:{visibility:"hidden"},onKeyDown:Ht,onPointerDown:S=>S.stopPropagation(),onClick:S=>S.stopPropagation(),children:[m?(0,bt.jsx)("div",{role:"presentation",id:f,className:"crewlet-menu__header",children:m}):null,l_(t).map(S=>S.kind==="separator"?(0,bt.jsx)("div",{role:"separator",className:"crewlet-menu__separator"},S.key):S.kind==="answers"?(0,bt.jsx)("div",{role:"group",className:"crewlet-menu__group",children:S.items.map(oe)},S.key):oe(S.item))]}):null,tt={ref:S=>{E.current=S,O.insideRef(S)},"aria-haspopup":"menu","aria-expanded":w,"aria-controls":w?A:void 0,tabIndex:o,onClick:()=>{w?me(!0):(z.current="first",L(!0))},onKeyDown:et};return(0,bt.jsxs)("span",{className:"crewlet-menu-anchor",children:[u?u(tt):n===void 0?(0,bt.jsx)(ul,{...tt,label:e,icon:a??(0,bt.jsx)(cp,{}),size:"sm"}):(0,bt.jsx)(Ra,{...tt,"aria-label":e,variant:r,size:"small",flush:i,className:i?"crewlet-menu__value-trigger":void 0,leadingIcon:a,trailingIcon:l,children:n}),xt&&X?(0,yb.createPortal)(xt,X):null]})}var M=K(ut(),1);var _=K(xe(),1);function Bp({column:e,id:t,labels:a}){let n=Sn(e,t);if(!n)return(0,_.jsx)(fu,{size:"xs",children:t});if(n.archived)return(0,_.jsx)(fu,{size:"xs",appearance:"outline",children:a.archived(n.label)});let l=Jc(n.color);return(0,_.jsx)(fu,{size:"xs",hue:l==="neutral"?void 0:l,children:n.label})}function Tb({person:e,fallback:t}){return e?(0,_.jsxs)("span",{className:"crewlet-sheet-cell__person",children:[(0,_.jsx)(Bo,{name:e.name,kind:e.kind==="human"?"human":"agent",src:e.src,character:e.character!==void 0&&Uo(e.character)?e.character:void 0,hue:e.kind==="agent"?e.hue:void 0,size:"xs",decorative:!0}),(0,_.jsx)("span",{className:"crewlet-sheet-cell__text",children:e.name})]}):(0,_.jsx)("span",{className:"crewlet-sheet-cell__muted",children:t})}function qp({column:e,value:t,context:a,onOpenLink:n}){let{labels:l}=a;if(e.type==="checkbox"){let r=t===!0;return(0,_.jsxs)("span",{className:"crewlet-sheet-cell__checkbox",children:[(0,_.jsx)("span",{className:k("crewlet-sheet-cell__check",r&&"crewlet-sheet-cell__check--on"),"aria-hidden":"true",children:r?(0,_.jsx)(ni,{size:"xs"}):null}),(0,_.jsx)(Rt,{children:r?l.checked:l.unchecked})]})}if(an(t))return(0,_.jsx)(Rt,{children:l.empty});switch(e.type){case"select":return(0,_.jsx)(Bp,{column:e,id:String(t),labels:l});case"multiselect":return(0,_.jsx)(fb,{label:e.label,overflow:"fit",className:"crewlet-sheet-cell__chips",children:t.map(r=>(0,_.jsx)(Bp,{column:e,id:r,labels:l},r))});case"status":{let r=Sn(e,String(t)),i=ya(e,t,a);return(0,_.jsx)(jo,{tone:r&&!r.archived?Fc(r):"neutral",children:i})}case"person":return(0,_.jsx)(Tb,{person:Pr(a.people,String(t)),fallback:l.unknownPerson});case"rating":{let r=tn(e),i=Number(t);return(0,_.jsxs)("span",{className:"crewlet-sheet-cell__rating",children:[(0,_.jsx)("span",{className:"crewlet-sheet-cell__stars","aria-hidden":"true",children:Array.from({length:r},(o,s)=>(0,_.jsx)(fp,{size:"sm",filled:s<i,className:k("crewlet-sheet-cell__star",s<i&&"crewlet-sheet-cell__star--on")},s))}),(0,_.jsx)(Rt,{children:l.rating(i,r)})]})}case"url":{let r=String(t);return(0,_.jsx)("a",{className:"crewlet-sheet-cell__link",href:r,target:"_blank",rel:"noopener noreferrer",tabIndex:-1,onClick:n?i=>{i.preventDefault(),n(r)}:void 0,children:r})}case"number":return(0,_.jsx)("span",{className:"crewlet-sheet-cell__text crewlet-sheet-cell__number",children:ya(e,t,a)});default:return(0,_.jsx)("span",{className:"crewlet-sheet-cell__text",children:ya(e,t,a)})}}var r_=new Set(["text","number","url","date","rating"]),i_=new Set(["text","longtext"]),o_=6,s_=8,Eb=new Set(["select","multiselect","status","person"]),c_=e=>e!=="checkbox",_b=e=>r_.has(e)||Eb.has(e)||e==="longtext";function Sb(e,t){if(e.key==="Tab")return e.shiftKey?"left":"right";if(e.key==="Enter")return t?e.shiftKey&&!Kl(e)?void 0:"down":e.shiftKey?"up":"down"}function Vp(e,t){e&&(e.focus({preventScroll:!0}),t&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&e.setSelectionRange(e.value.length,e.value.length))}function Yp(e){let t=(0,M.useRef)(!1);return{finish:()=>{t.current=!0},onBlur:a=>{if(t.current)return;let n=a.relatedTarget;n!==null&&a.currentTarget.contains(n)||(t.current=!0,e())}}}function u_(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let a=n=>String(n).padStart(2,"0");return`${t.getFullYear()}-${a(t.getMonth()+1)}-${a(t.getDate())}T${a(t.getHours())}:${a(t.getMinutes())}`}function jp({conflict:e,labels:t}){return(0,_.jsxs)("div",{className:"crewlet-sheet-editor__conflict",role:"alert",children:[(0,_.jsx)("p",{className:"crewlet-sheet-editor__conflict-text",children:t.conflict(e.writer,e.value)}),(0,_.jsxs)("div",{className:"crewlet-sheet-editor__conflict-actions",children:[(0,_.jsx)(Ra,{size:"small",variant:"secondary",onClick:e.onKeepMine,children:t.keepMine}),(0,_.jsx)(Ra,{size:"small",variant:"ghost",onClick:e.onUseTheirs,children:t.useTheirs(e.writer)})]})]})}function Kp({id:e,message:t}){return(0,_.jsxs)("p",{id:e,className:"crewlet-sheet-editor__error",children:[(0,_.jsx)(li,{size:"xs","aria-hidden":"true"}),(0,_.jsx)("span",{children:t})]})}function Ab(e){let{column:t}=e;return Eb.has(t.type)?(0,_.jsx)(g_,{...e}):i_.has(t.type)?(0,_.jsx)(h_,{...e}):(0,_.jsx)(d_,{...e})}function d_({column:e,value:t,context:a,seed:n,label:l,onCommit:r,onCancel:i,conflict:o}){let{labels:s}=a,c=(0,M.useId)(),h=(0,M.useRef)(null),v=e.type==="date",u=(0,M.useMemo)(()=>{if(v){let g=typeof t=="string"?t:"";return e.time?u_(g):g}return n??ei(e,t,a)},[]),[m,y]=(0,M.useState)(u),[b,A]=(0,M.useState)(null);(0,M.useLayoutEffect)(()=>{Vp(h.current,!v)},[v]);let f=g=>{let w=v&&e.time&&m!==""?new Date(m).toISOString():m,E=ti(e,w,a);return E.ok?(d.finish(),r(E.value,g),!0):(A(E.error),!1)},d=Yp(()=>{f(null)||i()});return(0,_.jsxs)("div",{className:"crewlet-sheet-editor crewlet-sheet-editor--line",onBlur:d.onBlur,children:[(0,_.jsx)("input",{ref:h,className:"crewlet-sheet-editor__input",type:v?e.time?"datetime-local":"date":e.type==="url"?"url":"text",inputMode:e.type==="number"?"decimal":e.type==="rating"?"numeric":void 0,"aria-label":l,"aria-invalid":b!==null,"aria-describedby":b!==null?c:void 0,maxLength:e.type==="text"?ol(e):void 0,value:m,onChange:g=>{y(g.target.value),A(null)},onKeyDown:g=>{if(ui(g))return;if(g.key==="Escape"){g.preventDefault(),g.stopPropagation(),d.finish(),i();return}if(g.key==="Tab"&&o)return;let w=Sb(g,!1);w!==void 0&&(g.preventDefault(),g.stopPropagation(),f(w))}}),b!==null||o?(0,_.jsxs)("div",{className:k("crewlet-sheet-editor__panel"),children:[b!==null?(0,_.jsx)(Kp,{id:c,message:b}):null,o?(0,_.jsx)(jp,{conflict:o,labels:s}):null]}):null]})}function h_({column:e,value:t,context:a,seed:n,label:l,onCommit:r,onCancel:i,side:o="below",conflict:s}){let{labels:c}=a,h=e.type==="longtext",v=(0,M.useId)(),u=(0,M.useRef)(null),[m,y]=(0,M.useState)(()=>n??ei(e,t,a)),[b,A]=(0,M.useState)(null);(0,M.useLayoutEffect)(()=>{Vp(u.current,!0)},[]),(0,M.useLayoutEffect)(()=>{let g=u.current;!g||g.scrollHeight===0||(g.style.height="auto",g.style.height=`${g.scrollHeight}px`)},[m]);let f=g=>{let w=ti(e,m,a);return w.ok?(d.finish(),r(w.value,g),!0):(A(w.error),!1)},d=Yp(()=>{f(null)||i()});return(0,_.jsx)("div",{className:k("crewlet-sheet-editor","crewlet-sheet-editor--text",h&&"crewlet-sheet-editor--long",`crewlet-sheet-editor--${o}`),onBlur:d.onBlur,children:(0,_.jsxs)("div",{className:"crewlet-sheet-editor__overlay",children:[(0,_.jsx)("textarea",{ref:u,className:"crewlet-sheet-editor__textarea","aria-label":l,"aria-multiline":h,"aria-invalid":b!==null,"aria-describedby":b!==null?v:void 0,maxLength:ol(e),rows:1,style:{"--crewlet-sheet-editor-lines":o_},value:m,onChange:g=>{y(h?g.target.value:g.target.value.replace(/\r?\n/g," ")),A(null)},onKeyDown:g=>{if(ui(g))return;if(g.key==="Escape"){g.preventDefault(),g.stopPropagation(),d.finish(),i();return}if(g.key==="Tab"&&s)return;let w=Sb(g,h);w!==void 0&&(g.preventDefault(),g.stopPropagation(),f(w))}}),b!==null?(0,_.jsx)(Kp,{id:v,message:b}):null,s?(0,_.jsx)(jp,{conflict:s,labels:c}):null]})})}function f_(e,t){return e.type==="person"?(t.people??[]).map(a=>({id:a.id,label:a.name,person:a})):jl(e).map(a=>({id:a.id,label:a.label,option:a}))}function p_({column:e,choice:t,context:a}){return t.person?(0,_.jsx)(Tb,{person:t.person,fallback:t.label}):e.type==="status"&&t.option?(0,_.jsx)(jo,{tone:Fc(t.option),children:t.label}):(0,_.jsx)(Bp,{column:e,id:t.id,labels:a.labels})}var ln="";function g_({column:e,value:t,context:a,seed:n,label:l,onCommit:r,onCancel:i,side:o="below",conflict:s}){let{labels:c}=a,h=e.type==="multiselect",v=(0,M.useId)(),u=(0,M.useId)(),m=(0,M.useRef)(null),y=(0,M.useRef)(null),b=(0,M.useMemo)(()=>f_(e,a),[e,a]),A=b.length>s_,[f,d]=(0,M.useState)(A?n??"":""),[g,w]=(0,M.useState)(()=>h?[...t??[]]:typeof t=="string"?[t]:[]),[E,C]=(0,M.useState)(null),N=!h&&!e.required,z=(0,M.useMemo)(()=>{let O=f.trim().toLowerCase(),j=O===""?b:b.filter(W=>W.label.toLowerCase().includes(O));return N&&O===""?[...j,{id:ln,label:c.clear}]:j},[b,f,N,c.clear]),[V,G]=(0,M.useState)(()=>{let O=!A&&n?z.findIndex(W=>W.id!==ln&&W.label.toLowerCase().startsWith(n.toLowerCase())):-1;if(O>=0)return O;let j=z.findIndex(W=>W.id!==ln&&g.includes(W.id));return j>=0?j:0});(0,M.useEffect)(()=>{G(O=>Math.min(O,Math.max(z.length-1,0)))},[z.length]),(0,M.useLayoutEffect)(()=>{Vp(A?m.current:y.current,!1)},[A]);let X=(O,j)=>{let W=Df(e,O,a);return W!==null?(C(W),!1):(Ce.finish(),r(O,j),!0)},Ce=Yp(()=>{(!h||!X(g,null))&&i()}),Me=(O,j)=>{if(O){if(!h){X(O.id===ln?null:O.id,j);return}C(null),w(W=>W.includes(O.id)?W.filter(Xe=>Xe!==O.id):[...W,O.id])}},L=O=>`${v}-${O}`,H=z.length>0?L(V):void 0,me=O=>{if(!ui(O))switch(O.key){case"Escape":O.preventDefault(),O.stopPropagation(),Ce.finish(),i();return;case"ArrowDown":O.preventDefault(),O.stopPropagation(),G(j=>Math.min(j+1,z.length-1));return;case"ArrowUp":O.preventDefault(),O.stopPropagation(),G(j=>Math.max(j-1,0));return;case"Home":case"End":if(f!=="")return;O.preventDefault(),O.stopPropagation(),G(O.key==="Home"?0:z.length-1);return;case"Enter":O.preventDefault(),O.stopPropagation(),h&&Kl(O)?X(g,"down"):Me(z[V],O.shiftKey?"up":"down");return;case" ":if(A)return;O.preventDefault(),O.stopPropagation(),Me(z[V],h?null:"down");return;case"Tab":if(s)return;O.preventDefault(),O.stopPropagation(),X(h?g:t,O.shiftKey?"left":"right");return;default:if(!A&&O.key.length===1&&!O.ctrlKey&&!O.metaKey&&!O.altKey){let j=O.key.toLowerCase(),W=V+1,et=[...z.slice(W),...z.slice(0,W)].find(Ht=>Ht.id!==ln&&Ht.label.toLowerCase().startsWith(j));et&&(O.preventDefault(),O.stopPropagation(),G(z.indexOf(et)))}return}};return(0,_.jsx)("div",{className:k("crewlet-sheet-editor","crewlet-sheet-editor--list",`crewlet-sheet-editor--${o}`),onBlur:Ce.onBlur,children:(0,_.jsxs)("div",{className:"crewlet-sheet-editor__panel crewlet-sheet-editor__panel--list",children:[A?(0,_.jsx)("input",{ref:m,className:"crewlet-sheet-editor__filter",role:"combobox","aria-label":l,"aria-expanded":"true","aria-controls":v,"aria-autocomplete":"list","aria-activedescendant":H,"aria-invalid":E!==null,"aria-describedby":E!==null?u:void 0,placeholder:c.filter,value:f,onChange:O=>{d(O.target.value),G(0)},onKeyDown:me}):null,(0,_.jsx)("ul",{ref:y,className:"crewlet-sheet-editor__list",id:v,role:"listbox","aria-label":l,"aria-multiselectable":h||void 0,tabIndex:-1,"aria-activedescendant":A?void 0:H,"aria-invalid":A?void 0:E!==null,"aria-describedby":!A&&E!==null?u:void 0,onKeyDown:A?void 0:me,children:z.length===0?(0,_.jsx)("li",{className:"crewlet-sheet-editor__empty",role:"presentation",children:c.noOptions}):z.map((O,j)=>{let W=O.id===ln?g.length===0:g.includes(O.id);return(0,_.jsxs)("li",{id:L(j),role:"option","aria-selected":W,className:k("crewlet-sheet-editor__option",O.id===ln&&"crewlet-sheet-editor__option--clear",j===V&&"crewlet-sheet-editor__option--highlight",W&&"crewlet-sheet-editor__option--selected"),onMouseDown:Xe=>Xe.preventDefault(),onMouseEnter:()=>G(j),onClick:()=>Me(O,h?null:"down"),children:[(0,_.jsx)("span",{className:"crewlet-sheet-editor__mark","aria-hidden":"true",children:W&&O.id!==ln?(0,_.jsx)(ni,{size:"xs"}):null}),O.id===ln?(0,_.jsx)("span",{className:"crewlet-sheet-cell__muted",children:O.label}):(0,_.jsx)(p_,{column:e,choice:O,context:a})]},O.id===ln?"\0clear":O.id)})}),E!==null?(0,_.jsx)(Kp,{id:u,message:E}):null,s?(0,_.jsx)(jp,{conflict:s,labels:c}):null]})})}var fl=-1,m_=.6;function Ip({label:e,columns:t,rows:a,people:n,mode:l="edit",onEdit:r,onAddRow:i,onShowHistory:o,onActiveCellChange:s,onEditingChange:c,onUndo:h,onRedo:v,onOpenLink:u,presence:m,sort:y,onSortChange:b,sync:A,onRetry:f,height:d,fit:g="container",onDeleteRow:w,onDismissRefused:E,renderColumnEditor:C,settingsColumn:N,onSettingsColumnChange:z,onAddColumn:V,locale:G,className:X,labels:Ce,presenceLabels:Me}){let L=(0,M.useId)(),H=(0,M.useMemo)(()=>ko(Ce),[Ce]),me=(0,M.useMemo)(()=>Co(Me),[Me]),O=(0,M.useMemo)(()=>({people:n,locale:G,labels:H}),[n,G,H]),j=(0,M.useMemo)(()=>jf(t),[t]),[W,Xe]=(0,M.useState)(0),et=(0,M.useRef)(a);(0,M.useLayoutEffect)(()=>{et.current=a});let Ht=a.length>0,[yt,D]=(0,M.useState)(null);(0,M.useLayoutEffect)(()=>{let p=Ht?et.current:[];D(new Map(j.filter(x=>!(x.width&&x.width>0)).map(x=>[x.field,Xf(x,p,O)])))},[j,Ht,O]);let[oe,xt]=(0,M.useState)(0);(0,M.useEffect)(()=>{let p=typeof document>"u"?void 0:document.fonts;if(!p)return;let x=!0,R=()=>{x&&xt(F=>F+1)};return p.ready.then(R),p.addEventListener("loadingdone",R),()=>{x=!1,p.removeEventListener("loadingdone",R)}},[]);let tt=(0,M.useRef)(null),[S,ve]=(0,M.useState)(new Map);(0,M.useLayoutEffect)(()=>{let p=tt.current;if(!p)return;let x=new Map;for(let R of p.querySelectorAll("[data-measure]")){let F=0;for(let le of R.children)F=Math.max(F,le.getBoundingClientRect().width);x.set(R.dataset.measure??"",F)}ve(x)},[yt,oe]);let B=(0,M.useMemo)(()=>{let p=q=>q.width!==void 0&&q.width>0,x=j.map(q=>p(q)?q:{...q,width:If(q.type,S.get(q.field)??0)});if(W<=0)return x;let R=Math.floor(W*m_)-Il,F=x.filter(q=>q.frozen).reduce((q,Ne)=>q+nn(Ne),0)-R,le=j.filter(q=>q.frozen&&!p(q)).length;if(F<=0||le===0)return x;let Ee=Math.ceil(F/le);return x.map((q,Ne)=>q.frozen&&!p(j[Ne])?{...q,width:Math.max(Pc[q.type][0],nn(q)-Ee)}:q)},[j,S,W]),Q=(0,M.useMemo)(()=>Wf(B,a,y,O),[B,a,y,O]),ce=l==="edit"&&r!==void 0,at=l==="edit"&&w!==void 0,Te=l==="edit"&&C!==void 0,Je=l==="edit"&&V!==void 0,[Ft,mi]=(0,M.useState)(null),Dt=N!==void 0?N:Ft,Ea=p=>{N===void 0&&mi(p),z?.(p)},Sa=(0,M.useRef)(null),Y=(0,M.useRef)(null),Z=(0,M.useRef)(null),[st,sa]=(0,M.useState)(0),Ua=(0,M.useRef)(0),[ie,Ql]=(0,M.useState)(Wc),[rn,Rb]=(0,M.useState)(Wc),[vi,Hb]=(0,M.useState)(0),[Db,Gb]=(0,M.useState)(0),[Fp,$p]=(0,M.useState)(0),[Lb,Ub]=(0,M.useState)(!1),[Xo,Qo]=(0,M.useState)(null),[Wp,Zo]=(0,M.useState)(null),[P,wi]=(0,M.useState)(null),[Pp,e0]=(0,M.useState)(new Map),[t0,Bb]=(0,M.useState)({text:"",n:0}),vu=(0,M.useRef)(!1),[a0,n0]=(0,M.useState)(null),Yt=(0,M.useCallback)(p=>Bb(x=>({text:p,n:x.n+1})),[]),l0=(0,M.useRef)(new Map);(0,M.useEffect)(()=>{let p=new Map;for(let x of a)for(let[R,F]of Object.entries(x.refused??{}))p.set(xa(x.id,R),F);for(let[x,R]of p)if(l0.current.get(x)!==R){Yt(H.notSaved(R));break}l0.current=p},[a,H,Yt]),(0,M.useLayoutEffect)(()=>{let p=()=>{let R=Y.current?.offsetHeight??0;R>0&&Ql(R);let F=Z.current?.querySelector(".crewlet-sheet-grid__row--head")?.offsetHeight??0;F>0&&Rb(F),Hb(Sa.current?.clientHeight??0),Xe(Sa.current?.clientWidth??0);let le=Sa.current;if(le){let Ee=getComputedStyle(le),q=le.offsetHeight-le.clientHeight-(parseFloat(Ee.borderTopWidth)||0)-(parseFloat(Ee.borderBottomWidth)||0);Gb(Math.max(0,Math.round(q)))}};if(p(),typeof ResizeObserver!="function")return;let x=new ResizeObserver(p);return Sa.current&&x.observe(Sa.current),Y.current&&x.observe(Y.current),()=>x.disconnect()},[]);let Zl=(0,M.useMemo)(()=>Yf(B),[B]),qb=(0,M.useMemo)(()=>[`${Il}px`,...B.map((p,x)=>x===B.length-1?`minmax(${nn(p)}px, 1fr)`:`${nn(p)}px`)].join(" "),[B]),Vb=(0,M.useMemo)(()=>B.reduce((p,x)=>p+nn(x),Il),[B]),Jo=(0,M.useMemo)(()=>B.reduce((p,x,R)=>x.frozen?R:p,-1),[B]),wu=(0,M.useMemo)(()=>{let p=Il;return B.forEach((x,R)=>{x.frozen&&(p=(Zl[R]??p)+nn(x))}),p},[B,Zl]),pl=(0,M.useMemo)(()=>new Map(Q.map((p,x)=>[p.id,x])),[Q]),Fo=(0,M.useMemo)(()=>new Map(B.map((p,x)=>[p.field,x])),[B]),Jl=(0,M.useCallback)(p=>{if(!p)return null;let x=Fo.get(p.field);if(x===void 0)return null;if(p.rowId===null)return{row:fl,col:x};let R=pl.get(p.rowId);return R===void 0?null:{row:R,col:x}},[Fo,pl]),on=(0,M.useCallback)(p=>{let x=B[p.col];if(!x)return null;if(p.row===fl)return{rowId:null,field:x.field};let R=Q[p.row];return R?{rowId:R.id,field:x.field}:null},[B,Q]),Yb=Q.length>0&&B.length>0?{rowId:Q[0].id,field:B[0].field}:B.length>0?{rowId:null,field:B[0].field}:null,ue=Jl(Xo)??Jl(Yb),ct=ue?on(ue):null,r0=Jl(Wp)??ue,Ye=ue&&r0&&ue.row!==fl?Lf(r0,ue):null,i0=(0,M.useMemo)(()=>Pf(m),[m]),jb=(0,M.useMemo)(()=>ep(m),[m]),Kb=(0,M.useMemo)(()=>tp(m),[m]),o0=(0,M.useRef)(null);(0,M.useEffect)(()=>{let p=ct&&ct.rowId!==null?{rowId:ct.rowId,field:ct.field}:null,x=p?xa(p.rowId,p.field):null;x!==o0.current&&(o0.current=x,s?.(p))},[ct,s]);let s0=(0,M.useRef)(null);(0,M.useEffect)(()=>{let p=P?xa(P.rowId,P.field):null;p!==s0.current&&(s0.current=p,c?.(P?{rowId:P.rowId,field:P.field}:null))},[P,c]);let $o=(0,M.useCallback)(p=>{p.length!==0&&(e0(x=>{let R=new Map(x);for(let F of p)R.set(xa(F.rowId,F.field),F.error);return R}),Yt(p[0].error))},[Yt]),Wo=(0,M.useCallback)(p=>{e0(x=>{if(!p.some(F=>x.has(F)))return x;let R=new Map(x);for(let F of p)R.delete(F);return R})},[]),Nn=(0,M.useCallback)(p=>{p.length===0||!r||(Wo(p.map(x=>xa(x.rowId,x.field))),r(p))},[r,Wo]),gl=(0,M.useCallback)(p=>B[Fo.get(p)??-1],[B,Fo]),ml=(0,M.useCallback)(p=>Q[pl.get(p)??-1],[Q,pl]),Fl=(0,M.useCallback)(p=>ce&&p!==void 0&&!p.readOnly,[ce]),bu=(0,M.useCallback)(()=>sa(p=>p+1),[]),$l=(0,M.useCallback)((p,x=!1)=>{p&&(Qo(p),x||Zo(p),bu())},[bu]),c0=p=>{Xo&&Xo.rowId===p.rowId&&Xo.field===p.field||(Qo(p),Zo(p))},bi=ue?.row??null,yi=ue?.col??null;(0,M.useLayoutEffect)(()=>{if(bi===null||yi===null)return;let p=Sa.current;if(p&&bi>=0){let x=qf(bi,p.scrollTop,p.clientHeight,ie,rn);x!==p.scrollTop&&(p.scrollTop=x,$p(x));let R=B[yi];if(R&&!R.frozen){let F=Zl[yi]??0,le=F+nn(R);F-wu<p.scrollLeft?p.scrollLeft=Math.max(F-wu,0):le>p.scrollLeft+p.clientWidth&&(p.scrollLeft=le-p.clientWidth)}}st===Ua.current||P||(Ua.current=st,document.getElementById(Up(L,{row:bi,col:yi}))?.focus({preventScroll:!0}))},[bi,yi,st,P,L,ie,rn,B,Zl,wu]);let Po=(0,M.useCallback)((p,x)=>{if(p.rowId===null)return;let R=gl(p.field),F=ml(p.rowId);if(!(!F||!R)){if(!Fl(R)){Yt(ce?H.readOnly(R.label):H.forbidden);return}c_(R.type)&&(Wo([xa(p.rowId,p.field)]),wi({rowId:p.rowId,field:p.field,seed:x,base:kt(R,F.values[R.field])}))}},[Fl,Wo,gl,ce,H,ml,Yt]),yu=(0,M.useCallback)(p=>{if(p.rowId===null)return;let x=gl(p.field),R=ml(p.rowId);if(!(!R||!x||x.type!=="checkbox")){if(!Fl(x)){Yt(ce?H.readOnly(x.label):H.forbidden);return}Nn([{rowId:R.id,field:x.field,value:kt(x,R.values[x.field])!==!0}])}},[Fl,gl,ce,Nn,H,ml,Yt]),u0=(0,M.useCallback)((p,x)=>{if(x===null)return on(p);let R={down:{row:Math.min(p.row+1,Q.length-1),col:p.col},up:{row:Math.max(p.row-1,0),col:p.col},right:{row:p.row,col:Math.min(p.col+1,B.length-1)},left:{row:p.row,col:Math.max(p.col-1,0)}}[x];return on(R)},[on,B.length,Q.length]),d0=(0,M.useCallback)((p,x)=>{if(!P)return;let R=Jl({rowId:P.rowId,field:P.field}),F=gl(P.field),le=ml(P.rowId);wi(null),p!==void 0&&F&&le&&!Wr(p,kt(F,le.values[F.field]))&&Nn([{rowId:le.id,field:F.field,value:p}]);let Ee=document.activeElement,q=Ee!==null&&Ee!==document.body&&!!Z.current?.contains(Ee);R&&q&&$l(u0(R,x))},[gl,P,Nn,$l,Jl,ml,u0]);(0,M.useEffect)(()=>{P&&!pl.has(P.rowId)&&wi(null)},[P,pl]);let es=P?ml(P.rowId):void 0,Wl=P?gl(P.field):void 0,xu=P&&es&&Wl?kt(Wl,es.values[Wl.field]):null,h0=!!(P&&es&&Wl&&!Wr(xu,P.base)),Ib=h0&&P?es?.changed?.[P.field]?.by??H.someone:"",ts=h0&&P&&Wl?{writer:Ib,value:ya(Wl,xu,O)||H.empty,onKeepMine:()=>wi(p=>p&&{...p,base:xu}),onUseTheirs:()=>{let p=Jl({rowId:P.rowId,field:P.field});wi(null),p&&$l(on(p))}}:null,_u=ts?H.conflict(ts.writer,ts.value):"";(0,M.useEffect)(()=>{_u&&Yt(_u)},[_u,Yt]);let f0=p=>{P||!Ye||gi(p)||(p.preventDefault(),p.clipboardData.setData("text/plain",Qf(B,Q,Ye,O)))},p0=(0,M.useCallback)(()=>{if(!Ye)return;if(!ce){Yt(H.forbidden);return}let p=Ff(B,Q,Ye,O);Nn(p.edits),$o(p.refused)},[B,O,ce,Nn,H.forbidden,Ye,$o,Q,Yt]),Xb=p=>{P||!Ye||gi(p)||(f0(p),p0())},Qb=p=>{if(P||!Ye||gi(p))return;if(p.preventDefault(),!ce){Yt(H.forbidden);return}let x=Jf(B,Q,Ye,Zf(p.clipboardData.getData("text/plain")),O);Nn(x.edits),$o(x.refused)},Zb=Math.max(1,Math.floor(Math.max(vi-rn,ie)/ie)-1),Jb=p=>{if(P||ui(p)||!ue||!ct||gi(p)||p.target.closest(".crewlet-sheet-grid__row-actions"))return;let x=B[ue.col],R=Kl(p);if(R&&p.altKey&&p.key.toLowerCase()==="h"){o&&ct.rowId!==null&&(p.preventDefault(),o({rowId:ct.rowId,field:ct.field}));return}if(R&&!p.altKey&&p.key.toLowerCase()==="z"){let le=p.shiftKey?v:h;le&&(p.preventDefault(),le());return}if(R&&!p.altKey&&p.key.toLowerCase()==="y"){v&&(p.preventDefault(),v());return}if(R&&!p.altKey&&p.key.toLowerCase()==="a"){if(p.preventDefault(),Q.length===0)return;Zo(on({row:0,col:0})),Qo(on({row:Q.length-1,col:B.length-1})),bu();return}if(at&&ct.rowId!==null&&(p.key==="ContextMenu"||p.shiftKey&&p.key==="F10")){p.preventDefault(),n0(ct.rowId);return}let F=Gf(ue,p,{rows:Q.length,cols:B.length,page:Zb});if(F){p.preventDefault();let le=p.shiftKey&&F.row!==fl&&ue.row!==fl;$l(on(F),le);return}if(p.key==="Tab"){let le=p.shiftKey?-1:1,Ee=ue.col+le;if(Ee<0||Ee>=B.length)return;p.preventDefault(),$l(on({row:ue.row,col:Ee}));return}if(ue.row===fl){(p.key==="Enter"||p.key===" ")&&x&&Te?(p.preventDefault(),Ea(x.field)):(p.key==="Enter"||p.key===" ")&&x&&b&&(p.preventDefault(),b(au(y,x.field)));return}switch(p.key){case"Enter":case"F2":if(p.preventDefault(),p.key==="Enter"&&R&&x?.type==="url"){let le=Q[ue.row],Ee=le?kt(x,le.values[x.field]):null;typeof Ee=="string"&&Ee&&(u?u(Ee):window.open(Ee,"_blank","noopener,noreferrer"));return}x?.type==="checkbox"?yu(ct):Po(ct);return;case" ":p.preventDefault(),x?.type==="checkbox"?yu(ct):x&&_b(x.type)&&Po(ct," ");return;case"Delete":case"Backspace":p.preventDefault(),p0();return;case"Escape":Wp&&Ye&&(Ye.top!==Ye.bottom||Ye.left!==Ye.right)&&(p.preventDefault(),Zo(ct));return}if(Kf(p)&&x){if(x.type==="rating"&&/^\d$/.test(p.key)){if(p.preventDefault(),!Fl(x)){Yt(ce?H.readOnly(x.label):H.forbidden);return}let le=Number(p.key),Ee=Q[ue.row];if(!Ee)return;if(le>tn(x)){$o([{rowId:Ee.id,field:x.field,error:H.notARating(x.label,tn(x))}]);return}Nn([{rowId:Ee.id,field:x.field,value:le===0?null:le}]);return}_b(x.type)&&(p.preventDefault(),Po(ct,x.type==="date"?void 0:p.key))}};(0,M.useEffect)(()=>{let p=()=>{vu.current=!1};return window.addEventListener("mouseup",p),()=>window.removeEventListener("mouseup",p)},[]);let g0=(p,x)=>{if(p.button!==0)return;let R=p.shiftKey&&x.rowId!==null&&ct?.rowId!==null;P&&P.rowId===x.rowId&&P.field===x.field||$l(x,R),vu.current=x.rowId!==null},Fb=p=>{!vu.current||p.rowId===null||Qo(p)},[m0,v0]=Bf(Math.max(Fp-rn,0),vi,ie,Q.length),xi=[];for(let p=m0;p<=v0;p+=1)xi.push(p);if(ue&&ue.row>=0&&(ue.row<m0||ue.row>v0)&&xi.push(ue.row),P){let p=pl.get(P.rowId);p!==void 0&&!xi.includes(p)&&xi.push(p)}let w0=`${L}-described`,b0=`${L}-help`,_i=ue?B[ue.col]:void 0,as=ue&&ue.row>=0?Q[ue.row]:void 0,$b=as&&_i?i0.get(xa(as.id,_i.field))??[]:[],Wb=as&&_i?np(_i,v_(as,Pp,_i.field),$b,O,me):"",Pb={"--crewlet-sheet-columns":qb,"--crewlet-sheet-row-height":`${ie}px`,width:`${Vb}px`},Tu=rn+Q.length*ie+2+Db,y0=rn+Q.length*ie>=vi,x0=Q.length===0&&y0,ey=g==="content"?{height:`${d!==void 0?Math.min(Tu,d):Tu}px`,"--crewlet-sheet-content-height":`${Tu}px`}:d!==void 0?{height:`${d}px`}:void 0,ty=p=>{let x=rn+p*ie-Fp,R=vi>0?vi:ie*12;return Vf(x,x+ie,rn,R,ie*8)};return(0,_.jsxs)("div",{className:k("crewlet-sheet-grid",l==="read"&&"crewlet-sheet-grid--read",g==="content"&&"crewlet-sheet-grid--fit-content",X),children:[(0,_.jsx)("div",{ref:Y,className:"crewlet-sheet-grid__probe","aria-hidden":"true"}),(0,_.jsxs)("div",{ref:Sa,className:k("crewlet-sheet-grid__scroller",Lb&&"crewlet-sheet-grid__scroller--across",Je&&"crewlet-sheet-grid__scroller--add-column"),style:ey,onScroll:p=>{$p(p.currentTarget.scrollTop),Ub(p.currentTarget.scrollLeft>0)},children:[(0,_.jsxs)("div",{ref:Z,role:"grid","aria-label":e,"aria-rowcount":Q.length+1,"aria-colcount":B.length+1,"aria-readonly":!ce||void 0,"aria-multiselectable":"true","aria-describedby":b0,tabIndex:-1,className:k("crewlet-sheet-grid__grid",Ye&&(Ye.top!==Ye.bottom||Ye.left!==Ye.right)&&"crewlet-sheet-grid__grid--range"),style:Pb,onKeyDown:Jb,onCopy:f0,onCut:Xb,onPaste:Qb,children:[(0,_.jsx)("div",{role:"rowgroup",className:"crewlet-sheet-grid__head",children:(0,_.jsxs)("div",{role:"row","aria-rowindex":1,className:k("crewlet-sheet-grid__row","crewlet-sheet-grid__row--head",x0&&"crewlet-sheet-grid__row--floor"),children:[(0,_.jsx)("div",{role:"columnheader","aria-colindex":1,className:k("crewlet-sheet-grid__corner",Jo<0&&"crewlet-sheet-grid__frozen-edge"),children:(0,_.jsx)(Rt,{children:H.rowHeader})}),B.map((p,x)=>{let R={row:fl,col:x},F=ue?.row===fl&&ue.col===x,le=y?.field===p.field?y.direction:void 0,Ee=Kb.get(p.field)??[],q=(0,_.jsxs)("div",{id:Up(L,R),role:"columnheader","aria-colindex":x+2,"aria-sort":le??(b?"none":void 0),tabIndex:F?0:-1,className:k("crewlet-sheet-grid__header",`crewlet-sheet-grid__header--${p.type}`,p.frozen&&"crewlet-sheet-grid__cell--frozen",x===Jo&&"crewlet-sheet-grid__frozen-edge",F&&"crewlet-sheet-grid__header--active",Te&&"crewlet-sheet-grid__header--settings",Dt===p.field&&"crewlet-sheet-grid__header--open"),style:p.frozen?{insetInlineStart:`${Zl[x]}px`}:void 0,onMouseDown:Ne=>{gi(Ne)||g0(Ne,{rowId:null,field:p.field})},onFocus:Ne=>{Ne.target===Ne.currentTarget&&c0({rowId:null,field:p.field})},onClick:Ne=>{gi(Ne)||(Te?Ea(Dt===p.field?null:p.field):b&&b(au(y,p.field)))},title:Te?H.columnSettings(p.label):b?H.sortBy(p.label):p.label,children:[(0,_.jsx)("span",{className:"crewlet-sheet-grid__header-label",children:p.label}),(0,_.jsx)(Rt,{children:`, ${H.types[p.type]}`}),le?(0,_.jsx)("span",{className:"crewlet-sheet-grid__sort","aria-hidden":"true",children:le==="ascending"?(0,_.jsx)(rp,{size:"xs"}):(0,_.jsx)(ru,{size:"xs"})}):null,Ee.length>0?(0,_.jsx)("span",{className:"crewlet-sheet-grid__header-presence","aria-hidden":"true",children:Ee.map(Ne=>(0,_.jsx)(Bo,{name:Ne.name,kind:Ne.kind,size:16,decorative:!0,className:k("crewlet-sheet-grid__header-badge",dl(Ne.hue))},Ne.id))}):null]},p.field);return Te?(0,_.jsx)(bb,{label:H.columnSettings(p.label),open:Dt===p.field,onOpenChange:Ne=>{!Ne&&Dt===p.field&&Ea(null)},trigger:()=>q,className:"crewlet-sheet-grid__column-settings",children:Ne=>C(p,Ne)},p.field):q})]})}),(0,_.jsx)("div",{role:"rowgroup",className:"crewlet-sheet-grid__body",style:{height:`${Q.length*ie}px`},children:xi.map(p=>{let x=Q[p],R=jb.get(x.id),F=`${L}-r${p}-name`,le=Ye!==null&&p>=Ye.top&&p<=Ye.bottom,Ee=H.rowActions(p+1);return(0,_.jsxs)("div",{role:"row","aria-rowindex":p+2,className:k("crewlet-sheet-grid__row",p===Q.length-1&&y0&&"crewlet-sheet-grid__row--floor"),style:{top:`${p*ie}px`},"data-row-id":x.id,children:[(0,_.jsxs)("div",{role:"rowheader","aria-colindex":1,"aria-labelledby":F,className:k("crewlet-sheet-grid__rownum",Jo<0&&"crewlet-sheet-grid__frozen-edge",at&&"crewlet-sheet-grid__rownum--actions",le&&"crewlet-sheet-grid__rownum--selected",a0===x.id&&"crewlet-sheet-grid__rownum--open",R&&"crewlet-sheet-grid__rownum--present",R&&dl(R.hue)),children:[(0,_.jsx)("span",{className:"crewlet-sheet-grid__rownum-number","aria-hidden":"true",children:p+1}),(0,_.jsx)(Rt,{id:F,children:nu(B,x,p,O)}),at?(0,_.jsx)("span",{className:"crewlet-sheet-grid__row-actions",children:(0,_.jsx)(xb,{label:Ee,triggerTabIndex:-1,open:a0===x.id,onOpenChange:q=>n0(q?x.id:null),renderTrigger:q=>(0,_.jsx)(Vo,{content:Ee,align:"start",children:(0,_.jsx)(ul,{...q,label:Ee,icon:(0,_.jsx)(sp,{}),size:"sm",title:""})}),items:[{key:"delete",label:H.deleteRow,icon:(0,_.jsx)(pp,{size:"sm"}),danger:!0,onSelect:()=>w?.(x.id)}]})}):null]}),B.map((q,Ne)=>{let ay={row:p,col:Ne},_0=xa(x.id,q.field),Ti=ue?.row===p&&ue.col===Ne,T0=Ye?Uf(Ye,p,Ne):!1,ny=x.pending?.includes(q.field)??!1,ns=x.refused?.[q.field]??Pp.get(_0),Ei=x.changed?.[q.field],E0=kt(q,x.values[q.field]),ls=i0.get(_0),zn=ls?.[0],Si=P?.rowId===x.id&&P.field===q.field,S0=Ti&&o!==void 0&&!Si;return(0,_.jsxs)("div",{id:Up(L,ay),role:"gridcell","aria-colindex":Ne+2,"aria-selected":T0,"aria-readonly":!Fl(q)||void 0,"aria-describedby":Ti?w0:void 0,tabIndex:Ti&&!Si?0:-1,className:k("crewlet-sheet-grid__cell",`crewlet-sheet-grid__cell--${q.type}`,q.frozen&&"crewlet-sheet-grid__cell--frozen",Ne===Jo&&"crewlet-sheet-grid__frozen-edge",T0&&"crewlet-sheet-grid__cell--selected",Ti&&"crewlet-sheet-grid__cell--active",ny&&"crewlet-sheet-grid__cell--pending",ns!==void 0&&"crewlet-sheet-grid__cell--refused",Si&&"crewlet-sheet-grid__cell--editing",S0&&"crewlet-sheet-grid__cell--history",zn&&"crewlet-presence-ring",zn&&dl(zn.hue),zn&&(zn.idle?"crewlet-presence-ring--idle":null)),style:q.frozen?{insetInlineStart:`${Zl[Ne]}px`}:void 0,onMouseDown:ca=>g0(ca,{rowId:x.id,field:q.field}),onFocus:ca=>{ca.target===ca.currentTarget&&c0({rowId:x.id,field:q.field})},onMouseEnter:()=>Fb({rowId:x.id,field:q.field}),onDoubleClick:()=>{q.type!=="checkbox"&&Po({rowId:x.id,field:q.field})},onClick:ca=>{q.type==="checkbox"&&ca.target.closest(".crewlet-sheet-cell__check")&&yu({rowId:x.id,field:q.field})},children:[(0,_.jsx)("span",{className:"crewlet-sheet-grid__value",children:(0,_.jsx)(qp,{column:q,value:E0,context:O,onOpenLink:u})}),ns!==void 0?(0,_.jsx)("span",{className:"crewlet-sheet-grid__refused","aria-hidden":"true",children:(0,_.jsx)(li,{size:"xs"})}):null,Ei?(0,_.jsx)(vb,{by:Ei.by,at:Ei.at,previous:tu(Ei)&&ya(q,kt(q,Ei.previous),O)||null,locale:G,labels:H}):null,ls&&zn?(0,_.jsx)(pb,{name:ap(ls),hue:zn.hue,kind:zn.kind,editing:ls.some(ca=>ca.editing)}):null,Ti&&ns!==void 0&&!Si?(0,_.jsx)("span",{className:"crewlet-sheet-grid__message","aria-hidden":"true",children:ns}):null,S0?(0,_.jsx)("button",{type:"button",tabIndex:-1,"aria-hidden":"true",className:"crewlet-sheet-grid__history",title:H.history,onMouseDown:ca=>ca.stopPropagation(),onClick:()=>o?.({rowId:x.id,field:q.field}),children:(0,_.jsx)(hp,{size:"xs"})}):null,Si?(0,_.jsx)(Ab,{column:q,value:E0,context:O,seed:P.seed,label:`${q.label}, ${nu(B,x,p,O)}`,side:ty(p),conflict:ts,onCommit:(ca,ly)=>d0(ca,ly),onCancel:()=>d0(void 0,null)}):null]},q.field)})]},x.id)})})]}),Je?(0,_.jsx)("div",{className:k("crewlet-sheet-grid__add-column",x0&&"crewlet-sheet-grid__add-column--floor"),style:{height:`${rn}px`},children:(0,_.jsx)(Vo,{content:H.addColumn,children:(0,_.jsx)(ul,{label:H.addColumn,icon:(0,_.jsx)(ou,{size:"xs"}),size:"sm",title:"",onClick:V})})}):null]}),yt?(0,_.jsx)("div",{ref:tt,className:"crewlet-sheet-grid__measure","aria-hidden":"true",inert:!0,children:j.filter(p=>yt.has(p.field)).map(p=>(0,_.jsxs)("div",{"data-measure":p.field,children:[(0,_.jsxs)("div",{className:k("crewlet-sheet-grid__header",`crewlet-sheet-grid__header--${p.type}`),children:[(0,_.jsx)("span",{className:"crewlet-sheet-grid__header-label",children:p.label}),b?(0,_.jsx)("span",{className:"crewlet-sheet-grid__sort",children:(0,_.jsx)(ru,{size:"xs"})}):null]}),(yt.get(p.field)??[]).map((x,R)=>(0,_.jsx)("div",{className:k("crewlet-sheet-grid__cell",`crewlet-sheet-grid__cell--${p.type}`),children:(0,_.jsx)("span",{className:"crewlet-sheet-grid__value",children:(0,_.jsx)(qp,{column:p,value:x,context:O})})},R))]},p.field))}):null,(0,_.jsx)(Rt,{id:w0,children:Wb}),(0,_.jsx)(Rt,{id:b0,children:[H.keyboardHelp,at?H.rowActionsHelp:"",Te?H.columnSettingsHelp:""].filter(Boolean).join(" ")}),(0,_.jsx)(Rt,{children:(0,_.jsx)("span",{role:"status","aria-live":"polite",children:(0,_.jsx)("span",{children:t0.text},t0.n)})}),i||A?(0,_.jsxs)("div",{className:"crewlet-sheet-grid__foot",children:[i&&ce?(0,_.jsx)(Ra,{size:"small",variant:"ghost",onClick:i,leadingIcon:(0,_.jsx)(ou,{size:"sm"}),children:H.addRow}):null,A?(0,_.jsxs)("span",{className:k("crewlet-sheet-grid__sync",((A.failed??0)>0||!A.offline&&(A.refused??0)>0)&&"crewlet-sheet-grid__sync--failed"),children:[(0,_.jsx)("span",{children:H.sync(A)}),(A.failed??0)>0&&f?(0,_.jsx)(Ra,{size:"small",variant:"ghost",onClick:f,children:H.retry}):null,(A.failed??0)===0&&(A.refused??0)>0&&E?(0,_.jsx)(Ra,{size:"small",variant:"ghost",onClick:E,children:H.dismiss}):null]}):null]}):null]})}function gi(e){return!e.currentTarget.contains(e.target)}function Up(e,t){return`${e}-r${t.row<0?"h":t.row}-c${t.col}`}function v_(e,t,a){let n=t.get(xa(e.id,a));return n===void 0||e.refused?.[a]!==void 0?e:{...e,refused:{...e.refused,[a]:n}}}var Xp="crewlet:ready";function Qp(e=window){let t=e.crewlet;return t?Ko(t):new Promise(a=>{let n=()=>{let l=e.crewlet;l&&(e.removeEventListener(Xp,n),a(Ko(l)))};e.addEventListener(Xp,n)})}function Ko(e){return e.ready.then(()=>e)}function Mb(){let e=crypto.getRandomValues(new Uint8Array(12));return Array.from(e,t=>t.toString(16).padStart(2,"0")).join("")}var La=K(xe(),1),Ga={noData:"This sheet cannot load, because this version of the page was published without access to its data.",noColumns:e=>`The \u201C${e}\u201D collection has no columns yet.`,loadFailed:(e,t)=>t==="forbidden"?`You do not have access to the \u201C${e}\u201D collection.`:t==="not_found"?`This page has no collection named \u201C${e}\u201D.`:`The \u201C${e}\u201D collection could not be loaded. Reload the page to try again.`,inSheet:e=>e===1?"1 other person is in this sheet":`${e} other people are in this sheet`,stepOvertaken:e=>`Somebody changed this after you, so the ${e} was skipped.`,addRowFailed:e=>`Could not add a row. ${e}`,deleteRowTitle:"Delete this row?",deleteRowMessage:"The row is removed for everyone who can open this page.",deleteRowConfirm:"Delete row",deleteRowCancel:"Cancel"};function pu(e,t){console.warn(`[crewlet artifact-kit] ${e}`,t)}function Zp(e){return e.verdict==="applied"||e.verdict==="pending"?null:Ro(e.verdict,e.reason,Yl)}function gu(e){let t=typeof e?.code=="string"?e.code:"",a=e instanceof Error?e.message:void 0;return Ro(t,a,Yl)}function Nb(e,t){let{capabilities:a}=e;return{settled:t,db:a.has("db"),presence:a.has("presence"),identity:a.has("identity")}}var w_=(e,t)=>e.settled===t.settled&&e.db===t.db&&e.presence===t.presence&&e.identity===t.identity;function b_(e){let[t,a]=(0,$.useState)(()=>Nb(e,!1));return(0,$.useEffect)(()=>{let n=!0,l=r=>{let i=Nb(e,r);a(o=>w_(o,i)?o:i)};return l(!1),e.ready.then(()=>{n&&l(!0)}),()=>{n=!1}},[e]),t}function zb({runtime:e,collection:t,columns:a,sort:n,frozen:l,readOnly:r=!1,label:i,height:o}){let s=b_(e),c=s.db,h=s.presence,v=s.identity,u=(0,$.useMemo)(()=>e.data.collection(t),[e,t]),[m,y]=(0,$.useState)(null),[b,A]=(0,$.useState)(void 0),[f,d]=(0,$.useState)([]),[g,w]=(0,$.useState)(null),[E,C]=(0,$.useState)(n),[N,z]=(0,$.useState)(null),[V,G]=(0,$.useState)([]),[X,Ce]=(0,$.useState)([]),[Me,L]=(0,$.useState)(!1),[H,me]=(0,$.useState)(0),[O,j]=(0,$.useState)({text:"",n:0}),[W,Xe]=(0,$.useState)(null),et=(0,$.useCallback)(Y=>j(Z=>({text:Y,n:Z.n+1})),[]),[,Ht]=(0,$.useState)(0),yt=(0,$.useRef)(new Map),D=(0,$.useMemo)(()=>new $f,[]);(0,$.useEffect)(()=>C(n),[n]),(0,$.useEffect)(()=>D.subscribe(()=>Ht(Y=>Y+1)),[D]),(0,$.useEffect)(()=>{if(!c)return;let Y=!0;return e.data.schema().then(Z=>{if(!Y)return;let st=Z.find(sa=>sa.name===t)??null;A(st?.title),a||y(fw(st))}).catch(Z=>{pu(`the schema of ${t} could not be read`,Z),Y&&!a&&y([])}),()=>{Y=!1}},[e,a,c,t]),(0,$.useEffect)(()=>{if(c)return w(null),u.subscribe(Y=>d(Y.map(Z=>({id:Z.id,values:Z.data}))),Y=>w(Ga.loadFailed(t,Y.code)))},[u,c,t]),(0,$.useEffect)(()=>{if(!v)return;let Y=!0;return e.identity.me().then(Z=>{Y&&z(Z)}).catch(Z=>pu("the reader could not be identified",Z)),e.identity.people().then(Z=>{Y&&G(Z.map(bw))}).catch(Z=>pu("the people a person cell offers could not be listed",Z)),()=>{Y=!1}},[e,v]);let oe=(0,$.useMemo)(()=>vw(a??m??[],l),[a,m,l]);(0,$.useEffect)(()=>{if(h)return Ce(e.presence.roster().members),e.presence.subscribe(Y=>Ce(Y.members))},[e,h]),(0,$.useEffect)(()=>{if(e.connection)return L(e.connection.state==="offline"),e.connection.subscribe(Y=>L(Y==="offline"))},[e]);let xt=(0,$.useMemo)(()=>{let Y=xw(X,yt.current);return yt.current=Y,Y},[X]),tt=N?.seat??null,S=(0,$.useMemo)(()=>_w(X,t,tt,xt),[X,t,tt,xt]),ve=(0,$.useMemo)(()=>Ew(Tw(X,t),tt,xt),[X,t,tt,xt]),B=(0,$.useCallback)(Y=>{let Z=Y.map(ie=>D.begin(ie.rowId,ie.field)),st=ie=>{for(let Ql of Z)Ql(ie===null?{ok:!0}:{ok:!1,message:ie})},sa=ie=>({[ie.field]:ie.value}),Ua;if(Y.length===1){let[ie]=Y;Ua=u.merge(ie.rowId,sa(ie))}else{let ie=e.data.batch();for(let Ql of Y)ie.merge(t,Ql.rowId,sa(Ql));Ua=ie.commit()}Ua.then(ie=>st(Zp(ie)),ie=>st(gu(ie)))},[t,D,e,u]),Q=(0,$.useCallback)(()=>{u.set(Mb(),{}).then(Y=>{let Z=Zp(Y);me(st=>Z===null?0:st+1),Z!==null&&et(Ga.addRowFailed(Z))},Y=>{me(Z=>Z+1),et(Ga.addRowFailed(gu(Y)))})},[u,et]),ce=(0,$.useCallback)(Y=>{let Z=oe[0],st=Z?D.begin(Y,Z.field):()=>{};u.delete(Y).then(sa=>{let Ua=Zp(sa);if(st(Ua===null?{ok:!0}:{ok:!1,message:Ua}),Ua===null)for(let ie of oe)D.dismiss(Y,ie.field)},sa=>st({ok:!1,message:gu(sa)}))},[oe,D,u]),at=(0,$.useCallback)(Y=>{e.data[Y]().then(Z=>{Z===null||Z.verdict==="applied"||Z.verdict==="pending"||et(Z.verdict==="conflict"?Ga.stepOvertaken(Y):Ro(Z.verdict,Z.reason,Yl))},Z=>et(gu(Z)))},[e,et]),Te=(0,$.useRef)({active:null,editing:null}),Je=(0,$.useCallback)(()=>{if(!h)return;let{active:Y,editing:Z}=Te.current,st=Z??Y,sa=st?{collection:t,doc:st.rowId,field:st.field}:{};e.presence.set({activity:Z?"editing":"viewing",focus:sa})},[e,h,t]),Ft=(0,$.useCallback)(Y=>{Te.current.active=Y,Je()},[Je]),mi=(0,$.useCallback)(Y=>{Te.current.editing=Y,Je()},[Je]);if(!c)return s.settled?(0,La.jsx)(ri,{variant:"warning",children:Ga.noData}):null;if(g!==null)return(0,La.jsx)(ri,{variant:"warning",children:g});if(oe.length===0&&(a!==null||m!==null))return(0,La.jsx)(ri,{variant:"neutral",children:Ga.noColumns(t)});let Dt=r||N?.role==="viewer",Ea={...D.sync(Me),failed:H},Sa=W===null?void 0:f.find(Y=>Y.id===W);return(0,La.jsxs)("div",{className:"crewlet-kit-sheet",children:[ve.length>0?(0,La.jsx)("div",{className:"crewlet-kit-sheet__presence",children:(0,La.jsx)(Dp,{members:ve,self:!1,size:"xs",label:Ga.inSheet(ve.length)})}):null,(0,La.jsx)(Ip,{label:i??b??t,columns:oe,rows:D.decorate(f),people:V,mode:Dt?"read":"edit",onEdit:Dt?void 0:B,onAddRow:Dt?void 0:Q,onDeleteRow:Dt?void 0:Xe,onActiveCellChange:Ft,onEditingChange:mi,onOpenLink:Y=>{e.openLink(Y).catch(Z=>pu("a link could not be opened",Z))},onUndo:()=>at("undo"),onRedo:()=>at("redo"),presence:S,sort:E,onSortChange:C,sync:Dt?void 0:Ea,onRetry:H>0?Q:void 0,onDismissRefused:()=>D.dismissAll(),height:o,fit:"content"}),(0,La.jsx)(xp,{open:Sa!==void 0,onClose:()=>Xe(null),onConfirm:()=>{Sa&&ce(Sa.id),Xe(null)},title:Ga.deleteRowTitle,message:Ga.deleteRowMessage,confirmLabel:Ga.deleteRowConfirm,cancelLabel:Ga.deleteRowCancel,destructive:!0}),O.text?(0,La.jsx)(ri,{variant:"warning",live:"polite",children:O.text},O.n):null]})}var kb=K(xe(),1);function Cb(e,t){let a=e.ownerDocument.createElement("div");a.className="crewlet-kit-sheet__root",e.append(a);let n=(0,Ob.createRoot)(a),l=t,r=null,i=!1,o=()=>{i||!r||n.render((0,kb.jsx)(zb,{runtime:r,collection:l.collection,columns:l.columns&&l.columns.length>0?l.columns:null,sort:l.sort??null,frozen:l.frozen,readOnly:l.readOnly,label:l.label,height:l.height}))},s=c=>{c.then(h=>{r=h,o()})};return s(t.runtime?Ko(t.runtime):Qp(e.ownerDocument.defaultView??window)),{update(c){l=c,c.runtime&&c.runtime!==r&&s(Ko(c.runtime)),o()},unmount(){i=!0,n.unmount(),a.remove()}}}var Io=class extends HTMLElement{static get observedAttributes(){return pw}attributeChangedCallback(){this.closest("crewlet-sheet")?.dispatchEvent(new Event("crewlet-columnchange"))}toColumn(){return gw(t=>this.getAttribute(t))}},y_=["collection","sort","frozen","readonly","label","height"],mu=class extends HTMLElement{constructor(){super(...arguments);sn(this,"mounted",null);sn(this,"observer",typeof MutationObserver=="function"?new MutationObserver(()=>this.refresh()):null);sn(this,"onColumnChange",()=>this.refresh())}static get observedAttributes(){return y_}connectedCallback(){this.addEventListener("crewlet-columnchange",this.onColumnChange),this.observer?.observe(this,{childList:!0}),this.refresh()}disconnectedCallback(){this.removeEventListener("crewlet-columnchange",this.onColumnChange),this.observer?.disconnect(),this.mounted?.unmount(),this.mounted=null}attributeChangedCallback(){this.isConnected&&this.refresh()}options(){let a=this.getAttribute("collection")?.trim();if(!a)return null;let n=[...this.children].filter(s=>s instanceof Io).map(s=>s.toColumn()).filter(s=>s!==null),l=Number(this.getAttribute("frozen")),r=Number(this.getAttribute("height")),i={collection:a,columns:n,sort:mw(this.getAttribute("sort")),readOnly:this.hasAttribute("readonly")};this.hasAttribute("frozen")&&Number.isInteger(l)&&l>=0&&(i.frozen=l),this.hasAttribute("height")&&Number.isFinite(r)&&r>0&&(i.height=r);let o=this.getAttribute("label")?.trim();return o&&(i.label=o),i}refresh(){let a=this.options();if(!a){this.mounted?.unmount(),this.mounted=null;return}this.mounted?this.mounted.update(a):this.mounted=Cb(this,a)}};function Jp(e=customElements){e.get("crewlet-column")||e.define("crewlet-column",Io),e.get("crewlet-sheet")||e.define("crewlet-sheet",mu)}Jp();export{Io as CrewletColumnElement,mu as CrewletSheetElement,Xp as RUNTIME_READY_EVENT,Jp as defineElements,Cb as mountSheet,Qp as whenRuntime};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crewlethq/artifact-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.79.0",
|
|
4
4
|
"description": "The Crewlet design system as a framework-free browser bundle for artifact pages: the tokens, every theme, the fonts and the base stylesheet, an opt-in stylesheet for a page's plain HTML, the theme bootstrap, and the sheet as custom elements bound to the artifact runtime.",
|
|
5
5
|
"license": "MIT AND OFL-1.1 AND ISC",
|
|
6
6
|
"repository": {
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"clean": "rm -rf dist"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@crewlethq/icons": "0.
|
|
39
|
-
"@crewlethq/tokens": "0.
|
|
40
|
-
"@crewlethq/ui": "0.
|
|
38
|
+
"@crewlethq/icons": "0.79.0",
|
|
39
|
+
"@crewlethq/tokens": "0.79.0",
|
|
40
|
+
"@crewlethq/ui": "0.79.0",
|
|
41
41
|
"@types/react": "^19.0.0",
|
|
42
42
|
"@types/react-dom": "^19.3.0",
|
|
43
43
|
"esbuild": "^0.28.2",
|