@frontify/fondue 13.5.0 → 13.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AssetInput/AssetInput.es.js.map +1 -1
- package/dist/components/AssetInput/AssetThumbnail.es.js.map +1 -1
- package/dist/components/AssetInput/MultiAssetPreview/MultiAssetPreview.es.js.map +1 -1
- package/dist/components/AssetInput/MultiAssetPreview/SelectedAssetsThumbnail.es.js.map +1 -1
- package/dist/components/AssetInput/SingleAsset/AssetSubline.es.js.map +1 -1
- package/dist/components/AssetInput/SingleAsset/SelectedAsset.es.js.map +1 -1
- package/dist/components/AssetInput/SingleAsset/SpinningCircle.es.js.map +1 -1
- package/dist/components/AssetInput/types.es.js.map +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +48 -0
- package/dist/index.umd.js.map +1 -1
- package/dist/packages/components/style.css +1 -1
- package/dist/packages/locales/de-CH.js +4 -2
- package/dist/packages/locales/de-CH.js.map +1 -1
- package/dist/packages/locales/de-DE.js +2 -0
- package/dist/packages/locales/de-DE.js.map +1 -1
- package/dist/packages/locales/en-US.d.ts +2 -0
- package/dist/packages/locales/en-US.js +2 -0
- package/dist/packages/locales/en-US.js.map +1 -1
- package/dist/packages/locales/es-ES.js +2 -0
- package/dist/packages/locales/es-ES.js.map +1 -1
- package/dist/packages/locales/fr-CH.js +2 -0
- package/dist/packages/locales/fr-CH.js.map +1 -1
- package/dist/packages/locales/fr-FR.js +2 -0
- package/dist/packages/locales/fr-FR.js.map +1 -1
- package/dist/packages/locales/it-CH.js +2 -0
- package/dist/packages/locales/it-CH.js.map +1 -1
- package/dist/packages/locales/it-IT.js +2 -0
- package/dist/packages/locales/it-IT.js.map +1 -1
- package/dist/packages/locales/nl-NL.js +2 -0
- package/dist/packages/locales/nl-NL.js.map +1 -1
- package/dist/packages/locales/pl-PL.js +2 -0
- package/dist/packages/locales/pl-PL.js.map +1 -1
- package/dist/packages/locales/pt-PT.js +4 -2
- package/dist/packages/locales/pt-PT.js.map +1 -1
- package/dist/packages/rte/style.css +1 -1
- package/dist/tools/codemod/index.js +16 -0
- package/dist/tools/internal/index.js +16 -16
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetInput.es.js","sources":["../../../src/components/AssetInput/AssetInput.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type FondueIconProps, IconArrowCircleUp, IconImageStack } from '@frontify/fondue-icons';\nimport { type ChangeEvent, type ReactElement, useRef } from 'react';\n\nimport { type ActionMenuProps } from '@components/ActionMenu/ActionMenu';\nimport { Button } from '@components/Button/Button';\nimport { ButtonEmphasis, ButtonStyle } from '@components/Button/ButtonTypes';\nimport { useMemoizedId } from '@hooks/useMemoizedId';\nimport { merge } from '@utilities/merge';\n\nimport { MultiAssetPreview } from './MultiAssetPreview';\nimport { SelectedAsset } from './SingleAsset/SelectedAsset';\nimport { type AssetInputMenuBlock } from './types';\n\ntype BaseAsset = {\n name: string;\n};\n\nexport type ImageAsset = {\n type: 'image' | 'logo';\n name: string;\n extension: string;\n src?: string;\n alt?: string;\n icon?: undefined;\n size: number;\n};\n\ntype OtherAsset = BaseAsset & {\n type: 'audio';\n extension: string;\n src?: undefined;\n alt?: undefined;\n icon?: undefined;\n size: number;\n};\n\ntype IconAsset = BaseAsset & {\n type: 'icon';\n extension?: undefined;\n src?: undefined;\n alt?: undefined;\n icon: ReactElement<FondueIconProps>;\n size?: undefined;\n};\n\nexport type UploadSource = { source: 'upload'; sourceName?: undefined };\nexport type LibrarySource = { source: 'library'; sourceName: string };\n\nexport enum AssetInputSize {\n Small = 'Small',\n Large = 'Large',\n}\n\nexport type AssetType =\n | (ImageAsset & UploadSource)\n | (ImageAsset & LibrarySource)\n | (IconAsset & UploadSource)\n | (IconAsset & LibrarySource)\n | (OtherAsset & UploadSource)\n | (OtherAsset & LibrarySource);\n\nexport type AssetInputProps = {\n assets?: AssetType[];\n size: AssetInputSize;\n numberOfLocations?: number;\n actions?: ActionMenuProps['menuBlocks'] | AssetInputMenuBlock[];\n isLoading?: boolean;\n hideSize?: boolean;\n hideExtension?: boolean;\n onUploadClick?: (files: FileList) => void;\n onLibraryClick?: () => void;\n onMultiAssetClick?: () => void;\n acceptFileType?: string;\n};\n\nexport const AssetInput = ({\n assets = [],\n numberOfLocations = 1,\n actions = [],\n size = AssetInputSize.Small,\n isLoading = false,\n hideSize = false,\n hideExtension = false,\n onLibraryClick,\n onUploadClick,\n onMultiAssetClick,\n acceptFileType,\n}: AssetInputProps): ReactElement => {\n const assetsLength = assets.length;\n const inputFile = useRef<HTMLInputElement | null>(null);\n const id = useMemoizedId();\n\n const onFileChange = (event: ChangeEvent<HTMLInputElement>) => {\n const files = event.target.files;\n\n if (files && onUploadClick) {\n onUploadClick(files);\n }\n };\n\n const onOpenFileUpload = () => {\n if (inputFile.current) {\n inputFile.current.click();\n }\n };\n\n if ((isLoading || assetsLength === 1) && actions) {\n return (\n <SelectedAsset\n asset={assets[0]}\n size={size}\n actions={actions}\n isLoading={isLoading}\n hideExtension={hideExtension}\n hideSize={hideSize}\n />\n );\n }\n\n if (assetsLength > 1 && onMultiAssetClick) {\n return <MultiAssetPreview assets={assets} onClick={onMultiAssetClick} numberOfLocations={numberOfLocations} />;\n }\n\n return (\n <div\n data-test-id=\"asset-input-placeholder\"\n className={merge([\n 'tw-grid tw-p-3 tw-border tw-border-dashed tw-border-black-10 tw-rounded',\n onUploadClick && onLibraryClick ? 'tw-grid-cols-2 tw-divide-x tw-divide-black-10' : 'tw-grid-cols-1',\n ])}\n >\n {onUploadClick && (\n <div\n className={merge(['tw-flex tw-flex-col tw-h-8', onLibraryClick && 'tw-pr-3'])}\n data-test-id=\"asset-input-upload\"\n >\n <Button\n style={ButtonStyle.Default}\n onClick={onOpenFileUpload}\n emphasis={ButtonEmphasis.Weak}\n icon={<IconArrowCircleUp />}\n >\n Upload\n </Button>\n <input\n id={id}\n ref={inputFile}\n className=\"tw-hidden\"\n type=\"file\"\n accept={acceptFileType}\n multiple={!!onMultiAssetClick}\n onChange={onFileChange}\n />\n </div>\n )}\n {onLibraryClick && (\n <div\n className={merge(['tw-flex tw-flex-col tw-h-8', onUploadClick && 'tw-pl-3'])}\n data-test-id=\"asset-input-library\"\n >\n <Button\n style={ButtonStyle.Default}\n onClick={onLibraryClick}\n emphasis={ButtonEmphasis.Weak}\n icon={<IconImageStack />}\n >\n Browse\n </Button>\n </div>\n )}\n </div>\n );\n};\nAssetInput.displayName = 'FondueAssetInput';\n"],"names":["AssetInputSize","AssetInput","assets","numberOfLocations","actions","size","isLoading","hideSize","hideExtension","onLibraryClick","onUploadClick","onMultiAssetClick","acceptFileType","assetsLength","inputFile","useRef","id","useMemoizedId","onFileChange","event","files","onOpenFileUpload","jsx","SelectedAsset","MultiAssetPreview","jsxs","merge","Button","ButtonStyle","ButtonEmphasis","IconArrowCircleUp","IconImageStack"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"AssetInput.es.js","sources":["../../../src/components/AssetInput/AssetInput.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type FondueIconProps, IconArrowCircleUp, IconImageStack } from '@frontify/fondue-icons';\nimport { type ChangeEvent, type ReactElement, useRef } from 'react';\n\nimport { type ActionMenuProps } from '@components/ActionMenu/ActionMenu';\nimport { Button } from '@components/Button/Button';\nimport { ButtonEmphasis, ButtonStyle } from '@components/Button/ButtonTypes';\nimport { useMemoizedId } from '@hooks/useMemoizedId';\nimport { merge } from '@utilities/merge';\n\nimport { MultiAssetPreview } from './MultiAssetPreview';\nimport { SelectedAsset } from './SingleAsset/SelectedAsset';\nimport { type AssetInputMenuBlock } from './types';\n\ntype BaseAsset = {\n name: string;\n};\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type ImageAsset = {\n type: 'image' | 'logo';\n name: string;\n extension: string;\n src?: string;\n alt?: string;\n icon?: undefined;\n size: number;\n};\n\ntype OtherAsset = BaseAsset & {\n type: 'audio';\n extension: string;\n src?: undefined;\n alt?: undefined;\n icon?: undefined;\n size: number;\n};\n\ntype IconAsset = BaseAsset & {\n type: 'icon';\n extension?: undefined;\n src?: undefined;\n alt?: undefined;\n icon: ReactElement<FondueIconProps>;\n size?: undefined;\n};\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type UploadSource = { source: 'upload'; sourceName?: undefined };\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type LibrarySource = { source: 'library'; sourceName: string };\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport enum AssetInputSize {\n Small = 'Small',\n Large = 'Large',\n}\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type AssetType =\n | (ImageAsset & UploadSource)\n | (ImageAsset & LibrarySource)\n | (IconAsset & UploadSource)\n | (IconAsset & LibrarySource)\n | (OtherAsset & UploadSource)\n | (OtherAsset & LibrarySource);\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type AssetInputProps = {\n assets?: AssetType[];\n size: AssetInputSize;\n numberOfLocations?: number;\n actions?: ActionMenuProps['menuBlocks'] | AssetInputMenuBlock[];\n isLoading?: boolean;\n hideSize?: boolean;\n hideExtension?: boolean;\n onUploadClick?: (files: FileList) => void;\n onLibraryClick?: () => void;\n onMultiAssetClick?: () => void;\n acceptFileType?: string;\n};\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport const AssetInput = ({\n assets = [],\n numberOfLocations = 1,\n actions = [],\n size = AssetInputSize.Small,\n isLoading = false,\n hideSize = false,\n hideExtension = false,\n onLibraryClick,\n onUploadClick,\n onMultiAssetClick,\n acceptFileType,\n}: AssetInputProps): ReactElement => {\n const assetsLength = assets.length;\n const inputFile = useRef<HTMLInputElement | null>(null);\n const id = useMemoizedId();\n\n const onFileChange = (event: ChangeEvent<HTMLInputElement>) => {\n const files = event.target.files;\n\n if (files && onUploadClick) {\n onUploadClick(files);\n }\n };\n\n const onOpenFileUpload = () => {\n if (inputFile.current) {\n inputFile.current.click();\n }\n };\n\n if ((isLoading || assetsLength === 1) && actions) {\n return (\n <SelectedAsset\n asset={assets[0]}\n size={size}\n actions={actions}\n isLoading={isLoading}\n hideExtension={hideExtension}\n hideSize={hideSize}\n />\n );\n }\n\n if (assetsLength > 1 && onMultiAssetClick) {\n return <MultiAssetPreview assets={assets} onClick={onMultiAssetClick} numberOfLocations={numberOfLocations} />;\n }\n\n return (\n <div\n data-test-id=\"asset-input-placeholder\"\n className={merge([\n 'tw-grid tw-p-3 tw-border tw-border-dashed tw-border-black-10 tw-rounded',\n onUploadClick && onLibraryClick ? 'tw-grid-cols-2 tw-divide-x tw-divide-black-10' : 'tw-grid-cols-1',\n ])}\n >\n {onUploadClick && (\n <div\n className={merge(['tw-flex tw-flex-col tw-h-8', onLibraryClick && 'tw-pr-3'])}\n data-test-id=\"asset-input-upload\"\n >\n <Button\n style={ButtonStyle.Default}\n onClick={onOpenFileUpload}\n emphasis={ButtonEmphasis.Weak}\n icon={<IconArrowCircleUp />}\n >\n Upload\n </Button>\n <input\n id={id}\n ref={inputFile}\n className=\"tw-hidden\"\n type=\"file\"\n accept={acceptFileType}\n multiple={!!onMultiAssetClick}\n onChange={onFileChange}\n />\n </div>\n )}\n {onLibraryClick && (\n <div\n className={merge(['tw-flex tw-flex-col tw-h-8', onUploadClick && 'tw-pl-3'])}\n data-test-id=\"asset-input-library\"\n >\n <Button\n style={ButtonStyle.Default}\n onClick={onLibraryClick}\n emphasis={ButtonEmphasis.Weak}\n icon={<IconImageStack />}\n >\n Browse\n </Button>\n </div>\n )}\n </div>\n );\n};\nAssetInput.displayName = 'FondueAssetInput';\n"],"names":["AssetInputSize","AssetInput","assets","numberOfLocations","actions","size","isLoading","hideSize","hideExtension","onLibraryClick","onUploadClick","onMultiAssetClick","acceptFileType","assetsLength","inputFile","useRef","id","useMemoizedId","onFileChange","event","files","onOpenFileUpload","jsx","SelectedAsset","MultiAssetPreview","jsxs","merge","Button","ButtonStyle","ButtonEmphasis","IconArrowCircleUp","IconImageStack"],"mappings":";;;;;;;;;AA+DO,IAAKA,sBAAAA,OACRA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SAFAA,IAAAA,KAAA,CAAA,CAAA;AAoCL,MAAMC,IAAa,CAAC;AAAA,EACvB,QAAAC,IAAS,CAAA;AAAA,EACT,mBAAAC,IAAoB;AAAA,EACpB,SAAAC,IAAU,CAAA;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,eAAAC,IAAgB;AAAA,EAChB,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,gBAAAC;AACJ,MAAqC;AACjC,QAAMC,IAAeX,EAAO,QACtBY,IAAYC,EAAgC,IAAI,GAChDC,IAAKC,EAAA,GAELC,IAAe,CAACC,MAAyC;AAC3D,UAAMC,IAAQD,EAAM,OAAO;AAE3B,IAAIC,KAASV,KACTA,EAAcU,CAAK;AAAA,EAE3B,GAEMC,IAAmB,MAAM;AAC3B,IAAIP,EAAU,WACVA,EAAU,QAAQ,MAAA;AAAA,EAE1B;AAEA,UAAKR,KAAaO,MAAiB,MAAMT,IAEjC,gBAAAkB;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,OAAOrB,EAAO,CAAC;AAAA,MACf,MAAAG;AAAA,MACA,SAAAD;AAAA,MACA,WAAAE;AAAA,MACA,eAAAE;AAAA,MACA,UAAAD;AAAA,IAAA;AAAA,EAAA,IAKRM,IAAe,KAAKF,IACb,gBAAAW,EAACE,GAAA,EAAkB,QAAAtB,GAAgB,SAASS,GAAmB,mBAAAR,GAAsC,IAI5G,gBAAAsB;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,gBAAa;AAAA,MACb,WAAWC,EAAM;AAAA,QACb;AAAA,QACAhB,KAAiBD,IAAiB,kDAAkD;AAAA,MAAA,CACvF;AAAA,MAEA,UAAA;AAAA,QAAAC,KACG,gBAAAe;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAWC,EAAM,CAAC,8BAA8BjB,KAAkB,SAAS,CAAC;AAAA,YAC5E,gBAAa;AAAA,YAEb,UAAA;AAAA,cAAA,gBAAAa;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACG,OAAOC,EAAY;AAAA,kBACnB,SAASP;AAAA,kBACT,UAAUQ,EAAe;AAAA,kBACzB,wBAAOC,GAAA,EAAkB;AAAA,kBAC5B,UAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGD,gBAAAR;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,IAAAN;AAAA,kBACA,KAAKF;AAAA,kBACL,WAAU;AAAA,kBACV,MAAK;AAAA,kBACL,QAAQF;AAAA,kBACR,UAAU,CAAC,CAACD;AAAA,kBACZ,UAAUO;AAAA,gBAAA;AAAA,cAAA;AAAA,YACd;AAAA,UAAA;AAAA,QAAA;AAAA,QAGPT,KACG,gBAAAa;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAWI,EAAM,CAAC,8BAA8BhB,KAAiB,SAAS,CAAC;AAAA,YAC3E,gBAAa;AAAA,YAEb,UAAA,gBAAAY;AAAA,cAACK;AAAA,cAAA;AAAA,gBACG,OAAOC,EAAY;AAAA,gBACnB,SAASnB;AAAA,gBACT,UAAUoB,EAAe;AAAA,gBACzB,wBAAOE,GAAA,EAAe;AAAA,gBACzB,UAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAED;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA;AAAA,EAAA;AAIhB;AACA9B,EAAW,cAAc;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetThumbnail.es.js","sources":["../../../src/components/AssetInput/AssetThumbnail.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconMusicNote } from '@frontify/fondue-icons';\nimport { type ReactElement, cloneElement } from 'react';\n\nimport { merge } from '@utilities/merge';\n\nimport { type AssetInputProps, AssetInputSize } from './AssetInput';\nimport { type SelectedAssetProps } from './SingleAsset/SelectedAsset';\n\ntype AssetThumbnailProps = {\n asset: SelectedAssetProps['asset'];\n size: AssetInputProps['size'];\n isActive?: boolean;\n isMultiAsset?: boolean;\n};\n\nconst getIconSizeClassNames = (size: AssetInputSize, isMultiAsset: boolean) => {\n switch (true) {\n case size === AssetInputSize.Large:\n return 'tw-w-full tw-h-32';\n case isMultiAsset:\n return 'tw-w-11 tw-h-11';\n default:\n return 'tw-w-14 tw-h-full';\n }\n};\n\nexport const AssetThumbnail = ({\n asset,\n size,\n isActive = false,\n isMultiAsset = false,\n}: AssetThumbnailProps): ReactElement => {\n const thumbnailVariant = asset.type === 'icon' || asset.type === 'audio' ? asset.type : 'default';\n\n return (\n <div\n className={merge([\n 'tw-flex tw-flex-none tw-items-center tw-justify-center tw-bg-black-5 dark:tw-bg-black-95',\n getIconSizeClassNames(size, isMultiAsset),\n isActive ? 'tw-text-black-100 dark:tw-text-white' : 'tw-text-black-80 dark:tw-text-black-20',\n ])}\n data-test-id=\"asset-input-thumbnail\"\n >\n {thumbnailVariant === 'icon' && (\n <span data-test-id=\"asset-input-thumbnail-icon\">\n {asset.icon && cloneElement(asset.icon, { size: 24 })}\n </span>\n )}\n {thumbnailVariant === 'audio' && <IconMusicNote size={24} data-test-id=\"asset-input-thumbnail-audio\" />}\n {thumbnailVariant === 'default' && (\n <img\n src={asset.src}\n alt={asset.alt || ''}\n className=\"tw-max-h-full\"\n data-test-id=\"asset-input-thumbnail-image\"\n />\n )}\n </div>\n );\n};\nAssetThumbnail.displayName = 'FondueAssetThumbnail';\n"],"names":["getIconSizeClassNames","size","isMultiAsset","AssetInputSize","AssetThumbnail","asset","isActive","thumbnailVariant","jsxs","merge","jsx","cloneElement","IconMusicNote"],"mappings":";;;;;AAiBA,MAAMA,IAAwB,CAACC,GAAsBC,MAA0B;AAC3E,UAAQ,IAAA;AAAA,IACJ,KAAKD,MAASE,EAAe;AACzB,aAAO;AAAA,IACX,KAAKD;AACD,aAAO;AAAA,IACX;AACI,aAAO;AAAA,EAAA;AAEnB,
|
|
1
|
+
{"version":3,"file":"AssetThumbnail.es.js","sources":["../../../src/components/AssetInput/AssetThumbnail.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconMusicNote } from '@frontify/fondue-icons';\nimport { type ReactElement, cloneElement } from 'react';\n\nimport { merge } from '@utilities/merge';\n\nimport { type AssetInputProps, AssetInputSize } from './AssetInput';\nimport { type SelectedAssetProps } from './SingleAsset/SelectedAsset';\n\ntype AssetThumbnailProps = {\n asset: SelectedAssetProps['asset'];\n size: AssetInputProps['size'];\n isActive?: boolean;\n isMultiAsset?: boolean;\n};\n\nconst getIconSizeClassNames = (size: AssetInputSize, isMultiAsset: boolean) => {\n switch (true) {\n case size === AssetInputSize.Large:\n return 'tw-w-full tw-h-32';\n case isMultiAsset:\n return 'tw-w-11 tw-h-11';\n default:\n return 'tw-w-14 tw-h-full';\n }\n};\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport const AssetThumbnail = ({\n asset,\n size,\n isActive = false,\n isMultiAsset = false,\n}: AssetThumbnailProps): ReactElement => {\n const thumbnailVariant = asset.type === 'icon' || asset.type === 'audio' ? asset.type : 'default';\n\n return (\n <div\n className={merge([\n 'tw-flex tw-flex-none tw-items-center tw-justify-center tw-bg-black-5 dark:tw-bg-black-95',\n getIconSizeClassNames(size, isMultiAsset),\n isActive ? 'tw-text-black-100 dark:tw-text-white' : 'tw-text-black-80 dark:tw-text-black-20',\n ])}\n data-test-id=\"asset-input-thumbnail\"\n >\n {thumbnailVariant === 'icon' && (\n <span data-test-id=\"asset-input-thumbnail-icon\">\n {asset.icon && cloneElement(asset.icon, { size: 24 })}\n </span>\n )}\n {thumbnailVariant === 'audio' && <IconMusicNote size={24} data-test-id=\"asset-input-thumbnail-audio\" />}\n {thumbnailVariant === 'default' && (\n <img\n src={asset.src}\n alt={asset.alt || ''}\n className=\"tw-max-h-full\"\n data-test-id=\"asset-input-thumbnail-image\"\n />\n )}\n </div>\n );\n};\nAssetThumbnail.displayName = 'FondueAssetThumbnail';\n"],"names":["getIconSizeClassNames","size","isMultiAsset","AssetInputSize","AssetThumbnail","asset","isActive","thumbnailVariant","jsxs","merge","jsx","cloneElement","IconMusicNote"],"mappings":";;;;;AAiBA,MAAMA,IAAwB,CAACC,GAAsBC,MAA0B;AAC3E,UAAQ,IAAA;AAAA,IACJ,KAAKD,MAASE,EAAe;AACzB,aAAO;AAAA,IACX,KAAKD;AACD,aAAO;AAAA,IACX;AACI,aAAO;AAAA,EAAA;AAEnB,GAKaE,IAAiB,CAAC;AAAA,EAC3B,OAAAC;AAAA,EACA,MAAAJ;AAAA,EACA,UAAAK,IAAW;AAAA,EACX,cAAAJ,IAAe;AACnB,MAAyC;AACrC,QAAMK,IAAmBF,EAAM,SAAS,UAAUA,EAAM,SAAS,UAAUA,EAAM,OAAO;AAExF,SACI,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC,EAAM;AAAA,QACb;AAAA,QACAT,EAAsBC,GAAMC,CAAY;AAAA,QACxCI,IAAW,yCAAyC;AAAA,MAAA,CACvD;AAAA,MACD,gBAAa;AAAA,MAEZ,UAAA;AAAA,QAAAC,MAAqB,UAClB,gBAAAG,EAAC,QAAA,EAAK,gBAAa,8BACd,UAAAL,EAAM,QAAQM,EAAaN,EAAM,MAAM,EAAE,MAAM,GAAA,CAAI,GACxD;AAAA,QAEHE,MAAqB,WAAW,gBAAAG,EAACE,KAAc,MAAM,IAAI,gBAAa,+BAA8B;AAAA,QACpGL,MAAqB,aAClB,gBAAAG;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,KAAKL,EAAM;AAAA,YACX,KAAKA,EAAM,OAAO;AAAA,YAClB,WAAU;AAAA,YACV,gBAAa;AAAA,UAAA;AAAA,QAAA;AAAA,MACjB;AAAA,IAAA;AAAA,EAAA;AAIhB;AACAD,EAAe,cAAc;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiAssetPreview.es.js","sources":["../../../../src/components/AssetInput/MultiAssetPreview/MultiAssetPreview.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCaretRight } from '@frontify/fondue-icons';\nimport { useButton } from '@react-aria/button';\nimport { useFocusRing } from '@react-aria/focus';\nimport { mergeProps } from '@react-aria/utils';\nimport { type ReactElement, useRef } from 'react';\n\nimport { FOCUS_STYLE } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\n\nimport { type AssetType } from '../AssetInput';\n\nimport { SelectedAssetsThumbnail } from './SelectedAssetsThumbnail';\n\nexport type MultiAssetPreviewProps = {\n numberOfLocations: number;\n assets: AssetType[];\n onClick: () => void;\n};\n\nexport const MultiAssetPreview = ({ numberOfLocations, assets, onClick }: MultiAssetPreviewProps): ReactElement => {\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const { buttonProps } = useButton({ onPress: onClick }, buttonRef);\n const { isFocusVisible, focusProps } = useFocusRing();\n const assetsLength = assets.length;\n\n return (\n <div data-test-id=\"multi-asset-preview\">\n <button\n type=\"button\"\n title=\"multi-asset-preview\"\n {...mergeProps(buttonProps, focusProps)}\n ref={buttonRef}\n className={merge([\n 'tw-flex tw-border tw-rounded hover:tw-border-black-90 dark:hover:tw-border-black-40 focus-visible:tw-outline-none dark:tw-text-white tw-mb-4 tw-w-full',\n isFocusVisible\n ? `${FOCUS_STYLE} tw-border-black-90 dark:tw-border-black-10`\n : 'tw-border-black-20 dark:tw-border-black-80',\n ])}\n >\n <SelectedAssetsThumbnail assets={assets} />\n\n <div className=\"tw-py-6 tw-px-4 tw-flex\">\n <div className=\"tw-text-left\">\n <div className=\"tw-font-bold tw-text-m\" data-test-id=\"assets-amount\">\n {assetsLength} {assetsLength === 1 ? 'Asset' : 'Assets'}\n </div>\n <div className=\"tw-text-black-60 tw-text-s tw-mt-1\" data-test-id=\"number-of-locations\">\n {numberOfLocations} {numberOfLocations === 1 ? 'location' : 'locations'}\n </div>\n </div>\n <div className=\"tw-flex tw-items-center tw-text-black-70 tw-pl-4\">\n <div className=\"tw-absolute tw-right-12\">\n <IconCaretRight size={24} />\n </div>\n </div>\n </div>\n </button>\n </div>\n );\n};\n"],"names":["MultiAssetPreview","numberOfLocations","assets","onClick","buttonRef","useRef","buttonProps","useButton","isFocusVisible","focusProps","useFocusRing","assetsLength","jsx","jsxs","mergeProps","merge","FOCUS_STYLE","SelectedAssetsThumbnail","IconCaretRight"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"MultiAssetPreview.es.js","sources":["../../../../src/components/AssetInput/MultiAssetPreview/MultiAssetPreview.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCaretRight } from '@frontify/fondue-icons';\nimport { useButton } from '@react-aria/button';\nimport { useFocusRing } from '@react-aria/focus';\nimport { mergeProps } from '@react-aria/utils';\nimport { type ReactElement, useRef } from 'react';\n\nimport { FOCUS_STYLE } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\n\nimport { type AssetType } from '../AssetInput';\n\nimport { SelectedAssetsThumbnail } from './SelectedAssetsThumbnail';\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type MultiAssetPreviewProps = {\n numberOfLocations: number;\n assets: AssetType[];\n onClick: () => void;\n};\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport const MultiAssetPreview = ({ numberOfLocations, assets, onClick }: MultiAssetPreviewProps): ReactElement => {\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const { buttonProps } = useButton({ onPress: onClick }, buttonRef);\n const { isFocusVisible, focusProps } = useFocusRing();\n const assetsLength = assets.length;\n\n return (\n <div data-test-id=\"multi-asset-preview\">\n <button\n type=\"button\"\n title=\"multi-asset-preview\"\n {...mergeProps(buttonProps, focusProps)}\n ref={buttonRef}\n className={merge([\n 'tw-flex tw-border tw-rounded hover:tw-border-black-90 dark:hover:tw-border-black-40 focus-visible:tw-outline-none dark:tw-text-white tw-mb-4 tw-w-full',\n isFocusVisible\n ? `${FOCUS_STYLE} tw-border-black-90 dark:tw-border-black-10`\n : 'tw-border-black-20 dark:tw-border-black-80',\n ])}\n >\n <SelectedAssetsThumbnail assets={assets} />\n\n <div className=\"tw-py-6 tw-px-4 tw-flex\">\n <div className=\"tw-text-left\">\n <div className=\"tw-font-bold tw-text-m\" data-test-id=\"assets-amount\">\n {assetsLength} {assetsLength === 1 ? 'Asset' : 'Assets'}\n </div>\n <div className=\"tw-text-black-60 tw-text-s tw-mt-1\" data-test-id=\"number-of-locations\">\n {numberOfLocations} {numberOfLocations === 1 ? 'location' : 'locations'}\n </div>\n </div>\n <div className=\"tw-flex tw-items-center tw-text-black-70 tw-pl-4\">\n <div className=\"tw-absolute tw-right-12\">\n <IconCaretRight size={24} />\n </div>\n </div>\n </div>\n </button>\n </div>\n );\n};\n"],"names":["MultiAssetPreview","numberOfLocations","assets","onClick","buttonRef","useRef","buttonProps","useButton","isFocusVisible","focusProps","useFocusRing","assetsLength","jsx","jsxs","mergeProps","merge","FOCUS_STYLE","SelectedAssetsThumbnail","IconCaretRight"],"mappings":";;;;;;;;;AA2BO,MAAMA,IAAoB,CAAC,EAAE,mBAAAC,GAAmB,QAAAC,GAAQ,SAAAC,QAAoD;AAC/G,QAAMC,IAAYC,EAAiC,IAAI,GACjD,EAAE,aAAAC,MAAgBC,EAAU,EAAE,SAASJ,EAAA,GAAWC,CAAS,GAC3D,EAAE,gBAAAI,GAAgB,YAAAC,EAAA,IAAeC,EAAA,GACjCC,IAAeT,EAAO;AAE5B,SACI,gBAAAU,EAAC,OAAA,EAAI,gBAAa,uBACd,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,MAAK;AAAA,MACL,OAAM;AAAA,MACL,GAAGC,EAAWR,GAAaG,CAAU;AAAA,MACtC,KAAKL;AAAA,MACL,WAAWW,EAAM;AAAA,QACb;AAAA,QACAP,IACM,GAAGQ,CAAW,gDACd;AAAA,MAAA,CACT;AAAA,MAED,UAAA;AAAA,QAAA,gBAAAJ,EAACK,KAAwB,QAAAf,GAAgB;AAAA,QAEzC,gBAAAW,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,gBACX,UAAA;AAAA,YAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,0BAAyB,gBAAa,iBAChD,UAAA;AAAA,cAAAF;AAAA,cAAa;AAAA,cAAEA,MAAiB,IAAI,UAAU;AAAA,YAAA,GACnD;AAAA,YACA,gBAAAE,EAAC,OAAA,EAAI,WAAU,sCAAqC,gBAAa,uBAC5D,UAAA;AAAA,cAAAZ;AAAA,cAAkB;AAAA,cAAEA,MAAsB,IAAI,aAAa;AAAA,YAAA,EAAA,CAChE;AAAA,UAAA,GACJ;AAAA,UACA,gBAAAW,EAAC,OAAA,EAAI,WAAU,oDACX,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA,gBAAAA,EAACM,GAAA,EAAe,MAAM,GAAA,CAAI,GAC9B,EAAA,CACJ;AAAA,QAAA,EAAA,CACJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAER;AAER;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectedAssetsThumbnail.es.js","sources":["../../../../src/components/AssetInput/MultiAssetPreview/SelectedAssetsThumbnail.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type ReactElement } from 'react';\n\nimport { merge } from '@utilities/merge';\n\nimport { AssetInputSize, type AssetType, type ImageAsset, type LibrarySource } from '../AssetInput';\nimport { AssetThumbnail } from '../AssetThumbnail';\n\nimport { type MultiAssetPreviewProps } from './MultiAssetPreview';\n\nconst isImageAsset = (asset: AssetType): asset is ImageAsset & LibrarySource =>\n asset.type === 'image' || asset.type === 'logo';\n\nexport const SelectedAssetsThumbnail = ({ assets }: Pick<MultiAssetPreviewProps, 'assets'>): ReactElement => {\n const assetslength = assets.length;\n const previewAssets = assets.slice(0, 4);\n\n if (assetslength < 4) {\n for (const [index] of [...Array(4 - assetslength)].entries()) {\n previewAssets.push({\n name: `empty picture ${index + 1}`,\n size: 20,\n type: 'image',\n extension: '',\n src: '',\n source: 'upload',\n });\n }\n }\n return (\n <div className=\"tw-border-black-20 tw-grid tw-grid-cols-2 tw-gap-0.5\">\n {previewAssets.map((asset, index) =>\n isImageAsset(asset) ? (\n <div\n data-test-id=\"assets-image\"\n key={asset.name}\n style={asset.src ? { backgroundImage: `url(${asset.src})` } : {}}\n className={merge([\n index === 0 ? 'tw-rounded-tl' : index === 2 && 'tw-rounded-bl',\n 'tw-h-11 tw-w-11 tw-bg-black-5',\n ])}\n />\n ) : (\n <div className=\"tw-h-11 tw-w-11\" key={asset.src}>\n <AssetThumbnail asset={asset} size={AssetInputSize.Small} isMultiAsset />\n </div>\n ),\n )}\n </div>\n );\n};\nSelectedAssetsThumbnail.displayName = 'FondueSelectedAssetsThumbnail';\n"],"names":["isImageAsset","asset","SelectedAssetsThumbnail","assets","assetslength","previewAssets","index","jsx","merge","AssetThumbnail","AssetInputSize"],"mappings":";;;;AAWA,MAAMA,IAAe,CAACC,MAClBA,EAAM,SAAS,WAAWA,EAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"SelectedAssetsThumbnail.es.js","sources":["../../../../src/components/AssetInput/MultiAssetPreview/SelectedAssetsThumbnail.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type ReactElement } from 'react';\n\nimport { merge } from '@utilities/merge';\n\nimport { AssetInputSize, type AssetType, type ImageAsset, type LibrarySource } from '../AssetInput';\nimport { AssetThumbnail } from '../AssetThumbnail';\n\nimport { type MultiAssetPreviewProps } from './MultiAssetPreview';\n\nconst isImageAsset = (asset: AssetType): asset is ImageAsset & LibrarySource =>\n asset.type === 'image' || asset.type === 'logo';\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport const SelectedAssetsThumbnail = ({ assets }: Pick<MultiAssetPreviewProps, 'assets'>): ReactElement => {\n const assetslength = assets.length;\n const previewAssets = assets.slice(0, 4);\n\n if (assetslength < 4) {\n for (const [index] of [...Array(4 - assetslength)].entries()) {\n previewAssets.push({\n name: `empty picture ${index + 1}`,\n size: 20,\n type: 'image',\n extension: '',\n src: '',\n source: 'upload',\n });\n }\n }\n return (\n <div className=\"tw-border-black-20 tw-grid tw-grid-cols-2 tw-gap-0.5\">\n {previewAssets.map((asset, index) =>\n isImageAsset(asset) ? (\n <div\n data-test-id=\"assets-image\"\n key={asset.name}\n style={asset.src ? { backgroundImage: `url(${asset.src})` } : {}}\n className={merge([\n index === 0 ? 'tw-rounded-tl' : index === 2 && 'tw-rounded-bl',\n 'tw-h-11 tw-w-11 tw-bg-black-5',\n ])}\n />\n ) : (\n <div className=\"tw-h-11 tw-w-11\" key={asset.src}>\n <AssetThumbnail asset={asset} size={AssetInputSize.Small} isMultiAsset />\n </div>\n ),\n )}\n </div>\n );\n};\nSelectedAssetsThumbnail.displayName = 'FondueSelectedAssetsThumbnail';\n"],"names":["isImageAsset","asset","SelectedAssetsThumbnail","assets","assetslength","previewAssets","index","jsx","merge","AssetThumbnail","AssetInputSize"],"mappings":";;;;AAWA,MAAMA,IAAe,CAACC,MAClBA,EAAM,SAAS,WAAWA,EAAM,SAAS,QAKhCC,IAA0B,CAAC,EAAE,QAAAC,QAAmE;AACzG,QAAMC,IAAeD,EAAO,QACtBE,IAAgBF,EAAO,MAAM,GAAG,CAAC;AAEvC,MAAIC,IAAe;AACf,eAAW,CAACE,CAAK,KAAK,CAAC,GAAG,MAAM,IAAIF,CAAY,CAAC,EAAE;AAC/C,MAAAC,EAAc,KAAK;AAAA,QACf,MAAM,iBAAiBC,IAAQ,CAAC;AAAA,QAChC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,QACX,KAAK;AAAA,QACL,QAAQ;AAAA,MAAA,CACX;AAGT,SACI,gBAAAC,EAAC,OAAA,EAAI,WAAU,wDACV,UAAAF,EAAc;AAAA,IAAI,CAACJ,GAAOK,MACvBN,EAAaC,CAAK,IACd,gBAAAM;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,gBAAa;AAAA,QAEb,OAAON,EAAM,MAAM,EAAE,iBAAiB,OAAOA,EAAM,GAAG,IAAA,IAAQ,CAAA;AAAA,QAC9D,WAAWO,EAAM;AAAA,UACbF,MAAU,IAAI,kBAAkBA,MAAU,KAAK;AAAA,UAC/C;AAAA,QAAA,CACH;AAAA,MAAA;AAAA,MALIL,EAAM;AAAA,IAAA,IAQf,gBAAAM,EAAC,OAAA,EAAI,WAAU,mBACX,UAAA,gBAAAA,EAACE,GAAA,EAAe,OAAAR,GAAc,MAAMS,EAAe,OAAO,cAAY,IAAC,EAAA,GADrCT,EAAM,GAE5C;AAAA,EAAA,GAGZ;AAER;AACAC,EAAwB,cAAc;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetSubline.es.js","sources":["../../../../src/components/AssetInput/SingleAsset/AssetSubline.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconArrowCircleUp, IconImageStack } from '@frontify/fondue-icons';\nimport { type ReactElement } from 'react';\n\nimport { type AssetInputProps } from '../AssetInput';\n\nimport { type SelectedAssetProps } from './SelectedAsset';\n\ntype AssetSublineProps = Pick<AssetInputProps, 'isLoading' | 'hideSize' | 'hideExtension'> &\n Pick<SelectedAssetProps, 'asset'>;\n\nexport const AssetSubline = ({\n asset,\n isLoading = false,\n hideSize = false,\n hideExtension = false,\n}: AssetSublineProps): ReactElement => {\n let title = isLoading ? 'Uploading' : 'Uploaded';\n if (asset?.source === 'library') {\n title = asset.sourceName;\n }\n\n return (\n <span className=\"tw-max-w-full tw-flex tw-flex-row tw-items-center tw-gap-1 tw-text-black-80 tw-text-xxs tw-overflow-hidden\">\n <div className=\"tw-flex-none tw-inline-flex tw-items-center tw-justify-center\">\n {asset?.source === 'library' ? <IconImageStack /> : <IconArrowCircleUp />}\n </div>\n {title && <span className=\"tw-whitespace-nowrap\">{title}</span>}\n {asset && !isLoading && (\n <>\n <FileInfo label={asset.extension} hide={hideExtension} />\n <FileInfo label={asset.size} hide={hideSize} />\n </>\n )}\n </span>\n );\n};\nAssetSubline.displayName = 'FondueAssetSubline';\n\nconst FileInfo = ({ label, hide }: { label?: string | number; hide: boolean }): Nullable<ReactElement> => {\n if (hide || !label) {\n return null;\n }\n\n return (\n <>\n <span className=\"tw-text-m tw-text-black-20 tw-h-4 tw-flex tw-items-center\">•</span>\n <span className=\"tw-whitespace-nowrap\">{label}</span>\n </>\n );\n};\nFileInfo.displayName = 'FondueFileInfo';\n"],"names":["AssetSubline","asset","isLoading","hideSize","hideExtension","title","jsxs","jsx","IconImageStack","IconArrowCircleUp","Fragment","FileInfo","label","hide"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"AssetSubline.es.js","sources":["../../../../src/components/AssetInput/SingleAsset/AssetSubline.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconArrowCircleUp, IconImageStack } from '@frontify/fondue-icons';\nimport { type ReactElement } from 'react';\n\nimport { type AssetInputProps } from '../AssetInput';\n\nimport { type SelectedAssetProps } from './SelectedAsset';\n\ntype AssetSublineProps = Pick<AssetInputProps, 'isLoading' | 'hideSize' | 'hideExtension'> &\n Pick<SelectedAssetProps, 'asset'>;\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport const AssetSubline = ({\n asset,\n isLoading = false,\n hideSize = false,\n hideExtension = false,\n}: AssetSublineProps): ReactElement => {\n let title = isLoading ? 'Uploading' : 'Uploaded';\n if (asset?.source === 'library') {\n title = asset.sourceName;\n }\n\n return (\n <span className=\"tw-max-w-full tw-flex tw-flex-row tw-items-center tw-gap-1 tw-text-black-80 tw-text-xxs tw-overflow-hidden\">\n <div className=\"tw-flex-none tw-inline-flex tw-items-center tw-justify-center\">\n {asset?.source === 'library' ? <IconImageStack /> : <IconArrowCircleUp />}\n </div>\n {title && <span className=\"tw-whitespace-nowrap\">{title}</span>}\n {asset && !isLoading && (\n <>\n <FileInfo label={asset.extension} hide={hideExtension} />\n <FileInfo label={asset.size} hide={hideSize} />\n </>\n )}\n </span>\n );\n};\nAssetSubline.displayName = 'FondueAssetSubline';\n\nconst FileInfo = ({ label, hide }: { label?: string | number; hide: boolean }): Nullable<ReactElement> => {\n if (hide || !label) {\n return null;\n }\n\n return (\n <>\n <span className=\"tw-text-m tw-text-black-20 tw-h-4 tw-flex tw-items-center\">•</span>\n <span className=\"tw-whitespace-nowrap\">{label}</span>\n </>\n );\n};\nFileInfo.displayName = 'FondueFileInfo';\n"],"names":["AssetSubline","asset","isLoading","hideSize","hideExtension","title","jsxs","jsx","IconImageStack","IconArrowCircleUp","Fragment","FileInfo","label","hide"],"mappings":";;AAeO,MAAMA,IAAe,CAAC;AAAA,EACzB,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,eAAAC,IAAgB;AACpB,MAAuC;AACnC,MAAIC,IAAQH,IAAY,cAAc;AACtC,UAAID,KAAA,gBAAAA,EAAO,YAAW,cAClBI,IAAQJ,EAAM,aAId,gBAAAK,EAAC,QAAA,EAAK,WAAU,8GACZ,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,iEACV,WAAAN,KAAA,gBAAAA,EAAO,YAAW,YAAY,gBAAAM,EAACC,GAAA,EAAe,IAAK,gBAAAD,EAACE,GAAA,CAAA,CAAkB,GAC3E;AAAA,IACCJ,KAAS,gBAAAE,EAAC,QAAA,EAAK,WAAU,wBAAwB,UAAAF,GAAM;AAAA,IACvDJ,KAAS,CAACC,KACP,gBAAAI,EAAAI,GAAA,EACI,UAAA;AAAA,MAAA,gBAAAH,EAACI,GAAA,EAAS,OAAOV,EAAM,WAAW,MAAMG,GAAe;AAAA,wBACtDO,GAAA,EAAS,OAAOV,EAAM,MAAM,MAAME,EAAA,CAAU;AAAA,IAAA,EAAA,CACjD;AAAA,EAAA,GAER;AAER;AACAH,EAAa,cAAc;AAE3B,MAAMW,IAAW,CAAC,EAAE,OAAAC,GAAO,MAAAC,QACnBA,KAAQ,CAACD,IACF,OAIP,gBAAAN,EAAAI,GAAA,EACI,UAAA;AAAA,EAAA,gBAAAH,EAAC,QAAA,EAAK,WAAU,6DAA4D,UAAA,KAAC;AAAA,EAC7E,gBAAAA,EAAC,QAAA,EAAK,WAAU,wBAAwB,UAAAK,EAAA,CAAM;AAAA,GAClD;AAGRD,EAAS,cAAc;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectedAsset.es.js","sources":["../../../../src/components/AssetInput/SingleAsset/SelectedAsset.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCaretDown } from '@frontify/fondue-icons';\nimport { useButton } from '@react-aria/button';\nimport { FocusScope, useFocusRing } from '@react-aria/focus';\nimport { useMenuTrigger } from '@react-aria/menu';\nimport { DismissButton, useOverlay } from '@react-aria/overlays';\nimport { mergeProps } from '@react-aria/utils';\nimport { useMenuTriggerState } from '@react-stately/menu';\nimport { AnimatePresence, motion } from 'motion/react';\nimport { type ReactElement, useEffect, useRef, useState } from 'react';\n\nimport { ActionMenu, type ActionMenuBlock } from '@components/ActionMenu/ActionMenu';\nimport { useMemoizedId } from '@hooks/useMemoizedId';\nimport { FOCUS_STYLE } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\n\nimport { type AssetInputProps, AssetInputSize, type AssetType } from '../AssetInput';\nimport { AssetThumbnail } from '../AssetThumbnail';\n\nimport { AssetSubline } from './AssetSubline';\nimport { SpinningCircle } from './SpinningCircle';\n\nexport type SelectedAssetProps = Pick<\n AssetInputProps,\n 'actions' | 'isLoading' | 'size' | 'hideSize' | 'hideExtension'\n> & {\n asset: AssetType;\n};\n\nexport const SelectedAsset = ({\n asset,\n size,\n actions,\n isLoading,\n hideSize = false,\n hideExtension = false,\n}: Required<Omit<SelectedAssetProps, 'hideSize' | 'hideExtension'>> &\n Pick<SelectedAssetProps, 'hideSize' | 'hideExtension'>): ReactElement => {\n const menuId = useMemoizedId();\n const labelId = useMemoizedId();\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const menuState = useMenuTriggerState({});\n const { isOpen, focusStrategy } = menuState;\n const { menuTriggerProps } = useMenuTrigger({}, menuState, buttonRef);\n const { buttonProps } = useButton(menuTriggerProps, buttonRef);\n const { isFocusVisible, focusProps } = useFocusRing();\n const overlayRef = useRef<HTMLDivElement | null>(null);\n const { overlayProps } = useOverlay(\n { onClose: () => menuState.close(), shouldCloseOnBlur: true, isOpen, isDismissable: true },\n overlayRef,\n );\n const title = asset?.name || 'Your Asset';\n\n const [flyoutWidth, setFlyoutWidth] = useState(0);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout> | null = null;\n const calculateFlyoutWidth = () => {\n const calculatedWidth = buttonRef.current?.getBoundingClientRect().width ?? 0;\n timer = setTimeout(() => setFlyoutWidth(calculatedWidth), 0);\n };\n const resizeObserver = new ResizeObserver(calculateFlyoutWidth);\n if (buttonRef.current) {\n resizeObserver.observe(buttonRef.current);\n }\n\n return () => {\n if (timer) {\n clearTimeout(timer);\n }\n resizeObserver.disconnect();\n };\n }, []);\n\n return (\n <div\n className=\"tw-font-sans tw-w-full tw-text-s tw-bg-transparent tw-font-normal tw-min-w-0\"\n title={title}\n data-test-id=\"asset-single-input\"\n >\n <button\n type=\"button\"\n {...mergeProps(buttonProps, focusProps)}\n ref={buttonRef}\n aria-labelledby={labelId}\n className={merge([\n 'tw-w-full tw-flex tw-border tw-rounded tw-overflow-hidden hover:tw-border-black-90 dark:hover:tw-border-black-40 focus-visible:tw-outline-none',\n isFocusVisible && FOCUS_STYLE,\n size === AssetInputSize.Large ? 'tw-h-[11.5rem] tw-flex-col' : 'tw-h-14',\n isOpen || isFocusVisible\n ? 'tw-border-black-90 dark:tw-border-black-10'\n : 'tw-border-black-20 dark:tw-border-black-80',\n ])}\n >\n {isLoading && !asset && (\n <div\n className={merge([\n 'tw-flex tw-justify-center tw-items-center',\n size === AssetInputSize.Large ? 'tw-w-full tw-h-32' : 'tw-w-14 tw-h-full',\n ])}\n >\n <SpinningCircle size={size} />\n </div>\n )}\n {asset && <AssetThumbnail asset={asset} size={size} isActive={isOpen || isFocusVisible} />}\n <div\n className={merge([\n 'tw-min-w-0 tw-max-w-full tw-flex tw-flex-auto tw-self-stretch tw-border-black-100 tw-border-opacity-25',\n size === AssetInputSize.Large ? 'tw-h-14 tw-border-t' : 'tw-h-full tw-border-l',\n ])}\n >\n <div className=\"tw-min-w-0 tw-pr-3 tw-pl-4 tw-flex tw-flex-auto tw-flex-col tw-items-start tw-justify-center tw-h-full\">\n <span\n id={labelId}\n className={merge([\n 'tw-max-w-full tw-text-black-100 tw-text-s tw-truncate dark:tw-text-white',\n (isOpen || isFocusVisible) && 'tw-font-medium',\n ])}\n >\n {title}\n </span>\n <AssetSubline\n asset={asset}\n isLoading={isLoading}\n hideSize={hideSize}\n hideExtension={hideExtension}\n />\n </div>\n <div className=\"tw-p-4 tw-flex tw-flex-none tw-items-center tw-justify-center\">\n <span\n className={merge([\n 'tw-transition-transform',\n isOpen ? 'tw-rotate-180 tw-text-black-90' : 'tw-text-black-60',\n ])}\n >\n <IconCaretDown size={16} />\n </span>\n </div>\n </div>\n </button>\n\n <AnimatePresence>\n {isOpen && (\n <motion.div\n style={{\n width: flyoutWidth,\n }}\n className=\"tw-absolute tw-left-auto tw-w-full tw-overflow-hidden tw-box-border tw-p-0 tw-shadow-mid tw-list-none tw-m-0 tw-mt-2 tw-z-20\"\n data-test-id=\"asset-single-input-flyout\"\n key={`asset-input-menu-${menuId}`}\n initial={{ height: 0 }}\n animate={{ height: 'auto' }}\n exit={{ height: 0 }}\n transition={{ ease: [0.04, 0.62, 0.23, 0.98], duration: 0.5 }}\n >\n <FocusScope restoreFocus>\n <div {...overlayProps} ref={overlayRef}>\n <DismissButton onDismiss={() => menuState.close()} />\n <ActionMenu\n menuBlocks={actions as ActionMenuBlock[]}\n focus={focusStrategy ?? undefined}\n onClick={() => menuState.close()}\n />\n <DismissButton onDismiss={() => menuState.close()} />\n </div>\n </FocusScope>\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n );\n};\nSelectedAsset.displayName = 'FondueSelectedAsset';\n"],"names":["SelectedAsset","asset","size","actions","isLoading","hideSize","hideExtension","menuId","useMemoizedId","labelId","buttonRef","useRef","menuState","useMenuTriggerState","isOpen","focusStrategy","menuTriggerProps","useMenuTrigger","buttonProps","useButton","isFocusVisible","focusProps","useFocusRing","overlayRef","overlayProps","useOverlay","title","flyoutWidth","setFlyoutWidth","useState","useEffect","timer","calculateFlyoutWidth","calculatedWidth","_a","resizeObserver","jsxs","mergeProps","merge","FOCUS_STYLE","AssetInputSize","jsx","SpinningCircle","AssetThumbnail","AssetSubline","IconCaretDown","AnimatePresence","motion","FocusScope","DismissButton","ActionMenu"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectedAsset.es.js","sources":["../../../../src/components/AssetInput/SingleAsset/SelectedAsset.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCaretDown } from '@frontify/fondue-icons';\nimport { useButton } from '@react-aria/button';\nimport { FocusScope, useFocusRing } from '@react-aria/focus';\nimport { useMenuTrigger } from '@react-aria/menu';\nimport { DismissButton, useOverlay } from '@react-aria/overlays';\nimport { mergeProps } from '@react-aria/utils';\nimport { useMenuTriggerState } from '@react-stately/menu';\nimport { AnimatePresence, motion } from 'motion/react';\nimport { type ReactElement, useEffect, useRef, useState } from 'react';\n\nimport { ActionMenu, type ActionMenuBlock } from '@components/ActionMenu/ActionMenu';\nimport { useMemoizedId } from '@hooks/useMemoizedId';\nimport { FOCUS_STYLE } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\n\nimport { type AssetInputProps, AssetInputSize, type AssetType } from '../AssetInput';\nimport { AssetThumbnail } from '../AssetThumbnail';\n\nimport { AssetSubline } from './AssetSubline';\nimport { SpinningCircle } from './SpinningCircle';\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type SelectedAssetProps = Pick<\n AssetInputProps,\n 'actions' | 'isLoading' | 'size' | 'hideSize' | 'hideExtension'\n> & {\n asset: AssetType;\n};\n\nexport const SelectedAsset = ({\n asset,\n size,\n actions,\n isLoading,\n hideSize = false,\n hideExtension = false,\n}: Required<Omit<SelectedAssetProps, 'hideSize' | 'hideExtension'>> &\n Pick<SelectedAssetProps, 'hideSize' | 'hideExtension'>): ReactElement => {\n const menuId = useMemoizedId();\n const labelId = useMemoizedId();\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n const menuState = useMenuTriggerState({});\n const { isOpen, focusStrategy } = menuState;\n const { menuTriggerProps } = useMenuTrigger({}, menuState, buttonRef);\n const { buttonProps } = useButton(menuTriggerProps, buttonRef);\n const { isFocusVisible, focusProps } = useFocusRing();\n const overlayRef = useRef<HTMLDivElement | null>(null);\n const { overlayProps } = useOverlay(\n { onClose: () => menuState.close(), shouldCloseOnBlur: true, isOpen, isDismissable: true },\n overlayRef,\n );\n const title = asset?.name || 'Your Asset';\n\n const [flyoutWidth, setFlyoutWidth] = useState(0);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout> | null = null;\n const calculateFlyoutWidth = () => {\n const calculatedWidth = buttonRef.current?.getBoundingClientRect().width ?? 0;\n timer = setTimeout(() => setFlyoutWidth(calculatedWidth), 0);\n };\n const resizeObserver = new ResizeObserver(calculateFlyoutWidth);\n if (buttonRef.current) {\n resizeObserver.observe(buttonRef.current);\n }\n\n return () => {\n if (timer) {\n clearTimeout(timer);\n }\n resizeObserver.disconnect();\n };\n }, []);\n\n return (\n <div\n className=\"tw-font-sans tw-w-full tw-text-s tw-bg-transparent tw-font-normal tw-min-w-0\"\n title={title}\n data-test-id=\"asset-single-input\"\n >\n <button\n type=\"button\"\n {...mergeProps(buttonProps, focusProps)}\n ref={buttonRef}\n aria-labelledby={labelId}\n className={merge([\n 'tw-w-full tw-flex tw-border tw-rounded tw-overflow-hidden hover:tw-border-black-90 dark:hover:tw-border-black-40 focus-visible:tw-outline-none',\n isFocusVisible && FOCUS_STYLE,\n size === AssetInputSize.Large ? 'tw-h-[11.5rem] tw-flex-col' : 'tw-h-14',\n isOpen || isFocusVisible\n ? 'tw-border-black-90 dark:tw-border-black-10'\n : 'tw-border-black-20 dark:tw-border-black-80',\n ])}\n >\n {isLoading && !asset && (\n <div\n className={merge([\n 'tw-flex tw-justify-center tw-items-center',\n size === AssetInputSize.Large ? 'tw-w-full tw-h-32' : 'tw-w-14 tw-h-full',\n ])}\n >\n <SpinningCircle size={size} />\n </div>\n )}\n {asset && <AssetThumbnail asset={asset} size={size} isActive={isOpen || isFocusVisible} />}\n <div\n className={merge([\n 'tw-min-w-0 tw-max-w-full tw-flex tw-flex-auto tw-self-stretch tw-border-black-100 tw-border-opacity-25',\n size === AssetInputSize.Large ? 'tw-h-14 tw-border-t' : 'tw-h-full tw-border-l',\n ])}\n >\n <div className=\"tw-min-w-0 tw-pr-3 tw-pl-4 tw-flex tw-flex-auto tw-flex-col tw-items-start tw-justify-center tw-h-full\">\n <span\n id={labelId}\n className={merge([\n 'tw-max-w-full tw-text-black-100 tw-text-s tw-truncate dark:tw-text-white',\n (isOpen || isFocusVisible) && 'tw-font-medium',\n ])}\n >\n {title}\n </span>\n <AssetSubline\n asset={asset}\n isLoading={isLoading}\n hideSize={hideSize}\n hideExtension={hideExtension}\n />\n </div>\n <div className=\"tw-p-4 tw-flex tw-flex-none tw-items-center tw-justify-center\">\n <span\n className={merge([\n 'tw-transition-transform',\n isOpen ? 'tw-rotate-180 tw-text-black-90' : 'tw-text-black-60',\n ])}\n >\n <IconCaretDown size={16} />\n </span>\n </div>\n </div>\n </button>\n\n <AnimatePresence>\n {isOpen && (\n <motion.div\n style={{\n width: flyoutWidth,\n }}\n className=\"tw-absolute tw-left-auto tw-w-full tw-overflow-hidden tw-box-border tw-p-0 tw-shadow-mid tw-list-none tw-m-0 tw-mt-2 tw-z-20\"\n data-test-id=\"asset-single-input-flyout\"\n key={`asset-input-menu-${menuId}`}\n initial={{ height: 0 }}\n animate={{ height: 'auto' }}\n exit={{ height: 0 }}\n transition={{ ease: [0.04, 0.62, 0.23, 0.98], duration: 0.5 }}\n >\n <FocusScope restoreFocus>\n <div {...overlayProps} ref={overlayRef}>\n <DismissButton onDismiss={() => menuState.close()} />\n <ActionMenu\n menuBlocks={actions as ActionMenuBlock[]}\n focus={focusStrategy ?? undefined}\n onClick={() => menuState.close()}\n />\n <DismissButton onDismiss={() => menuState.close()} />\n </div>\n </FocusScope>\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n );\n};\nSelectedAsset.displayName = 'FondueSelectedAsset';\n"],"names":["SelectedAsset","asset","size","actions","isLoading","hideSize","hideExtension","menuId","useMemoizedId","labelId","buttonRef","useRef","menuState","useMenuTriggerState","isOpen","focusStrategy","menuTriggerProps","useMenuTrigger","buttonProps","useButton","isFocusVisible","focusProps","useFocusRing","overlayRef","overlayProps","useOverlay","title","flyoutWidth","setFlyoutWidth","useState","useEffect","timer","calculateFlyoutWidth","calculatedWidth","_a","resizeObserver","jsxs","mergeProps","merge","FOCUS_STYLE","AssetInputSize","jsx","SpinningCircle","AssetThumbnail","AssetSubline","IconCaretDown","AnimatePresence","motion","FocusScope","DismissButton","ActionMenu"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinningCircle.es.js","sources":["../../../../src/components/AssetInput/SingleAsset/SpinningCircle.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type ReactElement } from 'react';\n\nimport { merge } from '@utilities/merge';\n\nimport { type AssetInputProps, AssetInputSize } from '../AssetInput';\n\nexport const SpinningCircle = ({ size }: Pick<AssetInputProps, 'size'>): ReactElement => (\n <svg\n className={merge(['tw-animate-spin', size === AssetInputSize.Large ? 'tw-w-16 tw-h-16' : 'tw-w-5 tw-h-5'])}\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 44 44\"\n data-test-id=\"spinning-circle\"\n >\n <path fill=\"none\" stroke=\"#f1f3f9\" strokeWidth=\"2\" d=\"M2,22 a20,20 0 0,1 20,-20\" />\n <path fill=\"none\" stroke=\"#7159d7\" strokeWidth=\"2\" d=\"M2,22 a20,20 0 1,0 20,-20\" />\n </svg>\n);\nSpinningCircle.displayName = 'FondueSpinningCircle';\n"],"names":["SpinningCircle","size","jsxs","merge","AssetInputSize","jsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"SpinningCircle.es.js","sources":["../../../../src/components/AssetInput/SingleAsset/SpinningCircle.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type ReactElement } from 'react';\n\nimport { merge } from '@utilities/merge';\n\nimport { type AssetInputProps, AssetInputSize } from '../AssetInput';\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport const SpinningCircle = ({ size }: Pick<AssetInputProps, 'size'>): ReactElement => (\n <svg\n className={merge(['tw-animate-spin', size === AssetInputSize.Large ? 'tw-w-16 tw-h-16' : 'tw-w-5 tw-h-5'])}\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 44 44\"\n data-test-id=\"spinning-circle\"\n >\n <path fill=\"none\" stroke=\"#f1f3f9\" strokeWidth=\"2\" d=\"M2,22 a20,20 0 0,1 20,-20\" />\n <path fill=\"none\" stroke=\"#7159d7\" strokeWidth=\"2\" d=\"M2,22 a20,20 0 1,0 20,-20\" />\n </svg>\n);\nSpinningCircle.displayName = 'FondueSpinningCircle';\n"],"names":["SpinningCircle","size","jsxs","merge","AssetInputSize","jsx"],"mappings":";;;AAWO,MAAMA,IAAiB,CAAC,EAAE,MAAAC,EAAA,MAC7B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,WAAWC,EAAM,CAAC,mBAAmBF,MAASG,EAAe,QAAQ,oBAAoB,eAAe,CAAC;AAAA,IACzG,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,gBAAa;AAAA,IAEb,UAAA;AAAA,MAAA,gBAAAC,EAAC,QAAA,EAAK,MAAK,QAAO,QAAO,WAAU,aAAY,KAAI,GAAE,4BAAA,CAA4B;AAAA,MACjF,gBAAAA,EAAC,UAAK,MAAK,QAAO,QAAO,WAAU,aAAY,KAAI,GAAE,4BAAA,CAA4B;AAAA,IAAA;AAAA,EAAA;AACrF;AAEJL,EAAe,cAAc;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.es.js","sources":["../../../src/components/AssetInput/types.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type FocusEvent, type HTMLAttributes, type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\nexport enum AssetInputMenuItemContentSize {\n XSmall = 'XSmall',\n Small = 'Small',\n Large = 'Large',\n}\n\nexport type AssetInputMenuItemContentProps = {\n title?: ReactNode;\n decorator?: ReactElement;\n subtitle?: string;\n size?: AssetInputMenuItemContentSize;\n ariaProps?: HTMLAttributes<HTMLElement>;\n children?: ReactNode;\n};\n\nexport enum AssetInputMenuItemStyle {\n Primary = 'Primary',\n Danger = 'Danger',\n Warning = 'Warning',\n}\n\nexport enum AssetInputSelectionIndicatorIcon {\n Check = 'Check',\n CaretRight = 'CaretRight',\n None = 'None',\n}\nexport type AssetInputMenuItemProps = {\n style?: AssetInputMenuItemStyle;\n disabled?: boolean;\n active?: boolean;\n checked?: boolean;\n selectionIndicator?: AssetInputSelectionIndicatorIcon;\n /** @deprecated this prop is not being used anymore */\n type?: string;\n link?: string;\n onBlur?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: FocusEvent<T>) => void;\n onClick?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: MouseEvent<T>) => void;\n onFocus?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: FocusEvent<T>) => void;\n onMouseEnter?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: MouseEvent<T>) => void;\n onMouseOut?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: MouseEvent<T>) => void;\n onMouseOver?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: MouseEvent<T>) => void;\n onMouseLeave?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: MouseEvent<T>) => void;\n children?: ReactNode;\n 'data-test-id'?: string;\n} & AssetInputMenuItemContentProps;\n\nexport type AssetInputMenuItemType = AssetInputMenuItemProps & {\n id: string | number;\n link?: string;\n};\n\nexport type AssetInputMenuDefaultItemType = AssetInputMenuItemType & { onClick: () => void };\n\nexport type AssetInputMenuSwitchItemType = AssetInputMenuItemType & {\n onClick: (switchValue: boolean) => void;\n type: 'switch';\n initialValue: boolean;\n};\n\nexport type AssetInputMenuBlock = {\n id: string;\n menuItems: (AssetInputMenuDefaultItemType | AssetInputMenuSwitchItemType)[];\n ariaLabel?: string;\n};\n"],"names":["AssetInputMenuItemContentSize","AssetInputMenuItemStyle","AssetInputSelectionIndicatorIcon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.es.js","sources":["../../../src/components/AssetInput/types.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type FocusEvent, type HTMLAttributes, type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport enum AssetInputMenuItemContentSize {\n XSmall = 'XSmall',\n Small = 'Small',\n Large = 'Large',\n}\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type AssetInputMenuItemContentProps = {\n title?: ReactNode;\n decorator?: ReactElement;\n subtitle?: string;\n size?: AssetInputMenuItemContentSize;\n ariaProps?: HTMLAttributes<HTMLElement>;\n children?: ReactNode;\n};\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport enum AssetInputMenuItemStyle {\n Primary = 'Primary',\n Danger = 'Danger',\n Warning = 'Warning',\n}\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport enum AssetInputSelectionIndicatorIcon {\n Check = 'Check',\n CaretRight = 'CaretRight',\n None = 'None',\n}\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type AssetInputMenuItemProps = {\n style?: AssetInputMenuItemStyle;\n disabled?: boolean;\n active?: boolean;\n checked?: boolean;\n selectionIndicator?: AssetInputSelectionIndicatorIcon;\n /** @deprecated this prop is not being used anymore */\n type?: string;\n link?: string;\n onBlur?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: FocusEvent<T>) => void;\n onClick?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: MouseEvent<T>) => void;\n onFocus?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: FocusEvent<T>) => void;\n onMouseEnter?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: MouseEvent<T>) => void;\n onMouseOut?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: MouseEvent<T>) => void;\n onMouseOver?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: MouseEvent<T>) => void;\n onMouseLeave?: <T extends HTMLButtonElement | HTMLAnchorElement>(event: MouseEvent<T>) => void;\n children?: ReactNode;\n 'data-test-id'?: string;\n} & AssetInputMenuItemContentProps;\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type AssetInputMenuItemType = AssetInputMenuItemProps & {\n id: string | number;\n link?: string;\n};\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type AssetInputMenuDefaultItemType = AssetInputMenuItemType & { onClick: () => void };\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type AssetInputMenuSwitchItemType = AssetInputMenuItemType & {\n onClick: (switchValue: boolean) => void;\n type: 'switch';\n initialValue: boolean;\n};\n\n/**\n * @deprecated Use `AssetInput` from `@frontify/fondue/components` instead.\n */\nexport type AssetInputMenuBlock = {\n id: string;\n menuItems: (AssetInputMenuDefaultItemType | AssetInputMenuSwitchItemType)[];\n ariaLabel?: string;\n};\n"],"names":["AssetInputMenuItemContentSize","AssetInputMenuItemStyle","AssetInputSelectionIndicatorIcon"],"mappings":"AAOO,IAAKA,sBAAAA,OACRA,EAAA,SAAS,UACTA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SAHAA,IAAAA,KAAA,CAAA,CAAA,GAqBAC,sBAAAA,OACRA,EAAA,UAAU,WACVA,EAAA,SAAS,UACTA,EAAA,UAAU,WAHFA,IAAAA,KAAA,CAAA,CAAA,GASAC,sBAAAA,OACRA,EAAA,QAAQ,SACRA,EAAA,aAAa,cACbA,EAAA,OAAO,QAHCA,IAAAA,KAAA,CAAA,CAAA;"}
|