{"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;AAiCM,SAAS,0CAAa,KAAwB;IACnD,QAAQ,CAAA,GAAA,sCAAW,EAAE,OAAO;IAC5B,IAAI,YACF,QAAQ,EACR,cAAc,SAAS,EACvB,mBAAmB,cAAc,EACjC,eAAe,UAAU,EACzB,GAAG,YACJ,GAAG;IACJ,IAAI,cAAC,UAAU,EAAC,GAAG,CAAA,GAAA,uCAAY,EAAE;IAEjC,IAAI,WAAW,aAAa;IAE5B,IAAI,CAAC,YACH,aAAa;IAGf,qBAAO,CAAA,GAAA,sCAAI,EAAE,YAAY,CAAC,UAAU;QAClC,GAAG,CAAA,GAAA,6CAAa,EAAE,WAAW;QAC7B,GAAG,UAAU;QACb,WAAW;QACX,cAAc;QACd,mBAAmB;QACnB,eAAe;QACf,MAAM,WAAW,QAAQ;IAC3B;AACF","sources":["packages/@adobe/react-spectrum/src/icon/Illustration.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AriaLabelingProps, DOMProps, StyleProps} from '@react-types/shared';\nimport {filterDOMProps} from 'react-aria/filterDOMProps';\nimport React, {JSX, ReactElement} from 'react';\nimport {useSlotProps} from '../utils/Slots';\nimport {useStyleProps} from '../utils/styleProps';\n\nexport interface IllustrationProps extends DOMProps, AriaLabelingProps, StyleProps {\n  /**\n   * A screen reader only label for the Illustration.\n   */\n  'aria-label'?: string,\n  /**\n   * The content to display. Should be an SVG.\n   */\n  children: ReactElement<any>,\n  /**\n   * A slot to place the illustration in.\n   * @default 'illustration'\n   */\n  slot?: string,\n  /**\n   * Indicates whether the element is exposed to an accessibility API.\n   */\n  'aria-hidden'?: boolean | 'false' | 'true'\n}\n\nexport type IllustrationPropsWithoutChildren = Omit<IllustrationProps, 'children'>;\n\n/**\n * Wrapper component for illustrations. Use this to wrap your svg element for a custom illustration.\n */\nexport function Illustration(props: IllustrationProps): JSX.Element {\n  props = useSlotProps(props, 'illustration');\n  let {\n    children,\n    'aria-label': ariaLabel,\n    'aria-labelledby': ariaLabelledby,\n    'aria-hidden': ariaHidden,\n    ...otherProps\n  } = props;\n  let {styleProps} = useStyleProps(otherProps);\n\n  let hasLabel = ariaLabel || ariaLabelledby;\n\n  if (!ariaHidden) {\n    ariaHidden = undefined;\n  }\n\n  return React.cloneElement(children, {\n    ...filterDOMProps(otherProps),\n    ...styleProps,\n    focusable: 'false',\n    'aria-label': ariaLabel,\n    'aria-labelledby': ariaLabelledby,\n    'aria-hidden': ariaHidden,\n    role: hasLabel ? 'img' : undefined\n  });\n}\n"],"names":[],"version":3,"file":"Illustration.cjs.map"}