{"version":3,"file":"FileUploader.cjs","sources":["../../common/constants/environments.js","../../common/utilities/warning.js","../../constants/dictionaries.js","../../constants/direction.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/htmlReactParser.js","../../utils/mergeStyleProps.js","../../utils/ssr.js","../../utils/string.js","../../hooks/useStyleUtilities.js","../../hooks/styleProps.js","../../hooks/useAriaDescribedBy.js","../../hooks/useIsomorphicLayoutEffect.js","../../hooks/useClassNamePrefix.js","../../hooks/useDragAndDrop.js","../../context/IconsContext.js","../../hooks/useIcon.js","../../hooks/useIconName.js","constants.js","FileUploaderContext.js","useFileUploaderStyleProps.js","FileUploader.js","../Field/HelperText.js","../Field/Label.js","../Field/useAriaIds.js","../Icon/constants.js","../Icon/useIconBoxSize.js","../Icon/useIconStyleProps.js","../Icon/Icon.js","../Field/useValidationIcon.js","../Field/ValidationText.js","../Field/constants.js","../Field/useValidationTextRole.js","useFileUploaderInput.js","FileUploaderInput.js","FileUploaderList.js","../VisuallyHidden/useVisuallyHiddenProps.js","../VisuallyHidden/VisuallyHidden.js","AttachmentActionButton.js","AttachmentDismissButton.js","AttachmentImagePreview.js","utils.js","useFileUploaderAttachment.js","FileUploaderAttachment.js","useFileQueue.js","UncontrolledFileUploader.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 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","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 { useMemo } from 'react';\nexport const useAriaDescribedBy = (ids) => useMemo(() => (ids.length ? { 'aria-describedby': ids.join(' ') } : {}), [ids]);\n//# sourceMappingURL=useAriaDescribedBy.js.map","'use client';\nimport { useEffect, useLayoutEffect } from 'react';\nimport { isSSR } from \"../utils/index.js\";\nexport const useIsomorphicLayoutEffect = !isSSR ? useLayoutEffect : useEffect;\n//# sourceMappingURL=useIsomorphicLayoutEffect.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 { useState } from 'react';\nexport const useDragAndDrop = (props) => {\n    const [isDragging, setDragging] = useState(false);\n    const onDragOverHandler = (event) => {\n        event.preventDefault();\n        if (props === null || props === void 0 ? void 0 : props.onDragOver) {\n            props.onDragOver(event);\n        }\n    };\n    const onDragEnterHandler = (event) => {\n        setDragging(true);\n        if (props === null || props === void 0 ? void 0 : props.onDragEnter) {\n            props.onDragEnter(event);\n        }\n    };\n    const onDragLeaveHandler = (event) => {\n        setDragging(false);\n        if (props === null || props === void 0 ? void 0 : props.onDragLeave) {\n            props.onDragLeave(event);\n        }\n    };\n    const onDropHandler = (event) => {\n        event.preventDefault();\n        if (props === null || props === void 0 ? void 0 : props.onDrop) {\n            props.onDrop(event);\n        }\n        setDragging(false);\n    };\n    return {\n        isDragging,\n        onDragOver: onDragOverHandler,\n        onDragEnter: onDragEnterHandler,\n        onDragLeave: onDragLeaveHandler,\n        onDrop: onDropHandler,\n    };\n};\n//# sourceMappingURL=useDragAndDrop.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","export function useIconName(key, iconMap, defaultKey = 'default') {\n    return key && iconMap[key] ? iconMap[key] : iconMap[defaultKey];\n}\n//# sourceMappingURL=useIconName.js.map","export const DEFAULT_FILE_SIZE_LIMIT = 10000000;\nexport const DEFAULT_FILE_QUEUE_LIMIT = 1;\nexport const IMAGE_DIMENSION = 54;\nexport const IMAGE_PREVIEW_BASE64_MAX_WIDTH = 500;\nexport const DEFAULT_ERROR_MESSAGE_MAX_FILE_SIZE = 'The file size limit has been exceeded';\nexport const DEFAULT_ERROR_MESSAGE_QUEUE_DUPLICITY = 'This file already exists in the queue';\nexport const DEFAULT_ERROR_MESSAGE_QUEUE_LIMIT = 'You have exceeded the number of files allowed in the queue';\nexport const DEFAULT_ERROR_MESSAGE_UNSUPPORTED_FILE = 'This file type is not supported';\nexport const DEFAULT_ICON_NAME = 'file';\nexport const DEFAULT_BUTTON_LABEL = 'Remove';\nexport const DEFAULT_EDIT_BUTTON_LABEL = 'Edit';\nexport const FileUploaderCropCSS = {\n    TOP: '--file-uploader-attachment-image-top',\n    LEFT: '--file-uploader-attachment-image-left',\n    WIDTH: '--file-uploader-attachment-image-width',\n    HEIGHT: '--file-uploader-attachment-image-height',\n};\n//# sourceMappingURL=constants.js.map","'use client';\nimport { createContext, useContext } from 'react';\nconst defaultContext = {\n    addToQueue: () => new Map(),\n    clearQueue: () => null,\n    fileQueue: new Map(),\n    onDismiss: () => new Map(),\n    findInQueue: () => null,\n    updateQueue: () => new Map(),\n    errorMessages: {\n        errorFileDuplicity: '',\n        errorFileNotSupported: '',\n        errorMaxFileSize: '',\n        errorMaxUploadedFiles: '',\n    },\n};\nconst FileUploaderContext = createContext(defaultContext);\nconst FileUploaderProvider = FileUploaderContext.Provider;\nconst FileUploaderConsumer = FileUploaderContext.Consumer;\nconst useFileUploaderContext = () => useContext(FileUploaderContext);\nexport default FileUploaderContext;\nexport { FileUploaderProvider, FileUploaderConsumer, useFileUploaderContext };\n//# sourceMappingURL=FileUploaderContext.js.map","import classNames from 'classnames';\nimport { useClassNamePrefix } from \"../../hooks/index.js\";\nimport { FileUploaderCropCSS, IMAGE_DIMENSION } from \"./constants.js\";\nexport const useFileUploaderStyleProps = (props) => {\n    const fileUploaderClass = useClassNamePrefix('FileUploader');\n    const fileUploaderHasDragAndDropClass = 'has-drag-and-drop';\n    const fileUploaderFluidClass = `${fileUploaderClass}--fluid`;\n    const fileUploaderInputClass = `${fileUploaderClass}Input`;\n    const fileUploaderInputDisabledClass = `${fileUploaderInputClass}--disabled`;\n    const fileUploaderInputValidationClass = `${fileUploaderInputClass}--${props === null || props === void 0 ? void 0 : props.validationState}`;\n    const fileUploaderInputDraggingClass = 'is-dragging';\n    const fileUploaderInputDropLabelClass = `${fileUploaderInputClass}__dragAndDropLabel`;\n    const fileUploaderInputDropZoneClass = `${fileUploaderInputClass}__dropZone`;\n    const fileUploaderInputDropZoneLabelClass = `${fileUploaderInputDropZoneClass}Label`;\n    const fileUploaderInputHelperClass = `${fileUploaderInputClass}__helperText`;\n    const fileUploaderInputHiddenClass = 'd-none';\n    const fileUploaderInputInputClass = `${fileUploaderInputClass}__input`;\n    const fileUploaderInputLabelClass = `${fileUploaderInputClass}__label`;\n    const fileUploaderInputLabelHiddenClass = `${fileUploaderInputClass}__label--hidden`;\n    const fileUploaderInputLabelRequiredClass = `${fileUploaderInputClass}__label--required`;\n    const fileUploaderInputLinkClass = `${fileUploaderInputClass}__link`;\n    const fileUploaderInputLinkUtilityClasses = ['link-primary', 'link-underlined'];\n    const fileUploaderInputValidationTextClass = `${fileUploaderInputClass}__validationText`;\n    const fileUploaderListClass = `${fileUploaderClass}List`;\n    const fileUploaderAttachmentClass = `${fileUploaderClass}Attachment`;\n    const fileUploaderAttachmentNameClass = `${fileUploaderAttachmentClass}__name`;\n    const fileUploaderAttachmentButtonClass = `${fileUploaderAttachmentClass}__action`;\n    const fileUploaderAttachmentImageClass = `${fileUploaderAttachmentClass}__image`;\n    const fileUploaderAttachmentSlotClass = `${fileUploaderAttachmentClass}__slot`;\n    const { meta, imageObjectFit } = props || {};\n    let imageCropCSS;\n    let imageObjectFitCSS;\n    const hasCoordsInMeta = meta != null &&\n        ['x', 'y', 'cropWidth', 'cropHeight', 'originalWidth', 'originalHeight'].every((coord) => meta[coord] != null);\n    if (hasCoordsInMeta) {\n        const { x, y, cropWidth, cropHeight, originalWidth, originalHeight } = meta;\n        const previewHeight = IMAGE_DIMENSION;\n        let scale;\n        if (cropHeight > cropWidth) {\n            scale = previewHeight / cropWidth;\n        }\n        else {\n            scale = previewHeight / cropHeight;\n        }\n        const cropX = Math.round(x * scale);\n        const cropY = Math.round(y * scale);\n        const imageWidth = Math.round(originalWidth * scale);\n        const imageHeight = Math.round(originalHeight * scale);\n        imageCropCSS = {\n            [FileUploaderCropCSS.TOP]: `-${cropY}px`,\n            [FileUploaderCropCSS.LEFT]: `-${cropX}px`,\n            [FileUploaderCropCSS.WIDTH]: `${imageWidth}px`,\n            [FileUploaderCropCSS.HEIGHT]: `${imageHeight}px`,\n        };\n    }\n    if (imageObjectFit) {\n        imageObjectFitCSS = {\n            '--file-uploader-attachment-image-object-fit': imageObjectFit,\n        };\n    }\n    return {\n        classProps: Object.assign(Object.assign({ root: classNames(fileUploaderClass, { [fileUploaderFluidClass]: props === null || props === void 0 ? void 0 : props.isFluid }), input: {\n                root: classNames(fileUploaderInputClass, {\n                    [fileUploaderHasDragAndDropClass]: props === null || props === void 0 ? void 0 : props.isDragAndDropSupported,\n                    [fileUploaderInputDisabledClass]: (props === null || props === void 0 ? void 0 : props.isDisabled) || ((props === null || props === void 0 ? void 0 : props.isDisabledByQueueLimitBehavior) && (props === null || props === void 0 ? void 0 : props.queueLimitBehavior) === 'disable'),\n                    [fileUploaderInputDraggingClass]: props === null || props === void 0 ? void 0 : props.isDragging,\n                    [fileUploaderInputHiddenClass]: (props === null || props === void 0 ? void 0 : props.isDropZoneHidden) && props.queueLimitBehavior === 'hide',\n                    [fileUploaderInputValidationClass]: props === null || props === void 0 ? void 0 : props.validationState,\n                }),\n                label: classNames(fileUploaderInputLabelClass, {\n                    [fileUploaderInputLabelRequiredClass]: props === null || props === void 0 ? void 0 : props.isRequired,\n                    [fileUploaderInputLabelHiddenClass]: props === null || props === void 0 ? void 0 : props.isLabelHidden,\n                }),\n                input: fileUploaderInputInputClass,\n                dropLabel: fileUploaderInputDropLabelClass,\n                helper: fileUploaderInputHelperClass,\n                link: classNames(fileUploaderInputLinkClass, ...fileUploaderInputLinkUtilityClasses),\n                validationText: fileUploaderInputValidationTextClass,\n                dropZone: {\n                    root: fileUploaderInputDropZoneClass,\n                    label: fileUploaderInputDropZoneLabelClass,\n                },\n            }, list: fileUploaderListClass, attachment: {\n                root: fileUploaderAttachmentClass,\n                button: fileUploaderAttachmentButtonClass,\n                name: fileUploaderAttachmentNameClass,\n                image: fileUploaderAttachmentImageClass,\n                slot: fileUploaderAttachmentSlotClass,\n            } }, (hasCoordsInMeta && { imageCropStyles: imageCropCSS })), (imageObjectFit && { attachmentStyles: imageObjectFitCSS })),\n    };\n};\n//# sourceMappingURL=useFileUploaderStyleProps.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 from 'react';\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { DEFAULT_ERROR_MESSAGE_MAX_FILE_SIZE, DEFAULT_ERROR_MESSAGE_QUEUE_DUPLICITY, DEFAULT_ERROR_MESSAGE_QUEUE_LIMIT, DEFAULT_ERROR_MESSAGE_UNSUPPORTED_FILE, } from \"./constants.js\";\nimport { FileUploaderProvider } from \"./FileUploaderContext.js\";\nimport { useFileUploaderStyleProps } from \"./useFileUploaderStyleProps.js\";\nconst FileUploader = (props) => {\n    const { addToQueue, children, clearQueue, errorMessages, fileQueue, findInQueue, id, isFluid, onDismiss, updateQueue } = props, restProps = __rest(props, [\"addToQueue\", \"children\", \"clearQueue\", \"errorMessages\", \"fileQueue\", \"findInQueue\", \"id\", \"isFluid\", \"onDismiss\", \"updateQueue\"]);\n    const { classProps } = useFileUploaderStyleProps({ isFluid });\n    const { styleProps, props: transferProps } = useStyleProps(restProps);\n    const contextValue = {\n        addToQueue,\n        clearQueue,\n        fileQueue,\n        onDismiss,\n        findInQueue,\n        updateQueue,\n        errorMessages: Object.assign({ errorFileDuplicity: DEFAULT_ERROR_MESSAGE_QUEUE_DUPLICITY, errorFileNotSupported: DEFAULT_ERROR_MESSAGE_UNSUPPORTED_FILE, errorMaxFileSize: DEFAULT_ERROR_MESSAGE_MAX_FILE_SIZE, errorMaxUploadedFiles: DEFAULT_ERROR_MESSAGE_QUEUE_LIMIT }, errorMessages),\n    };\n    return (React.createElement(FileUploaderProvider, { value: contextValue },\n        React.createElement(\"div\", Object.assign({ id: id }, transferProps, styleProps, { className: classNames(classProps.root, styleProps.className) }), children)));\n};\nFileUploader.spiritComponent = 'FileUploader';\nexport default FileUploader;\n//# sourceMappingURL=FileUploader.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, { useEffect } from 'react';\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { mergeStyleProps } from \"../../utils/index.js\";\nconst defaultProps = {\n    elementType: 'div',\n    id: undefined,\n    registerAria: undefined,\n};\nconst HelperText = (props) => {\n    const propsWithDefaults = Object.assign(Object.assign({}, defaultProps), props);\n    const { helperText, elementType: ElementTag = defaultProps.elementType, id, registerAria } = propsWithDefaults, restProps = __rest(propsWithDefaults, [\"helperText\", \"elementType\", \"id\", \"registerAria\"]);\n    const { styleProps, props: transferProps } = useStyleProps(restProps);\n    const mergedStyleProps = mergeStyleProps(ElementTag, { styleProps, transferProps });\n    useEffect(() => {\n        helperText && (registerAria === null || registerAria === void 0 ? void 0 : registerAria({ add: id }));\n        return () => {\n            registerAria === null || registerAria === void 0 ? void 0 : registerAria({ remove: id });\n        };\n    }, [helperText, id, registerAria]);\n    if (helperText) {\n        return (React.createElement(ElementTag, Object.assign({}, transferProps, mergedStyleProps, { id: id }), helperText));\n    }\n    return null;\n};\nHelperText.spiritComponent = 'HelperText';\nexport default HelperText;\n//# sourceMappingURL=HelperText.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 from 'react';\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { mergeStyleProps } from \"../../utils/index.js\";\nconst Label = (props) => {\n    const { elementType: ElementTag = 'label', children, htmlFor, for: labelFor } = props, restProps = __rest(props, [\"elementType\", \"children\", \"htmlFor\", \"for\"]);\n    const { styleProps, props: otherProps } = useStyleProps(restProps);\n    const mergedStyleProps = mergeStyleProps(ElementTag, { styleProps, otherProps });\n    return (React.createElement(ElementTag, Object.assign({}, otherProps, mergedStyleProps, { htmlFor: ElementTag === 'label' ? labelFor || htmlFor : undefined }), children));\n};\nLabel.spiritComponent = 'Label';\nexport default Label;\n//# sourceMappingURL=Label.js.map","'use client';\nimport { useCallback, useState } from 'react';\nconst useAriaIds = (otherAriaIds) => {\n    const [ids, setIds] = useState(otherAriaIds ? otherAriaIds.split(' ') : []);\n    const register = useCallback(({ add, remove }) => {\n        setIds((prevIds) => {\n            let newIds = [...prevIds];\n            if (remove) {\n                newIds = newIds.filter((item) => item !== remove);\n            }\n            if (add) {\n                newIds = [...newIds, add];\n            }\n            return newIds;\n        });\n    }, []);\n    return [ids, register];\n};\nexport default useAriaIds;\n//# sourceMappingURL=useAriaIds.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 { useIconName } from \"../../hooks/index.js\";\nexport function useValidationIcon({ hasValidationStateIcon }) {\n    const iconNameValue = useIconName(hasValidationStateIcon, {\n        success: 'check-plain',\n        warning: 'warning',\n        danger: 'danger',\n    });\n    return iconNameValue;\n}\n//# sourceMappingURL=useValidationIcon.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, { useEffect } from 'react';\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { mergeStyleProps } from \"../../utils/index.js\";\nimport { Icon } from \"../Icon/index.js\";\nimport { useValidationIcon } from \"./useValidationIcon.js\";\nconst defaultProps = {\n    elementType: 'div',\n    id: undefined,\n    registerAria: undefined,\n    role: undefined,\n};\nconst ValidationText = (props) => {\n    const propsWithDefaults = Object.assign(Object.assign({}, defaultProps), props);\n    const { elementType: ElementTag = defaultProps.elementType, id, hasValidationStateIcon, registerAria, role, validationText } = propsWithDefaults, restProps = __rest(propsWithDefaults, [\"elementType\", \"id\", \"hasValidationStateIcon\", \"registerAria\", \"role\", \"validationText\"]);\n    const validationIconName = useValidationIcon({ hasValidationStateIcon });\n    const { styleProps, props: transferProps } = useStyleProps(restProps);\n    const mergedStyleProps = mergeStyleProps(ElementTag, { styleProps, transferProps });\n    useEffect(() => {\n        validationText && (registerAria === null || registerAria === void 0 ? void 0 : registerAria({ add: id }));\n        return () => {\n            registerAria === null || registerAria === void 0 ? void 0 : registerAria({ remove: id });\n        };\n    }, [id, registerAria, validationText]);\n    if (!validationText) {\n        return null;\n    }\n    const nonArrayValidationText = hasValidationStateIcon ? React.createElement(\"div\", null, validationText) : validationText;\n    return (React.createElement(ElementTag, Object.assign({}, transferProps, mergedStyleProps, { id: id, role: role }),\n        hasValidationStateIcon && React.createElement(Icon, { name: validationIconName, boxSize: \"20\" }),\n        Array.isArray(validationText) ? (React.createElement(\"ul\", null, validationText.map((item) => (React.createElement(\"li\", { key: `validationText_${item}` }, item))))) : (nonArrayValidationText)));\n};\nValidationText.spiritComponent = 'ValidationText';\nexport default ValidationText;\n//# sourceMappingURL=ValidationText.js.map","export const A11Y_ALERT_ROLE = 'alert';\n//# sourceMappingURL=constants.js.map","'use client';\nimport { useEffect, useRef, useState } from 'react';\nimport { A11Y_ALERT_ROLE } from \"./constants.js\";\nexport const useValidationTextRole = ({ validationState, validationText, }) => {\n    const [role, setRole] = useState();\n    const previousValidationText = useRef(validationText);\n    const previousValidationState = useRef(validationState);\n    useEffect(() => {\n        if (previousValidationText.current !== validationText || previousValidationState.current !== validationState) {\n            setRole(A11Y_ALERT_ROLE);\n        }\n        previousValidationText.current = validationText;\n        previousValidationState.current = validationState;\n    }, [validationText, validationState]);\n    return role;\n};\n//# sourceMappingURL=useValidationTextRole.js.map","'use client';\nimport { useEffect, useState } from 'react';\nimport { warning } from \"../../common/utilities/index.js\";\nimport { useDragAndDrop } from \"../../hooks/index.js\";\nimport { useFileUploaderContext } from \"./FileUploaderContext.js\";\nexport const useFileUploaderInput = (props) => {\n    const { maxFileSize, maxUploadedFiles, queueLimitBehavior, isMultiple, onError, accept } = props;\n    const [disabledByQueueLimitBehavior, setDisabledByQueueLimitBehavior] = useState(false);\n    const [dropZoneHidden, setDropZoneHidden] = useState(false);\n    const { fileQueue, addToQueue, clearQueue, errorMessages } = useFileUploaderContext();\n    const getUpdatedFileName = (name) => `file__${name.replace(/\\./g, '_').replace(/\\s/g, '_')}`;\n    const checkAllowedFileSize = (file) => {\n        if (file.size > maxFileSize) {\n            throw new Error(`${file.name}: ${errorMessages === null || errorMessages === void 0 ? void 0 : errorMessages.errorMaxFileSize}`);\n        }\n    };\n    const checkIsMultiple = () => {\n        if (maxUploadedFiles > 1 && !isMultiple) {\n            throw new Error('`isMultiple` props must be set when maxUploadedFiles is greater than `1`');\n        }\n    };\n    const checkFileDuplicity = (file) => {\n        if (isMultiple && fileQueue.has(getUpdatedFileName(file.name))) {\n            throw new Error(`${file.name}: ${errorMessages === null || errorMessages === void 0 ? void 0 : errorMessages.errorFileDuplicity}`);\n        }\n    };\n    const checkQueueSize = () => {\n        if (fileQueue.size >= maxUploadedFiles) {\n            throw new Error(errorMessages === null || errorMessages === void 0 ? void 0 : errorMessages.errorMaxUploadedFiles);\n        }\n    };\n    const checkAllowedFileType = (file) => {\n        var _a;\n        const fileExtension = (_a = file.name.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();\n        const fileType = file.type;\n        const shouldValidate = accept && !(accept === '' || accept === '*' || accept === '*/*');\n        let isTypeSupported;\n        if (!shouldValidate) {\n            isTypeSupported = true;\n        }\n        else {\n            const acceptArray = accept.replace(/ /g, '').split(',');\n            const acceptExtensions = acceptArray.filter((exp) => exp.match(/\\./g));\n            const acceptTypes = acceptArray.filter((exp) => exp.match(/\\//g));\n            acceptExtensions.forEach((acceptExtension) => {\n                const expression = acceptExtension.replace('.', '').replace('*', '');\n                if (fileExtension.match(expression)) {\n                    isTypeSupported = true;\n                }\n            });\n            acceptTypes.forEach((acceptType) => {\n                const expression = acceptType.replace('*', '');\n                if (fileType.match(expression)) {\n                    isTypeSupported = true;\n                }\n            });\n        }\n        if (!isTypeSupported) {\n            throw new Error(`${file.name}: ${errorMessages === null || errorMessages === void 0 ? void 0 : errorMessages.errorFileNotSupported}`);\n        }\n    };\n    const updateDropZoneVisibility = (queue) => {\n        if (!queueLimitBehavior) {\n            return;\n        }\n        if (queueLimitBehavior === 'hide') {\n            setDropZoneHidden((queue === null || queue === void 0 ? void 0 : queue.size) >= maxUploadedFiles);\n        }\n        else {\n            setDisabledByQueueLimitBehavior((queue === null || queue === void 0 ? void 0 : queue.size) >= maxUploadedFiles);\n        }\n    };\n    const clearQueueHandler = () => {\n        if (!isMultiple) {\n            clearQueue();\n        }\n    };\n    const fileProcessHandler = (file) => {\n        try {\n            clearQueueHandler();\n            checkFileDuplicity(file);\n            checkAllowedFileSize(file);\n            checkAllowedFileType(file);\n            checkQueueSize();\n            checkIsMultiple();\n            addToQueue(getUpdatedFileName(file.name), file);\n        }\n        catch (error) {\n            if (onError) {\n                onError(error);\n            }\n            else {\n                warning(false, error);\n            }\n        }\n    };\n    const onDropHandler = (event) => {\n        const transferItems = Array.from(event.dataTransfer.items);\n        const transferFiles = Array.from(event.dataTransfer.files);\n        let counter = 0;\n        let overLimit;\n        counter += fileQueue.size;\n        if (event.dataTransfer.items) {\n            transferItems.forEach((item) => {\n                if (item.kind === 'file') {\n                    const file = item.getAsFile();\n                    if (file && counter < maxUploadedFiles) {\n                        fileProcessHandler(file);\n                        counter += 1;\n                    }\n                    else {\n                        overLimit = true;\n                    }\n                }\n            });\n        }\n        else {\n            transferFiles.forEach((file) => {\n                if (counter < maxUploadedFiles) {\n                    fileProcessHandler(file);\n                    counter += 1;\n                }\n                else {\n                    overLimit = true;\n                }\n            });\n        }\n        if (overLimit && onError && (errorMessages === null || errorMessages === void 0 ? void 0 : errorMessages.errorMaxUploadedFiles)) {\n            onError(new Error(errorMessages === null || errorMessages === void 0 ? void 0 : errorMessages.errorMaxUploadedFiles));\n        }\n    };\n    const onChangeHandler = (event) => {\n        const { files } = event.target;\n        const filesArray = Array.prototype.slice.call(files);\n        let counter = 0;\n        let overLimit;\n        counter += fileQueue.size;\n        filesArray.forEach((file) => {\n            if (counter < maxUploadedFiles) {\n                fileProcessHandler(file);\n                counter += 1;\n            }\n            else {\n                overLimit = true;\n            }\n        });\n        if (overLimit && onError && (errorMessages === null || errorMessages === void 0 ? void 0 : errorMessages.errorMaxUploadedFiles)) {\n            onError(new Error(errorMessages === null || errorMessages === void 0 ? void 0 : errorMessages.errorMaxUploadedFiles));\n        }\n        event.target.blur();\n        event.target.value = '';\n    };\n    useEffect(() => {\n        updateDropZoneVisibility(fileQueue);\n    }, [fileQueue]);\n    const dragAndDropProps = useDragAndDrop({\n        onDrop: onDropHandler,\n    });\n    return Object.assign({ isDropZoneHidden: dropZoneHidden, isDisabledByQueueLimitBehavior: disabledByQueueLimitBehavior, onChange: onChangeHandler }, dragAndDropProps);\n};\n//# sourceMappingURL=useFileUploaderInput.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, { useEffect, useState } from 'react';\nimport { useAriaDescribedBy, useStyleProps } from \"../../hooks/index.js\";\nimport { HelperText, Label, ValidationText, useAriaIds } from \"../Field/index.js\";\nimport { useValidationTextRole } from \"../Field/useValidationTextRole.js\";\nimport { Icon } from \"../Icon/index.js\";\nimport { DEFAULT_FILE_QUEUE_LIMIT, DEFAULT_FILE_SIZE_LIMIT } from \"./constants.js\";\nimport { useFileUploaderInput } from \"./useFileUploaderInput.js\";\nimport { useFileUploaderStyleProps } from \"./useFileUploaderStyleProps.js\";\nconst FileUploaderInput = (props) => {\n    const [isDragAndDropSupported, setIsDragAndDropSupported] = useState(false);\n    const { accept, 'aria-describedby': ariaDescribedBy = '', dropZoneRef, hasValidationIcon, helperText, iconName = 'upload', id, inputRef, isDisabled, isLabelHidden, isMultiple, isRequired, label, labelText, linkText, maxFileSize = DEFAULT_FILE_SIZE_LIMIT, maxUploadedFiles = DEFAULT_FILE_QUEUE_LIMIT, onError, queueLimitBehavior = 'none', validationState, validationText } = props, restProps = __rest(props, [\"accept\", 'aria-describedby', \"dropZoneRef\", \"hasValidationIcon\", \"helperText\", \"iconName\", \"id\", \"inputRef\", \"isDisabled\", \"isLabelHidden\", \"isMultiple\", \"isRequired\", \"label\", \"labelText\", \"linkText\", \"maxFileSize\", \"maxUploadedFiles\", \"onError\", \"queueLimitBehavior\", \"validationState\", \"validationText\"]);\n    const { isDisabledByQueueLimitBehavior, isDragging, isDropZoneHidden, onChange, onDragEnter, onDragLeave, onDragOver, onDrop, } = useFileUploaderInput({\n        accept,\n        isMultiple,\n        maxFileSize,\n        maxUploadedFiles,\n        onError,\n        queueLimitBehavior,\n    });\n    const { classProps } = useFileUploaderStyleProps({\n        hasValidationIcon,\n        isDisabled,\n        isDisabledByQueueLimitBehavior,\n        isDragAndDropSupported,\n        isDragging,\n        isDropZoneHidden,\n        isLabelHidden,\n        isRequired,\n        queueLimitBehavior,\n        validationState,\n    });\n    const { styleProps, props: transferProps } = useStyleProps(restProps);\n    const [ids, register] = useAriaIds(ariaDescribedBy);\n    const ariaDescribedByProp = useAriaDescribedBy(ids);\n    const validationTextRole = useValidationTextRole({\n        validationState,\n        validationText,\n    });\n    useEffect(() => {\n        setIsDragAndDropSupported('draggable' in document.createElement('span'));\n    }, []);\n    return (React.createElement(\"div\", Object.assign({}, transferProps, styleProps, { onDragOver: !isDisabled && isDragAndDropSupported ? onDragOver : undefined, onDragEnter: !isDisabled && isDragAndDropSupported ? onDragEnter : undefined, onDragLeave: !isDisabled && isDragAndDropSupported ? onDragLeave : undefined, onDrop: !isDisabled && isDragAndDropSupported ? onDrop : undefined, className: classNames(classProps.input.root, styleProps.className) }),\n        React.createElement(Label, { htmlFor: id, UNSAFE_className: classProps.input.label }, label),\n        React.createElement(\"input\", Object.assign({}, ariaDescribedByProp, { type: \"file\", accept: accept, id: id, ref: inputRef, className: classProps.input.input, onChange: onChange, multiple: isMultiple, disabled: isDisabled || isDisabledByQueueLimitBehavior }, restProps)),\n        React.createElement(\"div\", { ref: dropZoneRef, className: classProps.input.dropZone.root },\n            React.createElement(Icon, { name: iconName, \"aria-hidden\": \"true\" }),\n            React.createElement(Label, { htmlFor: id, UNSAFE_className: classProps.input.dropZone.label },\n                React.createElement(\"span\", { className: classProps.input.link }, linkText),\n                \"\\u00A0\",\n                React.createElement(\"span\", { className: classProps.input.dropLabel }, labelText)),\n            React.createElement(HelperText, { UNSAFE_className: classProps.input.helper, id: `${id}__helperText`, registerAria: register, helperText: helperText })),\n        validationState && (React.createElement(ValidationText, Object.assign({ UNSAFE_className: classProps.input.validationText, elementType: \"span\" }, (hasValidationIcon && { hasValidationStateIcon: validationState }), { id: `${id}__validationText`, validationText: validationText, registerAria: register, role: validationTextRole })))));\n};\nFileUploaderInput.spiritComponent = 'FileUploaderInput';\nexport default FileUploaderInput;\n//# sourceMappingURL=FileUploaderInput.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, { useMemo } from 'react';\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { useFileUploaderContext } from \"./FileUploaderContext.js\";\nimport { useFileUploaderStyleProps } from \"./useFileUploaderStyleProps.js\";\nconst FileUploaderList = (props) => {\n    const { label, id, attachmentComponent, inputName, hasImagePreview } = props, restProps = __rest(props, [\"label\", \"id\", \"attachmentComponent\", \"inputName\", \"hasImagePreview\"]);\n    const { classProps } = useFileUploaderStyleProps();\n    const { styleProps, props: transferProps } = useStyleProps(restProps);\n    const { fileQueue, onDismiss } = useFileUploaderContext();\n    const renderAttachments = useMemo(() => {\n        const fileArray = Array.from(fileQueue, (entry) => ({ key: entry[0], file: entry[1].file, meta: entry[1].meta }));\n        return fileArray.map(({ key, file, meta }) => attachmentComponent &&\n            attachmentComponent({\n                id: key,\n                label: file.name,\n                name: inputName,\n                file,\n                meta,\n                onDismiss,\n                hasImagePreview,\n            }));\n    }, [attachmentComponent, fileQueue, inputName, onDismiss, hasImagePreview]);\n    return (React.createElement(React.Fragment, null,\n        React.createElement(\"h3\", { id: id, hidden: true }, label),\n        React.createElement(\"ul\", Object.assign({ \"aria-labelledby\": id }, transferProps, styleProps, { className: classNames(classProps.list, styleProps.className) }), renderAttachments)));\n};\nFileUploaderList.spiritComponent = 'FileUploaderList';\nexport default FileUploaderList;\n//# sourceMappingURL=FileUploaderList.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 { useClassNamePrefix } from \"../../hooks/index.js\";\nexport function useVisuallyHiddenProps(props) {\n    const restProps = __rest(props, []);\n    const visuallyHiddenClass = useClassNamePrefix('accessibility-hidden');\n    return {\n        classProps: visuallyHiddenClass,\n        props: restProps,\n    };\n}\n//# sourceMappingURL=useVisuallyHiddenProps.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 from 'react';\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { mergeStyleProps } from \"../../utils/index.js\";\nimport { useVisuallyHiddenProps } from \"./useVisuallyHiddenProps.js\";\nconst VisuallyHidden = (props) => {\n    const { children, elementType: ElementTag = 'span' } = props, rest = __rest(props, [\"children\", \"elementType\"]);\n    const { classProps, props: modifiedProps } = useVisuallyHiddenProps(rest);\n    const { styleProps, props: otherProps } = useStyleProps(modifiedProps);\n    const mergedStyleProps = mergeStyleProps(ElementTag, { classProps, styleProps, otherProps });\n    return (React.createElement(ElementTag, Object.assign({}, otherProps, mergedStyleProps), children));\n};\nVisuallyHidden.spiritComponent = 'VisuallyHidden';\nexport default VisuallyHidden;\n//# sourceMappingURL=VisuallyHidden.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 from 'react';\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { Icon } from \"../Icon/index.js\";\nimport { VisuallyHidden } from \"../VisuallyHidden/index.js\";\nimport { useFileUploaderStyleProps } from \"./useFileUploaderStyleProps.js\";\nconst AttachmentActionButton = (props) => {\n    const { name = 'edit', children } = props, restProps = __rest(props, [\"name\", \"children\"]);\n    const { classProps } = useFileUploaderStyleProps();\n    const { styleProps, props: transferProps } = useStyleProps(restProps);\n    return (React.createElement(\"button\", Object.assign({ type: \"button\" }, transferProps, styleProps, { className: classNames(classProps.attachment.button, styleProps.className) }),\n        React.createElement(VisuallyHidden, null, children),\n        React.createElement(Icon, { name: name, \"aria-hidden\": \"true\" })));\n};\nAttachmentActionButton.spiritComponent = 'AttachmentActionButton';\nexport default AttachmentActionButton;\n//# sourceMappingURL=AttachmentActionButton.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 from 'react';\nimport { useStyleProps } from \"../../hooks/index.js\";\nimport { Icon } from \"../Icon/index.js\";\nimport { VisuallyHidden } from \"../VisuallyHidden/index.js\";\nimport { useFileUploaderStyleProps } from \"./useFileUploaderStyleProps.js\";\nconst AttachmentDismissButton = (props) => {\n    const { children } = props, restProps = __rest(props, [\"children\"]);\n    const { classProps } = useFileUploaderStyleProps();\n    const { styleProps, props: transferProps } = useStyleProps(restProps);\n    return (React.createElement(\"button\", Object.assign({ type: \"button\" }, transferProps, styleProps, { className: classNames(classProps.attachment.button, styleProps.className) }),\n        React.createElement(VisuallyHidden, null, children),\n        React.createElement(Icon, { name: \"close\", \"aria-hidden\": \"true\" })));\n};\nAttachmentDismissButton.spiritComponent = 'AttachmentDismissButton';\nexport default AttachmentDismissButton;\n//# sourceMappingURL=AttachmentDismissButton.js.map","'use client';\nimport React from 'react';\nimport { IMAGE_DIMENSION } from \"./constants.js\";\nimport { useFileUploaderStyleProps } from \"./useFileUploaderStyleProps.js\";\nconst defaultProps = {\n    meta: undefined,\n    imageObjectFit: 'cover',\n};\nconst AttachmentImagePreview = (props) => {\n    const propsWithDefaults = Object.assign(Object.assign({}, defaultProps), props);\n    const { label, imagePreview, meta, imageObjectFit } = propsWithDefaults;\n    const { classProps } = useFileUploaderStyleProps({ meta, imageObjectFit });\n    const { imageCropStyles, attachmentStyles } = classProps;\n    return (React.createElement(\"span\", { className: classProps.attachment.image },\n        React.createElement(\"img\", { src: imagePreview, width: IMAGE_DIMENSION, height: IMAGE_DIMENSION, alt: label, style: Object.assign(Object.assign({}, imageCropStyles), attachmentStyles) })));\n};\nAttachmentImagePreview.spiritComponent = 'AttachmentImagePreview';\nexport default AttachmentImagePreview;\n//# sourceMappingURL=AttachmentImagePreview.js.map","import { warning } from \"../../common/utilities/index.js\";\nconst getAttachmentInput = (file, name, onError) => {\n    var _a;\n    const attachmentInputElement = document.createElement('input');\n    const dataContainer = new DataTransfer();\n    if (file) {\n        (_a = dataContainer.items) === null || _a === void 0 ? void 0 : _a.add(file);\n    }\n    else {\n        if (onError) {\n            onError('File not found');\n        }\n        else {\n            warning(false, 'File not found');\n        }\n        return;\n    }\n    attachmentInputElement.setAttribute('type', 'file');\n    attachmentInputElement.setAttribute('name', `${name}[]`);\n    attachmentInputElement.setAttribute('hidden', '');\n    attachmentInputElement.files = dataContainer.files;\n    return attachmentInputElement;\n};\nconst getAttachmentMetaInput = (file, name, meta) => {\n    const attachmentInputElement = document.createElement('input');\n    attachmentInputElement.setAttribute('type', 'text');\n    attachmentInputElement.setAttribute('name', `${name}_meta`);\n    attachmentInputElement.setAttribute('value', JSON.stringify(meta));\n    attachmentInputElement.setAttribute('hidden', '');\n    return attachmentInputElement;\n};\nconst image2Base64Preview = (file, maxWidth, callback) => {\n    const reader = new FileReader();\n    reader.onload = (event) => {\n        const image = new Image();\n        image.onload = () => {\n            const canvas = document.createElement('canvas');\n            const context = canvas.getContext('2d');\n            canvas.width = maxWidth;\n            canvas.height = (image.height / image.width) * maxWidth;\n            context === null || context === void 0 ? void 0 : context.drawImage(image, 0, 0, canvas.width, canvas.height);\n            const compressedDataURL = canvas.toDataURL('image/jpeg', 0.8);\n            callback(compressedDataURL);\n        };\n        if (event.target && event.target.result) {\n            image.src = event.target.result.toString();\n        }\n    };\n    reader.readAsDataURL(file);\n};\nconst base64ToByteArray = (base64Image) => {\n    const byteCharacters = atob(base64Image);\n    const byteNumbers = new Array(byteCharacters.length);\n    for (let i = 0; i < byteCharacters.length; i++) {\n        byteNumbers[i] = byteCharacters.charCodeAt(i);\n    }\n    const byteArray = new Uint8Array(byteNumbers);\n    return byteArray;\n};\nexport { base64ToByteArray, getAttachmentInput, getAttachmentMetaInput, image2Base64Preview };\n//# sourceMappingURL=utils.js.map","import { useIsomorphicLayoutEffect } from \"../../hooks/index.js\";\nimport { getAttachmentInput, getAttachmentMetaInput } from \"./utils.js\";\nexport const useFileUploaderAttachment = ({ attachmentRef, file, name, meta, onError, }) => {\n    useIsomorphicLayoutEffect(() => {\n        const createAttachmentInput = (metadata) => {\n            var _a, _b, _c;\n            (_a = attachmentRef.current) === null || _a === void 0 ? void 0 : _a.querySelectorAll('input').forEach((element) => element.remove());\n            const attachmentInputElement = getAttachmentInput(file, name, onError);\n            attachmentInputElement && ((_b = attachmentRef.current) === null || _b === void 0 ? void 0 : _b.appendChild(attachmentInputElement));\n            if (metadata) {\n                const attachmentInputMetaElement = getAttachmentMetaInput(file, name, metadata);\n                (_c = attachmentRef.current) === null || _c === void 0 ? void 0 : _c.appendChild(attachmentInputMetaElement);\n            }\n        };\n        createAttachmentInput(meta);\n    }, [attachmentRef, file, name, meta, onError]);\n};\n//# sourceMappingURL=useFileUploaderAttachment.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, useState } from 'react';\nimport { useClassNamePrefix, useStyleProps } from \"../../hooks/index.js\";\nimport { Icon } from \"../Icon/index.js\";\nimport AttachmentActionButton from \"./AttachmentActionButton.js\";\nimport AttachmentDismissButton from \"./AttachmentDismissButton.js\";\nimport AttachmentImagePreview from \"./AttachmentImagePreview.js\";\nimport { DEFAULT_BUTTON_LABEL, DEFAULT_EDIT_BUTTON_LABEL, DEFAULT_ICON_NAME, IMAGE_PREVIEW_BASE64_MAX_WIDTH, } from \"./constants.js\";\nimport { useFileUploaderAttachment } from \"./useFileUploaderAttachment.js\";\nimport { useFileUploaderStyleProps } from \"./useFileUploaderStyleProps.js\";\nimport { image2Base64Preview } from \"./utils.js\";\nconst FileUploaderAttachment = (props) => {\n    const { editText, file, hasImagePreview, iconName = DEFAULT_ICON_NAME, id, imageObjectFit, label, meta, name, onDismiss, onEdit, onError, removeText } = props, restProps = __rest(props, [\"editText\", \"file\", \"hasImagePreview\", \"iconName\", \"id\", \"imageObjectFit\", \"label\", \"meta\", \"name\", \"onDismiss\", \"onEdit\", \"onError\", \"removeText\"]);\n    const [imagePreview, setImagePreview] = useState('');\n    const { classProps } = useFileUploaderStyleProps();\n    const { styleProps, props: transferProps } = useStyleProps(restProps);\n    const isFileImage = file.type.includes('image');\n    const attachmentRef = useRef();\n    const dismissHandler = () => {\n        if (onDismiss) {\n            onDismiss(id);\n        }\n    };\n    const onEditHandler = (event) => onEdit && onEdit(event, file);\n    if (isFileImage) {\n        image2Base64Preview(file, IMAGE_PREVIEW_BASE64_MAX_WIDTH, (compressedDataURL) => setImagePreview(compressedDataURL));\n    }\n    useFileUploaderAttachment({ attachmentRef, file, name, meta, onError });\n    return (React.createElement(\"li\", Object.assign({ id: id, ref: attachmentRef }, transferProps, styleProps, { className: classNames(classProps.attachment.root, styleProps.className) }),\n        hasImagePreview && imagePreview ? (React.createElement(AttachmentImagePreview, { label: label, imagePreview: imagePreview, meta: meta, imageObjectFit: imageObjectFit })) : (React.createElement(Icon, { name: iconName, \"aria-hidden\": \"true\" })),\n        React.createElement(\"span\", { className: classProps.attachment.name },\n            React.createElement(\"span\", { className: useClassNamePrefix('text-truncate') }, label)),\n        onEdit && (React.createElement(\"span\", { className: classProps.attachment.slot },\n            React.createElement(AttachmentActionButton, { onClick: onEditHandler }, editText || DEFAULT_EDIT_BUTTON_LABEL))),\n        React.createElement(AttachmentDismissButton, { onClick: dismissHandler }, removeText || DEFAULT_BUTTON_LABEL)));\n};\nFileUploaderAttachment.spiritComponent = 'FileUploaderAttachment';\nexport default FileUploaderAttachment;\n//# sourceMappingURL=FileUploaderAttachment.js.map","'use client';\nimport { useState } from 'react';\nexport const useFileQueue = () => {\n    const [queue, setQueue] = useState(new Map());\n    const onDismissHandler = (name) => {\n        setQueue((prev) => {\n            const newState = new Map(prev);\n            newState.delete(name);\n            return newState;\n        });\n        return queue;\n    };\n    const addToQueueHandler = (key, file, meta) => {\n        setQueue((prev) => {\n            const newValue = { file };\n            if (meta != null) {\n                newValue.meta = meta;\n            }\n            return new Map(prev.set(key, newValue));\n        });\n        return queue;\n    };\n    const findInQueueHandler = (key) => queue.get(key) || null;\n    const updateQueueHandler = (key, file, meta) => {\n        setQueue((prev) => {\n            const newState = new Map(prev);\n            const newValue = { file };\n            if (meta != null) {\n                newValue.meta = meta;\n            }\n            newState.set(key, newValue);\n            return newState;\n        });\n        return queue;\n    };\n    const clearQueueHandler = () => {\n        setQueue((prev) => {\n            prev.clear();\n            return new Map(prev);\n        });\n    };\n    return {\n        addToQueue: addToQueueHandler,\n        clearQueue: clearQueueHandler,\n        fileQueue: queue,\n        findInQueue: findInQueueHandler,\n        onDismiss: onDismissHandler,\n        updateQueue: updateQueueHandler,\n    };\n};\n//# sourceMappingURL=useFileQueue.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, { useEffect } from 'react';\nimport FileUploader from \"./FileUploader.js\";\nimport FileUploaderInput from \"./FileUploaderInput.js\";\nimport FileUploaderList from \"./FileUploaderList.js\";\nimport { useFileQueue } from \"./useFileQueue.js\";\nconst UncontrolledFileUploader = (props) => {\n    const { attachmentComponent, maxFileSize, maxUploadedFiles, helperText, iconName, inputId, inputLabel, inputName, inputProps, isLabelHidden, isDisabled, isFluid, queueLimitBehavior, isMultiple, isRequired, labelText, linkText, listId, listProps, onInputError, onChange, errorMessages, validationState, validationText } = props, restProps = __rest(props, [\"attachmentComponent\", \"maxFileSize\", \"maxUploadedFiles\", \"helperText\", \"iconName\", \"inputId\", \"inputLabel\", \"inputName\", \"inputProps\", \"isLabelHidden\", \"isDisabled\", \"isFluid\", \"queueLimitBehavior\", \"isMultiple\", \"isRequired\", \"labelText\", \"linkText\", \"listId\", \"listProps\", \"onInputError\", \"onChange\", \"errorMessages\", \"validationState\", \"validationText\"]);\n    const { fileQueue, addToQueue, clearQueue, onDismiss, findInQueue, updateQueue } = useFileQueue();\n    useEffect(() => {\n        if (onChange) {\n            onChange(fileQueue);\n        }\n    }, [fileQueue]);\n    return (React.createElement(FileUploader, Object.assign({ fileQueue: fileQueue, onDismiss: onDismiss, addToQueue: addToQueue, clearQueue: clearQueue, findInQueue: findInQueue, updateQueue: updateQueue, errorMessages: errorMessages, isFluid: isFluid }, restProps),\n        React.createElement(FileUploaderInput, Object.assign({ maxFileSize: maxFileSize, maxUploadedFiles: maxUploadedFiles, helperText: helperText, iconName: iconName, id: inputId, isLabelHidden: isLabelHidden, isDisabled: isDisabled, queueLimitBehavior: queueLimitBehavior, isMultiple: isMultiple, isRequired: isRequired, label: inputLabel, labelText: labelText, linkText: linkText, name: inputName, onError: onInputError, validationState: validationState, validationText: validationText }, inputProps)),\n        React.createElement(FileUploaderList, Object.assign({ id: listId, inputName: inputName, attachmentComponent: attachmentComponent }, listProps))));\n};\nUncontrolledFileUploader.spiritComponent = 'UncontrolledFileUploader';\nexport default UncontrolledFileUploader;\n//# sourceMappingURL=UncontrolledFileUploader.js.map"],"names":["__rest","this","componentColors","emotionColors","textColors","containers","defaultContext","createContext","DefaultSpacingStyleProp","useContext","useMemo","useLayoutEffect","useEffect","useState","defaultProps","useCallback","cssVariablePrefix","forwardRef","useRef"],"mappings":"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"}