'use client'; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { skeletonItemClassNames: function() { return skeletonItemClassNames; }, useSkeletonItemStyles_unstable: function() { return useSkeletonItemStyles_unstable; } }); const _react = require("@griffel/react"); const _reacttheme = require("@fluentui/react-theme"); const skeletonItemClassNames = { root: 'fui-SkeletonItem' }; const skeletonWaveAnimation = { to: { transform: 'translate(100%)' } }; const skeletonPulseAnimation = { '0%': { opacity: '1' }, '50%': { opacity: '0.4' }, '100%': { opacity: '1' } }; /** * Styles for the root slot */ const useStyles = (0, _react.makeStyles)({ root: { position: 'relative', overflow: 'hidden', '::after': { content: '""', display: 'block', position: 'absolute', inset: '0', animationIterationCount: 'infinite', animationDuration: '3s', animationTimingFunction: 'ease-in-out', '@media screen and (prefers-reduced-motion: reduce)': { animationDuration: '0.01ms', animationIterationCount: '1' } } }, wave: { backgroundColor: _reacttheme.tokens.colorNeutralStencil1, '::after': { animationName: skeletonWaveAnimation, backgroundImage: `linear-gradient( to right, ${_reacttheme.tokens.colorNeutralStencil1} 0%, ${_reacttheme.tokens.colorNeutralStencil2} 50%, ${_reacttheme.tokens.colorNeutralStencil1} 100%)`, transform: 'translate(-100%)', '@media screen and (forced-colors: active)': { backgroundColor: 'WindowText' } } }, pulse: { '::after': { animationName: skeletonPulseAnimation, animationDuration: '1s', backgroundColor: _reacttheme.tokens.colorNeutralStencil1 } }, translucent: { backgroundColor: _reacttheme.tokens.colorNeutralStencil1Alpha, '::after': { backgroundImage: `linear-gradient( to right, transparent 0%, ${_reacttheme.tokens.colorNeutralStencil1Alpha} 50%, transparent 100%)` } }, translucentPulse: { backgroundColor: 'none', '::after': { backgroundColor: _reacttheme.tokens.colorNeutralStencil1Alpha } }, blockStyling: { display: 'block' } }); const useRectangleStyles = (0, _react.makeStyles)({ root: { width: '100%', borderRadius: '4px' }, 8: { height: '8px' }, 12: { height: '12px' }, 14: { height: '14px' }, 16: { height: '16px' }, 20: { height: '20px' }, 22: { height: '22px' }, 24: { height: '24px' }, 28: { height: '28px' }, 32: { height: '32px' }, 36: { height: '36px' }, 40: { height: '40px' }, 48: { height: '48px' }, 52: { height: '52px' }, 56: { height: '56px' }, 64: { height: '64px' }, 72: { height: '72px' }, 92: { height: '92px' }, 96: { height: '96px' }, 120: { height: '120px' }, 128: { height: '128px' } }); const useSizeStyles = (0, _react.makeStyles)({ 8: { width: '8px', height: '8px' }, 12: { width: '12px', height: '12px' }, 14: { width: '14px', height: '14px' }, 16: { width: '16px', height: '16px' }, 20: { width: '20px', height: '20px' }, 22: { width: '22px', height: '22px' }, 24: { width: '24px', height: '24px' }, 28: { width: '28px', height: '28px' }, 32: { width: '32px', height: '32px' }, 36: { width: '36px', height: '36px' }, 40: { width: '40px', height: '40px' }, 48: { width: '48px', height: '48px' }, 52: { width: '52px', height: '52px' }, 56: { width: '56px', height: '56px' }, 64: { width: '64px', height: '64px' }, 72: { width: '72px', height: '72px' }, 92: { width: '92px', height: '92px' }, 96: { width: '96px', height: '96px' }, 120: { width: '120px', height: '120px' }, 128: { width: '128px', height: '128px' } }); const useCircleSizeStyles = (0, _react.makeStyles)({ root: { borderRadius: '50%' } }); const useSkeletonItemStyles_unstable = (state)=>{ 'use no memo'; const { animation, appearance, size, shape } = state; const rootStyles = useStyles(); const rectStyles = useRectangleStyles(); const sizeStyles = useSizeStyles(); const circleStyles = useCircleSizeStyles(); state.root.className = (0, _react.mergeClasses)(skeletonItemClassNames.root, rootStyles.root, state.root.as === 'span' && rootStyles.blockStyling, animation === 'wave' && rootStyles.wave, animation === 'pulse' && rootStyles.pulse, appearance === 'translucent' && rootStyles.translucent, animation === 'pulse' && appearance === 'translucent' && rootStyles.translucentPulse, shape === 'rectangle' && rectStyles.root, shape === 'rectangle' && rectStyles[size], shape === 'square' && sizeStyles[size], shape === 'circle' && circleStyles.root, shape === 'circle' && sizeStyles[size], state.root.className); return state; };