UNPKG

@transkripid/flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS - Transkrip.id fork

1 lines 7.75 kB
{"version":3,"file":"Progress.mjs","sources":["../../../src/components/Progress/Progress.tsx"],"sourcesContent":["import type { ComponentProps, FC } from 'react';\nimport { useId } from 'react';\nimport { twMerge } from 'tailwind-merge';\nimport { mergeDeep } from '../../helpers/merge-deep';\nimport { getTheme } from '../../theme-store';\nimport type { DeepPartial } from '../../types';\nimport type { FlowbiteColors, FlowbiteSizes } from '../Flowbite';\n\nexport interface FlowbiteProgressTheme {\n base: string;\n label: string;\n bar: string;\n color: ProgressColor;\n size: ProgressSizes;\n}\n\nexport interface ProgressColor\n extends Pick<\n FlowbiteColors,\n 'dark' | 'blue' | 'red' | 'green' | 'yellow' | 'indigo' | 'purple' | 'cyan' | 'gray' | 'lime' | 'pink' | 'teal'\n > {\n [key: string]: string;\n}\n\nexport interface ProgressSizes extends Pick<FlowbiteSizes, 'sm' | 'md' | 'lg' | 'xl'> {\n [key: string]: string;\n}\n\nexport interface ProgressProps extends ComponentProps<'div'> {\n labelProgress?: boolean;\n labelText?: boolean;\n progress: number;\n progressLabelPosition?: 'inside' | 'outside';\n size?: keyof ProgressSizes;\n textLabel?: string;\n textLabelPosition?: 'inside' | 'outside';\n theme?: DeepPartial<FlowbiteProgressTheme>;\n}\n\nexport const Progress: FC<ProgressProps> = ({\n className,\n color = 'cyan',\n labelProgress = false,\n labelText = false,\n progress,\n progressLabelPosition = 'inside',\n size = 'md',\n textLabel = 'progressbar',\n textLabelPosition = 'inside',\n theme: customTheme = {},\n ...props\n}) => {\n const id = useId();\n const theme = mergeDeep(getTheme().progress, customTheme);\n\n return (\n <>\n <div id={id} aria-label={textLabel} aria-valuenow={progress} role=\"progressbar\" {...props}>\n {((textLabel && labelText && textLabelPosition === 'outside') ||\n (progress > 0 && labelProgress && progressLabelPosition === 'outside')) && (\n <div className={theme.label} data-testid=\"flowbite-progress-outer-label-container\">\n {textLabel && labelText && textLabelPosition === 'outside' && (\n <span data-testid=\"flowbite-progress-outer-text-label\">{textLabel}</span>\n )}\n {labelProgress && progressLabelPosition === 'outside' && (\n <span data-testid=\"flowbite-progress-outer-progress-label\">{progress}%</span>\n )}\n </div>\n )}\n\n <div className={twMerge(theme.base, theme.size[size], className)}>\n <div style={{ width: `${progress}%` }} className={twMerge(theme.bar, theme.color[color], theme.size[size])}>\n {textLabel && labelText && textLabelPosition === 'inside' && (\n <span data-testid=\"flowbite-progress-inner-text-label\">{textLabel}</span>\n )}\n {progress > 0 && labelProgress && progressLabelPosition === 'inside' && (\n <span data-testid=\"flowbite-progress-inner-progress-label\">{progress}%</span>\n )}\n </div>\n </div>\n </div>\n </>\n );\n};\n\nProgress.displayName = 'Progress';\n"],"names":["Progress","t0","$","_c","className","progress","props","t1","t2","t3","t4","t5","t6","t7","t8","color","labelProgress","labelText","progressLabelPosition","size","textLabel","textLabelPosition","theme","undefined","t9","customTheme","id","useId","t10","t11","t12","t13","t14","t15","t16","t17","t18","mergeDeep","getTheme","label","jsxs","twMerge","base","t19","width","bar","t20","t21","t22","jsx","t23","Fragment","displayName"],"mappings":";;;;;;AAuCO,MAAMA,IAA8BC,CAAAA,MAAA;AAAAC,QAAAA,IAAAC,EAAA,EAAA;AAAAC,MAAAA,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;AAAAZ,EAAAA,SAAAD,KAAC;AAAA,IAAAG,WAAAA;AAAAA,IAAAW,OAAAR;AAAAA,IAAAS,eAAAR;AAAAA,IAAAS,WAAAR;AAAAA,IAAAJ,UAAAA;AAAAA,IAAAa,uBAAAR;AAAAA,IAAAS,MAAAR;AAAAA,IAAAS,WAAAR;AAAAA,IAAAS,mBAAAR;AAAAA,IAAAS,OAAAR;AAAAA,IAAA,GAAAR;AAAAA,EAAAL,IAAAA,GAY3CC,OAAAD,GAAAC,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAM,GAAAN,OAAAO,GAAAP,OAAAQ,GAAAR,OAAAS,GAAAT,OAAAU,GAAAV,QAAAW,GAAAX,QAAAY,MAAAV,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA,GAAAM,IAAAN,EAAA,CAAA,GAAAO,IAAAP,EAAA,CAAA,GAAAQ,IAAAR,EAAA,CAAA,GAAAS,IAAAT,EAAA,CAAA,GAAAU,IAAAV,EAAA,CAAA,GAAAW,IAAAX,EAAA,EAAA,GAAAY,IAAAZ,EAAA,EAAA;AAVCa,QAAAA,IAAAR,MAAcgB,SAAN,SAARhB,GACAS,IAAAR,MAAqBe,cAArBf,GACAS,IAAAR,MAAiBc,cAAjBd,GAEAS,IAAAR,MAAgCa,SAAR,WAAxBb,GACAS,IAAAR,MAAWY,SAAJ,OAAPZ,GACAS,IAAAR,MAAyBW,SAAb,gBAAZX,GACAS,IAAAR,MAA4BU,SAAR,WAApBV;AAA4BW,MAAAA;AAAAtB,EAAAA,UAAAY,KACrBA,IAAAA,MAAgBS,cAAhBT,GAAgBZ,QAAAY,GAAAZ,QAAAsB,KAAAA,IAAAtB,EAAA,EAAA;AAAhB,QAAAuB,IAAAD,GAGPE,IAAWC;AAAQC,MAAAA,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;AAAAlC,MAAAA,UAAAE,KAAAF,EAAAa,EAAAA,MAAAA,KAAAb,EAAA,EAAA,MAAAuB,KAAAvB,UAAAwB,KAAAxB,EAAAc,EAAAA,MAAAA,KAAAd,EAAAe,EAAAA,MAAAA,KAAAf,EAAA,EAAA,MAAAG,KAAAH,UAAAgB,KAAAhB,EAAAI,EAAAA,MAAAA,KAAAJ,EAAA,EAAA,MAAAiB,KAAAjB,UAAAkB,KAAAlB,EAAA,EAAA,MAAAmB,GAAA;AACnB,UAAAC,IAAce,EAAUC,EAAS,EAACjC,UAAWoB,CAAW;AAI3CC,IAAAA,IAAAA,GAAgBN,IAAAA,GAA0Bf,IAAAA,GAA4B6B,IAAA,eAAK5B,IAAAA,GACjF8B,KAAEhB,KAAaH,KAAaI,MAAsB,aAChDhB,IAAY,KAAIW,KAAiBE,MAA0B,gCAC5D,OAAgB,EAAA,WAAAI,EAAKiB,OAAoB,eAAA,2CACtCnB,UAAAA;AAAAA,MAAAA,KAAaH,KAAaI,MAAsB,+BAC/C,QAAkB,EAAA,eAAA,sCAA+C,UAACD,EAAA,CAAA;AAAA,MAEnEJ,KAAiBE,MAA0B,aACmC,gBAAAsB,EAAA,QAAA,EAA3D,eAAA,0CAA0CnC,UAAAA;AAAAA,QAAAA;AAAAA,QAAS;AAAA,MAAA,GAAC;AAAA,IAE1E,EAAA,CAAA,GAGcyB,IAAAW,EAAQnB,EAAKoB,MAAOpB,EAAKH,KAAMA,CAAI,GAAGf,CAAS;AACxCuC,UAAAA,IAAGtC,GAAAA,CAAQ;AAAGH,IAAAA,UAAAyC,KAAvBf,IAAA;AAAA,MAAAgB,OAASD;AAAAA,IAAAA,GAAgBzC,QAAAyC,GAAAzC,QAAA0B,KAAAA,IAAA1B,EAAA,EAAA,GAAauC,IAAAA,EAAQnB,EAAKuB,KAAMvB,EAAKP,MAAOA,CAAK,GAAGO,EAAKH,KAAMA,CAAI,CAAC,GAACjB,QAAAE,GAAAF,QAAAa,GAAAb,QAAAuB,GAAAvB,QAAAwB,GAAAxB,QAAAc,GAAAd,QAAAe,GAAAf,QAAAG,GAAAH,QAAAgB,GAAAhB,QAAAI,GAAAJ,QAAAiB,GAAAjB,QAAAkB,GAAAlB,QAAAmB,GAAAnB,QAAA0B,GAAA1B,QAAA2B,GAAA3B,QAAA4B,GAAA5B,QAAA6B,GAAA7B,QAAA8B,GAAA9B,QAAA+B,GAAA/B,QAAAgC,GAAAhC,QAAAiC,GAAAjC,QAAAkC;AAAAA,EAAAA;AAAAR,IAAAA,IAAA1B,EAAA,EAAA,GAAA2B,IAAA3B,EAAA,EAAA,GAAA4B,IAAA5B,EAAA,EAAA,GAAA6B,IAAA7B,EAAA,EAAA,GAAA8B,IAAA9B,EAAA,EAAA,GAAA+B,IAAA/B,EAAA,EAAA,GAAAgC,IAAAhC,EAAA,EAAA,GAAAiC,IAAAjC,EAAA,EAAA,GAAAkC,IAAAlC,EAAA,EAAA;AAAAyC,MAAAA;AAAAzC,EAAAA,EAAAe,EAAAA,MAAAA,KAAAf,UAAAkB,KAAAlB,EAAA,EAAA,MAAAmB,KACvGD,IAAAA,KAAaH,KAAaI,MAAsB,sCAC7B,EAAA,eAAA,gDAAgDD,EAAA,CAAA,GACnElB,QAAAe,GAAAf,QAAAkB,GAAAlB,QAAAmB,GAAAnB,QAAAyC,KAAAA,IAAAzC,EAAA,EAAA;AAAA4C,MAAAA;AAAA5C,EAAAA,EAAAc,EAAAA,MAAAA,KAAAd,UAAAG,KAAAH,EAAA,EAAA,MAAAgB,KACAb,IAAAA,IAAY,KAAIW,KAAiBE,MAA0B,wCACxC,eAAA;;IAAmD;AAAA,EAAC,EAAA,CAAA,GACvEhB,QAAAc,GAAAd,QAAAG,GAAAH,QAAAgB,GAAAhB,QAAA4C,KAAAA,IAAA5C,EAAA,EAAA;AAAA6C,MAAAA;AAAA,EAAA7C,EAAA,EAAA,MAAA0B,KAAA1B,EAAA2B,EAAAA,MAAAA,KAAA3B,EAAAyC,EAAAA,MAAAA,KAAAzC,UAAA4C,KANHC,+BAAY,OAAAnB,GAAsC,WAAAC,GAC/Cc,UAAAA;AAAAA,IAAAA;AAAAA,IAGAG;AAAAA,EAGH,EAAA,CAAA,GAAM5C,QAAA0B,GAAA1B,QAAA2B,GAAA3B,QAAAyC,GAAAzC,QAAA4C,GAAA5C,QAAA6C,KAAAA,IAAA7C,EAAA,EAAA;AAAA8C,MAAAA;AAAA,EAAA9C,EAAA4B,EAAAA,MAAAA,KAAA5B,UAAA6C,KARRC,IAAA,gBAAAC,EAAA,OAAA,EAAgB,WAAAnB,GACdiB,UAQFA,EAAA,CAAA,GAAM7C,QAAA4B,GAAA5B,QAAA6C,GAAA7C,QAAA8C,KAAAA,IAAA9C,EAAA,EAAA;AAAAgD,MAAAA;AAAAhD,SAAAA,EAAA6B,EAAAA,MAAAA,KAAA7B,EAAA8B,EAAAA,MAAAA,KAAA9B,EAAA+B,EAAAA,MAAAA,KAAA/B,UAAAgC,KAAAhC,EAAA,EAAA,MAAAiC,KAAAjC,EAAA,EAAA,MAAAkC,KAAAlC,EAAA,EAAA,MAAA8C,KAvBVE,IACE,gBAAAD,EAAAE,GAAA,EAAA,UAAA,gBAAAX,EAAA,OAASd,EAAAA,IAAAA,GAAgBN,cAAAA,GAA0Bf,iBAAAA,GAAe,MAAA6B,GAAa,GAAK5B,GACjF8B,UAAAA;AAAAA,IAAAA;AAAAA,IAYDY;AAAAA,EAAAA,EAUF,CAAA,EAAM,CAAA,GACL9C,QAAA6B,GAAA7B,QAAA8B,GAAA9B,QAAA+B,GAAA/B,QAAAgC,GAAAhC,QAAAiC,GAAAjC,QAAAkC,GAAAlC,QAAA8C,GAAA9C,QAAAgD,KAAAA,IAAAhD,EAAA,EAAA,GAzBHgD;AAyBG;AAIPlD,EAASoD,cAAc;"}