UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

29 lines (28 loc) 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useOverflowListMeasure = void 0; const common_1 = require("@workday/canvas-kit-react/common"); const useOverflowListModel_1 = require("./useOverflowListModel"); /** * This elemProps hook measures a list and reports it to an `OverflowListModel`. This is used in * overflow detection. */ exports.useOverflowListMeasure = (0, common_1.createElemPropsHook)(useOverflowListModel_1.useOverflowListModel)((model, ref) => { const { elementRef, localRef } = (0, common_1.useLocalRef)(ref); const gapProperty = model.state.orientation === 'horizontal' ? 'columnGap' : 'rowGap'; (0, common_1.useResizeObserver)({ ref: localRef, onResize: model.events.setContainerSize, }); (0, common_1.useMountLayout)(() => { if (localRef.current) { const styles = getComputedStyle(localRef.current); model.events.setContainerGap({ size: styles.gap === 'normal' ? 0 : Number(styles[gapProperty].replace('px', '')), }); } }); return { ref: elementRef, }; });