{"version":3,"file":"ScrollView.cjs","sources":["../../common/constants/environments.js","../../common/utilities/warning.js","../../constants/dictionaries.js","../../constants/direction.js","../../constants/position.js","../../constants/style.js","../../context/ClassNamePrefixContext.js","../../types/card.js","../../types/shared/style.js","../../types/shared/tokens.js","../../types/shared/index.js","../../utils/assert.js","../../utils/classname.js","../../utils/compose.js","../../utils/debounce.js","../../utils/htmlReactParser.js","../../utils/mergeStyleProps.js","../../utils/ssr.js","../../utils/string.js","../../hooks/useStyleUtilities.js","../../hooks/styleProps.js","../../hooks/useClassNamePrefix.js","../../hooks/useClick.js","../../context/IconsContext.js","../../hooks/useIcon.js","../../hooks/useIsMounted.js","../../hooks/useResizeObserver.js","constants.js","../ControlButton/useControlButtonProps.js","../ControlButton/useControlButtonStyleProps.js","../ControlButton/ControlButton.js","../Icon/constants.js","../Icon/useIconBoxSize.js","../Icon/useIconStyleProps.js","../Icon/Icon.js","useScrollViewArrows.js","useScrollViewStyleProps.js","ScrollViewArrows.js","useScrollPosition.js","ScrollView.js"],"sourcesContent":["export const ENVIRONMENTS = {\n    DEVELOPMENT: 'development',\n    TESTING: 'testing',\n    PRODUCTION: 'production',\n};\nexport const isDevelopment = () => process.env.NODE_ENV === ENVIRONMENTS.DEVELOPMENT;\nexport const isTesting = () => process.env.NODE_ENV === ENVIRONMENTS.TESTING;\nexport const isProduction = () => process.env.NODE_ENV === ENVIRONMENTS.PRODUCTION;\n//# sourceMappingURL=environments.js.map","import { isProduction } from \"../constants/environments.js\";\nconst warning = (condition, message) => {\n    if (!isProduction()) {\n        if (condition) {\n            return;\n        }\n        const text = `Warning: ${message}`;\n        if (typeof console !== 'undefined') {\n            console.warn(text);\n        }\n        try {\n            throw Error(text);\n        }\n        catch (x) {\n        }\n    }\n};\nexport default warning;\n//# sourceMappingURL=warning.js.map","var __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport { componentColors, containers, emotionColors, textColors } from '@lmc-eu/spirit-design-tokens';\nfunction createUppercaseKeyDictionary(obj) {\n    return Object.fromEntries(Object.keys(obj).map((key) => [key.toUpperCase(), key]));\n}\nexport const AlignmentX = {\n    LEFT: 'left',\n    CENTER: 'center',\n    RIGHT: 'right',\n};\nexport const AlignmentXExtended = Object.assign({ SPACE_BETWEEN: 'space-between', STRETCH: 'stretch' }, AlignmentX);\nexport const AlignmentY = {\n    TOP: 'top',\n    CENTER: 'center',\n    BOTTOM: 'bottom',\n};\nexport const AlignmentYExtended = Object.assign({ BASELINE: 'baseline', STRETCH: 'stretch' }, AlignmentY);\nexport const TextAlignments = {\n    LEFT: 'left',\n    CENTER: 'center',\n    RIGHT: 'right',\n};\nexport const BorderColors = {\n    BASIC: 'basic',\n};\nexport const BorderRadii = {\n    0: '0',\n    100: '100',\n    200: '200',\n    300: '300',\n    400: '400',\n    500: '500',\n    FULL: 'full',\n};\nexport const BorderStyles = {\n    SOLID: 'solid',\n    DOTTED: 'dotted',\n    DASHED: 'dashed',\n};\nexport const BorderWidths = {\n    0: '0',\n    100: '100',\n    200: '200',\n};\nexport const BackgroundColors = {\n    PRIMARY: 'primary',\n    SECONDARY: 'secondary',\n    TERTIARY: 'tertiary',\n};\nexport const ComponentButtonColors = createUppercaseKeyDictionary(componentColors.button);\nexport const EmotionColors = createUppercaseKeyDictionary(emotionColors);\nexport const LinkColors = {\n    PRIMARY: 'primary',\n    SECONDARY: 'secondary',\n    TERTIARY: 'tertiary',\n};\nexport const TextColors = createUppercaseKeyDictionary(textColors);\nexport const Intensity = {\n    BASIC: 'basic',\n    SUBTLE: 'subtle',\n};\nexport const Emphasis = {\n    REGULAR: 'regular',\n    SEMIBOLD: 'semibold',\n    BOLD: 'bold',\n    ITALIC: 'italic',\n};\nexport const BackgroundGradients = {\n    PRIMARY: 'primary',\n    SECONDARY: 'secondary',\n};\nexport const Placements = {\n    TOP: 'top',\n    TOP_START: 'top-start',\n    TOP_END: 'top-end',\n    BOTTOM: 'bottom',\n    BOTTOM_START: 'bottom-start',\n    BOTTOM_END: 'bottom-end',\n    LEFT: 'left',\n    LEFT_START: 'left-start',\n    LEFT_END: 'left-end',\n    RIGHT: 'right',\n    RIGHT_START: 'right-start',\n    RIGHT_END: 'right-end',\n};\nexport const Sizes = {\n    SMALL: 'small',\n    MEDIUM: 'medium',\n    LARGE: 'large',\n};\nexport const SizesExtended = Object.assign(Object.assign({ XSMALL: 'xsmall' }, Sizes), { XLARGE: 'xlarge' });\nconst _a = createUppercaseKeyDictionary(containers), { MAXWIDTH, PADDING } = _a, ContainerTokenSizes = __rest(_a, [\"MAXWIDTH\", \"PADDING\"]);\nexport { ContainerTokenSizes };\nexport const ValidationStates = {\n    SUCCESS: 'success',\n    WARNING: 'warning',\n    DANGER: 'danger',\n};\nexport const FillVariants = {\n    FILL: 'fill',\n    OUTLINE: 'outline',\n};\nexport const ShapeVariants = {\n    BOX: 'box',\n    PILL: 'pill',\n};\n//# sourceMappingURL=dictionaries.js.map","export const Direction = {\n    HORIZONTAL: 'horizontal',\n    VERTICAL: 'vertical',\n};\nexport const DirectionExtended = Object.assign(Object.assign({}, Direction), { HORIZONTAL_REVERSED: 'horizontal-reversed' });\nexport var DirectionAxis;\n(function (DirectionAxis) {\n    DirectionAxis[\"X\"] = \"x\";\n    DirectionAxis[\"Y\"] = \"y\";\n})(DirectionAxis || (DirectionAxis = {}));\nexport const isDirectionHorizontal = (direction) => direction === Direction.HORIZONTAL;\n//# sourceMappingURL=direction.js.map","export const Position = {\n    LEFT: 'left',\n    RIGHT: 'right',\n    TOP: 'top',\n    BOTTOM: 'bottom',\n};\n//# sourceMappingURL=position.js.map","export const BackgroundStyleProps = {\n    backgroundGradient: 'bg-gradient',\n};\nexport const BorderRadiusStyleProps = {\n    borderRadius: 'rounded',\n};\nexport const SpacingStyleProp = {\n    margin: 'm',\n    marginTop: 'mt',\n    marginRight: 'mr',\n    marginBottom: 'mb',\n    marginLeft: 'ml',\n    marginX: 'mx',\n    marginY: 'my',\n};\nexport const PaddingStyleProps = {\n    padding: 'p',\n    paddingBottom: 'pb',\n    paddingLeft: 'pl',\n    paddingRight: 'pr',\n    paddingTop: 'pt',\n    paddingX: 'px',\n    paddingY: 'py',\n};\nexport const TextStyleProps = {\n    isTextBalanced: 'text-wrap-pretty',\n    textAlignment: 'text',\n    textHyphens: 'text-hyphens',\n    textWordBreak: 'text-word-break',\n};\nexport const HeadingStyleProps = {\n    isTextBalanced: 'text-wrap-balance',\n};\nexport const DisplayStyleProps = {\n    hideOn: 'd',\n    hideFrom: 'd',\n};\nexport const ThemeStyleProps = {\n    theme: '',\n};\n//# sourceMappingURL=style.js.map","'use client';\nimport { createContext } from 'react';\nconst defaultContext = undefined;\nconst ClassNamePrefixContext = createContext(defaultContext);\nconst ClassNamePrefixProvider = ClassNamePrefixContext.Provider;\nconst ClassNamePrefixConsumer = ClassNamePrefixContext.Consumer;\nexport default ClassNamePrefixContext;\nexport { ClassNamePrefixConsumer, ClassNamePrefixProvider };\n//# sourceMappingURL=ClassNamePrefixContext.js.map","import { Sizes } from \"../constants/index.js\";\nexport const CardSizes = Object.assign(Object.assign({}, Sizes), { AUTO: 'auto' });\n//# sourceMappingURL=card.js.map","export const STYLE_SPACING_AUTO = 'auto';\n//# sourceMappingURL=style.js.map","export const BREAKPOINT_MOBILE = 'mobile';\n//# sourceMappingURL=tokens.js.map","export * from \"./adornments.js\";\nexport * from \"./buttons.js\";\nexport * from \"./colors.js\";\nexport * from \"./columns.js\";\nexport * from \"./dialogs.js\";\nexport * from \"./dictionaries.js\";\nexport * from \"./directions.js\";\nexport * from \"./dragAndDrop.js\";\nexport * from \"./element.js\";\nexport * from \"./events.js\";\nexport * from \"./inputs.js\";\nexport * from \"./item.js\";\nexport * from \"./positions.js\";\nexport * from \"./radii.js\";\nexport * from \"./refs.js\";\nexport * from \"./responsive.js\";\nexport * from \"./rest.js\";\nexport * from \"./sizes.js\";\nexport * from \"./style.js\";\nexport * from \"./tokens.js\";\nexport var SpiritBreakpoints;\n(function (SpiritBreakpoints) {\n    SpiritBreakpoints[\"TABLET\"] = \"tablet\";\n    SpiritBreakpoints[\"DESKTOP\"] = \"desktop\";\n})(SpiritBreakpoints || (SpiritBreakpoints = {}));\n//# sourceMappingURL=index.js.map","export const isNullish = (value) => value == null;\nexport const isEmptyString = (value) => typeof value === 'string' && value.trim() === '';\nexport const isEmptyArray = (value) => Array.isArray(value) && value.length === 0;\nexport const isEmptyObject = (value) => typeof value === 'object' && value !== null && Object.keys(value).length === 0;\nexport const isEnumerable = (value) => {\n    if (typeof value === 'object' && value !== null) {\n        for (const key in value) {\n            if (Object.hasOwnProperty.call(value, key)) {\n                return true;\n            }\n        }\n    }\n    return false;\n};\nexport const isEmpty = (value) => {\n    if (isNullish(value)) {\n        return true;\n    }\n    if (isEmptyString(value)) {\n        return true;\n    }\n    if (isEmptyArray(value)) {\n        return true;\n    }\n    if (isEmptyObject(value)) {\n        return true;\n    }\n    if (isEnumerable(value)) {\n        return false;\n    }\n    return false;\n};\n//# sourceMappingURL=assert.js.map","export const applyClassNamePrefix = (prefix) => (className) => prefix != null && prefix !== '' ? `${prefix}-${className}` : className;\nexport const applyColor = (color) => (className) => `${className}--${color}`;\nexport const applySize = (size) => (className) => `${className}--${size}`;\nexport const applyTheme = (theme) => (className) => `${className}--${theme}`;\n//# sourceMappingURL=classname.js.map","export const compose = (...functions) => functions.reduceRight((prevFunction, nextFunction) => (...args) => nextFunction(prevFunction(...args)), (value) => value);\n//# sourceMappingURL=compose.js.map","export const debounce = (callback, delay) => {\n    let timeout;\n    let isThrottled = false;\n    return (args) => {\n        if (!isThrottled) {\n            isThrottled = true;\n            if (timeout) {\n                clearTimeout(timeout);\n            }\n            timeout = setTimeout(() => {\n                callback(args);\n                isThrottled = false;\n            }, delay);\n        }\n    };\n};\n//# sourceMappingURL=debounce.js.map","import htmlDomParser from 'html-dom-parser';\nimport domToReactLib from 'html-react-parser/lib/dom-to-react';\nexport const htmlReactParser = (html) => {\n    if (typeof html !== 'string') {\n        throw new TypeError('First argument must be a string');\n    }\n    if (!html) {\n        return [];\n    }\n    const htmlToDOM = typeof htmlDomParser.default === 'function' ? htmlDomParser.default : htmlDomParser;\n    const domToReact = typeof domToReactLib.default === 'function' ? domToReactLib.default : domToReactLib;\n    return domToReact(htmlToDOM(html));\n};\n//# sourceMappingURL=htmlReactParser.js.map","export function mergeStyleProps(ElementTag, styleProps) {\n    const isSpiritComponent = typeof ElementTag !== 'string' && !!(ElementTag === null || ElementTag === void 0 ? void 0 : ElementTag.spiritComponent);\n    const isNonNullableObject = (styleProp) => typeof styleProp === 'object' && styleProp !== null;\n    const extractClassNames = (styleProp) => {\n        if (typeof styleProp === 'string') {\n            return [styleProp];\n        }\n        if (isNonNullableObject(styleProp)) {\n            return [styleProp.className, styleProp.UNSAFE_className].filter(Boolean);\n        }\n        return [];\n    };\n    const extractCssVariables = (styleProp) => isNonNullableObject(styleProp)\n        ? Object.entries(styleProp)\n            .filter(([key]) => key.startsWith('--'))\n            .reduce((extractedCssVariable, [key, value]) => (Object.assign(Object.assign({}, extractedCssVariable), { [key]: value })), {})\n        : {};\n    const extractCssStylesAndVariables = (cssProperties, styleProp) => {\n        if (!isNonNullableObject(styleProp)) {\n            return cssProperties;\n        }\n        const typedStyleProp = styleProp;\n        const styles = typedStyleProp.style || typedStyleProp.UNSAFE_style || {};\n        const cssVariables = extractCssVariables(styleProp);\n        return Object.assign(Object.assign(Object.assign({}, cssProperties), styles), cssVariables);\n    };\n    const mergedClasses = Object.values(styleProps).flatMap(extractClassNames).filter(Boolean).join(' ');\n    const mergedStyles = Object.values(styleProps)\n        .filter(isNonNullableObject)\n        .reduce(extractCssStylesAndVariables, {});\n    return isSpiritComponent\n        ? { UNSAFE_className: mergedClasses, UNSAFE_style: mergedStyles }\n        : { className: mergedClasses, style: mergedStyles };\n}\n//# sourceMappingURL=mergeStyleProps.js.map","export const isSSR = typeof window === 'undefined';\n//# sourceMappingURL=ssr.js.map","export const camelCaseToKebabCase = (input) => input.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\nexport const kebabCaseToCamelCase = (input) => input.replace(/-([a-z])/g, (g) => g[1].toUpperCase());\nexport const kebabCaseToCamelCaseValues = (input) => {\n    if (typeof input === 'object' && input !== null) {\n        const result = {};\n        for (const [key, value] of Object.entries(input)) {\n            result[key] = typeof value === 'string' ? kebabCaseToCamelCase(value) : value;\n        }\n        return result;\n    }\n    return input;\n};\nexport const stringOrObjectKebabCaseToCamelCase = (input) => {\n    if (typeof input === 'string') {\n        return kebabCaseToCamelCase(input);\n    }\n    if (typeof input === 'object' && input !== null) {\n        return kebabCaseToCamelCaseValues(input);\n    }\n    return input;\n};\n//# sourceMappingURL=string.js.map","import { SpacingStyleProp as DefaultSpacingStyleProp, DisplayStyleProps, ThemeStyleProps } from \"../constants/index.js\";\nimport { BREAKPOINT_MOBILE, STYLE_SPACING_AUTO, } from \"../types/index.js\";\nimport { applyClassNamePrefix, camelCaseToKebabCase, isEmpty } from \"../utils/index.js\";\nconst CLASS_SEPARATOR = '-';\nconst normalizeSpacingValue = (value) => value === STYLE_SPACING_AUTO ? STYLE_SPACING_AUTO : value.replace(/[^0-9]/g, '');\nconst isSpaceToken = (value) => typeof value === 'string' && value.startsWith('space-');\nconst getUtilityValue = (value) => (isSpaceToken(value) ? normalizeSpacingValue(value) : value);\nconst isKeyIncluded = (object, key) => Object.keys(object).includes(key);\nconst processBreakpointProperties = (utilityName, propValue, prefix) => Object.keys(propValue).reduce((accumulatedBreakpointUtilities, breakpoint) => {\n    const breakpointValue = propValue[breakpoint];\n    if (typeof breakpointValue === 'string') {\n        const utilityValue = getUtilityValue(breakpointValue);\n        const infix = breakpoint === BREAKPOINT_MOBILE ? '' : `${CLASS_SEPARATOR}${breakpoint}`;\n        accumulatedBreakpointUtilities.push(applyClassNamePrefix(prefix)(`${utilityName}${infix}${CLASS_SEPARATOR}${utilityValue}`));\n    }\n    return accumulatedBreakpointUtilities;\n}, []);\nconst processHideOnProperty = (utilityName, propValue, prefix) => {\n    const breakpoints = Array.isArray(propValue) ? propValue : [propValue];\n    return breakpoints.map((breakpoint) => applyClassNamePrefix(prefix)(`${utilityName}${CLASS_SEPARATOR}only${CLASS_SEPARATOR}${breakpoint}${CLASS_SEPARATOR}none`));\n};\nconst processHideFromProperty = (utilityName, propValue, prefix) => {\n    const breakpoint = propValue;\n    const infix = breakpoint === BREAKPOINT_MOBILE ? '' : `${CLASS_SEPARATOR}${breakpoint}`;\n    return [applyClassNamePrefix(prefix)(`${utilityName}${infix}${CLASS_SEPARATOR}none`)];\n};\nconst processDisplayProperties = (utilityKey, utilityName, propValue, prefix) => {\n    switch (utilityKey) {\n        case 'hideOn':\n            return processHideOnProperty(utilityName, propValue, prefix);\n        case 'hideFrom':\n            return processHideFromProperty(utilityName, propValue, prefix);\n        default:\n            return [];\n    }\n};\nconst processProperties = (utilityKey, utilityName, propValue, prefix) => {\n    if (utilityName === ThemeStyleProps.theme) {\n        if (typeof propValue !== 'string') {\n            return [];\n        }\n        const themeClassName = camelCaseToKebabCase(propValue);\n        return [applyClassNamePrefix(prefix)(themeClassName)];\n    }\n    if (utilityKey in DisplayStyleProps) {\n        return processDisplayProperties(utilityKey, utilityName, propValue, prefix);\n    }\n    if (typeof propValue === 'boolean') {\n        return propValue ? [applyClassNamePrefix(prefix)(utilityName)] : [];\n    }\n    if (typeof propValue === 'string') {\n        return [applyClassNamePrefix(prefix)(`${utilityName}-${getUtilityValue(propValue)}`)];\n    }\n    return processBreakpointProperties(utilityName, propValue, prefix);\n};\nconst isStylePropProcessable = (styleProps, stylePropKey, stylePropValue, options = { includesKey: true }) => {\n    const isStylePropKeyIncluded = isKeyIncluded(styleProps, stylePropKey);\n    const isProcessable = (options.includesKey ? isStylePropKeyIncluded : !isStylePropKeyIncluded) && !isEmpty(stylePropValue);\n    return isProcessable;\n};\nexport const useStyleUtilities = (props, prefix = '', additionalProps = {}) => {\n    const styleProps = Object.assign(Object.assign(Object.assign(Object.assign({}, DefaultSpacingStyleProp), DisplayStyleProps), ThemeStyleProps), additionalProps);\n    const propEntries = Object.entries(props);\n    const styleUtilities = propEntries.reduce((accumulatedUtilities, [key, propValue]) => {\n        if (isStylePropProcessable(styleProps, key, propValue)) {\n            const utilityName = styleProps[key];\n            return [\n                ...accumulatedUtilities,\n                ...processProperties(key, utilityName, propValue, prefix),\n            ];\n        }\n        return accumulatedUtilities;\n    }, []);\n    const updatedProps = propEntries.reduce((accumulatedProps, [key, propValue]) => {\n        if (isStylePropProcessable(styleProps, key, propValue, { includesKey: false })) {\n            return Object.assign(Object.assign({}, accumulatedProps), { [key]: propValue });\n        }\n        return accumulatedProps;\n    }, {});\n    return {\n        styleUtilities,\n        props: updatedProps,\n    };\n};\n//# sourceMappingURL=useStyleUtilities.js.map","'use client';\nvar __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport classNames from 'classnames';\nimport { useContext } from 'react';\nimport { warning } from \"../common/utilities/index.js\";\nimport { ThemeStyleProps } from \"../constants/index.js\";\nimport ClassNamePrefixContext from \"../context/ClassNamePrefixContext.js\";\nimport { useStyleUtilities } from \"./useStyleUtilities.js\";\nexport function useStyleProps(props, additionalUtilities) {\n    const classNamePrefix = useContext(ClassNamePrefixContext);\n    const { UNSAFE_className, UNSAFE_style } = props, otherProps = __rest(props, [\"UNSAFE_className\", \"UNSAFE_style\"]);\n    const styleUtilitiesConfig = Object.assign({ theme: ThemeStyleProps.theme }, (additionalUtilities !== null && additionalUtilities !== void 0 ? additionalUtilities : {}));\n    const { styleUtilities, props: modifiedProps } = useStyleUtilities(otherProps, classNamePrefix, styleUtilitiesConfig);\n    const style = Object.assign({}, UNSAFE_style);\n    if (modifiedProps.className) {\n        warning(false, 'The className prop is unsafe and is unsupported in Spirit Web React. ' +\n            'Please use style props with Spirit Design Tokens, or UNSAFE_className if you absolutely must do something custom. ' +\n            'Note that this may break in future versions due to DOM structure changes.');\n        delete modifiedProps.className;\n    }\n    if (modifiedProps.style) {\n        warning(false, 'The style prop is unsafe and is unsupported in Spirit Web React. ' +\n            'Please use style props with Spirit Design Tokens, or UNSAFE_style if you absolutely must do something custom. ' +\n            'Note that this may break in future versions due to DOM structure changes.');\n        delete modifiedProps.style;\n    }\n    const styleProps = {\n        style: Object.keys(style).length > 0 ? style : undefined,\n        className: classNames(UNSAFE_className, ...styleUtilities) || undefined,\n    };\n    return {\n        styleProps,\n        props: modifiedProps,\n    };\n}\n//# sourceMappingURL=styleProps.js.map","'use client';\nimport { useContext } from 'react';\nimport ClassNamePrefixContext from \"../context/ClassNamePrefixContext.js\";\nimport { applyClassNamePrefix } from \"../utils/classname.js\";\nexport const useClassNamePrefix = (className) => {\n    const classNamePrefix = useContext(ClassNamePrefixContext);\n    let prefixedClassName = className;\n    if (className && classNamePrefix) {\n        prefixedClassName = applyClassNamePrefix(classNamePrefix)(className);\n    }\n    else if (classNamePrefix) {\n        prefixedClassName = classNamePrefix;\n    }\n    return prefixedClassName;\n};\n//# sourceMappingURL=useClassNamePrefix.js.map","'use client';\nimport { useCallback } from 'react';\nexport const useClick = (isDisabled, onClick) => useCallback((event) => {\n    if (isDisabled) {\n        event.preventDefault();\n        return;\n    }\n    if (onClick) {\n        onClick(event);\n    }\n}, [isDisabled, onClick]);\n//# sourceMappingURL=useClick.js.map","'use client';\nimport { createContext } from 'react';\nconst defaultContext = undefined;\nconst IconsContext = createContext(defaultContext);\nconst IconsProvider = IconsContext.Provider;\nconst IconsConsumer = IconsContext.Consumer;\nexport default IconsContext;\nexport { IconsConsumer, IconsProvider };\n//# sourceMappingURL=IconsContext.js.map","'use client';\nimport { useContext } from 'react';\nimport warning from \"../common/utilities/warning.js\";\nimport IconsContext from \"../context/IconsContext.js\";\nexport const useIcon = (name) => {\n    const icons = useContext(IconsContext);\n    if (icons != null && icons[name] != null) {\n        return icons[name];\n    }\n    warning(false, `The ${name} icon is missing from your assets or icon map provided by the IconsProvider. Please make sure you have provided all icons needed by used components.`);\n    return '';\n};\n//# sourceMappingURL=useIcon.js.map","'use client';\nimport { useCallback, useEffect, useRef } from 'react';\nexport function useIsMounted() {\n    const isMounted = useRef(false);\n    useEffect(() => {\n        isMounted.current = true;\n        return () => {\n            isMounted.current = false;\n        };\n    }, []);\n    return useCallback(() => isMounted.current, []);\n}\n//# sourceMappingURL=useIsMounted.js.map","'use client';\nimport { useEffect, useRef, useState } from 'react';\nimport { isSSR } from \"../utils/index.js\";\nimport { useIsMounted } from \"./useIsMounted.js\";\nfunction extractSize(entry, box, sizeType) {\n    if (!entry[box]) {\n        if (box === 'contentBoxSize') {\n            return entry.contentRect[sizeType === 'inlineSize' ? 'width' : 'height'];\n        }\n        return undefined;\n    }\n    return Array.isArray(entry[box])\n        ? entry[box][0][sizeType]\n        :\n            entry[box][sizeType];\n}\nconst initialSize = {\n    width: undefined,\n    height: undefined,\n};\nexport function useResizeObserver(options) {\n    const { ref, box = 'border-box' } = options;\n    const [{ width, height }, setSize] = useState(initialSize);\n    const isMounted = useIsMounted();\n    const previousSize = useRef(Object.assign({}, initialSize));\n    const onResize = useRef(undefined);\n    onResize.current = options.onResize;\n    useEffect(() => {\n        if (isSSR) {\n            return;\n        }\n        if (!('ResizeObserver' in window)) {\n            return;\n        }\n        if (!ref.current) {\n            return;\n        }\n        const observer = new ResizeObserver(([entry]) => {\n            const boxProp = box === 'border-box'\n                ? 'borderBoxSize'\n                : box === 'device-pixel-content-box'\n                    ? 'devicePixelContentBoxSize'\n                    : 'contentBoxSize';\n            const newWidth = extractSize(entry, boxProp, 'inlineSize');\n            const newHeight = extractSize(entry, boxProp, 'blockSize');\n            const hasChanged = previousSize.current.width !== newWidth || previousSize.current.height !== newHeight;\n            if (hasChanged) {\n                const newSize = { width: newWidth, height: newHeight };\n                previousSize.current.width = newWidth;\n                previousSize.current.height = newHeight;\n                if (onResize.current) {\n                    onResize.current(newSize);\n                }\n                else if (isMounted()) {\n                    setSize(newSize);\n                }\n            }\n        });\n        observer.observe(ref.current, { box });\n        return () => {\n            observer.disconnect();\n        };\n    }, [box, ref, isMounted]);\n    return { width, height };\n}\n//# sourceMappingURL=useResizeObserver.js.map","import { Direction } from \"../../constants/index.js\";\nexport const DEBOUNCE_DELAY = 50;\nexport const EDGE_DETECTION_INACCURACY_PX = 1;\nexport const SCROLL_VIEW_ARROWS_LABEL_HORIZONTAL_END = 'Scroll right';\nexport const SCROLL_VIEW_ARROWS_LABEL_HORIZONTAL_START = 'Scroll left';\nexport const SCROLL_VIEW_ARROWS_LABEL_VERTICAL_END = 'Scroll down';\nexport const SCROLL_VIEW_ARROWS_LABEL_VERTICAL_START = 'Scroll up';\nexport const SCROLL_VIEW_DEFAULT_DIRECTION = Direction.VERTICAL;\nexport const SCROLL_VIEW_DEFAULT_OVERFLOW_DECORATOR = 'shadows';\n//# sourceMappingURL=constants.js.map","import { useClick } from \"../../hooks/index.js\";\nexport const useControlButtonProps = (props) => {\n    const { isDisabled, onClick, type = 'button' } = props;\n    const handleClick = useClick(isDisabled, onClick);\n    const additionalProps = {\n        type,\n        disabled: isDisabled,\n    };\n    return {\n        controlButtonProps: Object.assign(Object.assign({}, additionalProps), { onClick: handleClick }),\n    };\n};\n//# sourceMappingURL=useControlButtonProps.js.map","var __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport classNames from 'classnames';\nimport { useClassNamePrefix } from \"../../hooks/index.js\";\nimport { applySize, compose } from \"../../utils/index.js\";\nconst getControlButtonSizeClassname = (className, size) => compose(applySize(size))(className);\nexport function useControlButtonStyleProps(props) {\n    const { isDisabled, isSubtle, isSymmetrical, size } = props, restProps = __rest(props, [\"isDisabled\", \"isSubtle\", \"isSymmetrical\", \"size\"]);\n    const controlButtonClass = useClassNamePrefix('ControlButton');\n    const controlButtonBackgroundClass = `${controlButtonClass}--hasBackground`;\n    const controlButtonDisabledClass = `${controlButtonClass}--disabled`;\n    const controlButtonSymmetricalClass = `${controlButtonClass}--symmetrical`;\n    const dynamicColorBackgroundInteractiveClass = useClassNamePrefix('dynamic-color-background-interactive');\n    const dynamicColorBorderClass = useClassNamePrefix('dynamic-color-border');\n    const accessibilityTapTargetClass = useClassNamePrefix('accessibility-tap-target');\n    const classProps = classNames(controlButtonClass, getControlButtonSizeClassname(controlButtonClass, size), dynamicColorBackgroundInteractiveClass, accessibilityTapTargetClass, {\n        [controlButtonDisabledClass]: isDisabled,\n        [controlButtonSymmetricalClass]: isSymmetrical,\n        [controlButtonBackgroundClass]: !isSubtle,\n        [dynamicColorBorderClass]: !isSubtle,\n    });\n    return {\n        classProps,\n        props: restProps,\n    };\n}\n//# sourceMappingURL=useControlButtonStyleProps.js.map","'use client';\nvar __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport React, { forwardRef } from 'react';\nimport { Sizes } from \"../../constants/index.js\";\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { mergeStyleProps } from \"../../utils/index.js\";\nimport { useControlButtonProps } from \"./useControlButtonProps.js\";\nimport { useControlButtonStyleProps } from \"./useControlButtonStyleProps.js\";\nconst defaultProps = {\n    elementType: 'button',\n    isDisabled: false,\n    isSubtle: false,\n    isSymmetrical: false,\n    size: Sizes.MEDIUM,\n    type: 'button',\n};\nconst _ControlButton = (props, ref) => {\n    const propsWithDefaults = Object.assign(Object.assign({}, defaultProps), props);\n    const { elementType: ElementTag = defaultProps.elementType, children } = propsWithDefaults, restProps = __rest(propsWithDefaults, [\"elementType\", \"children\"]);\n    const { controlButtonProps } = useControlButtonProps(restProps);\n    const { classProps, props: modifiedProps } = useControlButtonStyleProps(restProps);\n    const { styleProps, props: otherProps } = useStyleProps(modifiedProps);\n    const mergedStyleProps = mergeStyleProps(ElementTag, { classProps, styleProps, otherProps });\n    return (React.createElement(ElementTag, Object.assign({}, otherProps, controlButtonProps, { ref: ref }, mergedStyleProps), children));\n};\nconst ControlButton = forwardRef(_ControlButton);\nControlButton.spiritComponent = 'ControlButton';\nexport default ControlButton;\n//# sourceMappingURL=ControlButton.js.map","export const DEFAULT_BOX_SIZE = 24;\n//# sourceMappingURL=constants.js.map","import { DEFAULT_BOX_SIZE } from \"./constants.js\";\nexport const useIconBoxSize = (boxSize) => { var _a; return typeof boxSize === 'object' ? ((_a = boxSize.mobile) !== null && _a !== void 0 ? _a : DEFAULT_BOX_SIZE) : (boxSize !== null && boxSize !== void 0 ? boxSize : DEFAULT_BOX_SIZE); };\n//# sourceMappingURL=useIconBoxSize.js.map","var __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport { cssVariablePrefix } from '@lmc-eu/spirit-design-tokens';\nimport classNames from 'classnames';\nimport { TextColors } from \"../../constants/index.js\";\nimport { useClassNamePrefix } from \"../../hooks/index.js\";\nconst setCustomDimension = (prefix, size) => {\n    const style = {};\n    if (typeof size === 'object') {\n        Object.entries(size).forEach(([breakpoint, breakpointSize]) => {\n            const breakpointSuffix = breakpoint === 'mobile' ? '' : `-${breakpoint}`;\n            style[`${prefix}${breakpointSuffix}`] = `${breakpointSize === null || breakpointSize === void 0 ? void 0 : breakpointSize.toString()}px`;\n        });\n    }\n    return style;\n};\nexport const useIconStyleProps = (props) => {\n    const { boxSize, color, name } = props, otherProps = __rest(props, [\"boxSize\", \"color\", \"name\"]);\n    const stylePrefix = `--${cssVariablePrefix}icon`;\n    const isDualtoneIcon = String(name).includes('-dualtone');\n    const dualtoneColorWithDefault = isDualtoneIcon && !color ? TextColors.PRIMARY : color;\n    const iconClass = useClassNamePrefix('Icon');\n    const iconDualtoneColorClass = `${iconClass}--${dualtoneColorWithDefault}`;\n    const classProps = classNames(iconClass, {\n        [iconDualtoneColorClass]: color || dualtoneColorWithDefault,\n    });\n    const customizedIconStyle = Object.assign({}, (boxSize ? setCustomDimension(`${stylePrefix}-size`, boxSize) : {}));\n    return {\n        classProps,\n        iconStyleProps: customizedIconStyle,\n        props: otherProps,\n    };\n};\n//# sourceMappingURL=useIconStyleProps.js.map","'use client';\nvar __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport React, { forwardRef } from 'react';\nimport { useIcon, useStyleProps } from \"../../hooks/index.js\";\nimport { htmlReactParser, mergeStyleProps } from \"../../utils/index.js\";\nimport { DEFAULT_BOX_SIZE } from \"./constants.js\";\nimport { useIconBoxSize } from \"./useIconBoxSize.js\";\nimport { useIconStyleProps } from \"./useIconStyleProps.js\";\nconst defaultProps = {\n    ariaHidden: true,\n    boxSize: DEFAULT_BOX_SIZE,\n};\nconst _Icon = (props, ref) => {\n    const propsWithDefaults = Object.assign(Object.assign({}, defaultProps), props);\n    const { boxSize, name, title, ariaHidden } = propsWithDefaults, restProps = __rest(propsWithDefaults, [\"boxSize\", \"name\", \"title\", \"ariaHidden\"]);\n    let icon = useIcon(name);\n    const iconSize = useIconBoxSize(boxSize);\n    const { classProps, iconStyleProps, props: modifiedProps } = useIconStyleProps(Object.assign({ boxSize, name }, restProps));\n    const { styleProps, props: otherProps } = useStyleProps(modifiedProps);\n    const mergedStyleProps = mergeStyleProps('svg', {\n        classProps,\n        iconStyleProps,\n        styleProps,\n    });\n    if (title) {\n        icon = `<title>${title}</title>${icon}`;\n    }\n    return (React.createElement(\"svg\", Object.assign({}, otherProps, mergedStyleProps, { viewBox: \"0 0 24 24\", fill: \"none\", width: iconSize, height: iconSize, \"aria-hidden\": ariaHidden, ref: ref }), htmlReactParser(icon)));\n};\nconst Icon = forwardRef(_Icon);\nIcon.spiritComponent = 'Icon';\nexport default Icon;\n//# sourceMappingURL=Icon.js.map","import { SCROLL_VIEW_ARROWS_LABEL_HORIZONTAL_END, SCROLL_VIEW_ARROWS_LABEL_HORIZONTAL_START, SCROLL_VIEW_ARROWS_LABEL_VERTICAL_END, SCROLL_VIEW_ARROWS_LABEL_VERTICAL_START, } from \"./constants.js\";\nconst getDefaultArrowLabels = (isHorizontal) => isHorizontal\n    ? {\n        start: SCROLL_VIEW_ARROWS_LABEL_HORIZONTAL_START,\n        end: SCROLL_VIEW_ARROWS_LABEL_HORIZONTAL_END,\n    }\n    : {\n        top: SCROLL_VIEW_ARROWS_LABEL_VERTICAL_START,\n        bottom: SCROLL_VIEW_ARROWS_LABEL_VERTICAL_END,\n    };\nexport const useScrollViewArrows = (isHorizontal, ariaLabelArrows, scrollStep = 300) => {\n    var _a, _b, _c, _d;\n    const defaultArrowLabels = getDefaultArrowLabels(isHorizontal);\n    const mergedArrowLabels = Object.assign(Object.assign({}, defaultArrowLabels), ariaLabelArrows);\n    const arrows = [\n        {\n            icon: isHorizontal ? 'chevron-left' : 'chevron-up',\n            label: (isHorizontal\n                ? ((_a = mergedArrowLabels.start) !== null && _a !== void 0 ? _a : defaultArrowLabels.start)\n                : ((_b = mergedArrowLabels.top) !== null && _b !== void 0 ? _b : defaultArrowLabels.top)),\n            step: -scrollStep,\n        },\n        {\n            icon: isHorizontal ? 'chevron-right' : 'chevron-down',\n            label: (isHorizontal\n                ? ((_c = mergedArrowLabels.end) !== null && _c !== void 0 ? _c : defaultArrowLabels.end)\n                : ((_d = mergedArrowLabels.bottom) !== null && _d !== void 0 ? _d : defaultArrowLabels.bottom)),\n            step: scrollStep,\n        },\n    ];\n    return { arrows };\n};\n//# sourceMappingURL=useScrollViewArrows.js.map","import classNames from 'classnames';\nimport { useClassNamePrefix } from \"../../hooks/index.js\";\nimport { SCROLL_VIEW_DEFAULT_OVERFLOW_DECORATOR } from \"./constants.js\";\nexport const useScrollViewStyleProps = ({ direction, isScrollbarDisabled, isScrolledAtEnd, isScrolledAtStart, overflowDecorators = SCROLL_VIEW_DEFAULT_OVERFLOW_DECORATOR, }) => {\n    const scrollViewRootClass = useClassNamePrefix('ScrollView');\n    const scrollViewRootDirectionClass = `${scrollViewRootClass}--${direction}`;\n    const scrollViewRootScrollbarDisabledClass = `${scrollViewRootClass}--scrollbarDisabled`;\n    const scrollViewViewportClass = `${scrollViewRootClass}__viewport`;\n    const scrollViewContentClass = `${scrollViewRootClass}__content`;\n    const scrollViewOverflowDecoratorsClass = `${scrollViewRootClass}__overflowDecorators`;\n    const scrollViewRootOverflowDecoratorsClasses = {\n        shadows: `${scrollViewOverflowDecoratorsClass}--shadows`,\n        borders: `${scrollViewOverflowDecoratorsClass}--borders`,\n        both: classNames(`${scrollViewOverflowDecoratorsClass}--shadows`, `${scrollViewOverflowDecoratorsClass}--borders`),\n    };\n    const scrollViewRootOverflowDecoratorsClass = scrollViewRootOverflowDecoratorsClasses[overflowDecorators];\n    const scrollViewAtStartClass = 'is-scrolled-at-start';\n    const scrollViewAtEndClass = 'is-scrolled-at-end';\n    const scrollViewArrowsClass = `${scrollViewRootClass}__arrows`;\n    return {\n        classProps: {\n            root: classNames(scrollViewRootClass, scrollViewRootDirectionClass, {\n                [scrollViewRootScrollbarDisabledClass]: isScrollbarDisabled,\n                [scrollViewAtEndClass]: isScrolledAtEnd,\n                [scrollViewAtStartClass]: isScrolledAtStart,\n            }),\n            viewport: scrollViewViewportClass,\n            content: scrollViewContentClass,\n            overflowDecorators: classNames(scrollViewOverflowDecoratorsClass, scrollViewRootOverflowDecoratorsClass),\n            arrows: scrollViewArrowsClass,\n        },\n    };\n};\n//# sourceMappingURL=useScrollViewStyleProps.js.map","var __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport React from 'react';\nimport { isDirectionHorizontal } from \"../../constants/index.js\";\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { mergeStyleProps } from \"../../utils/index.js\";\nimport { ControlButton } from \"../ControlButton/index.js\";\nimport { Icon } from \"../Icon/index.js\";\nimport { useScrollViewArrows } from \"./useScrollViewArrows.js\";\nimport { useScrollViewStyleProps } from \"./useScrollViewStyleProps.js\";\nconst ScrollViewArrows = (props) => {\n    const { ariaLabelArrows, direction, scrollStep, viewportRef } = props, restProps = __rest(props, [\"ariaLabelArrows\", \"direction\", \"scrollStep\", \"viewportRef\"]);\n    const { classProps } = useScrollViewStyleProps({\n        direction,\n    });\n    const { styleProps, props: otherProps } = useStyleProps(restProps);\n    const mergedStyleProps = mergeStyleProps('button', { classProps: classProps.arrows, styleProps });\n    const isHorizontal = isDirectionHorizontal(direction);\n    const { arrows } = useScrollViewArrows(isHorizontal, ariaLabelArrows, scrollStep);\n    const handleScroll = (step) => {\n        var _a;\n        const scrollToDirection = isHorizontal ? 'left' : 'top';\n        (_a = viewportRef.current) === null || _a === void 0 ? void 0 : _a.scrollBy({\n            [scrollToDirection]: step,\n            behavior: 'smooth',\n        });\n    };\n    return (React.createElement(\"div\", Object.assign({}, otherProps, mergedStyleProps), arrows.map(({ icon, label, step }) => (React.createElement(ControlButton, { key: icon, \"aria-label\": label, onClick: () => handleScroll(step), size: \"small\", isSymmetrical: true },\n        React.createElement(Icon, { name: icon }))))));\n};\nScrollViewArrows.spiritComponent = 'ScrollViewArrows';\nexport default ScrollViewArrows;\n//# sourceMappingURL=ScrollViewArrows.js.map","'use client';\nimport { useCallback, useEffect, useState } from 'react';\nimport { Position, isDirectionHorizontal } from \"../../constants/index.js\";\nimport { useResizeObserver } from \"../../hooks/index.js\";\nimport { debounce } from \"../../utils/index.js\";\nimport { DEBOUNCE_DELAY, EDGE_DETECTION_INACCURACY_PX } from \"./constants.js\";\nexport const useScrollPosition = ({ viewportReference, contentReference, direction, }) => {\n    const [isScrolledAtStart, setScrolledStart] = useState(false);\n    const [isScrolledAtEnd, setScrolledAtEnd] = useState(false);\n    const getElementsPositionDifference = () => {\n        if (!(contentReference.current && viewportReference.current)) {\n            return null;\n        }\n        const contentPosition = contentReference.current.getBoundingClientRect();\n        const viewportPosition = viewportReference.current.getBoundingClientRect();\n        return {\n            [Position.BOTTOM]: contentPosition.bottom - viewportPosition.bottom,\n            [Position.LEFT]: contentPosition.left - viewportPosition.left,\n            [Position.RIGHT]: contentPosition.right - viewportPosition.right,\n            [Position.TOP]: contentPosition.top - viewportPosition.top,\n        };\n    };\n    const handleScrollViewState = () => {\n        const isHorizontal = isDirectionHorizontal(direction);\n        const scrollPositionStart = isHorizontal ? Position.LEFT : Position.TOP;\n        const scrollPositionEnd = isHorizontal ? Position.RIGHT : Position.BOTTOM;\n        const currentPosition = getElementsPositionDifference();\n        if (!currentPosition) {\n            return;\n        }\n        const isScrolledAtStartActive = currentPosition[scrollPositionStart] <= -1 * EDGE_DETECTION_INACCURACY_PX;\n        const isScrolledAtEndActive = currentPosition[scrollPositionEnd] >= EDGE_DETECTION_INACCURACY_PX;\n        if (isScrolledAtStartActive !== isScrolledAtStart) {\n            setScrolledStart(isScrolledAtStartActive);\n        }\n        if (isScrolledAtEndActive !== isScrolledAtEnd) {\n            setScrolledAtEnd(isScrolledAtEndActive);\n        }\n    };\n    const debouncedHandler = useCallback(debounce(handleScrollViewState, DEBOUNCE_DELAY), [handleScrollViewState]);\n    useResizeObserver({\n        ref: viewportReference,\n        onResize: debouncedHandler,\n    });\n    useEffect(handleScrollViewState, []);\n    return {\n        isScrolledAtEnd,\n        isScrolledAtStart,\n        onScroll: debounce(handleScrollViewState, DEBOUNCE_DELAY),\n    };\n};\n//# sourceMappingURL=useScrollPosition.js.map","'use client';\nvar __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport classNames from 'classnames';\nimport React, { useRef } from 'react';\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { SCROLL_VIEW_DEFAULT_DIRECTION, SCROLL_VIEW_DEFAULT_OVERFLOW_DECORATOR } from \"./constants.js\";\nimport ScrollViewArrows from \"./ScrollViewArrows.js\";\nimport { useScrollPosition } from \"./useScrollPosition.js\";\nimport { useScrollViewStyleProps } from \"./useScrollViewStyleProps.js\";\nconst ScrollView = (props) => {\n    const { ariaLabelArrows, arrowsScrollStep = 300, children, direction = SCROLL_VIEW_DEFAULT_DIRECTION, hasArrows = false, isScrollbarDisabled, overflowDecorators = SCROLL_VIEW_DEFAULT_OVERFLOW_DECORATOR } = props, restProps = __rest(props, [\"ariaLabelArrows\", \"arrowsScrollStep\", \"children\", \"direction\", \"hasArrows\", \"isScrollbarDisabled\", \"overflowDecorators\"]);\n    const contentReference = useRef(null);\n    const viewportReference = useRef(null);\n    const { isScrolledAtEnd, isScrolledAtStart, onScroll } = useScrollPosition({\n        contentReference,\n        direction,\n        viewportReference,\n    });\n    const { classProps } = useScrollViewStyleProps({\n        direction,\n        isScrollbarDisabled,\n        isScrolledAtStart,\n        isScrolledAtEnd,\n        overflowDecorators,\n    });\n    const { styleProps, props: transferProps } = useStyleProps(restProps);\n    return (React.createElement(\"div\", Object.assign({}, transferProps, styleProps, { className: classNames(classProps.root, styleProps.className) }),\n        React.createElement(\"div\", { className: classProps.viewport, onScroll: onScroll, ref: viewportReference, tabIndex: 0 },\n            React.createElement(\"div\", { className: classProps.content, ref: contentReference }, children)),\n        React.createElement(\"div\", { className: classProps.overflowDecorators, \"aria-hidden\": \"true\" }),\n        hasArrows && (React.createElement(ScrollViewArrows, { ariaLabelArrows: ariaLabelArrows, direction: direction, scrollStep: arrowsScrollStep, viewportRef: viewportReference }))));\n};\nScrollView.spiritComponent = 'ScrollView';\nexport default ScrollView;\n//# sourceMappingURL=ScrollView.js.map"],"names":["__rest","this","componentColors","emotionColors","textColors","containers","defaultContext","createContext","DefaultSpacingStyleProp","useContext","useCallback","useRef","useEffect","useState","defaultProps","forwardRef","cssVariablePrefix"],"mappings":"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"}