@primer/react
Version:
An implementation of GitHub's Primer Design System using React
35 lines (32 loc) • 847 B
JavaScript
import { c } from 'react-compiler-runtime';
import { isMacOS } from '@primer/behaviors/utils';
import { useState, useEffect } from 'react';
import { canUseDOM } from '../utils/environment.js';
/**
* SSR-safe hook for determining if the current platform is MacOS. When rendering
* server-side, will default to non-MacOS and then re-render in an effect if the
* client turns out to be a MacOS device.
*/
function useIsMacOS() {
const $ = c(2);
const [isMacOS$1, setIsMacOS] = useState(_temp);
let t0;
let t1;
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
t0 = () => {
setIsMacOS(isMacOS());
};
t1 = [];
$[0] = t0;
$[1] = t1;
} else {
t0 = $[0];
t1 = $[1];
}
useEffect(t0, t1);
return isMacOS$1;
}
function _temp() {
return canUseDOM ? isMacOS() : false;
}
export { useIsMacOS };