UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

109 lines (102 loc) 4.84 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/store/accessibilityStore.ts var _zustand = require('zustand'); var _middleware = require('zustand/middleware'); var ColorBlindMode = /* @__PURE__ */ ((ColorBlindMode2) => { ColorBlindMode2["None"] = "none"; ColorBlindMode2["Protanopia"] = "protanopia"; ColorBlindMode2["Deuteranopia"] = "deuteranopia"; ColorBlindMode2["Tritanopia"] = "tritanopia"; return ColorBlindMode2; })(ColorBlindMode || {}); var COLOR_BLIND_PREFIX = "a11y-cb-"; var getColorBlindClass = (mode) => mode === "none" /* None */ ? null : `${COLOR_BLIND_PREFIX}${mode}`; var getColorBlindFilterId = (mode) => `${COLOR_BLIND_PREFIX}${mode}`; var DEFAULT_ACCESSIBILITY_PREFERENCES = { contrastMode: "normal", saturationMode: "normal", fontSize: 0, letterSpacing: 0, lineSpacing: 0, highlightLinks: false, pauseAnimations: false, bigCursor: false, dyslexiaFont: false, readingAid: "none", keyboardShortcut: true, colorBlindMode: "none" /* None */, ttsMode: "off", ttsRate: 1, ttsVoiceId: null, librasEnabled: false }; var useAccessibilityStore = _zustand.create.call(void 0, )( _middleware.devtools.call(void 0, _middleware.persist.call(void 0, (set) => ({ ...DEFAULT_ACCESSIBILITY_PREFERENCES, isPanelOpen: false, ttsStatus: "idle", setContrastMode: (contrastMode) => set({ contrastMode }), setSaturationMode: (saturationMode) => set({ saturationMode }), setFontSize: (fontSize) => set({ fontSize }), setLetterSpacing: (letterSpacing) => set({ letterSpacing }), setLineSpacing: (lineSpacing) => set({ lineSpacing }), setHighlightLinks: (highlightLinks) => set({ highlightLinks }), setPauseAnimations: (pauseAnimations) => set({ pauseAnimations }), setBigCursor: (bigCursor) => set({ bigCursor }), setDyslexiaFont: (dyslexiaFont) => set({ dyslexiaFont }), setReadingAid: (readingAid) => set({ readingAid }), setKeyboardShortcut: (keyboardShortcut) => set({ keyboardShortcut }), setColorBlindMode: (colorBlindMode) => set({ colorBlindMode }), setTTSMode: (ttsMode) => set({ ttsMode }), setTTSRate: (ttsRate) => set({ ttsRate }), setTTSVoiceId: (ttsVoiceId) => set({ ttsVoiceId }), setTTSStatus: (ttsStatus) => set({ ttsStatus }), setLibrasEnabled: (librasEnabled) => set({ librasEnabled }), resetPreferences: () => set({ ...DEFAULT_ACCESSIBILITY_PREFERENCES }), openPanel: () => set({ isPanelOpen: true }), closePanel: () => set({ isPanelOpen: false }), togglePanel: () => set((state) => ({ isPanelOpen: !state.isPanelOpen })) }), { name: "accessibility-store", // version 1: removeu `librasEnabled` da persistência (era custoso // recarregar VLibras a cada refresh). A migração limpa esse valor // de localStorages antigos para evitar auto-load surpresa. version: 1, // eslint-disable-next-line @typescript-eslint/no-explicit-any -- migrate works with arbitrary persisted shapes from older versions migrate: (persistedState) => { if (persistedState && typeof persistedState === "object" && "librasEnabled" in persistedState) { delete persistedState.librasEnabled; } return persistedState; }, partialize: (state) => ({ contrastMode: state.contrastMode, saturationMode: state.saturationMode, fontSize: state.fontSize, letterSpacing: state.letterSpacing, lineSpacing: state.lineSpacing, highlightLinks: state.highlightLinks, pauseAnimations: state.pauseAnimations, bigCursor: state.bigCursor, dyslexiaFont: state.dyslexiaFont, readingAid: state.readingAid, keyboardShortcut: state.keyboardShortcut, colorBlindMode: state.colorBlindMode, ttsRate: state.ttsRate, ttsVoiceId: state.ttsVoiceId // ttsMode e librasEnabled NÃO são persistidos: // - ttsMode: o leitor sempre começa desligado ao recarregar // a página para evitar comportamento confuso // - librasEnabled: o VLibras é pesado (~MBs de assets); auto- // carregar a cada refresh seria custoso e surpreendente. O // usuário ativa explicitamente quando precisa. }) } ), { name: "accessibility-store" } ) ); exports.ColorBlindMode = ColorBlindMode; exports.getColorBlindClass = getColorBlindClass; exports.getColorBlindFilterId = getColorBlindFilterId; exports.DEFAULT_ACCESSIBILITY_PREFERENCES = DEFAULT_ACCESSIBILITY_PREFERENCES; exports.useAccessibilityStore = useAccessibilityStore; //# sourceMappingURL=chunk-ALPGURNK.js.map