{"version":3,"file":"DataTable.module.cjs","names":[],"sources":["../../../src/components/DataTable/DataTable.module.css"],"sourcesContent":[".wrapper {\n    display: flex;\n    flex-direction: column;\n    gap: var(--tempest-space-3, 0.75rem);\n}\n\n.search {\n    max-width: 20rem;\n}\n\n/*\n * A page swap keeps the rows it already has, dimmed. Replacing them with a\n * spinner would collapse the table to nothing and bounce whatever sits below it\n * back up, which is the jump the user's cursor was resting on.\n */\n.pending {\n    opacity: 0.6;\n    transition: opacity var(--tempest-duration-fast, 120ms) ease;\n    pointer-events: none;\n}\n\n.loading {\n    display: flex;\n    flex-direction: column;\n    gap: var(--tempest-space-3, 0.75rem);\n    padding: var(--tempest-space-3, 0.75rem) 0;\n}\n\n.loadingRow {\n    display: grid;\n    grid-auto-flow: column;\n    grid-auto-columns: 1fr;\n    gap: var(--tempest-space-4, 1rem);\n    align-items: center;\n}\n\n.sortButton {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.25rem;\n    padding: 0;\n    border: none;\n    background: none;\n    font: inherit;\n    color: inherit;\n    cursor: pointer;\n    user-select: none;\n}\n\n.sortIndicator {\n    font-size: 0.75em;\n    opacity: 0.7;\n}\n\n/* ── Inline editing ─────────────────────────────────────────────────────────── */\n\n.cellWrap {\n    display: flex;\n    flex-direction: column;\n    gap: var(--tempest-space-1, 0.25rem);\n    align-items: stretch;\n    width: 100%;\n}\n\n/*\n * The dashed bottom edge is a resting affordance, not only a hover one: on a touch\n * screen there is no hover, so an editable cell that looks exactly like a read-only\n * one is undiscoverable. It is the weakest mark that still says \"this is editable\";\n * hover and focus then promote it to a full box.\n */\n.cellButton {\n    position: relative;\n    display: block;\n    width: 100%;\n    margin: calc(-1 * var(--tempest-space-1, 0.25rem)) calc(-1 * var(--tempest-space-2, 0.5rem));\n    padding: var(--tempest-space-1, 0.25rem) var(--tempest-space-2, 0.5rem);\n    border: 1px dashed transparent;\n    border-bottom-color: var(--tempest-border-strong);\n    border-radius: var(--tempest-radius-sm, 0.25rem);\n    background: none;\n    font: inherit;\n    color: inherit;\n    text-align: inherit;\n    cursor: pointer;\n}\n\n.cellButton:hover {\n    border-color: var(--tempest-border-strong);\n    background-color: var(--tempest-surface-2);\n}\n\n.cellButton:focus-visible {\n    outline: none;\n    border-color: transparent;\n    box-shadow: 0 0 0 var(--tempest-focus-ring-width) var(--tempest-focus-ring-color);\n}\n\n.cellButtonInvalid {\n    border-color: var(--tempest-danger-border);\n}\n\n/*\n * Touch: grow the hit area to the cell's own padding — exactly `--tempest-space-3`\n * vertically and `--tempest-space-4` horizontally in `Table.module.css` — so the\n * whole `<td>` is tappable and the target clears 44px without spilling into the\n * neighbouring row, which a symmetric slop would do in a dense table.\n */\n@media (pointer: coarse) {\n    .cellButton::after {\n        content: \"\";\n        position: absolute;\n        inset-block: calc(-1 * var(--tempest-space-3, 0.75rem));\n        inset-inline: calc(-1 * var(--tempest-space-4, 1rem));\n    }\n}\n\n.cellButton[aria-busy=\"true\"] {\n    opacity: 0.6;\n}\n\n.cellEditor {\n    width: 100%;\n    min-width: 0;\n    margin: calc(-1 * var(--tempest-space-1, 0.25rem)) calc(-1 * var(--tempest-space-2, 0.5rem));\n    padding: var(--tempest-space-1, 0.25rem) var(--tempest-space-2, 0.5rem);\n    border: 1px solid var(--tempest-border-strong);\n    border-radius: var(--tempest-radius-sm, 0.25rem);\n    background-color: var(--tempest-bg);\n    font: inherit;\n    color: var(--tempest-text);\n}\n\n.cellEditor:focus {\n    outline: none;\n    box-shadow: 0 0 0 var(--tempest-focus-ring-width) var(--tempest-focus-ring-color);\n}\n\n.cellEditorInvalid {\n    border-color: var(--tempest-danger-border);\n}\n\n/*\n * The message sits on a tinted fill because `--tempest-danger-fg` over\n * `--tempest-danger-bg` is a pair `contrast.test.ts` verifies in both themes;\n * danger text straight onto the table background is not.\n */\n.cellError {\n    padding: 0.125rem var(--tempest-space-2, 0.5rem);\n    border-radius: var(--tempest-radius-sm, 0.25rem);\n    background-color: var(--tempest-danger-bg);\n    color: var(--tempest-danger-fg);\n    font-size: var(--tempest-text-sm);\n    line-height: 1.4;\n    white-space: normal;\n}\n"],"mappings":";"}