UNPKG

@carbon/react

Version:

React components for the Carbon Design System

55 lines (53 loc) 1.59 kB
/** * Copyright IBM Corp. 2016, 2026 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ const require_runtime = require("../../_virtual/_rolldown/runtime.js"); let react = require("react"); react = require_runtime.__toESM(react); let prop_types = require("prop-types"); prop_types = require_runtime.__toESM(prop_types); let react_jsx_runtime = require("react/jsx-runtime"); //#region src/components/Grid/GridContext.tsx /** * Copyright IBM Corp. 2016, 2025 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ /** * Provides a grid context for communication the grid "mode" (flexbox or * css-grid) along with subgrid information. */ const GridSettingsContext = react.default.createContext({ mode: "flexbox", subgrid: false }); const GridSettings = ({ children, mode, subgrid = false }) => { const value = react.default.useMemo(() => { return { mode, subgrid }; }, [mode, subgrid]); return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(GridSettingsContext.Provider, { value, children }); }; GridSettings.propTypes = { children: prop_types.default.node, mode: prop_types.default.oneOf(["flexbox", "css-grid"]).isRequired, subgrid: prop_types.default.bool }; /** * Helper function for accessing the GridContext value */ const useGridSettings = () => { return react.default.useContext(GridSettingsContext); }; //#endregion exports.GridSettings = GridSettings; exports.useGridSettings = useGridSettings;