canonrs-server 0.1.0

CanonRS server-side rendering support
/* SHEET - Family A Overlay */

[data-rs-sheet] {
  display: contents;
}

[data-rs-sheet-portal] {
  display: contents;
}

/* ── TRIGGER ─────────────────────────────────────────────────────────────────── */
[data-rs-sheet-trigger] {
  cursor: pointer;
}

/* ── OVERLAY ─────────────────────────────────────────────────────────────────── */
[data-rs-sheet-overlay] {
  position: fixed;
  inset: 0;
  z-index: var(--sheet-overlay-z-index);
  background: var(--sheet-overlay-bg);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity var(--sheet-transition-duration) var(--sheet-transition-ease),
    visibility var(--sheet-transition-duration) var(--sheet-transition-ease);
}

[data-rs-sheet-overlay][data-rs-state~="open"],
[data-rs-sheet][data-rs-state~="open"] [data-rs-sheet-overlay] {
  opacity: 1;
  visibility: visible;
}

/* ── CONTENT ─────────────────────────────────────────────────────────────────── */
[data-rs-sheet-content] {
  position: fixed;
  z-index: calc(var(--sheet-overlay-z-index) + 1);
  background: var(--sheet-bg);
  color: var(--sheet-fg);
  padding: var(--sheet-padding);
  box-shadow: var(--sheet-shadow);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity var(--sheet-transition-duration) var(--sheet-transition-ease),
    transform var(--sheet-transition-duration) var(--sheet-transition-ease),
    visibility var(--sheet-transition-duration) var(--sheet-transition-ease);
}

/* Right (default) — side no content ou no root */
[data-rs-sheet-content][data-rs-side="right"],
[data-rs-sheet-content]:not([data-rs-side]),
[data-rs-sheet][data-rs-side="right"] [data-rs-sheet-content],
[data-rs-sheet]:not([data-rs-side]) [data-rs-sheet-content] {
  top: 0; right: 0; bottom: 0;
  width: var(--sheet-width);
  transform: var(--sheet-transform-closed-right);
}

[data-rs-sheet-content][data-rs-side="right"][data-rs-state~="open"],
[data-rs-sheet-content]:not([data-rs-side])[data-rs-state~="open"],
[data-rs-sheet][data-rs-side="right"][data-rs-state~="open"] [data-rs-sheet-content],
[data-rs-sheet]:not([data-rs-side])[data-rs-state~="open"] [data-rs-sheet-content] {
  opacity: 1; visibility: visible;
  transform: var(--sheet-transform-open);
}

/* Left */
[data-rs-sheet-content][data-rs-side="left"],
[data-rs-sheet][data-rs-side="left"] [data-rs-sheet-content] {
  top: 0; left: 0; bottom: 0;
  width: var(--sheet-width);
  transform: var(--sheet-transform-closed-left);
}

[data-rs-sheet-content][data-rs-side="left"][data-rs-state~="open"],
[data-rs-sheet][data-rs-side="left"][data-rs-state~="open"] [data-rs-sheet-content] {
  opacity: 1; visibility: visible;
  transform: var(--sheet-transform-open);
}

/* Top */
[data-rs-sheet-content][data-rs-side="top"],
[data-rs-sheet][data-rs-side="top"] [data-rs-sheet-content] {
  top: 0; left: 0; right: 0;
  height: var(--sheet-height);
  transform: var(--sheet-transform-closed-top);
}

[data-rs-sheet-content][data-rs-side="top"][data-rs-state~="open"],
[data-rs-sheet][data-rs-side="top"][data-rs-state~="open"] [data-rs-sheet-content] {
  opacity: 1; visibility: visible;
  transform: var(--sheet-transform-open);
}

/* Bottom */
[data-rs-sheet-content][data-rs-side="bottom"],
[data-rs-sheet][data-rs-side="bottom"] [data-rs-sheet-content] {
  bottom: 0; left: 0; right: 0;
  height: var(--sheet-height);
  transform: var(--sheet-transform-closed-bottom);
}

[data-rs-sheet-content][data-rs-side="bottom"][data-rs-state~="open"],
[data-rs-sheet][data-rs-side="bottom"][data-rs-state~="open"] [data-rs-sheet-content] {
  opacity: 1; visibility: visible;
  transform: var(--sheet-transform-open);
}

/* ── TYPOGRAPHY ──────────────────────────────────────────────────────────────── */
[data-rs-sheet-title] {
  color: var(--sheet-title-fg);
  font-size: var(--sheet-title-font-size);
  font-weight: var(--sheet-title-font-weight);
  margin-bottom: var(--sheet-header-gap);
}

[data-rs-sheet-description] {
  color: var(--sheet-description-fg);
  font-size: var(--sheet-description-font-size);
  margin-bottom: var(--sheet-footer-gap);
}