@razorpay/blade 11.6.2 → 11.7.0

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.
Files changed (104) hide show
  1. package/build/lib/native/components/Accordion/Accordion.js +2 -2
  2. package/build/lib/native/components/Accordion/Accordion.js.map +1 -1
  3. package/build/lib/native/components/Accordion/AccordionButton.native.js +2 -2
  4. package/build/lib/native/components/Accordion/AccordionButton.native.js.map +1 -1
  5. package/build/lib/native/components/Accordion/AccordionContext.js +2 -2
  6. package/build/lib/native/components/Accordion/AccordionContext.js.map +1 -1
  7. package/build/lib/native/components/Accordion/AccordionItem.js +11 -14
  8. package/build/lib/native/components/Accordion/AccordionItem.js.map +1 -1
  9. package/build/lib/native/components/Accordion/AccordionItemBody.js +24 -0
  10. package/build/lib/native/components/Accordion/AccordionItemBody.js.map +1 -0
  11. package/build/lib/native/components/Accordion/AccordionItemHeader.js +24 -0
  12. package/build/lib/native/components/Accordion/AccordionItemHeader.js.map +1 -0
  13. package/build/lib/native/components/Accordion/commonStyles.js +1 -1
  14. package/build/lib/native/components/Accordion/commonStyles.js.map +1 -1
  15. package/build/lib/native/components/Accordion/componentIds.js +4 -0
  16. package/build/lib/native/components/Accordion/componentIds.js.map +1 -0
  17. package/build/lib/native/components/ActionList/ActionListBox.native.js +1 -4
  18. package/build/lib/native/components/ActionList/ActionListBox.native.js.map +1 -1
  19. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +1 -1
  20. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  21. package/build/lib/native/components/Collapsible/CollapsibleBodyContent.native.js.map +1 -1
  22. package/build/lib/native/components/Dropdown/dropdownUtils.js +1 -1
  23. package/build/lib/native/components/Dropdown/dropdownUtils.js.map +1 -1
  24. package/build/lib/native/components/Dropdown/useDropdown.js +1 -1
  25. package/build/lib/native/components/Dropdown/useDropdown.js.map +1 -1
  26. package/build/lib/native/components/index.js +2 -0
  27. package/build/lib/native/components/index.js.map +1 -1
  28. package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
  29. package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
  30. package/build/lib/web/development/components/Accordion/Accordion.js +57 -6
  31. package/build/lib/web/development/components/Accordion/Accordion.js.map +1 -1
  32. package/build/lib/web/development/components/Accordion/AccordionButton.web.js +21 -25
  33. package/build/lib/web/development/components/Accordion/AccordionButton.web.js.map +1 -1
  34. package/build/lib/web/development/components/Accordion/AccordionContext.js +16 -1
  35. package/build/lib/web/development/components/Accordion/AccordionContext.js.map +1 -1
  36. package/build/lib/web/development/components/Accordion/AccordionItem.js +66 -66
  37. package/build/lib/web/development/components/Accordion/AccordionItem.js.map +1 -1
  38. package/build/lib/web/development/components/Accordion/AccordionItemBody.js +84 -0
  39. package/build/lib/web/development/components/Accordion/AccordionItemBody.js.map +1 -0
  40. package/build/lib/web/development/components/Accordion/AccordionItemHeader.js +71 -0
  41. package/build/lib/web/development/components/Accordion/AccordionItemHeader.js.map +1 -0
  42. package/build/lib/web/development/components/Accordion/StyledAccordionButton.web.js +3 -2
  43. package/build/lib/web/development/components/Accordion/StyledAccordionButton.web.js.map +1 -1
  44. package/build/lib/web/development/components/Accordion/commonStyles.js +8 -6
  45. package/build/lib/web/development/components/Accordion/commonStyles.js.map +1 -1
  46. package/build/lib/web/development/components/Accordion/componentIds.js +8 -0
  47. package/build/lib/web/development/components/Accordion/componentIds.js.map +1 -0
  48. package/build/lib/web/development/components/Accordion/index.js +2 -0
  49. package/build/lib/web/development/components/Accordion/index.js.map +1 -1
  50. package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js +131 -68
  51. package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  52. package/build/lib/web/development/components/Collapsible/CollapsibleBodyContent.web.js +3 -1
  53. package/build/lib/web/development/components/Collapsible/CollapsibleBodyContent.web.js.map +1 -1
  54. package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js +4 -2
  55. package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  56. package/build/lib/web/development/components/Dropdown/dropdownUtils.js +16 -8
  57. package/build/lib/web/development/components/Dropdown/dropdownUtils.js.map +1 -1
  58. package/build/lib/web/development/components/Dropdown/useDropdown.js +1 -1
  59. package/build/lib/web/development/components/Dropdown/useDropdown.js.map +1 -1
  60. package/build/lib/web/development/components/FileUpload/FileUpload.web.js +0 -1
  61. package/build/lib/web/development/components/FileUpload/FileUpload.web.js.map +1 -1
  62. package/build/lib/web/development/components/index.js +2 -0
  63. package/build/lib/web/development/components/index.js.map +1 -1
  64. package/build/lib/web/development/utils/metaAttribute/metaConstants.js +2 -0
  65. package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
  66. package/build/lib/web/production/components/Accordion/Accordion.js +57 -6
  67. package/build/lib/web/production/components/Accordion/Accordion.js.map +1 -1
  68. package/build/lib/web/production/components/Accordion/AccordionButton.web.js +21 -25
  69. package/build/lib/web/production/components/Accordion/AccordionButton.web.js.map +1 -1
  70. package/build/lib/web/production/components/Accordion/AccordionContext.js +16 -1
  71. package/build/lib/web/production/components/Accordion/AccordionContext.js.map +1 -1
  72. package/build/lib/web/production/components/Accordion/AccordionItem.js +66 -66
  73. package/build/lib/web/production/components/Accordion/AccordionItem.js.map +1 -1
  74. package/build/lib/web/production/components/Accordion/AccordionItemBody.js +84 -0
  75. package/build/lib/web/production/components/Accordion/AccordionItemBody.js.map +1 -0
  76. package/build/lib/web/production/components/Accordion/AccordionItemHeader.js +71 -0
  77. package/build/lib/web/production/components/Accordion/AccordionItemHeader.js.map +1 -0
  78. package/build/lib/web/production/components/Accordion/StyledAccordionButton.web.js +3 -2
  79. package/build/lib/web/production/components/Accordion/StyledAccordionButton.web.js.map +1 -1
  80. package/build/lib/web/production/components/Accordion/commonStyles.js +8 -6
  81. package/build/lib/web/production/components/Accordion/commonStyles.js.map +1 -1
  82. package/build/lib/web/production/components/Accordion/componentIds.js +8 -0
  83. package/build/lib/web/production/components/Accordion/componentIds.js.map +1 -0
  84. package/build/lib/web/production/components/Accordion/index.js +2 -0
  85. package/build/lib/web/production/components/Accordion/index.js.map +1 -1
  86. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js +131 -68
  87. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  88. package/build/lib/web/production/components/Collapsible/CollapsibleBodyContent.web.js +3 -1
  89. package/build/lib/web/production/components/Collapsible/CollapsibleBodyContent.web.js.map +1 -1
  90. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js +4 -2
  91. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  92. package/build/lib/web/production/components/Dropdown/dropdownUtils.js +16 -8
  93. package/build/lib/web/production/components/Dropdown/dropdownUtils.js.map +1 -1
  94. package/build/lib/web/production/components/Dropdown/useDropdown.js +1 -1
  95. package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
  96. package/build/lib/web/production/components/FileUpload/FileUpload.web.js +0 -1
  97. package/build/lib/web/production/components/FileUpload/FileUpload.web.js.map +1 -1
  98. package/build/lib/web/production/components/index.js +2 -0
  99. package/build/lib/web/production/components/index.js.map +1 -1
  100. package/build/lib/web/production/utils/metaAttribute/metaConstants.js +2 -0
  101. package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
  102. package/build/types/components/index.d.ts +1054 -960
  103. package/build/types/components/index.native.d.ts +1057 -963
  104. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.web.js","sources":["../../../../../../src/components/FileUpload/FileUpload.web.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, forwardRef } from 'react';\nimport type { FileUploadProps, BladeFile, BladeFileList } from './types';\nimport { StyledFileUploadWrapper } from './StyledFileUploadWrapper';\nimport {\n fileUploadColorTokens,\n fileUploadLinkBorderTokens,\n getFileUploadInputHoverTokens,\n} from './fileUploadTokens';\nimport { FileUploadItem } from './FileUploadItem';\nimport { isFileAccepted } from './isFileAccepted';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Box } from '~components/Box';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport { screenReaderStyles } from '~components/VisuallyHidden';\nimport { FormHint, FormLabel } from '~components/Form';\nimport { useFormId } from '~components/Form/useFormId';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { makeSize, useTheme } from '~utils';\nimport { Text } from '~components/Typography';\nimport type { BladeElementRef } from '~utils/types';\nimport { getHintType } from '~components/Input/BaseInput/BaseInput';\nimport { makeAccessible } from '~utils/makeAccessible';\n\nconst _FileUpload: React.ForwardRefRenderFunction<BladeElementRef, FileUploadProps> = (\n {\n name,\n accept,\n uploadType = 'single',\n onChange,\n onPreview,\n onRemove,\n onDismiss,\n onDrop,\n isDisabled,\n isRequired,\n necessityIndicator,\n fileList,\n testID,\n label,\n labelPosition = 'top',\n accessibilityLabel,\n validationState,\n helpText,\n errorText,\n maxCount,\n maxSize,\n ...styledProps\n },\n ref,\n): React.ReactElement => {\n const { platform } = useTheme();\n const [selectedFiles, setSelectedFiles] = useState<BladeFileList>(fileList ?? []);\n const [errorMessage, setErrorMessage] = useState(errorText);\n console.log('🚀 ~ errorMessage:', errorMessage);\n const [internalValidationState, setInternalValidationState] = useState('none');\n const [isActive, setIsActive] = useState(false);\n\n const isMultiple = uploadType === 'multiple';\n const isOneFileSelectedWithSingleUpload = !isMultiple && selectedFiles.length === 1;\n const inputLabelPosition = platform === 'onMobile' ? 'top' : labelPosition;\n const isLabelLeftPositioned = inputLabelPosition === 'left';\n const willRenderHintText = Boolean(helpText) || Boolean(errorMessage);\n\n const showError = validationState === 'error' || internalValidationState === 'error';\n const showHelpText = !showError && helpText;\n const accessibilityText =\n accessibilityLabel ?? `,${showError ? errorText : ''} ${showHelpText ? helpText : ''}`;\n const { inputId, labelId, helpTextId, errorTextId } = useFormId('fileuploadinput');\n\n const accessibilityProps = makeAccessible({\n required: Boolean(isRequired),\n invalid: Boolean(showError),\n disabled: Boolean(isDisabled),\n describedBy: labelId,\n });\n\n // In control mode attach a unique id to each file if not provided\n useMemo(() => {\n for (const file of selectedFiles) {\n if (!file.id) {\n file.id = `${new Date().getTime().toString()}${Math.floor(Math.random() * 1000000)}`;\n }\n }\n }, [selectedFiles]);\n\n const handleFilesChange = useCallback((inputFiles: BladeFileList) => {\n setSelectedFiles((prevFiles) => {\n if (prevFiles.length > 0) {\n const allFiles = [...prevFiles, ...inputFiles];\n return allFiles;\n }\n\n return inputFiles;\n });\n }, []);\n\n const validateFiles = (inputFiles: BladeFileList, allFiles: BladeFileList): boolean => {\n if (accept && inputFiles.some((file) => !isFileAccepted(file, accept))) {\n setErrorMessage(`You provided an unsupported file type. Supported file types are: ${accept}`);\n setInternalValidationState('error');\n return true;\n }\n\n if (uploadType === 'single' && inputFiles.length > 1) {\n setErrorMessage('You can upload only one file.');\n setInternalValidationState('error');\n return true;\n }\n\n if (maxCount && allFiles.length > maxCount) {\n setErrorMessage(`You can't upload more than ${maxCount} files.`);\n setInternalValidationState('error');\n return true;\n }\n\n if (maxSize && inputFiles.some((file) => file.size > maxSize)) {\n setErrorMessage('File size exceeded.');\n setInternalValidationState('error');\n return true;\n }\n\n setInternalValidationState('none');\n setErrorMessage('');\n return false;\n };\n\n const handleDragOver = (event: React.DragEvent): void => {\n event.preventDefault();\n setIsActive(true);\n };\n\n const handleDragLeave = (event: React.DragEvent): void => {\n event.preventDefault();\n setIsActive(false);\n };\n\n const handleDrop = (event: React.DragEvent): void => {\n event.preventDefault();\n setIsActive(false);\n\n const droppedFiles = Array.from(event.dataTransfer.files);\n const allFiles = selectedFiles.length > 0 ? [...selectedFiles, ...droppedFiles] : droppedFiles;\n\n const hasValidationErrors = validateFiles(droppedFiles, allFiles);\n\n if (!hasValidationErrors) {\n handleFilesChange(droppedFiles);\n onDrop?.({ name, fileList: allFiles });\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\n const inputFiles = Array.from(event.target.files ?? []);\n const allFiles = selectedFiles.length > 0 ? [...selectedFiles, ...inputFiles] : inputFiles;\n\n const hasValidationErrors = validateFiles(inputFiles, allFiles);\n\n if (!hasValidationErrors) {\n handleFilesChange(inputFiles);\n onChange?.({ name, fileList: allFiles });\n }\n };\n\n return (\n <BaseBox\n display=\"flex\"\n flexDirection=\"column\"\n width=\"100%\"\n {...metaAttribute({ name: MetaConstants.FileUpload, testID })}\n {...getStyledProps(styledProps)}\n >\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n width=\"100%\"\n >\n {label ? (\n <FormLabel\n as=\"span\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n accessibilityText={accessibilityText}\n >\n {label}\n </FormLabel>\n ) : null}\n\n <SelectorLabel\n componentName={MetaConstants.FileUploadLabel}\n inputProps={{}}\n style={{\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n }}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"column\"\n width=\"100%\"\n marginBottom={willRenderHintText ? 'spacing.0' : 'spacing.5'}\n >\n <StyledFileUploadWrapper\n isDisabled={isDisabled}\n isActive={isActive}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n borderRadius=\"medium\"\n borderWidth=\"thin\"\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n onClick={() => setIsActive(true)}\n data-comp=\"f\"\n style={{\n ...(isOneFileSelectedWithSingleUpload ? screenReaderStyles : {}),\n }}\n >\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n flexDirection={{ base: 'column', s: 'row' }}\n gap={makeSize(6)}\n padding=\"spacing.3\"\n >\n <Text\n color={\n isDisabled\n ? fileUploadColorTokens.text.disabled\n : fileUploadColorTokens.text.default\n }\n >\n Drag files here or{' '}\n </Text>\n <SelectorInput\n id={inputId}\n hoverTokens={getFileUploadInputHoverTokens()}\n isChecked={false}\n isDisabled={isDisabled}\n inputProps={{\n name,\n type: 'file',\n onChange: handleInputChange,\n multiple: isMultiple,\n required: isRequired,\n disabled: isDisabled,\n accept,\n onBlur: () => setIsActive(false),\n ...accessibilityProps,\n }}\n ref={ref}\n />\n\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n flexDirection={{ base: 'column', s: 'row' }}\n borderRadius=\"small\"\n >\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n borderBottomColor={\n fileUploadLinkBorderTokens.color[isDisabled ? 'disabled' : 'default']\n }\n borderBottomWidth={fileUploadLinkBorderTokens.width.default}\n >\n <Text\n color={\n isDisabled\n ? fileUploadColorTokens.link.disabled\n : fileUploadColorTokens.link.default\n }\n >\n Upload\n </Text>\n </Box>\n </Box>\n </Box>\n </StyledFileUploadWrapper>\n </BaseBox>\n </SelectorLabel>\n {isOneFileSelectedWithSingleUpload && (\n <FileUploadItem\n file={selectedFiles[0]}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(newFiles);\n onRemove?.({ file: selectedFiles[0] });\n }}\n onDismiss={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(newFiles);\n onDismiss?.({ file: selectedFiles[0] });\n }}\n onPreview={onPreview}\n />\n )}\n </BaseBox>\n {/* the magic number 136 is basically max-width of label i.e 120 and then right margin i.e 16 which is the spacing between label and input field */}\n {willRenderHintText && (\n <BaseBox\n marginLeft={makeSize(label && isLabelLeftPositioned ? 136 : 0)}\n marginBottom=\"spacing.5\"\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" justifyContent=\"'space-between\">\n <FormHint\n type={getHintType({\n validationState: showError ? 'error' : validationState,\n hasHelpText: Boolean(helpText),\n })}\n helpText={helpText}\n errorText={errorMessage}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n />\n </BaseBox>\n </BaseBox>\n )}\n {!isOneFileSelectedWithSingleUpload &&\n selectedFiles.map((file) => (\n <BaseBox\n key={file.id}\n marginLeft={makeSize(label && isLabelLeftPositioned ? 136 : 0)}\n marginBottom=\"spacing.3\"\n >\n <FileUploadItem\n file={file}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(newFiles);\n onRemove?.({ file });\n }}\n onDismiss={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(newFiles);\n onDismiss?.({ file });\n }}\n onPreview={onPreview}\n />\n </BaseBox>\n ))}\n </BaseBox>\n );\n};\n\n/**\n * ### FileUpload Component\n * \n * The FileUpload component is used to handle file attachments, including the drag-and-drop interaction.\n * Primarily, it is used to upload files to a server or to display a list of uploaded files.\n * \n * ---\n * \n * #### Usage\n * \n * ```jsx\n const GSTForm = () => {\n const [selectedFile, setSelectedFile] = useState<BladeFile>();\n const [isLoading, setIsLoading] = useState(false);\n \n return (\n <Box>\n <Heading marginBottom=\"spacing.4\">Add GST Details</Heading>\n <form encType=\"multipart/form-data\" onSubmit={handleSubmit}>\n <FileUpload\n uploadType=\"single\"\n label=\"Upload GST\"\n helpText=\"Upload .jpg, .jpeg, or .png file only\"\n accept=\".jpg, .jpeg, .png\"\n onChange={({ fileList }) => {\n setSelectedFile(fileList[0]);\n }}\n onDrop={({ fileList }) => {\n setSelectedFile(fileList[0]);\n }}\n isRequired\n necessityIndicator=\"required\"\n />\n <Button type=\"submit\" variant=\"primary\">\n Submit\n </Button>\n {isLoading && (\n <ProgressBar isIndeterminate label=\"Uploading your GST Certificate...\" />\n )}\n </form>\n </Box>\n );\n }\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-fileupload FileUpload Documentation}\n * \n */\nconst FileUpload = assignWithoutSideEffects(forwardRef(_FileUpload), {\n displayName: 'FileUpload',\n componentId: 'FileUpload',\n});\n\nexport { FileUpload };\nexport type { BladeFile, BladeFileList, FileUploadProps };\n"],"names":["_FileUpload","_ref","ref","name","accept","_ref$uploadType","uploadType","onChange","onPreview","onRemove","onDismiss","onDrop","isDisabled","isRequired","necessityIndicator","fileList","testID","label","_ref$labelPosition","labelPosition","accessibilityLabel","validationState","helpText","errorText","maxCount","maxSize","styledProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","platform","_useState","useState","_useState2","_slicedToArray","selectedFiles","setSelectedFiles","_useState3","_useState4","errorMessage","setErrorMessage","console","log","_useState5","_useState6","internalValidationState","setInternalValidationState","_useState7","_useState8","isActive","setIsActive","isMultiple","isOneFileSelectedWithSingleUpload","length","inputLabelPosition","isLabelLeftPositioned","willRenderHintText","Boolean","showError","showHelpText","accessibilityText","concat","_useFormId","useFormId","inputId","labelId","helpTextId","errorTextId","accessibilityProps","makeAccessible","required","invalid","disabled","describedBy","useMemo","_iterator","_createForOfIteratorHelper","_step","s","n","done","file","value","id","Date","getTime","toString","Math","floor","random","err","e","f","handleFilesChange","useCallback","inputFiles","prevFiles","allFiles","_toConsumableArray","validateFiles","some","isFileAccepted","size","handleDragOver","event","preventDefault","handleDragLeave","handleDrop","droppedFiles","Array","from","dataTransfer","files","hasValidationErrors","handleInputChange","_event$target$files","target","_jsxs","BaseBox","_objectSpread","display","flexDirection","width","metaAttribute","MetaConstants","FileUpload","getStyledProps","children","alignItems","undefined","position","_jsx","FormLabel","as","SelectorLabel","componentName","FileUploadLabel","inputProps","style","cursor","marginBottom","StyledFileUploadWrapper","justifyContent","borderRadius","borderWidth","onDragOver","onDragLeave","onClick","screenReaderStyles","Box","base","gap","makeSize","padding","Text","color","fileUploadColorTokens","text","SelectorInput","hoverTokens","getFileUploadInputHoverTokens","isChecked","type","multiple","onBlur","borderBottomColor","fileUploadLinkBorderTokens","borderBottomWidth","link","FileUploadItem","newFiles","filter","_ref2","_ref3","marginLeft","FormHint","getHintType","hasHelpText","map","_ref4","_ref5","assignWithoutSideEffects","forwardRef","displayName","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"FileUpload.web.js","sources":["../../../../../../src/components/FileUpload/FileUpload.web.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, forwardRef } from 'react';\nimport type { FileUploadProps, BladeFile, BladeFileList } from './types';\nimport { StyledFileUploadWrapper } from './StyledFileUploadWrapper';\nimport {\n fileUploadColorTokens,\n fileUploadLinkBorderTokens,\n getFileUploadInputHoverTokens,\n} from './fileUploadTokens';\nimport { FileUploadItem } from './FileUploadItem';\nimport { isFileAccepted } from './isFileAccepted';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Box } from '~components/Box';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport { screenReaderStyles } from '~components/VisuallyHidden';\nimport { FormHint, FormLabel } from '~components/Form';\nimport { useFormId } from '~components/Form/useFormId';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { makeSize, useTheme } from '~utils';\nimport { Text } from '~components/Typography';\nimport type { BladeElementRef } from '~utils/types';\nimport { getHintType } from '~components/Input/BaseInput/BaseInput';\nimport { makeAccessible } from '~utils/makeAccessible';\n\nconst _FileUpload: React.ForwardRefRenderFunction<BladeElementRef, FileUploadProps> = (\n {\n name,\n accept,\n uploadType = 'single',\n onChange,\n onPreview,\n onRemove,\n onDismiss,\n onDrop,\n isDisabled,\n isRequired,\n necessityIndicator,\n fileList,\n testID,\n label,\n labelPosition = 'top',\n accessibilityLabel,\n validationState,\n helpText,\n errorText,\n maxCount,\n maxSize,\n ...styledProps\n },\n ref,\n): React.ReactElement => {\n const { platform } = useTheme();\n const [selectedFiles, setSelectedFiles] = useState<BladeFileList>(fileList ?? []);\n const [errorMessage, setErrorMessage] = useState(errorText);\n const [internalValidationState, setInternalValidationState] = useState('none');\n const [isActive, setIsActive] = useState(false);\n\n const isMultiple = uploadType === 'multiple';\n const isOneFileSelectedWithSingleUpload = !isMultiple && selectedFiles.length === 1;\n const inputLabelPosition = platform === 'onMobile' ? 'top' : labelPosition;\n const isLabelLeftPositioned = inputLabelPosition === 'left';\n const willRenderHintText = Boolean(helpText) || Boolean(errorMessage);\n\n const showError = validationState === 'error' || internalValidationState === 'error';\n const showHelpText = !showError && helpText;\n const accessibilityText =\n accessibilityLabel ?? `,${showError ? errorText : ''} ${showHelpText ? helpText : ''}`;\n const { inputId, labelId, helpTextId, errorTextId } = useFormId('fileuploadinput');\n\n const accessibilityProps = makeAccessible({\n required: Boolean(isRequired),\n invalid: Boolean(showError),\n disabled: Boolean(isDisabled),\n describedBy: labelId,\n });\n\n // In control mode attach a unique id to each file if not provided\n useMemo(() => {\n for (const file of selectedFiles) {\n if (!file.id) {\n file.id = `${new Date().getTime().toString()}${Math.floor(Math.random() * 1000000)}`;\n }\n }\n }, [selectedFiles]);\n\n const handleFilesChange = useCallback((inputFiles: BladeFileList) => {\n setSelectedFiles((prevFiles) => {\n if (prevFiles.length > 0) {\n const allFiles = [...prevFiles, ...inputFiles];\n return allFiles;\n }\n\n return inputFiles;\n });\n }, []);\n\n const validateFiles = (inputFiles: BladeFileList, allFiles: BladeFileList): boolean => {\n if (accept && inputFiles.some((file) => !isFileAccepted(file, accept))) {\n setErrorMessage(`You provided an unsupported file type. Supported file types are: ${accept}`);\n setInternalValidationState('error');\n return true;\n }\n\n if (uploadType === 'single' && inputFiles.length > 1) {\n setErrorMessage('You can upload only one file.');\n setInternalValidationState('error');\n return true;\n }\n\n if (maxCount && allFiles.length > maxCount) {\n setErrorMessage(`You can't upload more than ${maxCount} files.`);\n setInternalValidationState('error');\n return true;\n }\n\n if (maxSize && inputFiles.some((file) => file.size > maxSize)) {\n setErrorMessage('File size exceeded.');\n setInternalValidationState('error');\n return true;\n }\n\n setInternalValidationState('none');\n setErrorMessage('');\n return false;\n };\n\n const handleDragOver = (event: React.DragEvent): void => {\n event.preventDefault();\n setIsActive(true);\n };\n\n const handleDragLeave = (event: React.DragEvent): void => {\n event.preventDefault();\n setIsActive(false);\n };\n\n const handleDrop = (event: React.DragEvent): void => {\n event.preventDefault();\n setIsActive(false);\n\n const droppedFiles = Array.from(event.dataTransfer.files);\n const allFiles = selectedFiles.length > 0 ? [...selectedFiles, ...droppedFiles] : droppedFiles;\n\n const hasValidationErrors = validateFiles(droppedFiles, allFiles);\n\n if (!hasValidationErrors) {\n handleFilesChange(droppedFiles);\n onDrop?.({ name, fileList: allFiles });\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\n const inputFiles = Array.from(event.target.files ?? []);\n const allFiles = selectedFiles.length > 0 ? [...selectedFiles, ...inputFiles] : inputFiles;\n\n const hasValidationErrors = validateFiles(inputFiles, allFiles);\n\n if (!hasValidationErrors) {\n handleFilesChange(inputFiles);\n onChange?.({ name, fileList: allFiles });\n }\n };\n\n return (\n <BaseBox\n display=\"flex\"\n flexDirection=\"column\"\n width=\"100%\"\n {...metaAttribute({ name: MetaConstants.FileUpload, testID })}\n {...getStyledProps(styledProps)}\n >\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n width=\"100%\"\n >\n {label ? (\n <FormLabel\n as=\"span\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n accessibilityText={accessibilityText}\n >\n {label}\n </FormLabel>\n ) : null}\n\n <SelectorLabel\n componentName={MetaConstants.FileUploadLabel}\n inputProps={{}}\n style={{\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n }}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"column\"\n width=\"100%\"\n marginBottom={willRenderHintText ? 'spacing.0' : 'spacing.5'}\n >\n <StyledFileUploadWrapper\n isDisabled={isDisabled}\n isActive={isActive}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n borderRadius=\"medium\"\n borderWidth=\"thin\"\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n onClick={() => setIsActive(true)}\n data-comp=\"f\"\n style={{\n ...(isOneFileSelectedWithSingleUpload ? screenReaderStyles : {}),\n }}\n >\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n flexDirection={{ base: 'column', s: 'row' }}\n gap={makeSize(6)}\n padding=\"spacing.3\"\n >\n <Text\n color={\n isDisabled\n ? fileUploadColorTokens.text.disabled\n : fileUploadColorTokens.text.default\n }\n >\n Drag files here or{' '}\n </Text>\n <SelectorInput\n id={inputId}\n hoverTokens={getFileUploadInputHoverTokens()}\n isChecked={false}\n isDisabled={isDisabled}\n inputProps={{\n name,\n type: 'file',\n onChange: handleInputChange,\n multiple: isMultiple,\n required: isRequired,\n disabled: isDisabled,\n accept,\n onBlur: () => setIsActive(false),\n ...accessibilityProps,\n }}\n ref={ref}\n />\n\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n flexDirection={{ base: 'column', s: 'row' }}\n borderRadius=\"small\"\n >\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n borderBottomColor={\n fileUploadLinkBorderTokens.color[isDisabled ? 'disabled' : 'default']\n }\n borderBottomWidth={fileUploadLinkBorderTokens.width.default}\n >\n <Text\n color={\n isDisabled\n ? fileUploadColorTokens.link.disabled\n : fileUploadColorTokens.link.default\n }\n >\n Upload\n </Text>\n </Box>\n </Box>\n </Box>\n </StyledFileUploadWrapper>\n </BaseBox>\n </SelectorLabel>\n {isOneFileSelectedWithSingleUpload && (\n <FileUploadItem\n file={selectedFiles[0]}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(newFiles);\n onRemove?.({ file: selectedFiles[0] });\n }}\n onDismiss={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(newFiles);\n onDismiss?.({ file: selectedFiles[0] });\n }}\n onPreview={onPreview}\n />\n )}\n </BaseBox>\n {/* the magic number 136 is basically max-width of label i.e 120 and then right margin i.e 16 which is the spacing between label and input field */}\n {willRenderHintText && (\n <BaseBox\n marginLeft={makeSize(label && isLabelLeftPositioned ? 136 : 0)}\n marginBottom=\"spacing.5\"\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" justifyContent=\"'space-between\">\n <FormHint\n type={getHintType({\n validationState: showError ? 'error' : validationState,\n hasHelpText: Boolean(helpText),\n })}\n helpText={helpText}\n errorText={errorMessage}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n />\n </BaseBox>\n </BaseBox>\n )}\n {!isOneFileSelectedWithSingleUpload &&\n selectedFiles.map((file) => (\n <BaseBox\n key={file.id}\n marginLeft={makeSize(label && isLabelLeftPositioned ? 136 : 0)}\n marginBottom=\"spacing.3\"\n >\n <FileUploadItem\n file={file}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(newFiles);\n onRemove?.({ file });\n }}\n onDismiss={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(newFiles);\n onDismiss?.({ file });\n }}\n onPreview={onPreview}\n />\n </BaseBox>\n ))}\n </BaseBox>\n );\n};\n\n/**\n * ### FileUpload Component\n * \n * The FileUpload component is used to handle file attachments, including the drag-and-drop interaction.\n * Primarily, it is used to upload files to a server or to display a list of uploaded files.\n * \n * ---\n * \n * #### Usage\n * \n * ```jsx\n const GSTForm = () => {\n const [selectedFile, setSelectedFile] = useState<BladeFile>();\n const [isLoading, setIsLoading] = useState(false);\n \n return (\n <Box>\n <Heading marginBottom=\"spacing.4\">Add GST Details</Heading>\n <form encType=\"multipart/form-data\" onSubmit={handleSubmit}>\n <FileUpload\n uploadType=\"single\"\n label=\"Upload GST\"\n helpText=\"Upload .jpg, .jpeg, or .png file only\"\n accept=\".jpg, .jpeg, .png\"\n onChange={({ fileList }) => {\n setSelectedFile(fileList[0]);\n }}\n onDrop={({ fileList }) => {\n setSelectedFile(fileList[0]);\n }}\n isRequired\n necessityIndicator=\"required\"\n />\n <Button type=\"submit\" variant=\"primary\">\n Submit\n </Button>\n {isLoading && (\n <ProgressBar isIndeterminate label=\"Uploading your GST Certificate...\" />\n )}\n </form>\n </Box>\n );\n }\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-fileupload FileUpload Documentation}\n * \n */\nconst FileUpload = assignWithoutSideEffects(forwardRef(_FileUpload), {\n displayName: 'FileUpload',\n componentId: 'FileUpload',\n});\n\nexport { FileUpload };\nexport type { BladeFile, BladeFileList, FileUploadProps };\n"],"names":["_FileUpload","_ref","ref","name","accept","_ref$uploadType","uploadType","onChange","onPreview","onRemove","onDismiss","onDrop","isDisabled","isRequired","necessityIndicator","fileList","testID","label","_ref$labelPosition","labelPosition","accessibilityLabel","validationState","helpText","errorText","maxCount","maxSize","styledProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","platform","_useState","useState","_useState2","_slicedToArray","selectedFiles","setSelectedFiles","_useState3","_useState4","errorMessage","setErrorMessage","_useState5","_useState6","internalValidationState","setInternalValidationState","_useState7","_useState8","isActive","setIsActive","isMultiple","isOneFileSelectedWithSingleUpload","length","inputLabelPosition","isLabelLeftPositioned","willRenderHintText","Boolean","showError","showHelpText","accessibilityText","concat","_useFormId","useFormId","inputId","labelId","helpTextId","errorTextId","accessibilityProps","makeAccessible","required","invalid","disabled","describedBy","useMemo","_iterator","_createForOfIteratorHelper","_step","s","n","done","file","value","id","Date","getTime","toString","Math","floor","random","err","e","f","handleFilesChange","useCallback","inputFiles","prevFiles","allFiles","_toConsumableArray","validateFiles","some","isFileAccepted","size","handleDragOver","event","preventDefault","handleDragLeave","handleDrop","droppedFiles","Array","from","dataTransfer","files","hasValidationErrors","handleInputChange","_event$target$files","target","_jsxs","BaseBox","_objectSpread","display","flexDirection","width","metaAttribute","MetaConstants","FileUpload","getStyledProps","children","alignItems","undefined","position","_jsx","FormLabel","as","SelectorLabel","componentName","FileUploadLabel","inputProps","style","cursor","marginBottom","StyledFileUploadWrapper","justifyContent","borderRadius","borderWidth","onDragOver","onDragLeave","onClick","screenReaderStyles","Box","base","gap","makeSize","padding","Text","color","fileUploadColorTokens","text","SelectorInput","hoverTokens","getFileUploadInputHoverTokens","isChecked","type","multiple","onBlur","borderBottomColor","fileUploadLinkBorderTokens","borderBottomWidth","link","FileUploadItem","newFiles","filter","_ref2","_ref3","marginLeft","FormHint","getHintType","hasHelpText","map","_ref4","_ref5","assignWithoutSideEffects","forwardRef","displayName","componentId"],"mappings":"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"}
@@ -47,6 +47,8 @@ import './types.js';
47
47
  import './Typography/index.js';
48
48
  import './VisuallyHidden/index.web.js';
49
49
  export { Accordion } from './Accordion/Accordion.js';
50
+ export { AccordionItemHeader } from './Accordion/AccordionItemHeader.js';
51
+ export { AccordionItemBody } from './Accordion/AccordionItemBody.js';
50
52
  export { AccordionItem } from './Accordion/AccordionItem.js';
51
53
  export { ActionList } from './ActionList/ActionList.js';
52
54
  export { ActionListItem, ActionListItemBadge, ActionListItemBadgeGroup, ActionListItemIcon, ActionListItemText, ActionListSection } from './ActionList/ActionListItem.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,6 +2,8 @@ var MetaConstants = {
2
2
  Accordion: 'accordion',
3
3
  AccordionButton: 'accordion-button',
4
4
  AccordionItem: 'accordion-item',
5
+ AccordionItemHeader: 'accordion-item-header',
6
+ AccordionItemBody: 'accordion-item-body',
5
7
  ActionList: 'action-list',
6
8
  ActionListItem: 'action-list-item',
7
9
  ActionListSection: 'action-list-section',
@@ -1 +1 @@
1
- {"version":3,"file":"metaConstants.js","sources":["../../../../../../src/utils/metaAttribute/metaConstants.ts"],"sourcesContent":["export const MetaConstants = {\n Accordion: 'accordion',\n AccordionButton: 'accordion-button',\n AccordionItem: 'accordion-item',\n ActionList: 'action-list',\n ActionListItem: 'action-list-item',\n ActionListSection: 'action-list-section',\n Alert: 'alert',\n Amount: 'amount',\n AutoComplete: 'autocomplete',\n Badge: 'badge',\n Box: 'box',\n BaseBox: 'base-box',\n BaseText: 'base-text',\n Button: 'button',\n Breadcrumb: 'breadcrumb',\n BreadcrumbItem: 'breadcrumb-item',\n Carousel: 'carousel',\n Checkbox: 'checkbox',\n CheckboxGroup: 'checkbox-group',\n CheckboxLabel: 'checkbox-label',\n Chip: 'chip',\n ChipGroup: 'chip-group',\n ChipLabel: 'chip-label',\n Code: 'code',\n Component: 'blade-component',\n Counter: 'counter',\n Display: 'display',\n Divider: 'divider',\n Drawer: 'drawer',\n Dropdown: 'dropdown',\n DropdownOverlay: 'dropdown-overlay',\n DropdownFooter: 'dropdown-footer',\n DropdownHeader: 'dropdown-header',\n FileUpload: 'file-upload',\n FileUploadItem: 'file-upload-item',\n FileUploadLabel: 'file-upload-label',\n Icon: 'icon',\n IconButton: 'icon-button',\n Indicator: 'indicator',\n Link: 'link',\n List: 'list',\n ListItem: 'list-item',\n ListItemCode: 'list-item-code',\n ListItemLink: 'list-item-link',\n ListItemText: 'list-item-text',\n OTPInput: 'otp-input',\n PasswordInput: 'password-input',\n TextArea: 'textarea',\n TextInput: 'textinput',\n Toast: 'toast',\n ToastContainer: 'toast-container',\n ProgressBar: 'progress-bar',\n Radio: 'radio',\n RadioGroup: 'radio-group',\n RadioLabel: 'radio-label',\n SkipNav: 'skipnav',\n Spinner: 'spinner',\n SelectInput: 'select-input',\n Tag: 'tag',\n Tooltip: 'tooltip',\n TooltipInteractiveWrapper: 'tooltip-interactive-wrapper',\n Tabs: 'tabs',\n TabList: 'tab-list',\n TabItem: 'tab-item',\n TabPanel: 'tab-panel',\n TabIndicator: 'tab-indicator',\n Table: 'table',\n TableBody: 'table-body',\n TableRow: 'table-row',\n TableCell: 'table-cell',\n TableHeader: 'table-header',\n TableHeaderRow: 'table-header-row',\n TableHeaderCell: 'table-header-cell',\n TableFooter: 'table-footer',\n TableFooterRow: 'table-footer-row',\n TableFooterCell: 'table-footer-cell',\n TableElement: 'table-element',\n TourPopover: 'tour-popover',\n TourMask: 'tour-mask',\n Popover: 'popover',\n PopoverInteractiveWrapper: 'popover-interactive-wrapper',\n BottomSheet: 'bottom-sheet',\n BottomSheetBody: 'bottom-sheet-body',\n BottomSheetHeader: 'bottom-sheet-header',\n BottomSheetFooter: 'bottom-sheet-footer',\n BottomSheetGrabHandle: 'bottomsheet-grab-handle',\n Card: 'card',\n CardBody: 'card-body',\n CardHeader: 'card-header',\n CardFooter: 'card-footer',\n Collapsible: 'collapsible',\n CollapsibleBody: 'collapsible-body',\n CollapsibleButton: 'collapsible-button',\n CollapsibleLink: 'collapsible-link',\n Modal: 'modal',\n ModalBody: 'modal-body',\n ModalHeader: 'modal-header',\n ModalFooter: 'modal-footer',\n ModalBackdrop: 'modal-backdrop',\n ModalScrollOverlay: 'modal-scroll-overlay',\n VisuallyHidden: 'visually-hidden',\n FormLabel: 'form-label',\n Switch: 'switch',\n SwitchLabel: 'switch-label',\n StyledBaseInput: 'styled-base-input',\n Skeleton: 'skeleton',\n} as const;\n"],"names":["MetaConstants","Accordion","AccordionButton","AccordionItem","ActionList","ActionListItem","ActionListSection","Alert","Amount","AutoComplete","Badge","Box","BaseBox","BaseText","Button","Breadcrumb","BreadcrumbItem","Carousel","Checkbox","CheckboxGroup","CheckboxLabel","Chip","ChipGroup","ChipLabel","Code","Component","Counter","Display","Divider","Drawer","Dropdown","DropdownOverlay","DropdownFooter","DropdownHeader","FileUpload","FileUploadItem","FileUploadLabel","Icon","IconButton","Indicator","Link","List","ListItem","ListItemCode","ListItemLink","ListItemText","OTPInput","PasswordInput","TextArea","TextInput","Toast","ToastContainer","ProgressBar","Radio","RadioGroup","RadioLabel","SkipNav","Spinner","SelectInput","Tag","Tooltip","TooltipInteractiveWrapper","Tabs","TabList","TabItem","TabPanel","TabIndicator","Table","TableBody","TableRow","TableCell","TableHeader","TableHeaderRow","TableHeaderCell","TableFooter","TableFooterRow","TableFooterCell","TableElement","TourPopover","TourMask","Popover","PopoverInteractiveWrapper","BottomSheet","BottomSheetBody","BottomSheetHeader","BottomSheetFooter","BottomSheetGrabHandle","Card","CardBody","CardHeader","CardFooter","Collapsible","CollapsibleBody","CollapsibleButton","CollapsibleLink","Modal","ModalBody","ModalHeader","ModalFooter","ModalBackdrop","ModalScrollOverlay","VisuallyHidden","FormLabel","Switch","SwitchLabel","StyledBaseInput","Skeleton"],"mappings":"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"}
1
+ {"version":3,"file":"metaConstants.js","sources":["../../../../../../src/utils/metaAttribute/metaConstants.ts"],"sourcesContent":["export const MetaConstants = {\n Accordion: 'accordion',\n AccordionButton: 'accordion-button',\n AccordionItem: 'accordion-item',\n AccordionItemHeader: 'accordion-item-header',\n AccordionItemBody: 'accordion-item-body',\n ActionList: 'action-list',\n ActionListItem: 'action-list-item',\n ActionListSection: 'action-list-section',\n Alert: 'alert',\n Amount: 'amount',\n AutoComplete: 'autocomplete',\n Badge: 'badge',\n Box: 'box',\n BaseBox: 'base-box',\n BaseText: 'base-text',\n Button: 'button',\n Breadcrumb: 'breadcrumb',\n BreadcrumbItem: 'breadcrumb-item',\n Carousel: 'carousel',\n Checkbox: 'checkbox',\n CheckboxGroup: 'checkbox-group',\n CheckboxLabel: 'checkbox-label',\n Chip: 'chip',\n ChipGroup: 'chip-group',\n ChipLabel: 'chip-label',\n Code: 'code',\n Component: 'blade-component',\n Counter: 'counter',\n Display: 'display',\n Divider: 'divider',\n Drawer: 'drawer',\n Dropdown: 'dropdown',\n DropdownOverlay: 'dropdown-overlay',\n DropdownFooter: 'dropdown-footer',\n DropdownHeader: 'dropdown-header',\n FileUpload: 'file-upload',\n FileUploadItem: 'file-upload-item',\n FileUploadLabel: 'file-upload-label',\n Icon: 'icon',\n IconButton: 'icon-button',\n Indicator: 'indicator',\n Link: 'link',\n List: 'list',\n ListItem: 'list-item',\n ListItemCode: 'list-item-code',\n ListItemLink: 'list-item-link',\n ListItemText: 'list-item-text',\n OTPInput: 'otp-input',\n PasswordInput: 'password-input',\n TextArea: 'textarea',\n TextInput: 'textinput',\n Toast: 'toast',\n ToastContainer: 'toast-container',\n ProgressBar: 'progress-bar',\n Radio: 'radio',\n RadioGroup: 'radio-group',\n RadioLabel: 'radio-label',\n SkipNav: 'skipnav',\n Spinner: 'spinner',\n SelectInput: 'select-input',\n Tag: 'tag',\n Tooltip: 'tooltip',\n TooltipInteractiveWrapper: 'tooltip-interactive-wrapper',\n Tabs: 'tabs',\n TabList: 'tab-list',\n TabItem: 'tab-item',\n TabPanel: 'tab-panel',\n TabIndicator: 'tab-indicator',\n Table: 'table',\n TableBody: 'table-body',\n TableRow: 'table-row',\n TableCell: 'table-cell',\n TableHeader: 'table-header',\n TableHeaderRow: 'table-header-row',\n TableHeaderCell: 'table-header-cell',\n TableFooter: 'table-footer',\n TableFooterRow: 'table-footer-row',\n TableFooterCell: 'table-footer-cell',\n TableElement: 'table-element',\n TourPopover: 'tour-popover',\n TourMask: 'tour-mask',\n Popover: 'popover',\n PopoverInteractiveWrapper: 'popover-interactive-wrapper',\n BottomSheet: 'bottom-sheet',\n BottomSheetBody: 'bottom-sheet-body',\n BottomSheetHeader: 'bottom-sheet-header',\n BottomSheetFooter: 'bottom-sheet-footer',\n BottomSheetGrabHandle: 'bottomsheet-grab-handle',\n Card: 'card',\n CardBody: 'card-body',\n CardHeader: 'card-header',\n CardFooter: 'card-footer',\n Collapsible: 'collapsible',\n CollapsibleBody: 'collapsible-body',\n CollapsibleButton: 'collapsible-button',\n CollapsibleLink: 'collapsible-link',\n Modal: 'modal',\n ModalBody: 'modal-body',\n ModalHeader: 'modal-header',\n ModalFooter: 'modal-footer',\n ModalBackdrop: 'modal-backdrop',\n ModalScrollOverlay: 'modal-scroll-overlay',\n VisuallyHidden: 'visually-hidden',\n FormLabel: 'form-label',\n Switch: 'switch',\n SwitchLabel: 'switch-label',\n StyledBaseInput: 'styled-base-input',\n Skeleton: 'skeleton',\n} as const;\n"],"names":["MetaConstants","Accordion","AccordionButton","AccordionItem","AccordionItemHeader","AccordionItemBody","ActionList","ActionListItem","ActionListSection","Alert","Amount","AutoComplete","Badge","Box","BaseBox","BaseText","Button","Breadcrumb","BreadcrumbItem","Carousel","Checkbox","CheckboxGroup","CheckboxLabel","Chip","ChipGroup","ChipLabel","Code","Component","Counter","Display","Divider","Drawer","Dropdown","DropdownOverlay","DropdownFooter","DropdownHeader","FileUpload","FileUploadItem","FileUploadLabel","Icon","IconButton","Indicator","Link","List","ListItem","ListItemCode","ListItemLink","ListItemText","OTPInput","PasswordInput","TextArea","TextInput","Toast","ToastContainer","ProgressBar","Radio","RadioGroup","RadioLabel","SkipNav","Spinner","SelectInput","Tag","Tooltip","TooltipInteractiveWrapper","Tabs","TabList","TabItem","TabPanel","TabIndicator","Table","TableBody","TableRow","TableCell","TableHeader","TableHeaderRow","TableHeaderCell","TableFooter","TableFooterRow","TableFooterCell","TableElement","TourPopover","TourMask","Popover","PopoverInteractiveWrapper","BottomSheet","BottomSheetBody","BottomSheetHeader","BottomSheetFooter","BottomSheetGrabHandle","Card","CardBody","CardHeader","CardFooter","Collapsible","CollapsibleBody","CollapsibleButton","CollapsibleLink","Modal","ModalBody","ModalHeader","ModalFooter","ModalBackdrop","ModalScrollOverlay","VisuallyHidden","FormLabel","Switch","SwitchLabel","StyledBaseInput","Skeleton"],"mappings":"AAAO,IAAMA,aAAa,GAAG;AAC3BC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,aAAa,EAAE,gBAAgB;AAC/BC,EAAAA,mBAAmB,EAAE,uBAAuB;AAC5CC,EAAAA,iBAAiB,EAAE,qBAAqB;AACxCC,EAAAA,UAAU,EAAE,aAAa;AACzBC,EAAAA,cAAc,EAAE,kBAAkB;AAClCC,EAAAA,iBAAiB,EAAE,qBAAqB;AACxCC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,OAAO,EAAE,UAAU;AACnBC,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,cAAc,EAAE,iBAAiB;AACjCC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,aAAa,EAAE,gBAAgB;AAC/BC,EAAAA,aAAa,EAAE,gBAAgB;AAC/BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,SAAS,EAAE,iBAAiB;AAC5BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,cAAc,EAAE,iBAAiB;AACjCC,EAAAA,cAAc,EAAE,iBAAiB;AACjCC,EAAAA,UAAU,EAAE,aAAa;AACzBC,EAAAA,cAAc,EAAE,kBAAkB;AAClCC,EAAAA,eAAe,EAAE,mBAAmB;AACpCC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,UAAU,EAAE,aAAa;AACzBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,YAAY,EAAE,gBAAgB;AAC9BC,EAAAA,YAAY,EAAE,gBAAgB;AAC9BC,EAAAA,YAAY,EAAE,gBAAgB;AAC9BC,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,aAAa,EAAE,gBAAgB;AAC/BC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,cAAc,EAAE,iBAAiB;AACjCC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,UAAU,EAAE,aAAa;AACzBC,EAAAA,UAAU,EAAE,aAAa;AACzBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,yBAAyB,EAAE,6BAA6B;AACxDC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,OAAO,EAAE,UAAU;AACnBC,EAAAA,OAAO,EAAE,UAAU;AACnBC,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,YAAY,EAAE,eAAe;AAC7BC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,cAAc,EAAE,kBAAkB;AAClCC,EAAAA,eAAe,EAAE,mBAAmB;AACpCC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,cAAc,EAAE,kBAAkB;AAClCC,EAAAA,eAAe,EAAE,mBAAmB;AACpCC,EAAAA,YAAY,EAAE,eAAe;AAC7BC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,yBAAyB,EAAE,6BAA6B;AACxDC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,eAAe,EAAE,mBAAmB;AACpCC,EAAAA,iBAAiB,EAAE,qBAAqB;AACxCC,EAAAA,iBAAiB,EAAE,qBAAqB;AACxCC,EAAAA,qBAAqB,EAAE,yBAAyB;AAChDC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,QAAQ,EAAE,WAAW;AACrBC,EAAAA,UAAU,EAAE,aAAa;AACzBC,EAAAA,UAAU,EAAE,aAAa;AACzBC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,iBAAiB,EAAE,oBAAoB;AACvCC,EAAAA,eAAe,EAAE,kBAAkB;AACnCC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,aAAa,EAAE,gBAAgB;AAC/BC,EAAAA,kBAAkB,EAAE,sBAAsB;AAC1CC,EAAAA,cAAc,EAAE,iBAAiB;AACjCC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,eAAe,EAAE,mBAAmB;AACpCC,EAAAA,QAAQ,EAAE,UAAA;AACZ;;;;"}
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
3
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
- import { useState, useCallback, useMemo, Children, cloneElement } from 'react';
4
+ import { useState, Children, useCallback, useMemo, cloneElement } from 'react';
5
5
  import { AccordionContext } from './AccordionContext.js';
6
6
  import { MAX_WIDTH } from './styles.web.js';
7
7
  import '../Box/BaseBox/index.js';
@@ -17,7 +17,7 @@ import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
17
17
  import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
18
18
  import { getStyledProps } from '../Box/styledProps/getStyledProps.js';
19
19
 
20
- var _excluded = ["defaultExpandedIndex", "expandedIndex", "onExpandChange", "showNumberPrefix", "children", "testID"];
20
+ var _excluded = ["defaultExpandedIndex", "expandedIndex", "onExpandChange", "showNumberPrefix", "children", "variant", "size", "testID"];
21
21
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
22
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
23
  var MIN_WIDTH = {
@@ -25,6 +25,49 @@ var MIN_WIDTH = {
25
25
  m: makeSize(size[360]),
26
26
  l: makeSize(size[360])
27
27
  };
28
+ var getVariantStyles = function getVariantStyles(variant) {
29
+ if (variant === 'transparent') {
30
+ return {};
31
+ }
32
+ return {
33
+ backgroundColor: 'surface.background.gray.intense',
34
+ borderRadius: 'medium',
35
+ borderWidth: 'thinner',
36
+ borderColor: 'surface.border.gray.subtle'
37
+ };
38
+ };
39
+
40
+ /**
41
+ * # Accordion
42
+ *
43
+ * An accordion is used to allow users to toggle between different content sections in a compact vertical stack.
44
+ *
45
+ * ## Usage
46
+ *
47
+ * ```jsx
48
+ * <Accordion>
49
+ * <AccordionItem>
50
+ * <AccordionItemHeader title="Title" />
51
+ * <AccordionItemBody>
52
+ * <Text color="surface.text.gray.subtle">
53
+ * Hello this is accordion body content
54
+ * </Text>
55
+ * </AccordionItemBody>
56
+ * </AccordionItem>
57
+ * <AccordionItem>
58
+ * <AccordionItemHeader title="Title" />
59
+ * <AccordionItemBody>
60
+ * <Text color="surface.text.gray.subtle">
61
+ * Hello this is accordion body content
62
+ * </Text>
63
+ * </AccordionItemBody>
64
+ * </AccordionItem>
65
+ * </Accordion>
66
+ * ```
67
+ *
68
+ * Checkout https://blade.razorpay.com/?path=/docs/components-accordion--docs
69
+ *
70
+ */
28
71
  var Accordion = function Accordion(_ref) {
29
72
  var defaultExpandedIndex = _ref.defaultExpandedIndex,
30
73
  expandedIndex = _ref.expandedIndex,
@@ -32,12 +75,17 @@ var Accordion = function Accordion(_ref) {
32
75
  _ref$showNumberPrefix = _ref.showNumberPrefix,
33
76
  showNumberPrefix = _ref$showNumberPrefix === void 0 ? false : _ref$showNumberPrefix,
34
77
  children = _ref.children,
78
+ _ref$variant = _ref.variant,
79
+ variant = _ref$variant === void 0 ? 'transparent' : _ref$variant,
80
+ _ref$size = _ref.size,
81
+ size = _ref$size === void 0 ? 'large' : _ref$size,
35
82
  testID = _ref.testID,
36
83
  styledProps = _objectWithoutProperties(_ref, _excluded);
37
84
  var _useState = useState(defaultExpandedIndex),
38
85
  _useState2 = _slicedToArray(_useState, 2),
39
86
  expandedAccordionItemIndex = _useState2[0],
40
87
  setExpandedAccordionItemIndex = _useState2[1];
88
+ var numberOfItems = Children.count(children);
41
89
  var handleExpandChange = useCallback(function (nextExpandedIndex) {
42
90
  if (typeof expandedIndex !== 'undefined') {
43
91
  // controlled
@@ -57,16 +105,19 @@ var Accordion = function Accordion(_ref) {
57
105
  expandedIndex: expandedIndex !== null && expandedIndex !== void 0 ? expandedIndex : expandedAccordionItemIndex,
58
106
  defaultExpandedIndex: defaultExpandedIndex,
59
107
  onExpandChange: handleExpandChange,
60
- showNumberPrefix: showNumberPrefix
108
+ showNumberPrefix: showNumberPrefix,
109
+ variant: variant,
110
+ numberOfItems: numberOfItems,
111
+ size: size
61
112
  };
62
- }, [expandedAccordionItemIndex, handleExpandChange, expandedIndex, showNumberPrefix, defaultExpandedIndex]);
113
+ }, [expandedAccordionItemIndex, handleExpandChange, expandedIndex, showNumberPrefix, defaultExpandedIndex, variant, numberOfItems, size]);
63
114
  return /*#__PURE__*/jsx(AccordionContext.Provider, {
64
115
  value: accordionContext,
65
116
  children: /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread(_objectSpread({}, metaAttribute({
66
117
  name: MetaConstants.Accordion,
67
118
  testID: testID
68
119
  })), getStyledProps(styledProps)), {}, {
69
- children: /*#__PURE__*/jsx(BaseBox, {
120
+ children: /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread({}, getVariantStyles(variant)), {}, {
70
121
  minWidth: MIN_WIDTH,
71
122
  maxWidth: MAX_WIDTH,
72
123
  width: "100%",
@@ -76,7 +127,7 @@ var Accordion = function Accordion(_ref) {
76
127
  key: index
77
128
  });
78
129
  })
79
- })
130
+ }))
80
131
  }))
81
132
  });
82
133
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sources":["../../../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useCallback, useMemo, useState, cloneElement, Children } from 'react';\nimport type { AccordionContextState } from './AccordionContext';\nimport { AccordionContext } from './AccordionContext';\nimport { MAX_WIDTH } from './styles';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { BoxProps } from '~components/Box';\nimport { size } from '~tokens/global';\nimport type { TestID } from '~utils/types';\nimport { makeSize } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\ntype AccordionProps = {\n /**\n * Makes the passed item index expanded by default (uncontrolled)\n */\n defaultExpandedIndex?: number;\n\n /**\n * Expands the passed index (controlled), `-1` implies no expanded items\n */\n expandedIndex?: number;\n\n /**\n * Callback for change in any item's expanded state,\n * `-1` implies no expanded items\n */\n onExpandChange?: ({ expandedIndex }: { expandedIndex: number }) => void;\n\n /**\n * Adds numeric index at the beginning of items\n *\n * @default false\n */\n showNumberPrefix?: boolean;\n\n /**\n * Accepts `AccordionItem` child nodes\n */\n children: ReactElement | ReactElement[];\n} & TestID &\n StyledPropsBlade;\n\nconst MIN_WIDTH: BoxProps['minWidth'] = {\n s: makeSize(size[200]),\n m: makeSize(size[360]),\n l: makeSize(size[360]),\n};\n\nconst Accordion = ({\n defaultExpandedIndex,\n expandedIndex,\n onExpandChange,\n showNumberPrefix = false,\n children,\n testID,\n ...styledProps\n}: AccordionProps): ReactElement => {\n const [expandedAccordionItemIndex, setExpandedAccordionItemIndex] = useState<number | undefined>(\n defaultExpandedIndex,\n );\n\n const handleExpandChange = useCallback(\n (nextExpandedIndex: number) => {\n if (typeof expandedIndex !== 'undefined') {\n // controlled\n onExpandChange?.({ expandedIndex: nextExpandedIndex });\n } else {\n // uncontrolled\n setExpandedAccordionItemIndex(nextExpandedIndex);\n onExpandChange?.({ expandedIndex: nextExpandedIndex });\n }\n },\n [onExpandChange, expandedIndex],\n );\n\n const accordionContext = useMemo<AccordionContextState>(\n () => ({\n expandedIndex: expandedIndex ?? expandedAccordionItemIndex,\n defaultExpandedIndex,\n onExpandChange: handleExpandChange,\n showNumberPrefix,\n }),\n [\n expandedAccordionItemIndex,\n handleExpandChange,\n expandedIndex,\n showNumberPrefix,\n defaultExpandedIndex,\n ],\n );\n\n return (\n <AccordionContext.Provider value={accordionContext}>\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Accordion, testID })}\n {...getStyledProps(styledProps)}\n >\n <BaseBox minWidth={MIN_WIDTH} maxWidth={MAX_WIDTH} width=\"100%\">\n {Children.map(children, (child, index) =>\n cloneElement(child, { _index: index, key: index }),\n )}\n </BaseBox>\n </BaseBox>\n </AccordionContext.Provider>\n );\n};\n\nexport type { AccordionProps };\nexport { Accordion };\n"],"names":["MIN_WIDTH","s","makeSize","size","m","l","Accordion","_ref","defaultExpandedIndex","expandedIndex","onExpandChange","_ref$showNumberPrefix","showNumberPrefix","children","testID","styledProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","expandedAccordionItemIndex","setExpandedAccordionItemIndex","handleExpandChange","useCallback","nextExpandedIndex","accordionContext","useMemo","_jsx","AccordionContext","Provider","value","BaseBox","_objectSpread","metaAttribute","name","MetaConstants","getStyledProps","minWidth","maxWidth","MAX_WIDTH","width","Children","map","child","index","cloneElement","_index","key"],"mappings":"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"}
1
+ {"version":3,"file":"Accordion.js","sources":["../../../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useCallback, useMemo, useState, cloneElement, Children } from 'react';\nimport type { AccordionContextState } from './AccordionContext';\nimport { AccordionContext } from './AccordionContext';\nimport { MAX_WIDTH } from './styles';\nimport type { AccordionProps } from './types';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { BoxProps } from '~components/Box';\nimport { size as sizeTokens } from '~tokens/global';\nimport { makeSize } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\nconst MIN_WIDTH: BoxProps['minWidth'] = {\n s: makeSize(sizeTokens[200]),\n m: makeSize(sizeTokens[360]),\n l: makeSize(sizeTokens[360]),\n};\n\nconst getVariantStyles = (variant: AccordionProps['variant']): BoxProps => {\n if (variant === 'transparent') {\n return {};\n }\n\n return {\n backgroundColor: 'surface.background.gray.intense',\n borderRadius: 'medium',\n borderWidth: 'thinner',\n borderColor: 'surface.border.gray.subtle',\n };\n};\n\n/**\n * # Accordion\n *\n * An accordion is used to allow users to toggle between different content sections in a compact vertical stack.\n *\n * ## Usage\n *\n * ```jsx\n * <Accordion>\n * <AccordionItem>\n * <AccordionItemHeader title=\"Title\" />\n * <AccordionItemBody>\n * <Text color=\"surface.text.gray.subtle\">\n * Hello this is accordion body content\n * </Text>\n * </AccordionItemBody>\n * </AccordionItem>\n * <AccordionItem>\n * <AccordionItemHeader title=\"Title\" />\n * <AccordionItemBody>\n * <Text color=\"surface.text.gray.subtle\">\n * Hello this is accordion body content\n * </Text>\n * </AccordionItemBody>\n * </AccordionItem>\n * </Accordion>\n * ```\n *\n * Checkout https://blade.razorpay.com/?path=/docs/components-accordion--docs\n *\n */\nconst Accordion = ({\n defaultExpandedIndex,\n expandedIndex,\n onExpandChange,\n showNumberPrefix = false,\n children,\n variant = 'transparent',\n size = 'large',\n testID,\n ...styledProps\n}: AccordionProps): ReactElement => {\n const [expandedAccordionItemIndex, setExpandedAccordionItemIndex] = useState<number | undefined>(\n defaultExpandedIndex,\n );\n\n const numberOfItems = Children.count(children);\n\n const handleExpandChange = useCallback(\n (nextExpandedIndex: number) => {\n if (typeof expandedIndex !== 'undefined') {\n // controlled\n onExpandChange?.({ expandedIndex: nextExpandedIndex });\n } else {\n // uncontrolled\n setExpandedAccordionItemIndex(nextExpandedIndex);\n onExpandChange?.({ expandedIndex: nextExpandedIndex });\n }\n },\n [onExpandChange, expandedIndex],\n );\n\n const accordionContext = useMemo<AccordionContextState>(\n () => ({\n expandedIndex: expandedIndex ?? expandedAccordionItemIndex,\n defaultExpandedIndex,\n onExpandChange: handleExpandChange,\n showNumberPrefix,\n variant,\n numberOfItems,\n size,\n }),\n [\n expandedAccordionItemIndex,\n handleExpandChange,\n expandedIndex,\n showNumberPrefix,\n defaultExpandedIndex,\n variant,\n numberOfItems,\n size,\n ],\n );\n\n return (\n <AccordionContext.Provider value={accordionContext}>\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Accordion, testID })}\n {...getStyledProps(styledProps)}\n >\n <BaseBox\n {...getVariantStyles(variant)}\n minWidth={MIN_WIDTH}\n maxWidth={MAX_WIDTH}\n width=\"100%\"\n >\n {Children.map(children, (child, index) =>\n cloneElement(child, { _index: index, key: index }),\n )}\n </BaseBox>\n </BaseBox>\n </AccordionContext.Provider>\n );\n};\n\nexport { Accordion };\n"],"names":["MIN_WIDTH","s","makeSize","sizeTokens","m","l","getVariantStyles","variant","backgroundColor","borderRadius","borderWidth","borderColor","Accordion","_ref","defaultExpandedIndex","expandedIndex","onExpandChange","_ref$showNumberPrefix","showNumberPrefix","children","_ref$variant","_ref$size","size","testID","styledProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","expandedAccordionItemIndex","setExpandedAccordionItemIndex","numberOfItems","Children","count","handleExpandChange","useCallback","nextExpandedIndex","accordionContext","useMemo","_jsx","AccordionContext","Provider","value","BaseBox","_objectSpread","metaAttribute","name","MetaConstants","getStyledProps","minWidth","maxWidth","MAX_WIDTH","width","map","child","index","cloneElement","_index","key"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import { StyledAccordionButton } from './StyledAccordionButton.web.js';
3
3
  import { useAccordion } from './AccordionContext.js';
4
+ import { AccordionItemHeader } from './AccordionItemHeader.js';
4
5
  import '../Box/BaseBox/index.js';
5
6
  import '../../utils/metaAttribute/index.js';
6
7
  import '../Typography/index.js';
7
8
  import { useCollapsible } from '../Collapsible/CollapsibleContext.js';
8
- import { CollapsibleChevronIcon } from '../Collapsible/CollapsibleChevronIcon.web.js';
9
9
  import '../../utils/makeAccessible/index.js';
10
10
  import '../../utils/assignWithoutSideEffects/index.js';
11
11
  import '../../utils/logger/index.js';
@@ -23,31 +23,37 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
23
23
  var _AccordionButton = function _AccordionButton(_ref) {
24
24
  var index = _ref.index,
25
25
  Icon = _ref.icon,
26
- children = _ref.children;
26
+ title = _ref.title,
27
+ isDeprecatedAPI = _ref.isDeprecatedAPI,
28
+ header = _ref.header,
29
+ isDisabled = _ref.isDisabled;
27
30
  var _useCollapsible = useCollapsible(),
28
31
  onExpandChange = _useCollapsible.onExpandChange,
29
32
  isExpanded = _useCollapsible.isExpanded,
30
33
  collapsibleBodyId = _useCollapsible.collapsibleBodyId;
31
34
  var _useAccordion = useAccordion(),
32
35
  showNumberPrefix = _useAccordion.showNumberPrefix,
33
- expandedIndex = _useAccordion.expandedIndex;
36
+ expandedIndex = _useAccordion.expandedIndex,
37
+ size = _useAccordion.size;
34
38
  var toggleCollapse = function toggleCollapse() {
35
39
  return onExpandChange(!isExpanded);
36
40
  };
37
41
  var onClick = function onClick() {
38
42
  return toggleCollapse();
39
43
  };
40
- var _index = typeof index === 'number' && showNumberPrefix ? /*#__PURE__*/jsxs(Text, {
41
- size: "large",
44
+ var _index = typeof index === 'number' && showNumberPrefix ?
45
+ /*#__PURE__*/
46
+ // we have to add -2px margin to align the number with title of BaseHeader
47
+ jsxs(Text, {
48
+ size: size,
42
49
  weight: "semibold",
43
- marginRight: "spacing.2",
50
+ marginTop: "-2px",
44
51
  as: "span",
45
52
  children: [index + 1, "."]
46
53
  }) : null;
47
54
  var _icon = Icon && /*#__PURE__*/jsx(Icon, {
48
- size: "medium",
49
- color: "surface.icon.gray.muted",
50
- marginRight: "spacing.3",
55
+ size: size,
56
+ color: "surface.icon.gray.normal",
51
57
  marginY: "spacing.2"
52
58
  });
53
59
  if (false) {
@@ -66,8 +72,9 @@ var _AccordionButton = function _AccordionButton(_ref) {
66
72
  level: 3
67
73
  })), {}, {
68
74
  width: "100%",
69
- children: /*#__PURE__*/jsxs(StyledAccordionButton, _objectSpread(_objectSpread(_objectSpread({
75
+ children: /*#__PURE__*/jsx(StyledAccordionButton, _objectSpread(_objectSpread(_objectSpread({
70
76
  isExpanded: isItemExpanded,
77
+ disabled: isDisabled,
71
78
  onClick: onClick
72
79
  }, makeAccessible({
73
80
  expanded: isItemExpanded,
@@ -75,21 +82,10 @@ var _AccordionButton = function _AccordionButton(_ref) {
75
82
  })), metaAttribute({
76
83
  name: MetaConstants.AccordionButton
77
84
  })), {}, {
78
- children: [/*#__PURE__*/jsxs(BaseBox, {
79
- display: "flex",
80
- flexDirection: "row",
81
- alignItems: "flex-start",
82
- marginRight: "spacing.4",
83
- children: [_index, _icon, /*#__PURE__*/jsx(Text, {
84
- size: "large",
85
- weight: "semibold",
86
- as: "span",
87
- children: children
88
- })]
89
- }), /*#__PURE__*/jsx(CollapsibleChevronIcon, {
90
- color: "currentColor",
91
- size: "large"
92
- })]
85
+ children: isDeprecatedAPI ? /*#__PURE__*/jsx(AccordionItemHeader, {
86
+ title: title,
87
+ leading: _icon !== null && _icon !== void 0 ? _icon : _index
88
+ }) : header
93
89
  }))
94
90
  }));
95
91
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionButton.web.js","sources":["../../../../../../src/components/Accordion/AccordionButton.web.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { StyledAccordionButton } from './StyledAccordionButton';\nimport type { AccordionButtonProps } from './types';\nimport { useAccordion } from './AccordionContext';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { Text } from '~components/Typography';\nimport { useCollapsible } from '~components/Collapsible/CollapsibleContext';\nimport { CollapsibleChevronIcon } from '~components/Collapsible/CollapsibleChevronIcon';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\n\nconst _AccordionButton = ({ index, icon: Icon, children }: AccordionButtonProps): ReactElement => {\n const { onExpandChange, isExpanded, collapsibleBodyId } = useCollapsible();\n const { showNumberPrefix, expandedIndex } = useAccordion();\n\n const toggleCollapse = (): void => onExpandChange(!isExpanded);\n const onClick = (): void => toggleCollapse();\n\n const _index =\n typeof index === 'number' && showNumberPrefix ? (\n <Text size=\"large\" weight=\"semibold\" marginRight=\"spacing.2\" as=\"span\">\n {index + 1}.\n </Text>\n ) : null;\n\n const _icon = Icon && (\n <Icon\n size=\"medium\"\n color=\"surface.icon.gray.muted\"\n marginRight=\"spacing.3\"\n marginY=\"spacing.2\"\n />\n );\n\n if (__DEV__) {\n if (_index && _icon) {\n throwBladeError({\n message: \"showNumberPrefix and icon shouldn't be used together\",\n moduleName: 'Accordion',\n });\n }\n }\n\n const isItemExpanded = expandedIndex === index;\n\n return (\n <BaseBox\n // a11y guidelines suggest having an apt heading surround a button but heading level is hardcoded here\n {...makeAccessible({ role: 'heading', level: 3 })}\n width=\"100%\"\n >\n <StyledAccordionButton\n isExpanded={isItemExpanded}\n onClick={onClick}\n {...makeAccessible({ expanded: isItemExpanded, controls: collapsibleBodyId })}\n {...metaAttribute({ name: MetaConstants.AccordionButton })}\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"flex-start\" marginRight=\"spacing.4\">\n {_index}\n {_icon}\n <Text size=\"large\" weight=\"semibold\" as=\"span\">\n {children}\n </Text>\n </BaseBox>\n <CollapsibleChevronIcon color=\"currentColor\" size=\"large\" />\n </StyledAccordionButton>\n </BaseBox>\n );\n};\n\nconst AccordionButton = assignWithoutSideEffects(_AccordionButton, {\n componentId: MetaConstants.AccordionButton,\n});\n\nexport type { AccordionButtonProps };\nexport { AccordionButton };\n"],"names":["_AccordionButton","_ref","index","Icon","icon","children","_useCollapsible","useCollapsible","onExpandChange","isExpanded","collapsibleBodyId","_useAccordion","useAccordion","showNumberPrefix","expandedIndex","toggleCollapse","onClick","_index","_jsxs","Text","size","weight","marginRight","as","_icon","_jsx","color","marginY","throwBladeError","message","moduleName","isItemExpanded","BaseBox","_objectSpread","makeAccessible","role","level","width","StyledAccordionButton","expanded","controls","metaAttribute","name","MetaConstants","AccordionButton","display","flexDirection","alignItems","CollapsibleChevronIcon","assignWithoutSideEffects","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionButton.web.js","sources":["../../../../../../src/components/Accordion/AccordionButton.web.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { StyledAccordionButton } from './StyledAccordionButton';\nimport type { AccordionButtonProps } from './types';\nimport { useAccordion } from './AccordionContext';\nimport { AccordionItemHeader } from './AccordionItemHeader';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { Text } from '~components/Typography';\nimport { useCollapsible } from '~components/Collapsible/CollapsibleContext';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\n\nconst _AccordionButton = ({\n index,\n icon: Icon,\n title,\n isDeprecatedAPI,\n header,\n isDisabled,\n}: AccordionButtonProps): ReactElement => {\n const { onExpandChange, isExpanded, collapsibleBodyId } = useCollapsible();\n const { showNumberPrefix, expandedIndex, size } = useAccordion();\n\n const toggleCollapse = (): void => onExpandChange(!isExpanded);\n const onClick = (): void => toggleCollapse();\n\n const _index =\n typeof index === 'number' && showNumberPrefix ? (\n // we have to add -2px margin to align the number with title of BaseHeader\n <Text size={size} weight=\"semibold\" marginTop=\"-2px\" as=\"span\">\n {index + 1}.\n </Text>\n ) : null;\n\n const _icon = Icon && <Icon size={size} color=\"surface.icon.gray.normal\" marginY=\"spacing.2\" />;\n\n if (__DEV__) {\n if (_index && _icon) {\n throwBladeError({\n message: \"showNumberPrefix and icon shouldn't be used together\",\n moduleName: 'Accordion',\n });\n }\n }\n\n const isItemExpanded = expandedIndex === index;\n\n return (\n <BaseBox\n // a11y guidelines suggest having an apt heading surround a button but heading level is hardcoded here\n {...makeAccessible({ role: 'heading', level: 3 })}\n width=\"100%\"\n >\n <StyledAccordionButton\n isExpanded={isItemExpanded}\n disabled={isDisabled}\n onClick={onClick}\n {...makeAccessible({ expanded: isItemExpanded, controls: collapsibleBodyId })}\n {...metaAttribute({ name: MetaConstants.AccordionButton })}\n >\n {isDeprecatedAPI ? <AccordionItemHeader title={title} leading={_icon ?? _index} /> : header}\n </StyledAccordionButton>\n </BaseBox>\n );\n};\n\nconst AccordionButton = assignWithoutSideEffects(_AccordionButton, {\n componentId: MetaConstants.AccordionButton,\n});\n\nexport type { AccordionButtonProps };\nexport { AccordionButton };\n"],"names":["_AccordionButton","_ref","index","Icon","icon","title","isDeprecatedAPI","header","isDisabled","_useCollapsible","useCollapsible","onExpandChange","isExpanded","collapsibleBodyId","_useAccordion","useAccordion","showNumberPrefix","expandedIndex","size","toggleCollapse","onClick","_index","_jsxs","Text","weight","marginTop","as","children","_icon","_jsx","color","marginY","throwBladeError","message","moduleName","isItemExpanded","BaseBox","_objectSpread","makeAccessible","role","level","width","StyledAccordionButton","disabled","expanded","controls","metaAttribute","name","MetaConstants","AccordionButton","AccordionItemHeader","leading","assignWithoutSideEffects","componentId"],"mappings":"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"}
@@ -3,6 +3,9 @@ import '../../utils/logger/index.js';
3
3
  import { throwBladeError } from '../../utils/logger/logger.js';
4
4
 
5
5
  var AccordionContext = /*#__PURE__*/createContext(null);
6
+ var AccordionItemContext = /*#__PURE__*/createContext({
7
+ index: undefined
8
+ });
6
9
  var useAccordion = function useAccordion() {
7
10
  var accordionContext = useContext(AccordionContext);
8
11
  if (false) {
@@ -15,6 +18,18 @@ var useAccordion = function useAccordion() {
15
18
  }
16
19
  return accordionContext;
17
20
  };
21
+ var useAccordionItemIndex = function useAccordionItemIndex() {
22
+ var accordionItemContext = useContext(AccordionItemContext);
23
+ if (false) {
24
+ if (!accordionItemContext) {
25
+ throwBladeError({
26
+ message: 'AccordionItem* components should be only used within AccordionItem',
27
+ moduleName: 'AccordionContext'
28
+ });
29
+ }
30
+ }
31
+ return accordionItemContext;
32
+ };
18
33
 
19
- export { AccordionContext, useAccordion };
34
+ export { AccordionContext, AccordionItemContext, useAccordion, useAccordionItemIndex };
20
35
  //# sourceMappingURL=AccordionContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionContext.js","sources":["../../../../../../src/components/Accordion/AccordionContext.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { throwBladeError } from '~utils/logger';\n\ntype AccordionContextState = {\n expandedIndex?: number;\n defaultExpandedIndex?: number;\n onExpandChange: (expandedIndex: number) => void;\n showNumberPrefix: boolean;\n};\n\nconst AccordionContext = createContext<AccordionContextState | null>(null);\n\nconst useAccordion = (): AccordionContextState => {\n const accordionContext = useContext(AccordionContext);\n if (__DEV__) {\n if (!accordionContext) {\n throwBladeError({\n message: 'useAccordion should be only used within AccordionContext',\n moduleName: 'AccordionContext',\n });\n }\n }\n return accordionContext!;\n};\n\nexport type { AccordionContextState };\nexport { AccordionContext, useAccordion };\n"],"names":["AccordionContext","createContext","useAccordion","accordionContext","useContext","throwBladeError","message","moduleName"],"mappings":";;;;AAUA,IAAMA,gBAAgB,gBAAGC,aAAa,CAA+B,IAAI,EAAC;AAE1E,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAgC;AAChD,EAAA,IAAMC,gBAAgB,GAAGC,UAAU,CAACJ,gBAAgB,CAAC,CAAA;AACrD,EAAA,IAAI,KAAO,EAAE;IACX,IAAI,CAACG,gBAAgB,EAAE;AACrBE,MAAAA,eAAe,CAAC;AACdC,QAAAA,OAAO,EAAE,0DAA0D;AACnEC,QAAAA,UAAU,EAAE,kBAAA;AACd,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AACA,EAAA,OAAOJ,gBAAgB,CAAA;AACzB;;;;"}
1
+ {"version":3,"file":"AccordionContext.js","sources":["../../../../../../src/components/Accordion/AccordionContext.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport type { AccordionProps } from './types';\nimport { throwBladeError } from '~utils/logger';\n\ntype AccordionContextState = {\n expandedIndex?: number;\n defaultExpandedIndex?: number;\n onExpandChange: (expandedIndex: number) => void;\n showNumberPrefix: boolean;\n variant: AccordionProps['variant'];\n numberOfItems: number;\n size: NonNullable<AccordionProps['size']>;\n};\n\ntype AccordionItemContextState = {\n index?: number;\n isDisabled?: boolean;\n};\n\nconst AccordionContext = createContext<AccordionContextState | null>(null);\nconst AccordionItemContext = createContext<AccordionItemContextState>({\n index: undefined,\n});\n\nconst useAccordion = (): AccordionContextState => {\n const accordionContext = useContext(AccordionContext);\n if (__DEV__) {\n if (!accordionContext) {\n throwBladeError({\n message: 'useAccordion should be only used within AccordionContext',\n moduleName: 'AccordionContext',\n });\n }\n }\n return accordionContext!;\n};\n\nconst useAccordionItemIndex = (): AccordionItemContextState => {\n const accordionItemContext = useContext(AccordionItemContext);\n if (__DEV__) {\n if (!accordionItemContext) {\n throwBladeError({\n message: 'AccordionItem* components should be only used within AccordionItem',\n moduleName: 'AccordionContext',\n });\n }\n }\n return accordionItemContext;\n};\n\nexport type { AccordionContextState };\nexport { AccordionContext, useAccordion, AccordionItemContext, useAccordionItemIndex };\n"],"names":["AccordionContext","createContext","AccordionItemContext","index","undefined","useAccordion","accordionContext","useContext","throwBladeError","message","moduleName","useAccordionItemIndex","accordionItemContext"],"mappings":";;;;AAmBA,IAAMA,gBAAgB,gBAAGC,aAAa,CAA+B,IAAI,EAAC;AACpEC,IAAAA,oBAAoB,gBAAGD,aAAa,CAA4B;AACpEE,EAAAA,KAAK,EAAEC,SAAAA;AACT,CAAC,EAAC;AAEF,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAgC;AAChD,EAAA,IAAMC,gBAAgB,GAAGC,UAAU,CAACP,gBAAgB,CAAC,CAAA;AACrD,EAAA,IAAI,KAAO,EAAE;IACX,IAAI,CAACM,gBAAgB,EAAE;AACrBE,MAAAA,eAAe,CAAC;AACdC,QAAAA,OAAO,EAAE,0DAA0D;AACnEC,QAAAA,UAAU,EAAE,kBAAA;AACd,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AACA,EAAA,OAAOJ,gBAAgB,CAAA;AACzB,EAAC;AAED,IAAMK,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAoC;AAC7D,EAAA,IAAMC,oBAAoB,GAAGL,UAAU,CAACL,oBAAoB,CAAC,CAAA;AAC7D,EAAA,IAAI,KAAO,EAAE;IACX,IAAI,CAACU,oBAAoB,EAAE;AACzBJ,MAAAA,eAAe,CAAC;AACdC,QAAAA,OAAO,EAAE,oEAAoE;AAC7EC,QAAAA,UAAU,EAAE,kBAAA;AACd,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AACA,EAAA,OAAOE,oBAAoB,CAAA;AAC7B;;;;"}