Props
As props definem os valores padrão. Quem usa pode mudá-los no painel de configurações da Régua, e o que for salvo tem precedência; Use defaults volta para as props. As mesmas opções valem para mountRegua e para o elemento <regua-overlay>.
Referência
| Prop | Descrição | Padrão |
|---|---|---|
highlightColorstring | Cor do contorno de hover e de seleção. | oklch(0.62 0.18 255) |
guideColorstring | Cor das guias. | oklch(0.63 0.26 29.23) |
arrowColorstring | Cor das setas. | oklch(0.63 0.26 29.23) |
guideHighlightEnabledboolean | Destaca guias com hover ou selecionadas. | true |
hoverHighlightEnabledboolean | Contorna o elemento sob o cursor. Com false, clicar desseleciona. | true |
layoutDetailsEnabledboolean | Mostra gap e padding abaixo do elemento selecionado. | true |
persistOnReloadboolean | Mantém o workspace entre recarregamentos. | false |
persistSessionboolean | Mantém o workspace durante a sessão da aba. | false |
shortcutsEnabledboolean | Ativa os atalhos de teclado. | true |
theme"system" | "light" | "dark" | Tema da interface da Régua. | "system" |
portalTargetHTMLElement | ShadowRoot | Onde a Régua é renderizada. Aceita um shadow root, que recebe os estilos. | document.body |
persistKeystring | Chave do workspace no storage. | uma por aba e instância |
colorPickerFormatsColorPickerFormat[] | Formatos do conta-gotas, na ordem exibida. Aceita também "hsl". | ["hex", "rgb", "oklch"] |
colorPickerClickFormatColorPickerFormat | Formato copiado ao clicar com o conta-gotas. | "hex" |
snapEnabledboolean | Encaixa a seleção em elementos próximos. | true |
snapGuidesEnabledboolean | Encaixa guias em outras guias. | true |
snapArrowsEnabledboolean | Encaixa as pontas das setas em elementos. | true |
arrowClickToPlaceboolean | Cria setas com cliques em vez de arrastar. | false |
selectNewGuideEnabledboolean | Seleciona a guia recém-criada. | true |
multiMeasureEnabledboolean | Mantém as medidas anteriores na tela. | false |
guideStylePartial<GuideStyle> | Aparência das guias. pattern: "solid", "dashed" ou "dotted". | { opacity: 1, width: 1, pattern: "solid", dashLength: 6, gap: 4 } |
rulerSettingsPartial<RulerSettings> | Opacidade das réguas e revelação pelas bordas da tela. | { opacity: 1, edgeReveal: false } |
textStylePartial<TextStyleSettings> | Fonte e cor das notas de texto. | { font: "sans-serif", color: "#000000" } |
featuresReguaFeatures | Desliga partes da Régua: { screenshot, rulers, settings }. | tudo ligado |
initialStateobject | Estado inicial quando nada foi salvo: enabled, minimized, toolMode, guias, setas, traços, textos, medidas e comentários. | — |
persistenceReguaPersistence | Store próprio para configurações e workspace. | localStorage |
onPersistenceError(error: unknown) => void | Chamado quando o storage está indisponível ou uma gravação falha. | — |
captureVisibleTab() => Promise<Blob> | Fornece um PNG da aba visível para a captura. Sem ela, a captura pede ao navegador para compartilhar a aba atual (getDisplayMedia). | — |
extensionRecordingExtensionRecordingSession | Grava a tela por uma extensão de navegador em vez da página. | — |
extensionRecordingPlayerstring | URL da página da extensão que reproduz as gravações. | — |
Exemplo
<Regua
theme="dark"
guideStyle={{ pattern: "dashed" }}
initialState={{ minimized: true }}
/>Persistência
Configurações e workspace (guias, medidas, setas, traços, textos, comentários) são salvos separadamente. As configurações valem entre recarregamentos. O workspace é descartado ao recarregar, a menos que persistOnReload ou persistSession estejam ligados.
O padrão é localStorage, com um workspace por aba e por instância. Use persistKey para fixar a chave, ou passe um persistence próprio para guardar em outro lugar. O pacote exporta os blocos para isso: createLocalStoragePersistence, createPageScopedPersistence (um workspace por página dentro do mesmo store), normalizeStoredSettings, normalizeStoredWorkspace e REGUA_STORAGE_VERSION.
import { createLocalStoragePersistence, createPageScopedPersistence } from "regua"
const persistence = createPageScopedPersistence(
createLocalStoragePersistence(window, "meu-app:regua"),
() => location.pathname,
)