UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

36 lines (35 loc) 1.06 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true, }); Object.defineProperty(exports, 'useMediaQuery', { enumerable: true, get: function () { return useMediaQuery; }, }); const _interop_require_wildcard = require('@swc/helpers/_/_interop_require_wildcard'); const _react = /*#__PURE__*/ _interop_require_wildcard._(require('react')); const _useSyncExternalStore = require('./useSyncExternalStore.js'); const useMediaQuery = (queryString) => { let getSnapshot = _react.useCallback( () => 'undefined' != typeof window ? window.matchMedia?.(queryString).matches : void 0, [queryString], ); let subscribe = _react.useCallback( (onChange) => { let mediaQueryList = window.matchMedia?.(queryString); mediaQueryList?.addEventListener?.('change', onChange); return () => mediaQueryList?.removeEventListener?.('change', onChange); }, [queryString], ); return (0, _useSyncExternalStore.useSyncExternalStore)( subscribe, getSnapshot, () => void 0, ); };