@sorens/artist-svelte
Version:
an opinionated and clean UI framework for SvelteKit with theme support built-in
19 lines (18 loc) • 625 B
JavaScript
import { browser } from '$app/env';
import globalVars from '../../../env';
import booleanStore from '../../../store/boolean';
const rtlCheck = () => browser ? document.body.getAttribute('dir') === 'rtl' : globalVars.RTL;
const { isEnabled, disable, enable } = browser && booleanStore(rtlCheck());
const set = (dir = 'ltr') => {
if (!browser) /* istanbul ignore next */
return;
document.body.setAttribute('dir', dir);
if (dir === 'rtl')
enable();
if (dir === 'ltr')
disable();
};
const toggle = () => {
set(rtlCheck() ? 'ltr' : 'rtl');
};
export default { isEnabled, toggle, set };