@elastic/eui
Version:
Elastic UI Component Library
43 lines (38 loc) • 2.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useIsEuiTableResponsive = exports.useEuiTableIsResponsive = exports.EuiTableIsResponsiveContext = exports.DEFAULT_TABLE_BREAKPOINT = void 0;
var _react = require("react");
var _services = require("../../../services");
var _component_defaults = require("../../provider/component_defaults");
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
var DEFAULT_TABLE_BREAKPOINT = exports.DEFAULT_TABLE_BREAKPOINT = 'm';
/**
* Used by parent/top-level table components to determine isResponsive state
* based on the passed breakpoint
*/
var useIsEuiTableResponsive = exports.useIsEuiTableResponsive = function useIsEuiTableResponsive(componentProp) {
var _useComponentDefaults, _ref;
var componentDefault = (_useComponentDefaults = (0, _component_defaults.useComponentDefaults)().EuiTable) === null || _useComponentDefaults === void 0 ? void 0 : _useComponentDefaults.responsiveBreakpoint;
var breakpoint = (_ref = componentProp !== null && componentProp !== void 0 ? componentProp : componentDefault) !== null && _ref !== void 0 ? _ref : DEFAULT_TABLE_BREAKPOINT;
var isBoolean = typeof breakpoint === 'boolean';
// Note: we're using `!useIsWithinMinBreakpoint` here instead of `useIsWithinMaxBreakpoint`
// because it more accurately reflects the single breakpoint at which tables collapse
var isResponsive = !(0, _services.useIsWithinMinBreakpoint)(isBoolean ? '' : breakpoint);
return isBoolean ? breakpoint : isResponsive;
};
/**
* Context set by parent table components
* Hook used by cells to fetch parent isResponsive state
*/
var EuiTableIsResponsiveContext = exports.EuiTableIsResponsiveContext = /*#__PURE__*/(0, _react.createContext)(false);
var useEuiTableIsResponsive = exports.useEuiTableIsResponsive = function useEuiTableIsResponsive() {
return (0, _react.useContext)(EuiTableIsResponsiveContext);
};