canonrs-server 0.1.0

CanonRS server-side rendering support
/* ═══════════════════════════════════════════════════════════════
   SLIDER - Family C Forms tokens compliant
   ═══════════════════════════════════════════════════════════════ */

[data-rs-slider] {
  position: relative;
  width: 100%;
  height: var(--slider-height);
  padding: var(--slider-padding);
  display: flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  touch-action: none;
}

[data-rs-slider-track] {
  cursor: pointer;
  position: relative;
  width: 100%;
  height: var(--slider-track-height);
  background: var(--slider-track-bg);
  border-radius: var(--slider-track-radius);
}

[data-rs-slider-range] {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: var(--slider-fill, 50%);
  background: var(--slider-range-bg);
  border-radius: var(--slider-track-radius);
  transition: width var(--slider-transition-duration) var(--slider-transition-ease);
}

[data-rs-slider-thumb] {
  position: absolute;
  top: 50%;
  left: var(--slider-fill, 50%);
  transform: translate(-50%, -50%);
  width: var(--slider-thumb-size);
  height: var(--slider-thumb-size);
  background: var(--slider-thumb-bg);
  border: var(--slider-thumb-border-width) solid var(--slider-thumb-border-color);
  border-radius: var(--slider-thumb-radius);
  cursor: grab;
  z-index: 2;
  transition:
    box-shadow var(--slider-transition-duration) var(--slider-transition-ease),
    transform var(--slider-transition-duration) var(--slider-transition-ease);
}

[data-rs-slider-thumb]:active {
  cursor: grabbing;
}

[data-rs-slider-thumb]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 var(--slider-thumb-focus-ring-width) var(--slider-thumb-focus-ring-color);
}

/* ── ACTIVE ─────────────────────────────────────────────────── */
[data-rs-slider][data-rs-state~="active"] [data-rs-slider-thumb] {
  cursor: grabbing;
  box-shadow: 0 0 0 var(--slider-thumb-focus-ring-width) var(--slider-thumb-focus-ring-color);
}

/* ── DISABLED ───────────────────────────────────────────────── */
[data-rs-slider][data-rs-state~="disabled"] {
  opacity: var(--slider-disabled-opacity);
  pointer-events: none;
  cursor: not-allowed;
}

/* ── MARKS ──────────────────────────────────────────────────── */
[data-rs-slider-marks] {
  position: absolute;
  bottom: calc(50% - var(--slider-track-height) / 2 - var(--slider-mark-gap) - var(--slider-mark-height));
  left: 0;
  width: 100%;
  height: var(--slider-mark-height);
  pointer-events: none;
}

[data-rs-slider-mark] {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: var(--slider-mark-width);
  height: var(--slider-mark-height);
  background: var(--slider-mark-color);
  border-radius: var(--radius-full);
}

[data-rs-slider-thumb]:hover:not([data-rs-state~="disabled"]) {
  transform: translate(-50%, -50%) scale(var(--slider-thumb-hover-scale));
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--slider-thumb-bg) 20%, transparent);
}

[data-rs-slider]:hover:not([data-rs-state~="disabled"]) [data-rs-slider-track] {
  background: color-mix(in srgb, var(--slider-track-bg) 80%, var(--theme-surface-fg) 20%);
}

[data-rs-slider]:hover:not([data-rs-state~="disabled"]) [data-rs-slider-range] {
  filter: brightness(1.15);
}